{"version":3,"file":"static/js/main.4c7c57d7.js","mappings":"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KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM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MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,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MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,UAG7K,uBAAwB,CACnBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CACJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QACzH,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,QACvI,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC9I,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,UAG9J,mBAAoB,CAChBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CACJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QACzH,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,QACvI,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC9I,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM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AAM,KAAM,KAAM,OACtG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KA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M,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KA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M,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,UAG9J,wBAAyB,CACrBF,WAAY,CAAC,KAAK,KAClBC,OAAQ,CACJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QACzH,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC9I,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACnK,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACnK,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACnK,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACnK,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACnK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAA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AM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC/I,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC/I,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC/I,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC/I,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC/I,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC/I,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC/I,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC/I,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC/I,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC/I,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC/I,eAAgB,CAACA,WAAY,CAAC,KAAM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KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,UAG5K,uBAAwB,CACpBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CACJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QACzH,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,QACvI,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC9I,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,UAG9J,mBAAoB,CAChBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CACJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QACzH,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,QACvI,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC9I,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,YAKtK,gBAAiB,CACbJ,MAAO,MACPC,YAAa,CACT,sBAAuB,CACnBC,WAAY,CAAC,KAAK,MAClBC,OAAQ,CAIJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,OACnD,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACjE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAK,KAAK,QAAS,SAG3E,yBAA0B,CACtBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CAIJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,OACnD,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACjE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAK,KAAK,QAAS,SAG3E,uBAAwB,CACpBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CAIJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,OACnD,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACjE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAK,KAAK,QAAS,SAG3E,wBAAyB,CACrBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CAIJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,OAC7C,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,OACnD,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACnE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OACjE,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAK,KAAK,QAAS,SAG3E,qBAAsB,CAClBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CAGJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,OACnD,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,OACxE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,OACxE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,OAC9E,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,OACpF,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,OACrF,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,OAC3F,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,SAGzG,yBAA0B,CACtBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CAEJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,OACnD,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,OACxE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,OAC9E,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,OAC9E,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,OACpF,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OAChG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OACvG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,UAG3H,uBAAwB,CACpBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CAGJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,OACnD,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,OACxE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,OACxE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,OAC9E,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,OACpF,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,OACrF,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,SAGzG,wBAAyB,CACrBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CAGJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,OACnD,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,OACxE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,OAC9E,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,OAC9E,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,OACpF,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,OACrF,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OACjG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,SAGzG,qBAAsB,CAClBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CAEJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,OACnD,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,OACxE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,OAC9E,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,OACpF,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OAChG,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OAChG,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAC7G,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAC7G,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAC7G,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAC7G,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAC7G,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAC7G,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAC7G,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAC7G,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAC7G,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAC7G,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAC7G,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAC7G,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,SAGrH,yBAA0B,CACtBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CACJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,OAC7C,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,OAClE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,OACxE,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,OACpF,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,OAC1F,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,OAChG,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAC5G,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QAClH,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,K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KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,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MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,UAG9J,wBAAyB,CACrBF,WAAY,CAAC,KAAK,KAClBC,OAAQ,CACJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OACtG,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QACzH,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,QACvI,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC9I,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACnK,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACnK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KA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,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,QACjI,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,QACjI,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,QACjI,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,QACjI,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,QACjI,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,QACjI,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,QACjI,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,QACjI,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,QACjI,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,QACjI,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,QACjI,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,M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M,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAC1H,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KA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AC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KA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MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACpK,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,UAG5K,uBAAwB,CACpBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CACJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QACzH,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,QACvI,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC9I,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,UAG9J,mBAAoB,CAChBF,WAAY,CAAC,KAAK,MAClBC,OAAQ,CACJ,cAAe,CAACC,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QACzH,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,QACvI,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,QAC9I,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,cAAe,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACrJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,QACtJ,eAAgB,CAACA,WAAY,CAAC,KAAM,SAAU,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM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","sources":["../node_modules/copy-to-clipboard/index.js","../node_modules/file-saver/src/FileSaver.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/toggle-selection/index.js","../webpack/bootstrap","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/deprecations.ts","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/react-icons/lib/esm/iconsManifest.js","../node_modules/react-icons/lib/esm/iconContext.js","../node_modules/react-icons/lib/esm/iconBase.js","../node_modules/react-icons/ai/index.esm.js","../node_modules/react-icons/bs/index.esm.js","../node_modules/react-icons/fa/index.esm.js","../node_modules/react-icons/fa6/index.esm.js","../node_modules/react-icons/pi/index.esm.js","../node_modules/react-icons/ri/index.esm.js","../node_modules/react-icons/hi2/index.esm.js","../node_modules/react-icons/bi/index.esm.js","../node_modules/react-icons/md/index.esm.js","config/features.js","styles/globalStyles.js","components/Header.js","../node_modules/react-icons/sl/index.esm.js","utils/utils.js","utils/shareUtils.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","data/cameraData/cameraDataApple.js","data/cameraData/cameraDataArri.js","data/cameraData/cameraDataBlackmagic.js","data/cameraData/cameraDataCanon.js","data/cameraData/cameraDataDJI.js","data/cameraData/cameraDataFreefly.js","data/cameraData/cameraDataGoPro.js","data/cameraData/cameraDataPhantom.js","data/cameraData/cameraDataRed.js","data/cameraData/cameraDataSony.js","data/cameraData/cameraDataZCam.js","data/cameraData.js","context/CalculatorContext.js","hooks/useDropdownTouch.js","components/CalculatorButtons.js","components/AspectRatioCalculator.js","components/BitrateCalculator.js","data/codecData.js","data/brandData.js","data/resolutionData.js","components/CameraToFileSize.js","components/ComingSoon.js","components/DailiesCalculator.js","components/DurationToFileSize.js","components/FileNameCreator.js","data/netflixData.js","data/filmData.js","components/FilmCalculator.js","data/transferData.js","components/TransferTimeCalculator.js","components/TimecodeCalculator.js","components/TimecodeGraphingCalculator.js","components/Log.js","components/SideMenu.js","components/Footer.js","components/PrivacyPolicy.js","../node_modules/react-icons/lu/index.esm.js","components/FramingChartGenerator.js","App.js","index.js"],"sourcesContent":["\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","/*\n* FileSaver.js\n* A saveAs() FileSaver implementation.\n*\n* By Eli Grey, http://eligrey.com\n*\n* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n* source : http://purl.eligrey.com/github/FileSaver.js\n*/\n\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nvar _global = typeof window === 'object' && window.window === window\n ? window : typeof self === 'object' && self.self === self\n ? self : typeof global === 'object' && global.global === global\n ? global\n : this\n\nfunction bom (blob, opts) {\n if (typeof opts === 'undefined') opts = { autoBom: false }\n else if (typeof opts !== 'object') {\n console.warn('Deprecated: Expected third argument to be a object')\n opts = { autoBom: !opts }\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (opts.autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })\n }\n return blob\n}\n\nfunction download (url, name, opts) {\n var xhr = new XMLHttpRequest()\n xhr.open('GET', url)\n xhr.responseType = 'blob'\n xhr.onload = function () {\n saveAs(xhr.response, name, opts)\n }\n xhr.onerror = function () {\n console.error('could not download file')\n }\n xhr.send()\n}\n\nfunction corsEnabled (url) {\n var xhr = new XMLHttpRequest()\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false)\n try {\n xhr.send()\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click (node) {\n try {\n node.dispatchEvent(new MouseEvent('click'))\n } catch (e) {\n var evt = document.createEvent('MouseEvents')\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,\n 20, false, false, false, false, 0, null)\n node.dispatchEvent(evt)\n }\n}\n\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nvar isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)\n\nvar saveAs = _global.saveAs || (\n // probably in some web worker\n (typeof window !== 'object' || window !== _global)\n ? function saveAs () { /* noop */ }\n\n // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView\n : ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)\n ? function saveAs (blob, name, opts) {\n var URL = _global.URL || _global.webkitURL\n var a = document.createElement('a')\n name = name || blob.name || 'download'\n\n a.download = name\n a.rel = 'noopener' // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, a.target = '_blank')\n } else {\n click(a)\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob)\n setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s\n setTimeout(function () { click(a) }, 0)\n }\n }\n\n // Use msSaveOrOpenBlob as a second approach\n : 'msSaveOrOpenBlob' in navigator\n ? function saveAs (blob, name, opts) {\n name = name || blob.name || 'download'\n\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts)\n } else {\n var a = document.createElement('a')\n a.href = blob\n a.target = '_blank'\n setTimeout(function () { click(a) })\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name)\n }\n }\n\n // Fallback to using FileReader and a popup\n : function saveAs (blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank')\n if (popup) {\n popup.document.title =\n popup.document.body.innerText = 'downloading...'\n }\n\n if (typeof blob === 'string') return download(blob, name, opts)\n\n var force = blob.type === 'application/octet-stream'\n var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent)\n\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader()\n reader.onloadend = function () {\n var url = reader.result\n url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;')\n if (popup) popup.location.href = url\n else location = url\n popup = null // reverse-tabnabbing #460\n }\n reader.readAsDataURL(blob)\n } else {\n var URL = _global.URL || _global.webkitURL\n var url = URL.createObjectURL(blob)\n if (popup) popup.location = url\n else location.href = url\n popup = null // reverse-tabnabbing #460\n setTimeout(function () { URL.revokeObjectURL(url) }, 4E4) // 40s\n }\n }\n)\n\n_global.saveAs = saveAs.saveAs = saveAs\n\nif (typeof module !== 'undefined') {\n module.exports = saveAs;\n}\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); Object.defineProperty(Constructor, \"prototype\", { writable: false }); 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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); 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; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } 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 CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\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), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&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;bc?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\\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;eGj&&(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;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?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;kB()-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>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n// TODO: (v7) Change the Location generic default from `any` to `unknown` and\n// remove Remix `useLocation` wrapper.\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: State;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n\n /**\n * The delta between this location and the former location in the history stack\n */\n delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. This may be either a URL or the pieces\n * of a URL path.\n */\nexport type To = string | Partial;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Returns a URL for the given `to` value\n *\n * @param to - The destination URL\n */\n createURL(to: To): URL;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLACE navigations for data routers\n * behave the same as POP\n *\n * @param to Unencoded path\n */\n encodeLocation(to: To): Path;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n function createHref(to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to: To) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\",\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n\n // Hash URL should always have a leading / just like window.location.pathname\n // does, so if an app ends up at a route like /#something then we add a\n // leading slash so all of our path-matching behaves the same as if it would\n // in a browser router. This is particularly important when there exists a\n // root splat route () since that matches internally against\n // \"/*\" and we'd expect /#something to 404 in a hash router app.\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\nexport function warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience, so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n idx: index,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly {\n let location: Readonly = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial {\n let parsedPath: Partial = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n let index = getIndex()!;\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n\n function getIndex(): number {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n\n function createURL(to: To): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n window.location.origin !== \"null\"\n ? window.location.origin\n : window.location.href;\n\n let href = typeof to === \"string\" ? to : createPath(to);\n // Treating this as a full URL will strip any trailing spaces so we need to\n // pre-encode them since they might be part of a matching splat param from\n // an ancestor route\n href = href.replace(/ $/, \"%20\");\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { invariant, parsePath, warning } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: unknown;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n // We keep the raw Response for redirects so we can return it verbatim\n response: Response;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: unknown;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\ntype LowerCaseFormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\ntype UpperCaseFormMethod = Uppercase;\n\n/**\n * Users can specify either lowercase or uppercase form methods on `
`,\n * useSubmit(), ``, etc.\n */\nexport type HTMLFormMethod = LowerCaseFormMethod | UpperCaseFormMethod;\n\n/**\n * Active navigation/fetcher form methods are exposed in lowercase on the\n * RouterState\n */\nexport type FormMethod = LowerCaseFormMethod;\nexport type MutationFormMethod = Exclude;\n\n/**\n * In v7, active navigation/fetcher form methods are exposed in uppercase on the\n * RouterState. This is to align with the normalization done via fetch().\n */\nexport type V7_FormMethod = UpperCaseFormMethod;\nexport type V7_MutationFormMethod = Exclude;\n\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\"\n | \"application/json\"\n | \"text/plain\";\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport type Submission =\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n json: undefined;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: JsonValue;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: undefined;\n text: string;\n };\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs {\n request: Request;\n params: Params;\n context?: Context;\n}\n\n// TODO: (v7) Change the defaults from any to unknown in and remove Remix wrappers:\n// ActionFunction, ActionFunctionArgs, LoaderFunction, LoaderFunctionArgs\n// Also, make them a type alias instead of an interface\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs\n extends DataFunctionArgs {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs\n extends DataFunctionArgs {}\n\n/**\n * Loaders and actions can return anything except `undefined` (`null` is a\n * valid return value if there is no data to return). Responses are preferred\n * and will ease any future migration to Remix\n */\ntype DataFunctionValue = Response | NonNullable | null;\n\ntype DataFunctionReturnValue = Promise | DataFunctionValue;\n\n/**\n * Route loader function signature\n */\nexport type LoaderFunction = {\n (\n args: LoaderFunctionArgs,\n handlerCtx?: unknown\n ): DataFunctionReturnValue;\n} & { hydrate?: boolean };\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction {\n (\n args: ActionFunctionArgs,\n handlerCtx?: unknown\n ): DataFunctionReturnValue;\n}\n\n/**\n * Arguments passed to shouldRevalidate function\n */\nexport interface ShouldRevalidateFunctionArgs {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n text?: Submission[\"text\"];\n formData?: Submission[\"formData\"];\n json?: Submission[\"json\"];\n actionStatus?: number;\n actionResult?: any;\n defaultShouldRevalidate: boolean;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: ShouldRevalidateFunctionArgs): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set `hasErrorBoundary`\n * from the framework-aware `errorElement` prop\n *\n * @deprecated Use `mapRouteProperties` instead\n */\nexport interface DetectErrorBoundaryFunction {\n (route: AgnosticRouteObject): boolean;\n}\n\nexport interface DataStrategyMatch\n extends AgnosticRouteMatch {\n shouldLoad: boolean;\n resolve: (\n handlerOverride?: (\n handler: (ctx?: unknown) => DataFunctionReturnValue\n ) => DataFunctionReturnValue\n ) => Promise;\n}\n\nexport interface DataStrategyFunctionArgs\n extends DataFunctionArgs {\n matches: DataStrategyMatch[];\n fetcherKey: string | null;\n}\n\n/**\n * Result from a loader or action called via dataStrategy\n */\nexport interface DataStrategyResult {\n type: \"data\" | \"error\";\n result: unknown; // data, Error, Response, DeferredData, DataWithResponseInit\n}\n\nexport interface DataStrategyFunction {\n (args: DataStrategyFunctionArgs): Promise>;\n}\n\nexport type AgnosticPatchRoutesOnNavigationFunctionArgs<\n O extends AgnosticRouteObject = AgnosticRouteObject,\n M extends AgnosticRouteMatch = AgnosticRouteMatch\n> = {\n path: string;\n matches: M[];\n patch: (routeId: string | null, children: O[]) => void;\n};\n\nexport type AgnosticPatchRoutesOnNavigationFunction<\n O extends AgnosticRouteObject = AgnosticRouteObject,\n M extends AgnosticRouteMatch = AgnosticRouteMatch\n> = (\n opts: AgnosticPatchRoutesOnNavigationFunctionArgs\n) => void | Promise;\n\n/**\n * Function provided by the framework-aware layers to set any framework-specific\n * properties from framework-agnostic properties\n */\nexport interface MapRoutePropertiesFunction {\n (route: AgnosticRouteObject): {\n hasErrorBoundary: boolean;\n } & Record;\n}\n\n/**\n * Keys we cannot change from within a lazy() function. We spread all other keys\n * onto the route. Either they're meaningful to the router, or they'll get\n * ignored.\n */\nexport type ImmutableRouteKey =\n | \"lazy\"\n | \"caseSensitive\"\n | \"path\"\n | \"id\"\n | \"index\"\n | \"children\";\n\nexport const immutableRouteKeys = new Set([\n \"lazy\",\n \"caseSensitive\",\n \"path\",\n \"id\",\n \"index\",\n \"children\",\n]);\n\ntype RequireOne = Exclude<\n {\n [K in keyof T]: K extends Key ? Omit & Required> : never;\n }[keyof T],\n undefined\n>;\n\n/**\n * lazy() function to load a route definition, which can add non-matching\n * related properties to a route\n */\nexport interface LazyRouteFunction {\n (): Promise>>;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n caseSensitive?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction | boolean;\n action?: ActionFunction | boolean;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n lazy?: LazyRouteFunction;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n children?: undefined;\n index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n children?: AgnosticRouteObject[];\n index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n | AgnosticIndexRouteObject\n | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n children?: AgnosticDataRouteObject[];\n id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n | AgnosticDataIndexRouteObject\n | AgnosticDataNonIndexRouteObject;\n\nexport type RouteManifest = Record;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam | _PathParam\n : // find params after `:`\n Path extends `:${infer Param}`\n ? Param extends `${infer Optional}?`\n ? Optional\n : Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\nexport type PathParam =\n // check if path is just a wildcard\n Path extends \"*\" | \"/*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam\n : // look for params in the absence of wildcards\n _PathParam;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise, return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n // if you could not find path params, fallback to `string`\n [PathParam] extends [never] ? string : PathParam;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch {}\n\nfunction isIndexRoute(\n route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n mapRouteProperties: MapRoutePropertiesFunction,\n parentPath: string[] = [],\n manifest: RouteManifest = {}\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, String(index)];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !manifest[id],\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n\n if (isIndexRoute(route)) {\n let indexRoute: AgnosticDataIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n children: undefined,\n };\n manifest[id] = pathOrLayoutRoute;\n\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n route.children,\n mapRouteProperties,\n treePath,\n manifest\n );\n }\n\n return pathOrLayoutRoute;\n }\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/v6/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename = \"/\"\n): AgnosticRouteMatch[] | null {\n return matchRoutesImpl(routes, locationArg, basename, false);\n}\n\nexport function matchRoutesImpl<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename: string,\n allowPartial: boolean\n): AgnosticRouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n let decoded = decodePath(pathname);\n matches = matchRouteBranch(\n branches[i],\n decoded,\n allowPartial\n );\n }\n\n return matches;\n}\n\nexport interface UIMatch {\n id: string;\n pathname: string;\n params: AgnosticRouteMatch[\"params\"];\n data: Data;\n handle: Handle;\n}\n\nexport function convertRouteMatchToUiMatch(\n match: AgnosticDataRouteMatch,\n loaderData: RouteData\n): UIMatch {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle,\n };\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n let flattenRoute = (\n route: RouteObjectType,\n index: number,\n relativePath?: string\n ) => {\n let meta: RouteMeta = {\n relativePath:\n relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array, so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta,\n });\n };\n routes.forEach((route, index) => {\n // coarse-grain check for optional params\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n\n return branches;\n}\n\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path: string): string[] {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n\n let [first, ...rest] = segments;\n\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\n let result: string[] = [];\n\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children, so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explode _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(\n ...restExploded.map((subpath) =>\n subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n\n // Then, if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n\n // for absolute paths, ensure `/` instead of empty segment\n return result.map((exploded) =>\n path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:[\\w-]+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch,\n pathname: string,\n allowPartial = false\n): AgnosticRouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n let route = meta.route;\n\n if (\n !match &&\n end &&\n allowPartial &&\n !routesMeta[routesMeta.length - 1].route.index\n ) {\n match = matchPath(\n {\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end: false,\n },\n remainingPathname\n );\n }\n\n if (!match) {\n return null;\n }\n\n Object.assign(matchedParams, match.params);\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/v6/utils/generate-path\n */\nexport function generatePath(\n originalPath: Path,\n params: {\n [key in PathParam]: string | null;\n } = {} as any\n): string {\n let path: string = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\") as Path;\n }\n\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n\n const stringify = (p: any) =>\n p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n\n const segments = path\n .split(/\\/+/)\n .map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\" as PathParam;\n // Apply the splat\n return stringify(params[star]);\n }\n\n const keyMatch = segment.match(/^:([\\w-]+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key as PathParam];\n invariant(optional === \"?\" || param != null, `Missing \":${key}\" param`);\n return stringify(param);\n }\n\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter((segment) => !!segment);\n\n return prefix + segments.join(\"/\");\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/v6/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, compiledParams] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = compiledParams.reduce>(\n (memo, { paramName, isOptional }, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n const value = captureGroups[index];\n if (isOptional && !value) {\n memo[paramName] = undefined;\n } else {\n memo[paramName] = (value || \"\").replace(/%2F/g, \"/\");\n }\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\ntype CompiledPathParam = { paramName: string; isOptional?: boolean };\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, CompiledPathParam[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let params: CompiledPathParam[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(\n /\\/:([\\w-]+)(\\?)?/g,\n (_: string, paramName: string, isOptional) => {\n params.push({ paramName, isOptional: isOptional != null });\n return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n }\n );\n\n if (path.endsWith(\"*\")) {\n params.push({ paramName: \"*\" });\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex, so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n // Nothing to match for \"\" or \"/\"\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, params];\n}\n\nexport function decodePath(value: string) {\n try {\n return value\n .split(\"/\")\n .map((v) => decodeURIComponent(v).replace(/\\//g, \"%2F\"))\n .join(\"/\");\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a ` +\n `malformed URL segment. This is probably due to a bad percent ` +\n `encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/v6/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n char: string,\n field: string,\n dest: string,\n path: Partial\n) {\n return (\n `Cannot include a '${char}' character in a manually specified ` +\n `\\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the ` +\n `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n `a string in and the router will parse it for you.`\n );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * \n * \n * \n *\n * \n * \n * }> // <-- Does not contribute\n * // <-- Does not contribute\n * \n * \n */\nexport function getPathContributingMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n return matches.filter(\n (match, index) =>\n index === 0 || (match.route.path && match.route.path.length > 0)\n );\n}\n\n// Return the array of pathnames for the current route matches - used to\n// generate the routePathnames input for resolveTo()\nexport function getResolveToMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[], v7_relativeSplatPath: boolean) {\n let pathMatches = getPathContributingMatches(matches);\n\n // When v7_relativeSplatPath is enabled, use the full pathname for the leaf\n // match so we include splat values for \".\" links. See:\n // https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329\n if (v7_relativeSplatPath) {\n return pathMatches.map((match, idx) =>\n idx === pathMatches.length - 1 ? match.pathname : match.pathnameBase\n );\n }\n\n return pathMatches.map((match) => match.pathnameBase);\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to: Partial;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n // With relative=\"route\" (the default), each leading .. segment means\n // \"go up one route\" instead of \"go up one URL segment\". This is a key\n // difference from how works and a major reason we call this a\n // \"to\" value instead of a \"href\".\n if (!isPathRelative && toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = (\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n *\n * @deprecated The `json` method is deprecated in favor of returning raw objects.\n * This method will be removed in v7.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport class DataWithResponseInit {\n type: string = \"DataWithResponseInit\";\n data: D;\n init: ResponseInit | null;\n\n constructor(data: D, init?: ResponseInit) {\n this.data = data;\n this.init = init || null;\n }\n}\n\n/**\n * Create \"responses\" that contain `status`/`headers` without forcing\n * serialization into an actual `Response` - used by Remix single fetch\n */\nexport function data(data: D, init?: number | ResponseInit) {\n return new DataWithResponseInit(\n data,\n typeof init === \"number\" ? { status: init } : init\n );\n}\n\nexport interface TrackedPromise extends Promise {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeysSet: Set = new Set();\n private controller: AbortController;\n private abortPromise: Promise;\n private unlistenAbortSignal: () => void;\n private subscribers: Set<(aborted: boolean, settledKey?: string) => void> =\n new Set();\n data: Record;\n init?: ResponseInit;\n deferredKeys: string[] = [];\n\n constructor(data: Record, responseInit?: ResponseInit) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n\n this.init = responseInit;\n }\n\n private trackPromise(\n key: string,\n value: Promise | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, undefined, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeysSet.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n // If the promise was resolved/rejected with undefined, we'll throw an error as you\n // should always resolve with a value or null\n if (error === undefined && data === undefined) {\n let undefinedError = new Error(\n `Deferred data for key \"${key}\" resolved/rejected with \\`undefined\\`, ` +\n `you must resolve/reject with a value or \\`null\\`.`\n );\n Object.defineProperty(promise, \"_error\", { get: () => undefinedError });\n this.emit(false, key);\n return Promise.reject(undefinedError);\n }\n\n if (data === undefined) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n this.emit(false, key);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n this.emit(false, key);\n return data;\n }\n\n private emit(aborted: boolean, settledKey?: string) {\n this.subscribers.forEach((subscriber) => subscriber(aborted, settledKey));\n }\n\n subscribe(fn: (aborted: boolean, settledKey?: string) => void) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport type DeferFunction = (\n data: Record,\n init?: number | ResponseInit\n) => DeferredData;\n\n/**\n * @deprecated The `defer` method is deprecated in favor of returning raw\n * objects. This method will be removed in v7.\n */\nexport const defer: DeferFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n return new DeferredData(data, responseInit);\n};\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirectDocument: RedirectFunction = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\n\n/**\n * A redirect response that will perform a `history.replaceState` instead of a\n * `history.pushState` for client-side navigation redirects.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const replace: RedirectFunction = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Replace\", \"true\");\n return response;\n};\n\nexport type ErrorResponse = {\n status: number;\n statusText: string;\n data: any;\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n *\n * We don't export the class for public use since it's an implementation\n * detail, but we export the interface above so folks can build their own\n * abstractions around instances via isRouteErrorResponse()\n */\nexport class ErrorResponseImpl implements ErrorResponse {\n status: number;\n statusText: string;\n data: any;\n private error?: Error;\n private internal: boolean;\n\n constructor(\n status: number,\n statusText: string | undefined,\n data: any,\n internal = false\n ) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nexport function isRouteErrorResponse(error: any): error is ErrorResponse {\n return (\n error != null &&\n typeof error.status === \"number\" &&\n typeof error.statusText === \"string\" &&\n typeof error.internal === \"boolean\" &&\n \"data\" in error\n );\n}\n","import type { History, Location, Path, To } from \"./history\";\nimport {\n Action as HistoryAction,\n createLocation,\n createPath,\n invariant,\n parsePath,\n warning,\n} from \"./history\";\nimport type {\n AgnosticDataRouteMatch,\n AgnosticDataRouteObject,\n DataStrategyMatch,\n AgnosticRouteObject,\n DataResult,\n DataStrategyFunction,\n DataStrategyFunctionArgs,\n DeferredData,\n DeferredResult,\n DetectErrorBoundaryFunction,\n ErrorResult,\n FormEncType,\n FormMethod,\n HTMLFormMethod,\n DataStrategyResult,\n ImmutableRouteKey,\n MapRoutePropertiesFunction,\n MutationFormMethod,\n RedirectResult,\n RouteData,\n RouteManifest,\n ShouldRevalidateFunctionArgs,\n Submission,\n SuccessResult,\n UIMatch,\n V7_FormMethod,\n V7_MutationFormMethod,\n AgnosticPatchRoutesOnNavigationFunction,\n DataWithResponseInit,\n} from \"./utils\";\nimport {\n ErrorResponseImpl,\n ResultType,\n convertRouteMatchToUiMatch,\n convertRoutesToDataRoutes,\n getPathContributingMatches,\n getResolveToMatches,\n immutableRouteKeys,\n isRouteErrorResponse,\n joinPaths,\n matchRoutes,\n matchRoutesImpl,\n resolveTo,\n stripBasename,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the basename for the router\n */\n get basename(): RouterInit[\"basename\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the future config for the router\n */\n get future(): FutureConfig;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the current state of the router\n */\n get state(): RouterState;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the routes for this router instance\n */\n get routes(): AgnosticDataRouteObject[];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the window associated with the router\n */\n get window(): RouterInit[\"window\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Initialize the router, including adding history listeners and kicking off\n * initial data fetches. Returns a function to cleanup listeners and abort\n * any in-progress loads\n */\n initialize(): Router;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Subscribe to router.state updates\n *\n * @param fn function to call with the new state\n */\n subscribe(fn: RouterSubscriber): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Enable scroll restoration behavior in the router\n *\n * @param savedScrollPositions Object that will manage positions, in case\n * it's being restored from sessionStorage\n * @param getScrollPosition Function to get the active Y scroll position\n * @param getKey Function to get the key to use for restoration\n */\n enableScrollRestoration(\n savedScrollPositions: Record,\n getScrollPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Navigate forward/backward in the history stack\n * @param to Delta to move in the history stack\n */\n navigate(to: number): Promise;\n\n /**\n * Navigate to the given path\n * @param to Path to navigate to\n * @param opts Navigation options (method, submission, etc.)\n */\n navigate(to: To | null, opts?: RouterNavigateOptions): Promise;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a fetcher load/submission\n *\n * @param key Fetcher key\n * @param routeId Route that owns the fetcher\n * @param href href to fetch\n * @param opts Fetcher options, (method, submission, etc.)\n */\n fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a revalidation of all current route loaders and fetcher loads\n */\n revalidate(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to create an href for the given location\n * @param location\n */\n createHref(location: Location | URL): string;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to URL encode a destination path according to the internal\n * history implementation\n * @param to\n */\n encodeLocation(to: To): Path;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get/create a fetcher for the given key\n * @param key\n */\n getFetcher(key: string): Fetcher;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete the fetcher for a given key\n * @param key\n */\n deleteFetcher(key: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Cleanup listeners and abort any in-progress loads\n */\n dispose(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get a navigation blocker\n * @param key The identifier for the blocker\n * @param fn The blocker function implementation\n */\n getBlocker(key: string, fn: BlockerFunction): Blocker;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete a navigation blocker\n * @param key The identifier for the blocker\n */\n deleteBlocker(key: string): void;\n\n /**\n * @internal\n * PRIVATE DO NOT USE\n *\n * Patch additional children routes into an existing parent route\n * @param routeId The parent route id or a callback function accepting `patch`\n * to perform batch patching\n * @param children The additional children routes\n */\n patchRoutes(routeId: string | null, children: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * HMR needs to pass in-flight route updates to React Router\n * TODO: Replace this with granular route update APIs (addRoute, updateRoute, deleteRoute)\n */\n _internalSetRoutes(routes: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal fetch AbortControllers accessed by unit tests\n */\n _internalFetchControllers: Map;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal pending DeferredData instances accessed by unit tests\n */\n _internalActiveDeferreds: Map;\n}\n\n/**\n * State maintained internally by the router. During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n /**\n * The action of the most recent navigation\n */\n historyAction: HistoryAction;\n\n /**\n * The current location reflected by the router\n */\n location: Location;\n\n /**\n * The current set of route matches\n */\n matches: AgnosticDataRouteMatch[];\n\n /**\n * Tracks whether we've completed our initial data load\n */\n initialized: boolean;\n\n /**\n * Current scroll position we should start at for a new view\n * - number -> scroll position to restore to\n * - false -> do not restore scroll at all (used during submissions)\n * - null -> don't have a saved position, scroll to hash or top of page\n */\n restoreScrollPosition: number | false | null;\n\n /**\n * Indicate whether this navigation should skip resetting the scroll position\n * if we are unable to restore the scroll position\n */\n preventScrollReset: boolean;\n\n /**\n * Tracks the state of the current navigation\n */\n navigation: Navigation;\n\n /**\n * Tracks any in-progress revalidations\n */\n revalidation: RevalidationState;\n\n /**\n * Data from the loaders for the current matches\n */\n loaderData: RouteData;\n\n /**\n * Data from the action for the current matches\n */\n actionData: RouteData | null;\n\n /**\n * Errors caught from loaders for the current matches\n */\n errors: RouteData | null;\n\n /**\n * Map of current fetchers\n */\n fetchers: Map;\n\n /**\n * Map of current blockers\n */\n blockers: Map;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n Pick\n>;\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface FutureConfig {\n v7_fetcherPersist: boolean;\n v7_normalizeFormMethod: boolean;\n v7_partialHydration: boolean;\n v7_prependBasename: boolean;\n v7_relativeSplatPath: boolean;\n v7_skipActionErrorRevalidation: boolean;\n}\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n routes: AgnosticRouteObject[];\n history: History;\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial;\n hydrationData?: HydrationState;\n window?: Window;\n dataStrategy?: DataStrategyFunction;\n patchRoutesOnNavigation?: AgnosticPatchRoutesOnNavigationFunction;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n basename: Router[\"basename\"];\n location: RouterState[\"location\"];\n matches: RouterState[\"matches\"];\n loaderData: RouterState[\"loaderData\"];\n actionData: RouterState[\"actionData\"];\n errors: RouterState[\"errors\"];\n statusCode: number;\n loaderHeaders: Record;\n actionHeaders: Record;\n activeDeferreds: Record | null;\n _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n dataRoutes: AgnosticDataRouteObject[];\n query(\n request: Request,\n opts?: {\n requestContext?: unknown;\n skipLoaderErrorBubbling?: boolean;\n dataStrategy?: DataStrategyFunction;\n }\n ): Promise;\n queryRoute(\n request: Request,\n opts?: {\n routeId?: string;\n requestContext?: unknown;\n dataStrategy?: DataStrategyFunction;\n }\n ): Promise;\n}\n\ntype ViewTransitionOpts = {\n currentLocation: Location;\n nextLocation: Location;\n};\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (\n state: RouterState,\n opts: {\n deletedFetchers: string[];\n viewTransitionOpts?: ViewTransitionOpts;\n flushSync: boolean;\n }\n ): void;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n (location: Location, matches: UIMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n (): number;\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\n// Allowed for any navigation or fetch\ntype BaseNavigateOrFetchOptions = {\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n flushSync?: boolean;\n};\n\n// Only allowed for navigations\ntype BaseNavigateOptions = BaseNavigateOrFetchOptions & {\n replace?: boolean;\n state?: any;\n fromRouteId?: string;\n viewTransition?: boolean;\n};\n\n// Only allowed for submission navigations\ntype BaseSubmissionOptions = {\n formMethod?: HTMLFormMethod;\n formEncType?: FormEncType;\n} & (\n | { formData: FormData; body?: undefined }\n | { formData?: undefined; body: any }\n);\n\n/**\n * Options for a navigate() call for a normal (non-submission) navigation\n */\ntype LinkNavigateOptions = BaseNavigateOptions;\n\n/**\n * Options for a navigate() call for a submission navigation\n */\ntype SubmissionNavigateOptions = BaseNavigateOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to navigate() for a navigation\n */\nexport type RouterNavigateOptions =\n | LinkNavigateOptions\n | SubmissionNavigateOptions;\n\n/**\n * Options for a fetch() load\n */\ntype LoadFetchOptions = BaseNavigateOrFetchOptions;\n\n/**\n * Options for a fetch() submission\n */\ntype SubmitFetchOptions = BaseNavigateOrFetchOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions = LoadFetchOptions | SubmitFetchOptions;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n Idle: {\n state: \"idle\";\n location: undefined;\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n json: undefined;\n text: undefined;\n };\n Loading: {\n state: \"loading\";\n location: Location;\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n text: Submission[\"text\"] | undefined;\n };\n Submitting: {\n state: \"submitting\";\n location: Location;\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n text: Submission[\"text\"];\n };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates = {\n Idle: {\n state: \"idle\";\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n text: undefined;\n formData: undefined;\n json: undefined;\n data: TData | undefined;\n };\n Loading: {\n state: \"loading\";\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n text: Submission[\"text\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n data: TData | undefined;\n };\n Submitting: {\n state: \"submitting\";\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n text: Submission[\"text\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n data: TData | undefined;\n };\n};\n\nexport type Fetcher =\n FetcherStates[keyof FetcherStates];\n\ninterface BlockerBlocked {\n state: \"blocked\";\n reset(): void;\n proceed(): void;\n location: Location;\n}\n\ninterface BlockerUnblocked {\n state: \"unblocked\";\n reset: undefined;\n proceed: undefined;\n location: undefined;\n}\n\ninterface BlockerProceeding {\n state: \"proceeding\";\n reset: undefined;\n proceed: undefined;\n location: Location;\n}\n\nexport type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;\n\nexport type BlockerFunction = (args: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n}) => boolean;\n\ninterface ShortCircuitable {\n /**\n * startNavigation does not need to complete the navigation because we\n * redirected or got interrupted\n */\n shortCircuited?: boolean;\n}\n\ntype PendingActionResult = [string, SuccessResult | ErrorResult];\n\ninterface HandleActionResult extends ShortCircuitable {\n /**\n * Route matches which may have been updated from fog of war discovery\n */\n matches?: RouterState[\"matches\"];\n /**\n * Tuple for the returned or thrown value from the current action. The routeId\n * is the action route for success and the bubbled boundary route for errors.\n */\n pendingActionResult?: PendingActionResult;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n /**\n * Route matches which may have been updated from fog of war discovery\n */\n matches?: RouterState[\"matches\"];\n /**\n * loaderData returned from the current set of loaders\n */\n loaderData?: RouterState[\"loaderData\"];\n /**\n * errors thrown from the current set of loaders\n */\n errors?: RouterState[\"errors\"];\n}\n\n/**\n * Cached info for active fetcher.load() instances so they can participate\n * in revalidation\n */\ninterface FetchLoadMatch {\n routeId: string;\n path: string;\n}\n\n/**\n * Identified fetcher.load() calls that need to be revalidated\n */\ninterface RevalidatingFetcher extends FetchLoadMatch {\n key: string;\n match: AgnosticDataRouteMatch | null;\n matches: AgnosticDataRouteMatch[] | null;\n controller: AbortController | null;\n}\n\nconst validMutationMethodsArr: MutationFormMethod[] = [\n \"post\",\n \"put\",\n \"patch\",\n \"delete\",\n];\nconst validMutationMethods = new Set(\n validMutationMethodsArr\n);\n\nconst validRequestMethodsArr: FormMethod[] = [\n \"get\",\n ...validMutationMethodsArr,\n];\nconst validRequestMethods = new Set(validRequestMethodsArr);\n\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_BLOCKER: BlockerUnblocked = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined,\n};\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\nconst defaultMapRouteProperties: MapRoutePropertiesFunction = (route) => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary),\n});\n\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n const routerWindow = init.window\n ? init.window\n : typeof window !== \"undefined\"\n ? window\n : undefined;\n const isBrowser =\n typeof routerWindow !== \"undefined\" &&\n typeof routerWindow.document !== \"undefined\" &&\n typeof routerWindow.document.createElement !== \"undefined\";\n const isServer = !isBrowser;\n\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n // Routes keyed by ID\n let manifest: RouteManifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(\n init.routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n let inFlightDataRoutes: AgnosticDataRouteObject[] | undefined;\n let basename = init.basename || \"/\";\n let dataStrategyImpl = init.dataStrategy || defaultDataStrategy;\n let patchRoutesOnNavigationImpl = init.patchRoutesOnNavigation;\n\n // Config driven behavior flags\n let future: FutureConfig = {\n v7_fetcherPersist: false,\n v7_normalizeFormMethod: false,\n v7_partialHydration: false,\n v7_prependBasename: false,\n v7_relativeSplatPath: false,\n v7_skipActionErrorRevalidation: false,\n ...init.future,\n };\n // Cleanup function for history\n let unlistenHistory: (() => void) | null = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions: Record | null = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition: GetScrollPositionFunction | null = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors: RouteData | null = null;\n\n if (initialMatches == null && !patchRoutesOnNavigationImpl) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname,\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n\n // In SPA apps, if the user provided a patchRoutesOnNavigation implementation and\n // our initial match is a splat route, clear them out so we run through lazy\n // discovery on hydration in case there's a more accurate lazy route match.\n // In SSR apps (with `hydrationData`), we expect that the server will send\n // up the proper matched routes so we don't want to run lazy discovery on\n // initial hydration and want to hydrate into the splat route.\n if (initialMatches && !init.hydrationData) {\n let fogOfWar = checkFogOfWar(\n initialMatches,\n dataRoutes,\n init.history.location.pathname\n );\n if (fogOfWar.active) {\n initialMatches = null;\n }\n }\n\n let initialized: boolean;\n if (!initialMatches) {\n initialized = false;\n initialMatches = [];\n\n // If partial hydration and fog of war is enabled, we will be running\n // `patchRoutesOnNavigation` during hydration so include any partial matches as\n // the initial matches so we can properly render `HydrateFallback`'s\n if (future.v7_partialHydration) {\n let fogOfWar = checkFogOfWar(\n null,\n dataRoutes,\n init.history.location.pathname\n );\n if (fogOfWar.active && fogOfWar.matches) {\n initialMatches = fogOfWar.matches;\n }\n }\n } else if (initialMatches.some((m) => m.route.lazy)) {\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n initialized = false;\n } else if (!initialMatches.some((m) => m.route.loader)) {\n // If we've got no loaders to run, then we're good to go\n initialized = true;\n } else if (future.v7_partialHydration) {\n // If partial hydration is enabled, we're initialized so long as we were\n // provided with hydrationData for every route with a loader, and no loaders\n // were marked for explicit hydration\n let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n let errors = init.hydrationData ? init.hydrationData.errors : null;\n // If errors exist, don't consider routes below the boundary\n if (errors) {\n let idx = initialMatches.findIndex(\n (m) => errors![m.route.id] !== undefined\n );\n initialized = initialMatches\n .slice(0, idx + 1)\n .every((m) => !shouldLoadRouteOnHydration(m.route, loaderData, errors));\n } else {\n initialized = initialMatches.every(\n (m) => !shouldLoadRouteOnHydration(m.route, loaderData, errors)\n );\n }\n } else {\n // Without partial hydration - we're initialized if we were provided any\n // hydrationData - which is expected to be complete\n initialized = init.hydrationData != null;\n }\n\n let router: Router;\n let state: RouterState = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n fetchers: new Map(),\n blockers: new Map(),\n };\n\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction: HistoryAction = HistoryAction.Pop;\n\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n\n // AbortController for the active navigation\n let pendingNavigationController: AbortController | null;\n\n // Should the current navigation enable document.startViewTransition?\n let pendingViewTransitionEnabled = false;\n\n // Store applied view transitions so we can apply them on POP\n let appliedViewTransitions: Map> = new Map<\n string,\n Set\n >();\n\n // Cleanup function for persisting applied transitions to sessionStorage\n let removePageHideEventListener: (() => void) | null = null;\n\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes: string[] = [];\n\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads: Set = new Set();\n\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set();\n\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n\n // Ref-count mounted fetchers so we know when it's ok to clean them up\n let activeFetchers = new Map();\n\n // Fetchers that have requested a delete when using v7_fetcherPersist,\n // they'll be officially removed after they return to idle\n let deletedFetchers = new Set();\n\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n\n // Map of pending patchRoutesOnNavigation() promises (keyed by path/matches) so\n // that we only kick them off once for a given combo\n let pendingPatchRoutes = new Map<\n string,\n ReturnType\n >();\n\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let unblockBlockerHistoryUpdate: (() => void) | undefined = undefined;\n\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (unblockBlockerHistoryUpdate) {\n unblockBlockerHistoryUpdate();\n unblockBlockerHistoryUpdate = undefined;\n return;\n }\n\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location \" +\n \"that was not created by @remix-run/router. This will fail silently in \" +\n \"production. This can happen if you are navigating outside the router \" +\n \"via `window.history.pushState`/`window.location.hash` instead of using \" +\n \"router navigation APIs. This can also happen if you are using \" +\n \"createHashRouter and the user manually changes the URL.\"\n );\n\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction,\n });\n\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n let nextHistoryUpdatePromise = new Promise((resolve) => {\n unblockBlockerHistoryUpdate = resolve;\n });\n init.history.go(delta * -1);\n\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location,\n });\n // Re-do the same POP navigation we just blocked, after the url\n // restoration is also complete. See:\n // https://github.com/remix-run/react-router/issues/11613\n nextHistoryUpdatePromise.then(() => init.history.go(delta));\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return startNavigation(historyAction, location);\n }\n );\n\n if (isBrowser) {\n // FIXME: This feels gross. How can we cleanup the lines between\n // scrollRestoration/appliedTransitions persistance?\n restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n let _saveAppliedTransitions = () =>\n persistAppliedTransitions(routerWindow, appliedViewTransitions);\n routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n removePageHideEventListener = () =>\n routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n }\n\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(HistoryAction.Pop, state.location, {\n initialHydration: true,\n });\n }\n\n return router;\n }\n\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n if (removePageHideEventListener) {\n removePageHideEventListener();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n\n // Subscribe to state updates for the router\n function subscribe(fn: RouterSubscriber) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n\n // Update our state and notify the calling context of the change\n function updateState(\n newState: Partial,\n opts: {\n flushSync?: boolean;\n viewTransitionOpts?: ViewTransitionOpts;\n } = {}\n ): void {\n state = {\n ...state,\n ...newState,\n };\n\n // Prep fetcher cleanup so we can tell the UI which fetcher data entries\n // can be removed\n let completedFetchers: string[] = [];\n let deletedFetchersKeys: string[] = [];\n\n if (future.v7_fetcherPersist) {\n state.fetchers.forEach((fetcher, key) => {\n if (fetcher.state === \"idle\") {\n if (deletedFetchers.has(key)) {\n // Unmounted from the UI and can be totally removed\n deletedFetchersKeys.push(key);\n } else {\n // Returned to idle but still mounted in the UI, so semi-remains for\n // revalidations and such\n completedFetchers.push(key);\n }\n }\n });\n }\n\n // Remove any lingering deleted fetchers that have already been removed\n // from state.fetchers\n deletedFetchers.forEach((key) => {\n if (!state.fetchers.has(key) && !fetchControllers.has(key)) {\n deletedFetchersKeys.push(key);\n }\n });\n\n // Iterate over a local copy so that if flushSync is used and we end up\n // removing and adding a new subscriber due to the useCallback dependencies,\n // we don't get ourselves into a loop calling the new subscriber immediately\n [...subscribers].forEach((subscriber) =>\n subscriber(state, {\n deletedFetchers: deletedFetchersKeys,\n viewTransitionOpts: opts.viewTransitionOpts,\n flushSync: opts.flushSync === true,\n })\n );\n\n // Remove idle fetchers from state since we only care about in-flight fetchers.\n if (future.v7_fetcherPersist) {\n completedFetchers.forEach((key) => state.fetchers.delete(key));\n deletedFetchersKeys.forEach((key) => deleteFetcher(key));\n } else {\n // We already called deleteFetcher() on these, can remove them from this\n // Set now that we've handed the keys off to the data layer\n deletedFetchersKeys.forEach((key) => deletedFetchers.delete(key));\n }\n }\n\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(\n location: Location,\n newState: Partial>,\n { flushSync }: { flushSync?: boolean } = {}\n ): void {\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload =\n state.actionData != null &&\n state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n state.navigation.state === \"loading\" &&\n location.state?._isRedirect !== true;\n\n let actionData: RouteData | null;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData\n ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n )\n : state.loaderData;\n\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset =\n pendingPreventScrollReset === true ||\n (state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n location.state?._isRedirect !== true);\n\n // Commit any in-flight routes at the end of the HMR revalidation \"navigation\"\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n\n if (isUninterruptedRevalidation) {\n // If this was an uninterrupted revalidation then do not touch history\n } else if (pendingAction === HistoryAction.Pop) {\n // Do nothing for POP - URL has already been updated\n } else if (pendingAction === HistoryAction.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === HistoryAction.Replace) {\n init.history.replace(location, location.state);\n }\n\n let viewTransitionOpts: ViewTransitionOpts | undefined;\n\n // On POP, enable transitions if they were enabled on the original navigation\n if (pendingAction === HistoryAction.Pop) {\n // Forward takes precedence so they behave like the original navigation\n let priorPaths = appliedViewTransitions.get(state.location.pathname);\n if (priorPaths && priorPaths.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location,\n };\n } else if (appliedViewTransitions.has(location.pathname)) {\n // If we don't have a previous forward nav, assume we're popping back to\n // the new location and enable if that location previously enabled\n viewTransitionOpts = {\n currentLocation: location,\n nextLocation: state.location,\n };\n }\n } else if (pendingViewTransitionEnabled) {\n // Store the applied transition on PUSH/REPLACE\n let toPaths = appliedViewTransitions.get(state.location.pathname);\n if (toPaths) {\n toPaths.add(location.pathname);\n } else {\n toPaths = new Set([location.pathname]);\n appliedViewTransitions.set(state.location.pathname, toPaths);\n }\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location,\n };\n }\n\n updateState(\n {\n ...newState, // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers,\n },\n {\n viewTransitionOpts,\n flushSync: flushSync === true,\n }\n );\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n pendingViewTransitionEnabled = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n }\n\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(\n to: number | To | null,\n opts?: RouterNavigateOptions\n ): Promise {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n to,\n future.v7_relativeSplatPath,\n opts?.fromRouteId,\n opts?.relative\n );\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n false,\n normalizedPath,\n opts\n );\n\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation),\n };\n\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n\n let historyAction = HistoryAction.Push;\n\n if (userReplace === true) {\n historyAction = HistoryAction.Replace;\n } else if (userReplace === false) {\n // no-op\n } else if (\n submission != null &&\n isMutationMethod(submission.formMethod) &&\n submission.formAction === state.location.pathname + state.location.search\n ) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = HistoryAction.Replace;\n }\n\n let preventScrollReset =\n opts && \"preventScrollReset\" in opts\n ? opts.preventScrollReset === true\n : undefined;\n\n let flushSync = (opts && opts.flushSync) === true;\n\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n });\n\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation,\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n enableViewTransition: opts && opts.viewTransition,\n flushSync,\n });\n }\n\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true,\n });\n return;\n }\n\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n {\n overrideNavigation: state.navigation,\n // Proxy through any rending view transition\n enableViewTransition: pendingViewTransitionEnabled === true,\n }\n );\n }\n\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(\n historyAction: HistoryAction,\n location: Location,\n opts?: {\n initialHydration?: boolean;\n submission?: Submission;\n fetcherSubmission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponseImpl;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n enableViewTransition?: boolean;\n flushSync?: boolean;\n }\n ): Promise {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation =\n (opts && opts.startUninterruptedRevalidation) === true;\n\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n let flushSync = (opts && opts.flushSync) === true;\n\n let fogOfWar = checkFogOfWar(matches, routesToUse, location.pathname);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let { error, notFoundMatches, route } = handleNavigational404(\n location.pathname\n );\n completeNavigation(\n location,\n {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n },\n { flushSync }\n );\n return;\n }\n\n // Short circuit if it's only a hash change and not a revalidation or\n // mutation submission.\n //\n // Ignore on initial page loads because since the initial hydration will always\n // be \"same hash\". For example, on /page#hash and submit a \n // which will default to a navigation to /page\n if (\n state.initialized &&\n !isRevalidationRequired &&\n isHashChangeOnly(state.location, location) &&\n !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))\n ) {\n completeNavigation(location, { matches }, { flushSync });\n return;\n }\n\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionResult: PendingActionResult | undefined;\n\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingActionResult = [\n findNearestBoundary(matches).route.id,\n { type: ResultType.error, error: opts.pendingError },\n ];\n } else if (\n opts &&\n opts.submission &&\n isMutationMethod(opts.submission.formMethod)\n ) {\n // Call action if we received an action submission\n let actionResult = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n fogOfWar.active,\n { replace: opts.replace, flushSync }\n );\n\n if (actionResult.shortCircuited) {\n return;\n }\n\n // If we received a 404 from handleAction, it's because we couldn't lazily\n // discover the destination route so we don't want to call loaders\n if (actionResult.pendingActionResult) {\n let [routeId, result] = actionResult.pendingActionResult;\n if (\n isErrorResult(result) &&\n isRouteErrorResponse(result.error) &&\n result.error.status === 404\n ) {\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches: actionResult.matches,\n loaderData: {},\n errors: {\n [routeId]: result.error,\n },\n });\n return;\n }\n }\n\n matches = actionResult.matches || matches;\n pendingActionResult = actionResult.pendingActionResult;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n flushSync = false;\n // No need to do fog of war matching again on loader execution\n fogOfWar.active = false;\n\n // Create a GET request for the loaders\n request = createClientSideRequest(\n init.history,\n request.url,\n request.signal\n );\n }\n\n // Call loaders\n let {\n shortCircuited,\n matches: updatedMatches,\n loaderData,\n errors,\n } = await handleLoaders(\n request,\n location,\n matches,\n fogOfWar.active,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.fetcherSubmission,\n opts && opts.replace,\n opts && opts.initialHydration === true,\n flushSync,\n pendingActionResult\n );\n\n if (shortCircuited) {\n return;\n }\n\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches: updatedMatches || matches,\n ...getActionDataForCommit(pendingActionResult),\n loaderData,\n errors,\n });\n }\n\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(\n request: Request,\n location: Location,\n submission: Submission,\n matches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n opts: { replace?: boolean; flushSync?: boolean } = {}\n ): Promise {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({ navigation }, { flushSync: opts.flushSync === true });\n\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n matches,\n location.pathname,\n request.signal\n );\n if (discoverResult.type === \"aborted\") {\n return { shortCircuited: true };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches)\n .route.id;\n return {\n matches: discoverResult.partialMatches,\n pendingActionResult: [\n boundaryId,\n {\n type: ResultType.error,\n error: discoverResult.error,\n },\n ],\n };\n } else if (!discoverResult.matches) {\n let { notFoundMatches, error, route } = handleNavigational404(\n location.pathname\n );\n return {\n matches: notFoundMatches,\n pendingActionResult: [\n route.id,\n {\n type: ResultType.error,\n error,\n },\n ],\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n\n // Call our action and get the result\n let result: DataResult;\n let actionMatch = getTargetMatch(matches, location);\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id,\n }),\n };\n } else {\n let results = await callDataStrategy(\n \"action\",\n state,\n request,\n [actionMatch],\n matches,\n null\n );\n result = results[actionMatch.route.id];\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n\n if (isRedirectResult(result)) {\n let replace: boolean;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n let location = normalizeRedirectLocation(\n result.response.headers.get(\"Location\")!,\n new URL(request.url),\n basename\n );\n replace = location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(request, result, true, {\n submission,\n replace,\n });\n return { shortCircuited: true };\n }\n\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n // By default, all submissions to the current location are REPLACE\n // navigations, but if the action threw an error that'll be rendered in\n // an errorElement, we fall back to PUSH so that the user can use the\n // back button to get back to the pre-submission form location to try\n // again\n if ((opts && opts.replace) !== true) {\n pendingAction = HistoryAction.Push;\n }\n\n return {\n matches,\n pendingActionResult: [boundaryMatch.route.id, result],\n };\n }\n\n return {\n matches,\n pendingActionResult: [actionMatch.route.id, result],\n };\n }\n\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n overrideNavigation?: Navigation,\n submission?: Submission,\n fetcherSubmission?: Submission,\n replace?: boolean,\n initialHydration?: boolean,\n flushSync?: boolean,\n pendingActionResult?: PendingActionResult\n ): Promise {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation =\n overrideNavigation || getLoadingNavigation(location, submission);\n\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission =\n submission ||\n fetcherSubmission ||\n getSubmissionFromNavigation(loadingNavigation);\n\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n // If we have partialHydration enabled, then don't update the state for the\n // initial data load since it's not a \"navigation\"\n let shouldUpdateNavigationState =\n !isUninterruptedRevalidation &&\n (!future.v7_partialHydration || !initialHydration);\n\n // When fog of war is enabled, we enter our `loading` state earlier so we\n // can discover new routes during the `loading` state. We skip this if\n // we've already run actions since we would have done our matching already.\n // If the children() function threw then, we want to proceed with the\n // partial matches it discovered.\n if (isFogOfWar) {\n if (shouldUpdateNavigationState) {\n let actionData = getUpdatedActionData(pendingActionResult);\n updateState(\n {\n navigation: loadingNavigation,\n ...(actionData !== undefined ? { actionData } : {}),\n },\n {\n flushSync,\n }\n );\n }\n\n let discoverResult = await discoverRoutes(\n matches,\n location.pathname,\n request.signal\n );\n\n if (discoverResult.type === \"aborted\") {\n return { shortCircuited: true };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches)\n .route.id;\n return {\n matches: discoverResult.partialMatches,\n loaderData: {},\n errors: {\n [boundaryId]: discoverResult.error,\n },\n };\n } else if (!discoverResult.matches) {\n let { error, notFoundMatches, route } = handleNavigational404(\n location.pathname\n );\n return {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n future.v7_partialHydration && initialHydration === true,\n future.v7_skipActionErrorRevalidation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n deletedFetchers,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n pendingActionResult\n );\n\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(\n (routeId) =>\n !(matches && matches.some((m) => m.route.id === routeId)) ||\n (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n );\n\n pendingNavigationLoadId = ++incrementingLoadId;\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(\n location,\n {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors:\n pendingActionResult && isErrorResult(pendingActionResult[1])\n ? { [pendingActionResult[0]]: pendingActionResult[1].error }\n : null,\n ...getActionDataForCommit(pendingActionResult),\n ...(updatedFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n },\n { flushSync }\n );\n return { shortCircuited: true };\n }\n\n if (shouldUpdateNavigationState) {\n let updates: Partial = {};\n if (!isFogOfWar) {\n // Only update navigation/actionNData if we didn't already do it above\n updates.navigation = loadingNavigation;\n let actionData = getUpdatedActionData(pendingActionResult);\n if (actionData !== undefined) {\n updates.actionData = actionData;\n }\n }\n if (revalidatingFetchers.length > 0) {\n updates.fetchers = getUpdatedRevalidatingFetchers(revalidatingFetchers);\n }\n updateState(updates, { flushSync });\n }\n\n revalidatingFetchers.forEach((rf) => {\n abortFetcher(rf.key);\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((f) => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n\n let { loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(loaderResults);\n if (redirect) {\n await startRedirectNavigation(request, redirect.result, true, {\n replace,\n });\n return { shortCircuited: true };\n }\n\n redirect = findRedirect(fetcherResults);\n if (redirect) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n fetchRedirectIds.add(redirect.key);\n await startRedirectNavigation(request, redirect.result, true, {\n replace,\n });\n return { shortCircuited: true };\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n loaderResults,\n pendingActionResult,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe((aborted) => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n\n // Preserve SSR errors during partial hydration\n if (future.v7_partialHydration && initialHydration && state.errors) {\n errors = { ...state.errors, ...errors };\n }\n\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers =\n updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n\n return {\n matches,\n loaderData,\n errors,\n ...(shouldUpdateFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n };\n }\n\n function getUpdatedActionData(\n pendingActionResult: PendingActionResult | undefined\n ): Record | null | undefined {\n if (pendingActionResult && !isErrorResult(pendingActionResult[1])) {\n // This is cast to `any` currently because `RouteData`uses any and it\n // would be a breaking change to use any.\n // TODO: v7 - change `RouteData` to use `unknown` instead of `any`\n return {\n [pendingActionResult[0]]: pendingActionResult[1].data as any,\n };\n } else if (state.actionData) {\n if (Object.keys(state.actionData).length === 0) {\n return null;\n } else {\n return state.actionData;\n }\n }\n }\n\n function getUpdatedRevalidatingFetchers(\n revalidatingFetchers: RevalidatingFetcher[]\n ) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n fetcher ? fetcher.data : undefined\n );\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n return new Map(state.fetchers);\n }\n\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ) {\n if (isServer) {\n throw new Error(\n \"router.fetch() was called during the server render, but it shouldn't be. \" +\n \"You are likely calling a useFetcher() method in the body of your component. \" +\n \"Try moving it to a useEffect or a callback.\"\n );\n }\n\n abortFetcher(key);\n\n let flushSync = (opts && opts.flushSync) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n href,\n future.v7_relativeSplatPath,\n routeId,\n opts?.relative\n );\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n\n let fogOfWar = checkFogOfWar(matches, routesToUse, normalizedPath);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: normalizedPath }),\n { flushSync }\n );\n return;\n }\n\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n true,\n normalizedPath,\n opts\n );\n\n if (error) {\n setFetcherError(key, routeId, error, { flushSync });\n return;\n }\n\n let match = getTargetMatch(matches, path);\n\n let preventScrollReset = (opts && opts.preventScrollReset) === true;\n\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(\n key,\n routeId,\n path,\n match,\n matches,\n fogOfWar.active,\n flushSync,\n preventScrollReset,\n submission\n );\n return;\n }\n\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, { routeId, path });\n handleFetcherLoader(\n key,\n routeId,\n path,\n match,\n matches,\n fogOfWar.active,\n flushSync,\n preventScrollReset,\n submission\n );\n }\n\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n requestMatches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n flushSync: boolean,\n preventScrollReset: boolean,\n submission: Submission\n ) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n\n function detectAndHandle405Error(m: AgnosticDataRouteMatch) {\n if (!m.route.action && !m.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId,\n });\n setFetcherError(key, routeId, error, { flushSync });\n return true;\n }\n return false;\n }\n\n if (!isFogOfWar && detectAndHandle405Error(match)) {\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n flushSync,\n });\n\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n requestMatches,\n path,\n fetchRequest.signal\n );\n\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, { flushSync });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: path }),\n { flushSync }\n );\n return;\n } else {\n requestMatches = discoverResult.matches;\n match = getTargetMatch(requestMatches, path);\n\n if (detectAndHandle405Error(match)) {\n return;\n }\n }\n }\n\n // Call the action for the fetcher\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let actionResults = await callDataStrategy(\n \"action\",\n state,\n fetchRequest,\n [match],\n requestMatches,\n key\n );\n let actionResult = actionResults[match.route.id];\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n\n // When using v7_fetcherPersist, we don't want errors bubbling up to the UI\n // or redirects processed for unmounted fetchers so we just revert them to\n // idle\n if (future.v7_fetcherPersist && deletedFetchers.has(key)) {\n if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n // Let SuccessResult's fall through for revalidation\n } else {\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our action started, so that\n // should take precedence over this redirect navigation. We already\n // set isRevalidationRequired so all loaders for the new route should\n // fire unless opted out via shouldRevalidate\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n updateFetcherState(key, getLoadingFetcher(submission));\n return startRedirectNavigation(fetchRequest, actionResult, false, {\n fetcherSubmission: submission,\n preventScrollReset,\n });\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n }\n\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches =\n state.navigation.state !== \"idle\"\n ? matchRoutes(routesToUse, state.navigation.location, basename)\n : state.matches;\n\n invariant(matches, \"Didn't find any matches after fetcher action\");\n\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n false,\n future.v7_skipActionErrorRevalidation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n deletedFetchers,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n [match.route.id, actionResult]\n );\n\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers\n .filter((rf) => rf.key !== key)\n .forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n existingFetcher ? existingFetcher.data : undefined\n );\n state.fetchers.set(staleKey, revalidatingFetcher);\n abortFetcher(staleKey);\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n\n updateState({ fetchers: new Map(state.fetchers) });\n\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((rf) => abortFetcher(rf.key));\n\n abortController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n let { loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n\n if (abortController.signal.aborted) {\n return;\n }\n\n abortController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\n let redirect = findRedirect(loaderResults);\n if (redirect) {\n return startRedirectNavigation(\n revalidationRequest,\n redirect.result,\n false,\n { preventScrollReset }\n );\n }\n\n redirect = findRedirect(fetcherResults);\n if (redirect) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n fetchRedirectIds.add(redirect.key);\n return startRedirectNavigation(\n revalidationRequest,\n redirect.result,\n false,\n { preventScrollReset }\n );\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n loaderResults,\n undefined,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Since we let revalidations complete even if the submitting fetcher was\n // deleted, only put it back to idle if it hasn't been deleted\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n\n abortStaleFetchLoads(loadId);\n\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (\n state.navigation.state === \"loading\" &&\n loadId > pendingNavigationLoadId\n ) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers),\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n fetchers: new Map(state.fetchers),\n });\n isRevalidationRequired = false;\n }\n }\n\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n flushSync: boolean,\n preventScrollReset: boolean,\n submission?: Submission\n ) {\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(\n key,\n getLoadingFetcher(\n submission,\n existingFetcher ? existingFetcher.data : undefined\n ),\n { flushSync }\n );\n\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n matches,\n path,\n fetchRequest.signal\n );\n\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, { flushSync });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: path }),\n { flushSync }\n );\n return;\n } else {\n matches = discoverResult.matches;\n match = getTargetMatch(matches, path);\n }\n }\n\n // Call the loader for this fetcher route match\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let results = await callDataStrategy(\n \"loader\",\n state,\n fetchRequest,\n [match],\n matches,\n key\n );\n let result = results[match.route.id];\n\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result =\n (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n result;\n }\n\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n\n if (fetchRequest.signal.aborted) {\n return;\n }\n\n // We don't want errors bubbling up or redirects followed for unmounted\n // fetchers, so short circuit here if it was removed from the UI\n if (deletedFetchers.has(key)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our loader started, so that\n // should take precedence over this redirect navigation\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(fetchRequest, result, false, {\n preventScrollReset,\n });\n return;\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n setFetcherError(key, routeId, result.error);\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n updateFetcherState(key, getDoneFetcher(result.data));\n }\n\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(\n request: Request,\n redirect: RedirectResult,\n isNavigation: boolean,\n {\n submission,\n fetcherSubmission,\n preventScrollReset,\n replace,\n }: {\n submission?: Submission;\n fetcherSubmission?: Submission;\n preventScrollReset?: boolean;\n replace?: boolean;\n } = {}\n ) {\n if (redirect.response.headers.has(\"X-Remix-Revalidate\")) {\n isRevalidationRequired = true;\n }\n\n let location = redirect.response.headers.get(\"Location\");\n invariant(location, \"Expected a Location header on the redirect Response\");\n location = normalizeRedirectLocation(\n location,\n new URL(request.url),\n basename\n );\n let redirectLocation = createLocation(state.location, location, {\n _isRedirect: true,\n });\n\n if (isBrowser) {\n let isDocumentReload = false;\n\n if (redirect.response.headers.has(\"X-Remix-Reload-Document\")) {\n // Hard reload if the response contained X-Remix-Reload-Document\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(location)) {\n const url = init.history.createURL(location);\n isDocumentReload =\n // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin ||\n // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n\n if (isDocumentReload) {\n if (replace) {\n routerWindow.location.replace(location);\n } else {\n routerWindow.location.assign(location);\n }\n return;\n }\n }\n\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n\n let redirectHistoryAction =\n replace === true || redirect.response.headers.has(\"X-Remix-Replace\")\n ? HistoryAction.Replace\n : HistoryAction.Push;\n\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let { formMethod, formAction, formEncType } = state.navigation;\n if (\n !submission &&\n !fetcherSubmission &&\n formMethod &&\n formAction &&\n formEncType\n ) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n let activeSubmission = submission || fetcherSubmission;\n if (\n redirectPreserveMethodStatusCodes.has(redirect.response.status) &&\n activeSubmission &&\n isMutationMethod(activeSubmission.formMethod)\n ) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: {\n ...activeSubmission,\n formAction: location,\n },\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation\n ? pendingViewTransitionEnabled\n : undefined,\n });\n } else {\n // If we have a navigation submission, we will preserve it through the\n // redirect navigation\n let overrideNavigation = getLoadingNavigation(\n redirectLocation,\n submission\n );\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation\n ? pendingViewTransitionEnabled\n : undefined,\n });\n }\n }\n\n // Utility wrapper for calling dataStrategy client-side without having to\n // pass around the manifest, mapRouteProperties, etc.\n async function callDataStrategy(\n type: \"loader\" | \"action\",\n state: RouterState,\n request: Request,\n matchesToLoad: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n fetcherKey: string | null\n ): Promise> {\n let results: Record;\n let dataResults: Record = {};\n try {\n results = await callDataStrategyImpl(\n dataStrategyImpl,\n type,\n state,\n request,\n matchesToLoad,\n matches,\n fetcherKey,\n manifest,\n mapRouteProperties\n );\n } catch (e) {\n // If the outer dataStrategy method throws, just return the error for all\n // matches - and it'll naturally bubble to the root\n matchesToLoad.forEach((m) => {\n dataResults[m.route.id] = {\n type: ResultType.error,\n error: e,\n };\n });\n return dataResults;\n }\n\n for (let [routeId, result] of Object.entries(results)) {\n if (isRedirectDataStrategyResultResult(result)) {\n let response = result.result as Response;\n dataResults[routeId] = {\n type: ResultType.redirect,\n response: normalizeRelativeRoutingRedirectResponse(\n response,\n request,\n routeId,\n matches,\n basename,\n future.v7_relativeSplatPath\n ),\n };\n } else {\n dataResults[routeId] = await convertDataStrategyResultToDataResult(\n result\n );\n }\n }\n\n return dataResults;\n }\n\n async function callLoadersAndMaybeResolveData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n fetchersToLoad: RevalidatingFetcher[],\n request: Request\n ) {\n let currentMatches = state.matches;\n\n // Kick off loaders and fetchers in parallel\n let loaderResultsPromise = callDataStrategy(\n \"loader\",\n state,\n request,\n matchesToLoad,\n matches,\n null\n );\n\n let fetcherResultsPromise = Promise.all(\n fetchersToLoad.map(async (f) => {\n if (f.matches && f.match && f.controller) {\n let results = await callDataStrategy(\n \"loader\",\n state,\n createClientSideRequest(init.history, f.path, f.controller.signal),\n [f.match],\n f.matches,\n f.key\n );\n let result = results[f.match.route.id];\n // Fetcher results are keyed by fetcher key from here on out, not routeId\n return { [f.key]: result };\n } else {\n return Promise.resolve({\n [f.key]: {\n type: ResultType.error,\n error: getInternalRouterError(404, {\n pathname: f.path,\n }),\n } as ErrorResult,\n });\n }\n })\n );\n\n let loaderResults = await loaderResultsPromise;\n let fetcherResults = (await fetcherResultsPromise).reduce(\n (acc, r) => Object.assign(acc, r),\n {}\n );\n\n await Promise.all([\n resolveNavigationDeferredResults(\n matches,\n loaderResults,\n request.signal,\n currentMatches,\n state.loaderData\n ),\n resolveFetcherDeferredResults(matches, fetcherResults, fetchersToLoad),\n ]);\n\n return {\n loaderResults,\n fetcherResults,\n };\n }\n\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.add(key);\n }\n abortFetcher(key);\n });\n }\n\n function updateFetcherState(\n key: string,\n fetcher: Fetcher,\n opts: { flushSync?: boolean } = {}\n ) {\n state.fetchers.set(key, fetcher);\n updateState(\n { fetchers: new Map(state.fetchers) },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n\n function setFetcherError(\n key: string,\n routeId: string,\n error: any,\n opts: { flushSync?: boolean } = {}\n ) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState(\n {\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n\n function getFetcher(key: string): Fetcher {\n activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n // If this fetcher was previously marked for deletion, unmark it since we\n // have a new instance\n if (deletedFetchers.has(key)) {\n deletedFetchers.delete(key);\n }\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n\n function deleteFetcher(key: string): void {\n let fetcher = state.fetchers.get(key);\n // Don't abort the controller if this is a deletion of a fetcher.submit()\n // in it's loading phase since - we don't want to abort the corresponding\n // revalidation and want them to complete and land\n if (\n fetchControllers.has(key) &&\n !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))\n ) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n\n // If we opted into the flag we can clear this now since we're calling\n // deleteFetcher() at the end of updateState() and we've already handed the\n // deleted fetcher keys off to the data layer.\n // If not, we're eagerly calling deleteFetcher() and we need to keep this\n // Set populated until the next updateState call, and we'll clear\n // `deletedFetchers` then\n if (future.v7_fetcherPersist) {\n deletedFetchers.delete(key);\n }\n\n cancelledFetcherLoads.delete(key);\n state.fetchers.delete(key);\n }\n\n function deleteFetcherAndUpdateState(key: string): void {\n let count = (activeFetchers.get(key) || 0) - 1;\n if (count <= 0) {\n activeFetchers.delete(key);\n deletedFetchers.add(key);\n if (!future.v7_fetcherPersist) {\n deleteFetcher(key);\n }\n } else {\n activeFetchers.set(key, count);\n }\n\n updateState({ fetchers: new Map(state.fetchers) });\n }\n\n function abortFetcher(key: string) {\n let controller = fetchControllers.get(key);\n if (controller) {\n controller.abort();\n fetchControllers.delete(key);\n }\n }\n\n function markFetchersDone(keys: string[]) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n function markFetchRedirectsDone(): boolean {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n\n function abortStaleFetchLoads(landedId: number): boolean {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n\n function getBlocker(key: string, fn: BlockerFunction) {\n let blocker: Blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n\n return blocker;\n }\n\n function deleteBlocker(key: string) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key: string, newBlocker: Blocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(\n (blocker.state === \"unblocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"proceeding\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"unblocked\") ||\n (blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\"),\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({ blockers });\n }\n\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n }: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n }): string | undefined {\n if (blockerFunctions.size === 0) {\n return;\n }\n\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n\n function handleNavigational404(pathname: string) {\n let error = getInternalRouterError(404, { pathname });\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let { matches, route } = getShortCircuitMatches(routesToUse);\n\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n\n return { notFoundMatches: matches, route, error };\n }\n\n function cancelActiveDeferreds(\n predicate?: (routeId: string) => boolean\n ): string[] {\n let cancelledRouteIds: string[] = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the component\n function enableScrollRestoration(\n positions: Record,\n getPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || null;\n\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered \n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n\n function getScrollKey(location: Location, matches: AgnosticDataRouteMatch[]) {\n if (getScrollRestorationKey) {\n let key = getScrollRestorationKey(\n location,\n matches.map((m) => convertRouteMatchToUiMatch(m, state.loaderData))\n );\n return key || location.key;\n }\n return location.key;\n }\n\n function saveScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): void {\n if (savedScrollPositions && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n\n function getSavedScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): number | null {\n if (savedScrollPositions) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n\n function checkFogOfWar(\n matches: AgnosticDataRouteMatch[] | null,\n routesToUse: AgnosticDataRouteObject[],\n pathname: string\n ): { active: boolean; matches: AgnosticDataRouteMatch[] | null } {\n if (patchRoutesOnNavigationImpl) {\n if (!matches) {\n let fogMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n\n return { active: true, matches: fogMatches || [] };\n } else {\n if (Object.keys(matches[0].params).length > 0) {\n // If we matched a dynamic param or a splat, it might only be because\n // we haven't yet discovered other routes that would match with a\n // higher score. Call patchRoutesOnNavigation just to be sure\n let partialMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n return { active: true, matches: partialMatches };\n }\n }\n }\n\n return { active: false, matches: null };\n }\n\n type DiscoverRoutesSuccessResult = {\n type: \"success\";\n matches: AgnosticDataRouteMatch[] | null;\n };\n type DiscoverRoutesErrorResult = {\n type: \"error\";\n error: any;\n partialMatches: AgnosticDataRouteMatch[];\n };\n type DiscoverRoutesAbortedResult = { type: \"aborted\" };\n type DiscoverRoutesResult =\n | DiscoverRoutesSuccessResult\n | DiscoverRoutesErrorResult\n | DiscoverRoutesAbortedResult;\n\n async function discoverRoutes(\n matches: AgnosticDataRouteMatch[],\n pathname: string,\n signal: AbortSignal\n ): Promise {\n if (!patchRoutesOnNavigationImpl) {\n return { type: \"success\", matches };\n }\n\n let partialMatches: AgnosticDataRouteMatch[] | null = matches;\n while (true) {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let localManifest = manifest;\n try {\n await patchRoutesOnNavigationImpl({\n path: pathname,\n matches: partialMatches,\n patch: (routeId, children) => {\n if (signal.aborted) return;\n patchRoutesImpl(\n routeId,\n children,\n routesToUse,\n localManifest,\n mapRouteProperties\n );\n },\n });\n } catch (e) {\n return { type: \"error\", error: e, partialMatches };\n } finally {\n // If we are not in the middle of an HMR revalidation and we changed the\n // routes, provide a new identity so when we `updateState` at the end of\n // this navigation/fetch `router.routes` will be a new identity and\n // trigger a re-run of memoized `router.routes` dependencies.\n // HMR will already update the identity and reflow when it lands\n // `inFlightDataRoutes` in `completeNavigation`\n if (isNonHMR && !signal.aborted) {\n dataRoutes = [...dataRoutes];\n }\n }\n\n if (signal.aborted) {\n return { type: \"aborted\" };\n }\n\n let newMatches = matchRoutes(routesToUse, pathname, basename);\n if (newMatches) {\n return { type: \"success\", matches: newMatches };\n }\n\n let newPartialMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n\n // Avoid loops if the second pass results in the same partial matches\n if (\n !newPartialMatches ||\n (partialMatches.length === newPartialMatches.length &&\n partialMatches.every(\n (m, i) => m.route.id === newPartialMatches![i].route.id\n ))\n ) {\n return { type: \"success\", matches: null };\n }\n\n partialMatches = newPartialMatches;\n }\n }\n\n function _internalSetRoutes(newRoutes: AgnosticDataRouteObject[]) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(\n newRoutes,\n mapRouteProperties,\n undefined,\n manifest\n );\n }\n\n function patchRoutes(\n routeId: string | null,\n children: AgnosticRouteObject[]\n ): void {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n patchRoutesImpl(\n routeId,\n children,\n routesToUse,\n manifest,\n mapRouteProperties\n );\n\n // If we are not in the middle of an HMR revalidation and we changed the\n // routes, provide a new identity and trigger a reflow via `updateState`\n // to re-run memoized `router.routes` dependencies.\n // HMR will already update the identity and reflow when it lands\n // `inFlightDataRoutes` in `completeNavigation`\n if (isNonHMR) {\n dataRoutes = [...dataRoutes];\n updateState({});\n }\n }\n\n router = {\n get basename() {\n return basename;\n },\n get future() {\n return future;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return routerWindow;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to: To) => init.history.createHref(to),\n encodeLocation: (to: To) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher: deleteFetcherAndUpdateState,\n dispose,\n getBlocker,\n deleteBlocker,\n patchRoutes,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes,\n };\n\n return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nexport const UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface StaticHandlerFutureConfig {\n v7_relativeSplatPath: boolean;\n v7_throwAbortReason: boolean;\n}\n\nexport interface CreateStaticHandlerOptions {\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial;\n}\n\nexport function createStaticHandler(\n routes: AgnosticRouteObject[],\n opts?: CreateStaticHandlerOptions\n): StaticHandler {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n\n let manifest: RouteManifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (opts?.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts?.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n // Config driven behavior flags\n let future: StaticHandlerFutureConfig = {\n v7_relativeSplatPath: false,\n v7_throwAbortReason: false,\n ...(opts ? opts.future : null),\n };\n\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n *\n * - `opts.requestContext` is an optional server context that will be passed\n * to actions/loaders in the `context` parameter\n * - `opts.skipLoaderErrorBubbling` is an optional parameter that will prevent\n * the bubbling of errors which allows single-fetch-type implementations\n * where the client will handle the bubbling and we may need to return data\n * for the handling route\n */\n async function query(\n request: Request,\n {\n requestContext,\n skipLoaderErrorBubbling,\n dataStrategy,\n }: {\n requestContext?: unknown;\n skipLoaderErrorBubbling?: boolean;\n dataStrategy?: DataStrategyFunction;\n } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n dataStrategy || null,\n skipLoaderErrorBubbling === true,\n null\n );\n if (isResponse(result)) {\n return result;\n }\n\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return { location, basename, ...result };\n }\n\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n *\n * - `opts.routeId` allows you to specify the specific route handler to call.\n * If not provided the handler will determine the proper route by matching\n * against `request.url`\n * - `opts.requestContext` is an optional server context that will be passed\n * to actions/loaders in the `context` parameter\n */\n async function queryRoute(\n request: Request,\n {\n routeId,\n requestContext,\n dataStrategy,\n }: {\n requestContext?: unknown;\n routeId?: string;\n dataStrategy?: DataStrategyFunction;\n } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let match = routeId\n ? matches.find((m) => m.route.id === routeId)\n : getTargetMatch(matches, location);\n\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId,\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n dataStrategy || null,\n false,\n match\n );\n\n if (isResponse(result)) {\n return result;\n }\n\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n\n if (result.loaderData) {\n let data = Object.values(result.loaderData)[0];\n if (result.activeDeferreds?.[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n\n return undefined;\n }\n\n async function queryImpl(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null,\n skipLoaderErrorBubbling: boolean,\n routeMatch: AgnosticDataRouteMatch | null\n ): Promise | Response> {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n routeMatch != null\n );\n return result;\n }\n\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n routeMatch\n );\n return isResponse(result)\n ? result\n : {\n ...result,\n actionData: null,\n actionHeaders: {},\n };\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction for a\n // `queryRoute` call, we throw the `DataStrategyResult` to bail out early\n // and then return or throw the raw Response here accordingly\n if (isDataStrategyResult(e) && isResponse(e.result)) {\n if (e.type === ResultType.error) {\n throw e.result;\n }\n return e.result;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n\n async function submit(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n actionMatch: AgnosticDataRouteMatch,\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null,\n skipLoaderErrorBubbling: boolean,\n isRouteRequest: boolean\n ): Promise | Response> {\n let result: DataResult;\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id,\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n } else {\n let results = await callDataStrategy(\n \"action\",\n request,\n [actionMatch],\n matches,\n isRouteRequest,\n requestContext,\n dataStrategy\n );\n result = results[actionMatch.route.id];\n\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\n }\n }\n\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.response.status,\n headers: {\n Location: result.response.headers.get(\"Location\")!,\n },\n });\n }\n\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, { type: \"defer-action\" });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n }\n\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal,\n });\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = skipLoaderErrorBubbling\n ? actionMatch\n : findNearestBoundary(matches, actionMatch.route.id);\n\n let context = await loadRouteData(\n loaderRequest,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n null,\n [boundaryMatch.route.id, result]\n );\n\n // action status codes take precedence over loader status codes\n return {\n ...context,\n statusCode: isRouteErrorResponse(result.error)\n ? result.error.status\n : result.statusCode != null\n ? result.statusCode\n : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n let context = await loadRouteData(\n loaderRequest,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n null\n );\n\n return {\n ...context,\n actionData: {\n [actionMatch.route.id]: result.data,\n },\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n actionHeaders: result.headers\n ? { [actionMatch.route.id]: result.headers }\n : {},\n };\n }\n\n async function loadRouteData(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null,\n skipLoaderErrorBubbling: boolean,\n routeMatch: AgnosticDataRouteMatch | null,\n pendingActionResult?: PendingActionResult\n ): Promise<\n | Omit<\n StaticHandlerContext,\n \"location\" | \"basename\" | \"actionData\" | \"actionHeaders\"\n >\n | Response\n > {\n let isRouteRequest = routeMatch != null;\n\n // Short circuit if we have no loaders to run (queryRoute())\n if (\n isRouteRequest &&\n !routeMatch?.route.loader &&\n !routeMatch?.route.lazy\n ) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id,\n });\n }\n\n let requestMatches = routeMatch\n ? [routeMatch]\n : pendingActionResult && isErrorResult(pendingActionResult[1])\n ? getLoaderMatchesUntilBoundary(matches, pendingActionResult[0])\n : matches;\n let matchesToLoad = requestMatches.filter(\n (m) => m.route.loader || m.route.lazy\n );\n\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors:\n pendingActionResult && isErrorResult(pendingActionResult[1])\n ? {\n [pendingActionResult[0]]: pendingActionResult[1].error,\n }\n : null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let results = await callDataStrategy(\n \"loader\",\n request,\n matchesToLoad,\n matches,\n isRouteRequest,\n requestContext,\n dataStrategy\n );\n\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\n }\n\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(\n matches,\n results,\n pendingActionResult,\n activeDeferreds,\n skipLoaderErrorBubbling\n );\n\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n\n return {\n ...context,\n matches,\n activeDeferreds:\n activeDeferreds.size > 0\n ? Object.fromEntries(activeDeferreds.entries())\n : null,\n };\n }\n\n // Utility wrapper for calling dataStrategy server-side without having to\n // pass around the manifest, mapRouteProperties, etc.\n async function callDataStrategy(\n type: \"loader\" | \"action\",\n request: Request,\n matchesToLoad: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n isRouteRequest: boolean,\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null\n ): Promise> {\n let results = await callDataStrategyImpl(\n dataStrategy || defaultDataStrategy,\n type,\n null,\n request,\n matchesToLoad,\n matches,\n null,\n manifest,\n mapRouteProperties,\n requestContext\n );\n\n let dataResults: Record = {};\n await Promise.all(\n matches.map(async (match) => {\n if (!(match.route.id in results)) {\n return;\n }\n let result = results[match.route.id];\n if (isRedirectDataStrategyResultResult(result)) {\n let response = result.result as Response;\n // Throw redirects and let the server handle them with an HTTP redirect\n throw normalizeRelativeRoutingRedirectResponse(\n response,\n request,\n match.route.id,\n matches,\n basename,\n future.v7_relativeSplatPath\n );\n }\n if (isResponse(result.result) && isRouteRequest) {\n // For SSR single-route requests, we want to hand Responses back\n // directly without unwrapping\n throw result;\n }\n\n dataResults[match.route.id] =\n await convertDataStrategyResultToDataResult(result);\n })\n );\n return dataResults;\n }\n\n return {\n dataRoutes,\n query,\n queryRoute,\n };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n routes: AgnosticDataRouteObject[],\n context: StaticHandlerContext,\n error: any\n) {\n let newContext: StaticHandlerContext = {\n ...context,\n statusCode: isRouteErrorResponse(error) ? error.status : 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\nfunction throwStaticHandlerAbortedError(\n request: Request,\n isRouteRequest: boolean,\n future: StaticHandlerFutureConfig\n) {\n if (future.v7_throwAbortReason && request.signal.reason !== undefined) {\n throw request.signal.reason;\n }\n\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted: ${request.method} ${request.url}`);\n}\n\nfunction isSubmissionNavigation(\n opts: BaseNavigateOrFetchOptions\n): opts is SubmissionNavigateOptions {\n return (\n opts != null &&\n ((\"formData\" in opts && opts.formData != null) ||\n (\"body\" in opts && opts.body !== undefined))\n );\n}\n\nfunction normalizeTo(\n location: Path,\n matches: AgnosticDataRouteMatch[],\n basename: string,\n prependBasename: boolean,\n to: To | null,\n v7_relativeSplatPath: boolean,\n fromRouteId?: string,\n relative?: RelativeRoutingType\n) {\n let contextualMatches: AgnosticDataRouteMatch[];\n let activeRouteMatch: AgnosticDataRouteMatch | undefined;\n if (fromRouteId) {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n\n // Resolve the relative path\n let path = resolveTo(\n to ? to : \".\",\n getResolveToMatches(contextualMatches, v7_relativeSplatPath),\n stripBasename(location.pathname, basename) || location.pathname,\n relative === \"path\"\n );\n\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n\n // Account for `?index` params when routing to the current location\n if ((to == null || to === \"\" || to === \".\") && activeRouteMatch) {\n let nakedIndex = hasNakedIndexQuery(path.search);\n if (activeRouteMatch.route.index && !nakedIndex) {\n // Add one when we're targeting an index route\n path.search = path.search\n ? path.search.replace(/^\\?/, \"?index&\")\n : \"?index\";\n } else if (!activeRouteMatch.route.index && nakedIndex) {\n // Remove existing ones when we're not\n let params = new URLSearchParams(path.search);\n let indexValues = params.getAll(\"index\");\n params.delete(\"index\");\n indexValues.filter((v) => v).forEach((v) => params.append(\"index\", v));\n let qs = params.toString();\n path.search = qs ? `?${qs}` : \"\";\n }\n }\n\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n\n return createPath(path);\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n normalizeFormMethod: boolean,\n isFetcher: boolean,\n path: string,\n opts?: BaseNavigateOrFetchOptions\n): {\n path: string;\n submission?: Submission;\n error?: ErrorResponseImpl;\n} {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod }),\n };\n }\n\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, { type: \"invalid-body\" }),\n });\n\n // Create a Submission on non-GET navigations\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = normalizeFormMethod\n ? (rawFormMethod.toUpperCase() as V7_FormMethod)\n : (rawFormMethod.toLowerCase() as FormMethod);\n let formAction = stripHashFromPath(path);\n\n if (opts.body !== undefined) {\n if (opts.formEncType === \"text/plain\") {\n // text only support POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n let text =\n typeof opts.body === \"string\"\n ? opts.body\n : opts.body instanceof FormData ||\n opts.body instanceof URLSearchParams\n ? // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce(\n (acc, [name, value]) => `${acc}${name}=${value}\\n`,\n \"\"\n )\n : String(opts.body);\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json: undefined,\n text,\n },\n };\n } else if (opts.formEncType === \"application/json\") {\n // json only supports POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n try {\n let json =\n typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json,\n text: undefined,\n },\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n\n invariant(\n typeof FormData === \"function\",\n \"FormData is not available in this environment\"\n );\n\n let searchParams: URLSearchParams;\n let formData: FormData;\n\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n\n let submission: Submission = {\n formMethod,\n formAction,\n formEncType:\n (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n formData,\n json: undefined,\n text: undefined,\n };\n\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n\n return { path: createPath(parsedPath), submission };\n}\n\n// Filter out all routes at/below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n matches: AgnosticDataRouteMatch[],\n boundaryId: string,\n includeBoundary = false\n) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n return matches.slice(0, includeBoundary ? index + 1 : index);\n }\n return matches;\n}\n\nfunction getMatchesToLoad(\n history: History,\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n submission: Submission | undefined,\n location: Location,\n initialHydration: boolean,\n skipActionErrorRevalidation: boolean,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: Set,\n deletedFetchers: Set,\n fetchLoadMatches: Map,\n fetchRedirectIds: Set,\n routesToUse: AgnosticDataRouteObject[],\n basename: string | undefined,\n pendingActionResult?: PendingActionResult\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n let actionResult = pendingActionResult\n ? isErrorResult(pendingActionResult[1])\n ? pendingActionResult[1].error\n : pendingActionResult[1].data\n : undefined;\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryMatches = matches;\n if (initialHydration && state.errors) {\n // On initial hydration, only consider matches up to _and including_ the boundary.\n // This is inclusive to handle cases where a server loader ran successfully,\n // a child server loader bubbled up to this route, but this route has\n // `clientLoader.hydrate` so we want to still run the `clientLoader` so that\n // we have a complete version of `loaderData`\n boundaryMatches = getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(state.errors)[0],\n true\n );\n } else if (pendingActionResult && isErrorResult(pendingActionResult[1])) {\n // If an action threw an error, we call loaders up to, but not including the\n // boundary\n boundaryMatches = getLoaderMatchesUntilBoundary(\n matches,\n pendingActionResult[0]\n );\n }\n\n // Don't revalidate loaders by default after action 4xx/5xx responses\n // when the flag is enabled. They can still opt-into revalidation via\n // `shouldRevalidate` via `actionResult`\n let actionStatus = pendingActionResult\n ? pendingActionResult[1].statusCode\n : undefined;\n let shouldSkipRevalidation =\n skipActionErrorRevalidation && actionStatus && actionStatus >= 400;\n\n let navigationMatches = boundaryMatches.filter((match, index) => {\n let { route } = match;\n if (route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n\n if (route.loader == null) {\n return false;\n }\n\n if (initialHydration) {\n return shouldLoadRouteOnHydration(route, state.loaderData, state.errors);\n }\n\n // Always call the loader on new route instances and pending defer cancellations\n if (\n isNewLoader(state.loaderData, state.matches[index], match) ||\n cancelledDeferredRoutes.some((id) => id === match.route.id)\n ) {\n return true;\n }\n\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation\n ? false\n : // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n currentUrl.pathname + currentUrl.search ===\n nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search ||\n isNewRouteInstance(currentRouteMatch, nextRouteMatch),\n });\n });\n\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers: RevalidatingFetcher[] = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate:\n // - on initial hydration (shouldn't be any fetchers then anyway)\n // - if fetcher won't be present in the subsequent render\n // - no longer matches the URL (v7_fetcherPersist=false)\n // - was unmounted but persisted due to v7_fetcherPersist=true\n if (\n initialHydration ||\n !matches.some((m) => m.route.id === f.routeId) ||\n deletedFetchers.has(key)\n ) {\n return;\n }\n\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData. Note this is\n // currently only a use-case for Remix HMR where the route tree can change\n // at runtime and remove a route previously loaded via a fetcher\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null,\n });\n return;\n }\n\n // Revalidating fetchers are decoupled from the route matches since they\n // load from a static href. They revalidate based on explicit revalidation\n // (submission, useRevalidator, or X-Remix-Revalidate)\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n // Never trigger a revalidation of an actively redirecting fetcher\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.has(key)) {\n // Always mark for revalidation if the fetcher was cancelled\n cancelledFetcherLoads.delete(key);\n shouldRevalidate = true;\n } else if (\n fetcher &&\n fetcher.state !== \"idle\" &&\n fetcher.data === undefined\n ) {\n // If the fetcher hasn't ever completed loading yet, then this isn't a\n // revalidation, it would just be a brand new load if an explicit\n // revalidation is required\n shouldRevalidate = isRevalidationRequired;\n } else {\n // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n // to explicit revalidations only\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation\n ? false\n : isRevalidationRequired,\n });\n }\n\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController(),\n });\n }\n });\n\n return [navigationMatches, revalidatingFetchers];\n}\n\nfunction shouldLoadRouteOnHydration(\n route: AgnosticDataRouteObject,\n loaderData: RouteData | null | undefined,\n errors: RouteData | null | undefined\n) {\n // We dunno if we have a loader - gotta find out!\n if (route.lazy) {\n return true;\n }\n\n // No loader, nothing to initialize\n if (!route.loader) {\n return false;\n }\n\n let hasData = loaderData != null && loaderData[route.id] !== undefined;\n let hasError = errors != null && errors[route.id] !== undefined;\n\n // Don't run if we error'd during SSR\n if (!hasData && hasError) {\n return false;\n }\n\n // Explicitly opting-in to running on hydration\n if (typeof route.loader === \"function\" && route.loader.hydrate === true) {\n return true;\n }\n\n // Otherwise, run if we're not yet initialized with anything\n return !hasData && !hasError;\n}\n\nfunction isNewLoader(\n currentLoaderData: RouteData,\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n (currentPath != null &&\n currentPath.endsWith(\"*\") &&\n currentMatch.params[\"*\"] !== match.params[\"*\"])\n );\n}\n\nfunction shouldRevalidateLoader(\n loaderMatch: AgnosticDataRouteMatch,\n arg: ShouldRevalidateFunctionArgs\n) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n\n return arg.defaultShouldRevalidate;\n}\n\nfunction patchRoutesImpl(\n routeId: string | null,\n children: AgnosticRouteObject[],\n routesToUse: AgnosticDataRouteObject[],\n manifest: RouteManifest,\n mapRouteProperties: MapRoutePropertiesFunction\n) {\n let childrenToPatch: AgnosticDataRouteObject[];\n if (routeId) {\n let route = manifest[routeId];\n invariant(\n route,\n `No route found to patch children into: routeId = ${routeId}`\n );\n if (!route.children) {\n route.children = [];\n }\n childrenToPatch = route.children;\n } else {\n childrenToPatch = routesToUse;\n }\n\n // Don't patch in routes we already know about so that `patch` is idempotent\n // to simplify user-land code. This is useful because we re-call the\n // `patchRoutesOnNavigation` function for matched routes with params.\n let uniqueChildren = children.filter(\n (newRoute) =>\n !childrenToPatch.some((existingRoute) =>\n isSameRoute(newRoute, existingRoute)\n )\n );\n\n let newRoutes = convertRoutesToDataRoutes(\n uniqueChildren,\n mapRouteProperties,\n [routeId || \"_\", \"patch\", String(childrenToPatch?.length || \"0\")],\n manifest\n );\n\n childrenToPatch.push(...newRoutes);\n}\n\nfunction isSameRoute(\n newRoute: AgnosticRouteObject,\n existingRoute: AgnosticRouteObject\n): boolean {\n // Most optimal check is by id\n if (\n \"id\" in newRoute &&\n \"id\" in existingRoute &&\n newRoute.id === existingRoute.id\n ) {\n return true;\n }\n\n // Second is by pathing differences\n if (\n !(\n newRoute.index === existingRoute.index &&\n newRoute.path === existingRoute.path &&\n newRoute.caseSensitive === existingRoute.caseSensitive\n )\n ) {\n return false;\n }\n\n // Pathless layout routes are trickier since we need to check children.\n // If they have no children then they're the same as far as we can tell\n if (\n (!newRoute.children || newRoute.children.length === 0) &&\n (!existingRoute.children || existingRoute.children.length === 0)\n ) {\n return true;\n }\n\n // Otherwise, we look to see if every child in the new route is already\n // represented in the existing route's children\n return newRoute.children!.every((aChild, i) =>\n existingRoute.children?.some((bChild) => isSameRoute(aChild, bChild))\n );\n}\n\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(\n route: AgnosticDataRouteObject,\n mapRouteProperties: MapRoutePropertiesFunction,\n manifest: RouteManifest\n) {\n if (!route.lazy) {\n return;\n }\n\n let lazyRoute = await route.lazy();\n\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates: Record = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue =\n routeToUpdate[lazyRouteProperty as keyof typeof routeToUpdate];\n\n let isPropertyStaticallyDefined =\n staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n\n warning(\n !isPropertyStaticallyDefined,\n `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" ` +\n `defined but its lazy function is also returning a value for this property. ` +\n `The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n );\n\n if (\n !isPropertyStaticallyDefined &&\n !immutableRouteKeys.has(lazyRouteProperty as ImmutableRouteKey)\n ) {\n routeUpdates[lazyRouteProperty] =\n lazyRoute[lazyRouteProperty as keyof typeof lazyRoute];\n }\n }\n\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided\n // `mapRouteProperties` (or wrapped `detectErrorBoundary`) function to\n // set the framework-aware properties (`element`/`hasErrorBoundary`) since\n // the logic will differ between frameworks.\n ...mapRouteProperties(routeToUpdate),\n lazy: undefined,\n });\n}\n\n// Default implementation of `dataStrategy` which fetches all loaders in parallel\nasync function defaultDataStrategy({\n matches,\n}: DataStrategyFunctionArgs): ReturnType {\n let matchesToLoad = matches.filter((m) => m.shouldLoad);\n let results = await Promise.all(matchesToLoad.map((m) => m.resolve()));\n return results.reduce(\n (acc, result, i) =>\n Object.assign(acc, { [matchesToLoad[i].route.id]: result }),\n {}\n );\n}\n\nasync function callDataStrategyImpl(\n dataStrategyImpl: DataStrategyFunction,\n type: \"loader\" | \"action\",\n state: RouterState | null,\n request: Request,\n matchesToLoad: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n fetcherKey: string | null,\n manifest: RouteManifest,\n mapRouteProperties: MapRoutePropertiesFunction,\n requestContext?: unknown\n): Promise> {\n let loadRouteDefinitionsPromises = matches.map((m) =>\n m.route.lazy\n ? loadLazyRouteModule(m.route, mapRouteProperties, manifest)\n : undefined\n );\n\n let dsMatches = matches.map((match, i) => {\n let loadRoutePromise = loadRouteDefinitionsPromises[i];\n let shouldLoad = matchesToLoad.some((m) => m.route.id === match.route.id);\n // `resolve` encapsulates route.lazy(), executing the loader/action,\n // and mapping return values/thrown errors to a `DataStrategyResult`. Users\n // can pass a callback to take fine-grained control over the execution\n // of the loader/action\n let resolve: DataStrategyMatch[\"resolve\"] = async (handlerOverride) => {\n if (\n handlerOverride &&\n request.method === \"GET\" &&\n (match.route.lazy || match.route.loader)\n ) {\n shouldLoad = true;\n }\n return shouldLoad\n ? callLoaderOrAction(\n type,\n request,\n match,\n loadRoutePromise,\n handlerOverride,\n requestContext\n )\n : Promise.resolve({ type: ResultType.data, result: undefined });\n };\n\n return {\n ...match,\n shouldLoad,\n resolve,\n };\n });\n\n // Send all matches here to allow for a middleware-type implementation.\n // handler will be a no-op for unneeded routes and we filter those results\n // back out below.\n let results = await dataStrategyImpl({\n matches: dsMatches,\n request,\n params: matches[0].params,\n fetcherKey,\n context: requestContext,\n });\n\n // Wait for all routes to load here but 'swallow the error since we want\n // it to bubble up from the `await loadRoutePromise` in `callLoaderOrAction` -\n // called from `match.resolve()`\n try {\n await Promise.all(loadRouteDefinitionsPromises);\n } catch (e) {\n // No-op\n }\n\n return results;\n}\n\n// Default logic for calling a loader/action is the user has no specified a dataStrategy\nasync function callLoaderOrAction(\n type: \"loader\" | \"action\",\n request: Request,\n match: AgnosticDataRouteMatch,\n loadRoutePromise: Promise | undefined,\n handlerOverride: Parameters[0],\n staticContext?: unknown\n): Promise {\n let result: DataStrategyResult;\n let onReject: (() => void) | undefined;\n\n let runHandler = (\n handler: AgnosticRouteObject[\"loader\"] | AgnosticRouteObject[\"action\"]\n ): Promise => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject: () => void;\n // This will never resolve so safe to type it as Promise to\n // satisfy the function return value\n let abortPromise = new Promise((_, r) => (reject = r));\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n\n let actualHandler = (ctx?: unknown) => {\n if (typeof handler !== \"function\") {\n return Promise.reject(\n new Error(\n `You cannot call the handler for a route which defines a boolean ` +\n `\"${type}\" [routeId: ${match.route.id}]`\n )\n );\n }\n return handler(\n {\n request,\n params: match.params,\n context: staticContext,\n },\n ...(ctx !== undefined ? [ctx] : [])\n );\n };\n\n let handlerPromise: Promise = (async () => {\n try {\n let val = await (handlerOverride\n ? handlerOverride((ctx: unknown) => actualHandler(ctx))\n : actualHandler());\n return { type: \"data\", result: val };\n } catch (e) {\n return { type: \"error\", result: e };\n }\n })();\n\n return Promise.race([handlerPromise, abortPromise]);\n };\n\n try {\n let handler = match.route[type];\n\n // If we have a route.lazy promise, await that first\n if (loadRoutePromise) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let handlerError;\n let [value] = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch((e) => {\n handlerError = e;\n }),\n loadRoutePromise,\n ]);\n if (handlerError !== undefined) {\n throw handlerError;\n }\n result = value!;\n } else {\n // Load lazy route module, then run any returned handler\n await loadRoutePromise;\n\n handler = match.route[type];\n if (handler) {\n // Handler still runs even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id,\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return { type: ResultType.data, result: undefined };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname,\n });\n } else {\n result = await runHandler(handler);\n }\n\n invariant(\n result.result !== undefined,\n `You defined ${type === \"action\" ? \"an action\" : \"a loader\"} for route ` +\n `\"${match.route.id}\" but didn't return anything from your \\`${type}\\` ` +\n `function. Please return a value or \\`null\\`.`\n );\n } catch (e) {\n // We should already be catching and converting normal handler executions to\n // DataStrategyResults and returning them, so anything that throws here is an\n // unexpected error we still need to wrap\n return { type: ResultType.error, result: e };\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n\n return result;\n}\n\nasync function convertDataStrategyResultToDataResult(\n dataStrategyResult: DataStrategyResult\n): Promise {\n let { result, type } = dataStrategyResult;\n\n if (isResponse(result)) {\n let data: any;\n\n try {\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n if (result.body == null) {\n data = null;\n } else {\n data = await result.json();\n }\n } else {\n data = await result.text();\n }\n } catch (e) {\n return { type: ResultType.error, error: e };\n }\n\n if (type === ResultType.error) {\n return {\n type: ResultType.error,\n error: new ErrorResponseImpl(result.status, result.statusText, data),\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n if (type === ResultType.error) {\n if (isDataWithResponseInit(result)) {\n if (result.data instanceof Error) {\n return {\n type: ResultType.error,\n error: result.data,\n statusCode: result.init?.status,\n };\n }\n\n // Convert thrown data() to ErrorResponse instances\n result = new ErrorResponseImpl(\n result.init?.status || 500,\n undefined,\n result.data\n );\n }\n return {\n type: ResultType.error,\n error: result,\n statusCode: isRouteErrorResponse(result) ? result.status : undefined,\n };\n }\n\n if (isDeferredData(result)) {\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: result.init?.status,\n headers: result.init?.headers && new Headers(result.init.headers),\n };\n }\n\n if (isDataWithResponseInit(result)) {\n return {\n type: ResultType.data,\n data: result.data,\n statusCode: result.init?.status,\n headers: result.init?.headers\n ? new Headers(result.init.headers)\n : undefined,\n };\n }\n\n return { type: ResultType.data, data: result };\n}\n\n// Support relative routing in internal redirects\nfunction normalizeRelativeRoutingRedirectResponse(\n response: Response,\n request: Request,\n routeId: string,\n matches: AgnosticDataRouteMatch[],\n basename: string,\n v7_relativeSplatPath: boolean\n) {\n let location = response.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n let trimmedMatches = matches.slice(\n 0,\n matches.findIndex((m) => m.route.id === routeId) + 1\n );\n location = normalizeTo(\n new URL(request.url),\n trimmedMatches,\n basename,\n true,\n location,\n v7_relativeSplatPath\n );\n response.headers.set(\"Location\", location);\n }\n\n return response;\n}\n\nfunction normalizeRedirectLocation(\n location: string,\n currentUrl: URL,\n basename: string\n): string {\n if (ABSOLUTE_URL_REGEX.test(location)) {\n // Strip off the protocol+origin for same-origin + same-basename absolute redirects\n let normalizedLocation = location;\n let url = normalizedLocation.startsWith(\"//\")\n ? new URL(currentUrl.protocol + normalizedLocation)\n : new URL(normalizedLocation);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n return url.pathname + url.search + url.hash;\n }\n }\n return location;\n}\n\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(\n history: History,\n location: string | Location,\n signal: AbortSignal,\n submission?: Submission\n): Request {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init: RequestInit = { signal };\n\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n\n if (formEncType === \"application/json\") {\n init.headers = new Headers({ \"Content-Type\": formEncType });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.text;\n } else if (\n formEncType === \"application/x-www-form-urlencoded\" &&\n submission.formData\n ) {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.formData;\n }\n }\n\n return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n let searchParams = new URLSearchParams();\n\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n\n return searchParams;\n}\n\nfunction convertSearchParamsToFormData(\n searchParams: URLSearchParams\n): FormData {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\n\nfunction processRouteLoaderData(\n matches: AgnosticDataRouteMatch[],\n results: Record,\n pendingActionResult: PendingActionResult | undefined,\n activeDeferreds: Map,\n skipLoaderErrorBubbling: boolean\n): {\n loaderData: RouterState[\"loaderData\"];\n errors: RouterState[\"errors\"] | null;\n statusCode: number;\n loaderHeaders: Record;\n} {\n // Fill in loaderData/errors from our loaders\n let loaderData: RouterState[\"loaderData\"] = {};\n let errors: RouterState[\"errors\"] | null = null;\n let statusCode: number | undefined;\n let foundError = false;\n let loaderHeaders: Record = {};\n let pendingError =\n pendingActionResult && isErrorResult(pendingActionResult[1])\n ? pendingActionResult[1].error\n : undefined;\n\n // Process loader results into state.loaderData/state.errors\n matches.forEach((match) => {\n if (!(match.route.id in results)) {\n return;\n }\n let id = match.route.id;\n let result = results[id];\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError !== undefined) {\n error = pendingError;\n pendingError = undefined;\n }\n\n errors = errors || {};\n\n if (skipLoaderErrorBubbling) {\n errors[id] = error;\n } else {\n // Look upwards from the matched route for the closest ancestor error\n // boundary, defaulting to the root match. Prefer higher error values\n // if lower errors bubble to the same boundary\n let boundaryMatch = findNearestBoundary(matches, id);\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n }\n\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error)\n ? result.error.status\n : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (\n result.statusCode != null &&\n result.statusCode !== 200 &&\n !foundError\n ) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n loaderData[id] = result.data;\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (result.statusCode && result.statusCode !== 200 && !foundError) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n }\n });\n\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError !== undefined && pendingActionResult) {\n errors = { [pendingActionResult[0]]: pendingError };\n loaderData[pendingActionResult[0]] = undefined;\n }\n\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders,\n };\n}\n\nfunction processLoaderData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n results: Record,\n pendingActionResult: PendingActionResult | undefined,\n revalidatingFetchers: RevalidatingFetcher[],\n fetcherResults: Record,\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors?: RouterState[\"errors\"];\n} {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n results,\n pendingActionResult,\n activeDeferreds,\n false // This method is only called client side so we always want to bubble\n );\n\n // Process results from our revalidating fetchers\n revalidatingFetchers.forEach((rf) => {\n let { key, match, controller } = rf;\n let result = fetcherResults[key];\n invariant(result, \"Did not find corresponding fetcher result\");\n\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n return;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error,\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n });\n\n return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n loaderData: RouteData,\n newLoaderData: RouteData,\n matches: AgnosticDataRouteMatch[],\n errors: RouteData | null | undefined\n): RouteData {\n let mergedLoaderData = { ...newLoaderData };\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n } else {\n // No-op - this is so we ignore existing data if we have a key in the\n // incoming object with an undefined value, which is how we unset a prior\n // loaderData if we encounter a loader error\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n\nfunction getActionDataForCommit(\n pendingActionResult: PendingActionResult | undefined\n) {\n if (!pendingActionResult) {\n return {};\n }\n return isErrorResult(pendingActionResult[1])\n ? {\n // Clear out prior actionData on errors\n actionData: {},\n }\n : {\n actionData: {\n [pendingActionResult[0]]: pendingActionResult[1].data,\n },\n };\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n matches: AgnosticDataRouteMatch[],\n routeId?: string\n): AgnosticDataRouteMatch {\n let eligibleMatches = routeId\n ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n : [...matches];\n return (\n eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n matches[0]\n );\n}\n\nfunction getShortCircuitMatches(routes: AgnosticDataRouteObject[]): {\n matches: AgnosticDataRouteMatch[];\n route: AgnosticDataRouteObject;\n} {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route =\n routes.length === 1\n ? routes[0]\n : routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`,\n };\n\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route,\n },\n ],\n route,\n };\n}\n\nfunction getInternalRouterError(\n status: number,\n {\n pathname,\n routeId,\n method,\n type,\n message,\n }: {\n pathname?: string;\n routeId?: string;\n method?: string;\n type?: \"defer-action\" | \"invalid-body\";\n message?: string;\n } = {}\n) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method} request to \"${pathname}\" but ` +\n `did not provide a \\`loader\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method.toUpperCase()} request to \"${pathname}\" but ` +\n `did not provide an \\`action\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n\n return new ErrorResponseImpl(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(\n results: Record\n): { key: string; result: RedirectResult } | undefined {\n let entries = Object.entries(results);\n for (let i = entries.length - 1; i >= 0; i--) {\n let [key, result] = entries[i];\n if (isRedirectResult(result)) {\n return { key, result };\n }\n }\n}\n\nfunction stripHashFromPath(path: To) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\n\nfunction isPromise(val: unknown): val is Promise {\n return typeof val === \"object\" && val != null && \"then\" in val;\n}\n\nfunction isDataStrategyResult(result: unknown): result is DataStrategyResult {\n return (\n result != null &&\n typeof result === \"object\" &&\n \"type\" in result &&\n \"result\" in result &&\n (result.type === ResultType.data || result.type === ResultType.error)\n );\n}\n\nfunction isRedirectDataStrategyResultResult(result: DataStrategyResult) {\n return (\n isResponse(result.result) && redirectStatusCodes.has(result.result.status)\n );\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n return (result && result.type) === ResultType.redirect;\n}\n\nexport function isDataWithResponseInit(\n value: any\n): value is DataWithResponseInit {\n return (\n typeof value === \"object\" &&\n value != null &&\n \"type\" in value &&\n \"data\" in value &&\n \"init\" in value &&\n value.type === \"DataWithResponseInit\"\n );\n}\n\nexport function isDeferredData(value: any): value is DeferredData {\n let deferred: DeferredData = value;\n return (\n deferred &&\n typeof deferred === \"object\" &&\n typeof deferred.data === \"object\" &&\n typeof deferred.subscribe === \"function\" &&\n typeof deferred.cancel === \"function\" &&\n typeof deferred.resolveData === \"function\"\n );\n}\n\nfunction isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === \"number\" &&\n typeof value.statusText === \"string\" &&\n typeof value.headers === \"object\" &&\n typeof value.body !== \"undefined\"\n );\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n if (!isResponse(result)) {\n return false;\n }\n\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isValidMethod(method: string): method is FormMethod | V7_FormMethod {\n return validRequestMethods.has(method.toLowerCase() as FormMethod);\n}\n\nfunction isMutationMethod(\n method: string\n): method is MutationFormMethod | V7_MutationFormMethod {\n return validMutationMethods.has(method.toLowerCase() as MutationFormMethod);\n}\n\nasync function resolveNavigationDeferredResults(\n matches: (AgnosticDataRouteMatch | null)[],\n results: Record,\n signal: AbortSignal,\n currentMatches: AgnosticDataRouteMatch[],\n currentLoaderData: RouteData\n) {\n let entries = Object.entries(results);\n for (let index = 0; index < entries.length; index++) {\n let [routeId, result] = entries[index];\n let match = matches.find((m) => m?.route.id === routeId);\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n let currentMatch = currentMatches.find(\n (m) => m.route.id === match!.route.id\n );\n let isRevalidatingLoader =\n currentMatch != null &&\n !isNewRouteInstance(currentMatch, match) &&\n (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n if (isDeferredResult(result) && isRevalidatingLoader) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n await resolveDeferredData(result, signal, false).then((result) => {\n if (result) {\n results[routeId] = result;\n }\n });\n }\n }\n}\n\nasync function resolveFetcherDeferredResults(\n matches: (AgnosticDataRouteMatch | null)[],\n results: Record,\n revalidatingFetchers: RevalidatingFetcher[]\n) {\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let { key, routeId, controller } = revalidatingFetchers[index];\n let result = results[key];\n let match = matches.find((m) => m?.route.id === routeId);\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n if (isDeferredResult(result)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n invariant(\n controller,\n \"Expected an AbortController for revalidating fetcher deferred result\"\n );\n await resolveDeferredData(result, controller.signal, true).then(\n (result) => {\n if (result) {\n results[key] = result;\n }\n }\n );\n }\n }\n}\n\nasync function resolveDeferredData(\n result: DeferredResult,\n signal: AbortSignal,\n unwrap = false\n): Promise {\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData,\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e,\n };\n }\n }\n\n return {\n type: ResultType.data,\n data: result.deferredData.data,\n };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\nfunction getTargetMatch(\n matches: AgnosticDataRouteMatch[],\n location: Location | string\n) {\n let search =\n typeof location === \"string\" ? parsePath(location).search : location.search;\n if (\n matches[matches.length - 1].route.index &&\n hasNakedIndexQuery(search || \"\")\n ) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\n\nfunction getSubmissionFromNavigation(\n navigation: Navigation\n): Submission | undefined {\n let { formMethod, formAction, formEncType, text, formData, json } =\n navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json: undefined,\n text,\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: undefined,\n text: undefined,\n };\n } else if (json !== undefined) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json,\n text: undefined,\n };\n }\n}\n\nfunction getLoadingNavigation(\n location: Location,\n submission?: Submission\n): NavigationStates[\"Loading\"] {\n if (submission) {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n } else {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n };\n return navigation;\n }\n}\n\nfunction getSubmittingNavigation(\n location: Location,\n submission: Submission\n): NavigationStates[\"Submitting\"] {\n let navigation: NavigationStates[\"Submitting\"] = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n}\n\nfunction getLoadingFetcher(\n submission?: Submission,\n data?: Fetcher[\"data\"]\n): FetcherStates[\"Loading\"] {\n if (submission) {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data,\n };\n return fetcher;\n } else {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n };\n return fetcher;\n }\n}\n\nfunction getSubmittingFetcher(\n submission: Submission,\n existingFetcher?: Fetcher\n): FetcherStates[\"Submitting\"] {\n let fetcher: FetcherStates[\"Submitting\"] = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : undefined,\n };\n return fetcher;\n}\n\nfunction getDoneFetcher(data: Fetcher[\"data\"]): FetcherStates[\"Idle\"] {\n let fetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n };\n return fetcher;\n}\n\nfunction restoreAppliedTransitions(\n _window: Window,\n transitions: Map>\n) {\n try {\n let sessionPositions = _window.sessionStorage.getItem(\n TRANSITIONS_STORAGE_KEY\n );\n if (sessionPositions) {\n let json = JSON.parse(sessionPositions);\n for (let [k, v] of Object.entries(json || {})) {\n if (v && Array.isArray(v)) {\n transitions.set(k, new Set(v || []));\n }\n }\n }\n } catch (e) {\n // no-op, use default empty object\n }\n}\n\nfunction persistAppliedTransitions(\n _window: Window,\n transitions: Map>\n) {\n if (transitions.size > 0) {\n let json: Record = {};\n for (let [k, v] of transitions) {\n json[k] = [...v];\n }\n try {\n _window.sessionStorage.setItem(\n TRANSITIONS_STORAGE_KEY,\n JSON.stringify(json)\n );\n } catch (error) {\n warning(\n false,\n `Failed to save applied view transitions in sessionStorage (${error}).`\n );\n }\n }\n}\n//#endregion\n","import * as React from \"react\";\nimport type {\n AgnosticIndexRouteObject,\n AgnosticNonIndexRouteObject,\n AgnosticRouteMatch,\n History,\n LazyRouteFunction,\n Location,\n Action as NavigationType,\n RelativeRoutingType,\n Router,\n StaticHandlerContext,\n To,\n TrackedPromise,\n} from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface IndexRouteObject {\n caseSensitive?: AgnosticIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticIndexRouteObject[\"path\"];\n id?: AgnosticIndexRouteObject[\"id\"];\n loader?: AgnosticIndexRouteObject[\"loader\"];\n action?: AgnosticIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticIndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n hydrateFallbackElement?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n HydrateFallback?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport interface NonIndexRouteObject {\n caseSensitive?: AgnosticNonIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticNonIndexRouteObject[\"path\"];\n id?: AgnosticNonIndexRouteObject[\"id\"];\n loader?: AgnosticNonIndexRouteObject[\"loader\"];\n action?: AgnosticNonIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticNonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticNonIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticNonIndexRouteObject[\"handle\"];\n index?: false;\n children?: RouteObject[];\n element?: React.ReactNode | null;\n hydrateFallbackElement?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n HydrateFallback?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport type RouteObject = IndexRouteObject | NonIndexRouteObject;\n\nexport type DataRouteObject = RouteObject & {\n children?: DataRouteObject[];\n id: string;\n};\n\nexport interface RouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch {}\n\nexport interface DataRouteMatch extends RouteMatch {}\n\nexport interface DataRouterContextObject\n // Omit `future` since those can be pulled from the `router`\n // `NavigationContext` needs future since it doesn't have a `router` in all cases\n extends Omit {\n router: Router;\n staticContext?: StaticHandlerContext;\n}\n\nexport const DataRouterContext =\n React.createContext(null);\nif (__DEV__) {\n DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext(null);\nif (__DEV__) {\n AwaitContext.displayName = \"Await\";\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n flushSync?: boolean;\n viewTransition?: boolean;\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level `` API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport interface Navigator {\n createHref: History[\"createHref\"];\n // Optional for backwards-compat with Router/HistoryRouter usage (edge case)\n encodeLocation?: History[\"encodeLocation\"];\n go: History[\"go\"];\n push(to: To, state?: any, opts?: NavigateOptions): void;\n replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n future: {\n v7_relativeSplatPath: boolean;\n };\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n isDataRoute: boolean;\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false,\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext(null);\n\nif (__DEV__) {\n RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n Blocker,\n BlockerFunction,\n Location,\n ParamParseKey,\n Params,\n Path,\n PathMatch,\n PathPattern,\n RelativeRoutingType,\n Router as RemixRouter,\n RevalidationState,\n To,\n UIMatch,\n} from \"@remix-run/router\";\nimport {\n IDLE_BLOCKER,\n Action as NavigationType,\n UNSAFE_convertRouteMatchToUiMatch as convertRouteMatchToUiMatch,\n UNSAFE_decodePath as decodePath,\n UNSAFE_getResolveToMatches as getResolveToMatches,\n UNSAFE_invariant as invariant,\n isRouteErrorResponse,\n joinPaths,\n matchPath,\n matchRoutes,\n parsePath,\n resolveTo,\n stripBasename,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\n\nimport type {\n DataRouteMatch,\n NavigateOptions,\n RouteContextObject,\n RouteMatch,\n RouteObject,\n} from \"./context\";\nimport {\n AwaitContext,\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n RouteErrorContext,\n} from \"./context\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/v6/hooks/use-href\n */\nexport function useHref(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname =\n pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a ``.\n *\n * @see https://reactrouter.com/v6/hooks/use-in-router-context\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/v6/hooks/use-location\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/v6/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * ``.\n *\n * @see https://reactrouter.com/v6/hooks/use-match\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, decodePath(pathname)),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nconst navigateEffectWarning =\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`;\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(\n cb: Parameters[0]\n) {\n let isStatic = React.useContext(NavigationContext).static;\n if (!isStatic) {\n // We should be able to get rid of this once react 18.3 is released\n // See: https://github.com/facebook/react/pull/26395\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(cb);\n }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by ``s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/v6/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n let { isDataRoute } = React.useContext(RouteContext);\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\n\nfunction useNavigateUnstable(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let dataRouterContext = React.useContext(DataRouterContext);\n let { basename, future, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getResolveToMatches(matches, future.v7_relativeSplatPath)\n );\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our history listener yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history (but only if we're not in a data router,\n // otherwise it'll prepend the basename inside of the router).\n // If this is a root navigation, then we navigate to the raw basename\n // which allows the basename to have full control over the presence of a\n // trailing slash on root links\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\"\n ? basename\n : joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state,\n options\n );\n },\n [\n basename,\n navigator,\n routePathnamesJson,\n locationPathname,\n dataRouterContext,\n ]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/v6/hooks/use-outlet-context\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by `` to render child routes.\n *\n * @see https://reactrouter.com/v6/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/v6/hooks/use-params\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/v6/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n let { future } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n let routePathnamesJson = JSON.stringify(\n getResolveToMatches(matches, future.v7_relativeSplatPath)\n );\n\n return React.useMemo(\n () =>\n resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an `` to render their child route's\n * element.\n *\n * @see https://reactrouter.com/v6/hooks/use-routes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nexport function useRoutesImpl(\n routes: RouteObject[],\n locationArg?: Partial | string,\n dataRouterState?: RemixRouter[\"state\"],\n future?: RemixRouter[\"future\"]\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { navigator } = React.useContext(NavigationContext);\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n\n let remainingPathname = pathname;\n if (parentPathnameBase !== \"/\") {\n // Determine the remaining pathname by removing the # of URL segments the\n // parentPathnameBase has, instead of removing based on character count.\n // This is because we can't guarantee that incoming/outgoing encodings/\n // decodings will match exactly.\n // We decode paths before matching on a per-segment basis with\n // decodeURIComponent(), but we re-encode pathnames via `new URL()` so they\n // match what `window.location.pathname` would reflect. Those don't 100%\n // align when it comes to encoded URI characters such as % and &.\n //\n // So we may end up with:\n // pathname: \"/descendant/a%25b/match\"\n // parentPathnameBase: \"/descendant/a%b\"\n //\n // And the direct substring removal approach won't work :/\n let parentSegments = parentPathnameBase.replace(/^\\//, \"\").split(\"/\");\n let segments = pathname.replace(/^\\//, \"\").split(\"/\");\n remainingPathname = \"/\" + segments.slice(parentSegments.length).join(\"/\");\n }\n\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined ||\n matches[matches.length - 1].route.Component !== undefined ||\n matches[matches.length - 1].route.lazy !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" ` +\n `does not have an element or Component. This means it will render an with a ` +\n `null value by default resulting in an \"empty\" page.`\n );\n }\n\n let renderedMatches = _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathname).pathname\n : match.pathname,\n ]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathnameBase).pathname\n : match.pathnameBase,\n ]),\n })\n ),\n parentMatches,\n dataRouterState,\n future\n );\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return (\n \n {renderedMatches}\n \n );\n }\n\n return renderedMatches;\n}\n\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error)\n ? `${error.status} ${error.statusText}`\n : error instanceof Error\n ? error.message\n : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n\n let devInfo = null;\n if (__DEV__) {\n console.error(\n \"Error handled by React Router default ErrorBoundary:\",\n error\n );\n\n devInfo = (\n <>\n

💿 Hey developer 👋

\n

\n You can provide a way better UX than this when your app throws errors\n by providing your own ErrorBoundary or{\" \"}\n errorElement prop on your route.\n

\n \n );\n }\n\n return (\n <>\n

Unexpected Application Error!

\n

{message}

\n {stack ?
{stack}
: null}\n {devInfo}\n \n );\n}\n\nconst defaultErrorElement = ;\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n location: Location;\n revalidation: RevalidationState;\n error: any;\n component: React.ReactNode;\n routeContext: RouteContextObject;\n}>;\n\ntype RenderErrorBoundaryState = {\n location: Location;\n revalidation: RevalidationState;\n error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n RenderErrorBoundaryProps,\n RenderErrorBoundaryState\n> {\n constructor(props: RenderErrorBoundaryProps) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error,\n };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error: error };\n }\n\n static getDerivedStateFromProps(\n props: RenderErrorBoundaryProps,\n state: RenderErrorBoundaryState\n ) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (\n state.location !== props.location ||\n (state.revalidation !== \"idle\" && props.revalidation === \"idle\")\n ) {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation,\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error !== undefined ? props.error : state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation,\n };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n return this.state.error !== undefined ? (\n \n \n \n ) : (\n this.props.children\n );\n }\n}\n\ninterface RenderedRouteProps {\n routeContext: RouteContextObject;\n match: RouteMatch;\n children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (\n dataRouterContext &&\n dataRouterContext.static &&\n dataRouterContext.staticContext &&\n (match.route.errorElement || match.route.ErrorBoundary)\n ) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n\n return (\n \n {children}\n \n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = [],\n dataRouterState: RemixRouter[\"state\"] | null = null,\n future: RemixRouter[\"future\"] | null = null\n): React.ReactElement | null {\n if (matches == null) {\n if (!dataRouterState) {\n return null;\n }\n\n if (dataRouterState.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches as DataRouteMatch[];\n } else if (\n future?.v7_partialHydration &&\n parentMatches.length === 0 &&\n !dataRouterState.initialized &&\n dataRouterState.matches.length > 0\n ) {\n // Don't bail if we're initializing with partial hydration and we have\n // router matches. That means we're actively running `patchRoutesOnNavigation`\n // so we should render down the partial matches to the appropriate\n // `HydrateFallback`. We only do this if `parentMatches` is empty so it\n // only impacts the root matches for `RouterProvider` and no descendant\n // ``\n matches = dataRouterState.matches as DataRouteMatch[];\n } else {\n return null;\n }\n }\n\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id] !== undefined\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for errors on route IDs: ${Object.keys(\n errors\n ).join(\",\")}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n\n // If we're in a partial hydration mode, detect if we need to render down to\n // a given HydrateFallback while we load the rest of the hydration data\n let renderFallback = false;\n let fallbackIndex = -1;\n if (dataRouterState && future && future.v7_partialHydration) {\n for (let i = 0; i < renderedMatches.length; i++) {\n let match = renderedMatches[i];\n // Track the deepest fallback up until the first route without data\n if (match.route.HydrateFallback || match.route.hydrateFallbackElement) {\n fallbackIndex = i;\n }\n\n if (match.route.id) {\n let { loaderData, errors } = dataRouterState;\n let needsToRunLoader =\n match.route.loader &&\n loaderData[match.route.id] === undefined &&\n (!errors || errors[match.route.id] === undefined);\n if (match.route.lazy || needsToRunLoader) {\n // We found the first route that's not ready to render (waiting on\n // lazy, or has a loader that hasn't run yet). Flag that we need to\n // render a fallback and render up until the appropriate fallback\n renderFallback = true;\n if (fallbackIndex >= 0) {\n renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n } else {\n renderedMatches = [renderedMatches[0]];\n }\n break;\n }\n }\n }\n }\n\n return renderedMatches.reduceRight((outlet, match, index) => {\n // Only data routers handle errors/fallbacks\n let error: any;\n let shouldRenderHydrateFallback = false;\n let errorElement: React.ReactNode | null = null;\n let hydrateFallbackElement: React.ReactNode | null = null;\n if (dataRouterState) {\n error = errors && match.route.id ? errors[match.route.id] : undefined;\n errorElement = match.route.errorElement || defaultErrorElement;\n\n if (renderFallback) {\n if (fallbackIndex < 0 && index === 0) {\n warningOnce(\n \"route-fallback\",\n false,\n \"No `HydrateFallback` element provided to render during initial hydration\"\n );\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = null;\n } else if (fallbackIndex === index) {\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = match.route.hydrateFallbackElement || null;\n }\n }\n }\n\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children: React.ReactNode;\n if (error) {\n children = errorElement;\n } else if (shouldRenderHydrateFallback) {\n children = hydrateFallbackElement;\n } else if (match.route.Component) {\n // Note: This is a de-optimized path since React won't re-use the\n // ReactElement since it's identity changes with each new\n // React.createElement call. We keep this so folks can use\n // `` in `` but generally `Component`\n // usage is only advised in `RouterProvider` when we can convert it to\n // `element` ahead of time.\n children = ;\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return (\n \n );\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState &&\n (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? (\n \n ) : (\n getChildren()\n );\n }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n UseBlocker = \"useBlocker\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n}\n\nenum DataRouterStateHook {\n UseBlocker = \"useBlocker\",\n UseLoaderData = \"useLoaderData\",\n UseActionData = \"useActionData\",\n UseRouteError = \"useRouteError\",\n UseNavigation = \"useNavigation\",\n UseRouteLoaderData = \"useRouteLoaderData\",\n UseMatches = \"useMatches\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n UseRouteId = \"useRouteId\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/v6/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\nfunction useRouteContext(hookName: DataRouterStateHook) {\n let route = React.useContext(RouteContext);\n invariant(route, getDataRouterConsoleError(hookName));\n return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName: DataRouterStateHook) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `${hookName} can only be used on routes that contain a unique \"id\"`\n );\n return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nexport function useRouteId() {\n return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return React.useMemo(\n () => ({\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation,\n }),\n [dataRouterContext.router.revalidate, state.revalidation]\n );\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches(): UIMatch[] {\n let { matches, loaderData } = useDataRouterState(\n DataRouterStateHook.UseMatches\n );\n return React.useMemo(\n () => matches.map((m) => convertRouteMatchToUiMatch(m, loaderData)),\n [matches, loaderData]\n );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n\n if (state.errors && state.errors[routeId] != null) {\n console.error(\n `You cannot \\`useLoaderData\\` in an errorElement (routeId: ${routeId})`\n );\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n return state.actionData ? state.actionData[routeId] : undefined;\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error !== undefined) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return state.errors?.[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor `` value\n */\nexport function useAsyncValue(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor `` value\n */\nexport function useAsyncError(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._error;\n}\n\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nexport function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker {\n let { router, basename } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n\n let [blockerKey, setBlockerKey] = React.useState(\"\");\n let blockerFunction = React.useCallback(\n (arg) => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n\n // If they provided us a function and we've got an active basename, strip\n // it from the locations we expose to the user to match the behavior of\n // useLocation\n let { currentLocation, nextLocation, historyAction } = arg;\n return shouldBlock({\n currentLocation: {\n ...currentLocation,\n pathname:\n stripBasename(currentLocation.pathname, basename) ||\n currentLocation.pathname,\n },\n nextLocation: {\n ...nextLocation,\n pathname:\n stripBasename(nextLocation.pathname, basename) ||\n nextLocation.pathname,\n },\n historyAction,\n });\n },\n [basename, shouldBlock]\n );\n\n // This effect is in charge of blocker key assignment and deletion (which is\n // tightly coupled to the key)\n React.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n\n // This effect handles assigning the blockerFunction. This is to handle\n // unstable blocker function identities, and happens only after the prior\n // effect so we don't get an orphaned blockerFunction in the router with a\n // key of \"\". Until then we just have the IDLE_BLOCKER.\n React.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n\n // Prefer the blocker from `state` not `router.state` since DataRouterContext\n // is memoized so this ensures we update on blocker state updates\n return blockerKey && state.blockers.has(blockerKey)\n ? state.blockers.get(blockerKey)!\n : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable(): NavigateFunction {\n let { router } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our router subscriber yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n router.navigate(to, { fromRouteId: id, ...options });\n }\n },\n [router, id]\n );\n\n return navigate;\n}\n\nconst alreadyWarned: Record = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n","import type { FutureConfig as RouterFutureConfig } from \"@remix-run/router\";\nimport type { FutureConfig as RenderFutureConfig } from \"./components\";\n\nconst alreadyWarned: { [key: string]: boolean } = {};\n\nexport function warnOnce(key: string, message: string): void {\n if (!alreadyWarned[message]) {\n alreadyWarned[message] = true;\n console.warn(message);\n }\n}\n\nconst logDeprecation = (flag: string, msg: string, link: string) =>\n warnOnce(\n flag,\n `⚠️ React Router Future Flag Warning: ${msg}. ` +\n `You can use the \\`${flag}\\` future flag to opt-in early. ` +\n `For more information, see ${link}.`\n );\n\nexport function logV6DeprecationWarnings(\n renderFuture: Partial | undefined,\n routerFuture?: Omit\n) {\n if (renderFuture?.v7_startTransition === undefined) {\n logDeprecation(\n \"v7_startTransition\",\n \"React Router will begin wrapping state updates in `React.startTransition` in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_starttransition\"\n );\n }\n\n if (\n renderFuture?.v7_relativeSplatPath === undefined &&\n (!routerFuture || !routerFuture.v7_relativeSplatPath)\n ) {\n logDeprecation(\n \"v7_relativeSplatPath\",\n \"Relative route resolution within Splat routes is changing in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath\"\n );\n }\n\n if (routerFuture) {\n if (routerFuture.v7_fetcherPersist === undefined) {\n logDeprecation(\n \"v7_fetcherPersist\",\n \"The persistence behavior of fetchers is changing in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist\"\n );\n }\n\n if (routerFuture.v7_normalizeFormMethod === undefined) {\n logDeprecation(\n \"v7_normalizeFormMethod\",\n \"Casing of `formMethod` fields is being normalized to uppercase in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod\"\n );\n }\n\n if (routerFuture.v7_partialHydration === undefined) {\n logDeprecation(\n \"v7_partialHydration\",\n \"`RouterProvider` hydration behavior is changing in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_partialhydration\"\n );\n }\n\n if (routerFuture.v7_skipActionErrorRevalidation === undefined) {\n logDeprecation(\n \"v7_skipActionErrorRevalidation\",\n \"The revalidation behavior after 4xx/5xx `action` responses is changing in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation\"\n );\n }\n }\n}\n","import type {\n InitialEntry,\n LazyRouteFunction,\n Location,\n MemoryHistory,\n RelativeRoutingType,\n Router as RemixRouter,\n RouterState,\n RouterSubscriber,\n To,\n TrackedPromise,\n} from \"@remix-run/router\";\nimport {\n AbortedDeferredError,\n Action as NavigationType,\n createMemoryHistory,\n UNSAFE_getResolveToMatches as getResolveToMatches,\n UNSAFE_invariant as invariant,\n parsePath,\n resolveTo,\n stripBasename,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\nimport * as React from \"react\";\n\nimport type {\n DataRouteObject,\n IndexRouteObject,\n Navigator,\n NonIndexRouteObject,\n RouteMatch,\n RouteObject,\n} from \"./context\";\nimport {\n AwaitContext,\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n} from \"./context\";\nimport {\n _renderMatches,\n useAsyncValue,\n useInRouterContext,\n useLocation,\n useNavigate,\n useOutlet,\n useRoutes,\n useRoutesImpl,\n} from \"./hooks\";\nimport { logV6DeprecationWarnings } from \"./deprecations\";\n\nexport interface FutureConfig {\n v7_relativeSplatPath: boolean;\n v7_startTransition: boolean;\n}\n\nexport interface RouterProviderProps {\n fallbackElement?: React.ReactNode;\n router: RemixRouter;\n // Only accept future flags relevant to rendering behavior\n // routing flags should be accessed via router.future\n future?: Partial>;\n}\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n future,\n}: RouterProviderProps): React.ReactElement {\n let [state, setStateImpl] = React.useState(router.state);\n let { v7_startTransition } = future || {};\n\n let setState = React.useCallback(\n (newState: RouterState) => {\n if (v7_startTransition && startTransitionImpl) {\n startTransitionImpl(() => setStateImpl(newState));\n } else {\n setStateImpl(newState);\n }\n },\n [setStateImpl, v7_startTransition]\n );\n\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/)\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n\n React.useEffect(() => {\n warning(\n fallbackElement == null || !router.future.v7_partialHydration,\n \"`` is deprecated when using \" +\n \"`v7_partialHydration`, use a `HydrateFallback` component instead\"\n );\n // Only log this once on initial mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n let dataRouterContext = React.useMemo(\n () => ({\n router,\n navigator,\n static: false,\n basename,\n }),\n [router, navigator, basename]\n );\n\n React.useEffect(\n () => logV6DeprecationWarnings(future, router.future),\n [router, future]\n );\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a `;\n};\n\n","// Global style constants and utility functions\nexport const colors = {\n labelColor: 'text-gray-700',\n bgColor: 'bg-white',\n inputBgColor: 'bg-gray-50',\n lockedBgColor: 'bg-gray-200',\n affectedBgColor: 'bg-gray-50',\n readOnlyBgColor: 'bg-gray-100',\n inputBorderColor: 'border-gray-300',\n affectedBorderColor: 'border-gray-300',\n lockedBorderColor: 'border-blue-600',\n textColor: 'text-gray-900',\n buttonColor: 'bg-blue-600 hover:bg-blue-500',\n buttonBorderColor: 'border-blue-600',\n arrowColor: 'text-blue-600',\n buttonShadow: 'shadow-md hover:shadow-lg',\n lockButtonBgColor: 'bg-gray-200 hover:bg-gray-300',\n lockButtonActiveBgColor: 'bg-gray-300',\n lockIconColor: 'text-blue-600',\n unlockIconColor: 'text-gray-500',\n};\n\nexport const spacing = {\n desktop: {\n rowGap: 'space-y-2',\n sectionGap: 'space-y-4',\n fieldGap: 'mb-1',\n padding: 'p-1',\n margin: 'm-4',\n gridGap: 'gap-2',\n headerPadding: 'px-4 py-2',\n contentPadding: 'p-5',\n },\n mobile: {\n rowGap: 'space-y-3',\n sectionGap: 'space-y-4',\n fieldGap: 'mb-1',\n padding: 'p-1',\n margin: 'm-2',\n gridGap: 'gap-2',\n headerPadding: 'px-2 py-1',\n contentPadding: 'p-2',\n }\n};\n\nexport const layout = {\n grid: {\n twoColumns: 'grid-cols-2',\n threeColumns: 'grid-cols-3',\n fourColumns: 'grid-cols-4',\n lockLayout: 'grid-cols-[1fr,auto,1fr]',\n daysLayout: 'grid-cols-[1fr,100px,1fr]',\n brandCamera: 'grid-cols-[1fr,2fr]',\n codecBitrate: 'grid-cols-[2fr,1fr]',\n resolutionFramerate: 'grid-cols-[2fr,1fr]',\n dailesAspectRatio: 'grid-cols-[1fr,1fr,auto,1fr]',\n filmFormatRow: 'grid-cols-[30fr,20fr,50fr]',\n filmRollsRow: 'grid-cols-[1fr,1fr,1fr]',\n filmPriceRow: 'grid-cols-[2fr,1fr]',\n },\n flex: {\n standard: 'flex items-center',\n between: 'flex justify-between',\n column: 'flex flex-col',\n wrap: 'flex flex-wrap'\n }\n};\n\nexport const typography = {\n desktop: {\n label: 'text-sm font-medium',\n input: 'text-base',\n heading: 'text-lg font-semibold'\n },\n mobile: {\n label: 'text-xs font-medium',\n input: 'text-base',\n heading: 'text-base font-semibold'\n }\n};\n\n// First, let's define a base input style string\nconst baseInputStyle = `\n w-full \n px-2 \n py-1 \n border \n rounded \n h-[36px] \n font-['Roboto']\n text-center\n text-sm\n md:text-base\n`;\n\nexport const commonStyles = {\n // Common input class with all necessary styles\n commonInputClass: `\n ${baseInputStyle}\n ${colors.inputBgColor} \n ${colors.inputBorderColor} \n ${colors.textColor}\n [&>option]:text-sm\n [&>option]:md:text-base\n [&>option]:text-center\n [&>option]:!text-center\n [-webkit-appearance:none]\n [appearance:none]\n text-align: center !important\n -moz-text-align: center !important\n -webkit-text-align: center !important\n text-align-last: center !important\n -moz-text-align-last: center !important\n -webkit-text-align-last: center !important\n `,\n\n // Lock button style\n lockButtonStyle: (isActive) => `p-2 rounded h-[36px] w-[42px] flex items-center justify-center self-end ${colors.lockButtonBgColor} border-2 ${colors.buttonShadow} ${\n isActive ? 'border-blue-600' : 'border-gray-300'\n }`,\n\n // Base style for inputs\n baseStyle: \"w-full px-2 py-1 border rounded h-[36px] appearance-none\",\n\n // Function to get input style based on lock state\n getInputStyle: (field, calculationMode) => {\n if (calculationMode === field) {\n // Locked field style\n return `${baseInputStyle} \n ${colors.lockedBgColor} \n border-2 \n ${colors.lockedBorderColor} \n text-gray-700 \n cursor-not-allowed \n pointer-events-none`;\n } else if (calculationMode) {\n // Other fields when something is locked\n return `${baseInputStyle} \n ${colors.affectedBgColor} \n border-[1.5px] \n ${colors.affectedBorderColor} \n text-gray-700`;\n }\n \n // Default style when nothing is locked\n return `${baseInputStyle} \n ${colors.inputBgColor} \n ${colors.inputBorderColor} \n ${colors.textColor}`;\n },\n\n // Text center styles for mobile\n textCenterImportant: {\n textAlign: 'center !important',\n textAlignLast: 'center !important',\n '-moz-text-align-last': 'center !important',\n '-webkit-text-align-last': 'center !important'\n },\n\n // Update the actionButtons styles\n actionButtons: {\n container: \"mt-4 grid grid-cols-3 sm:grid-cols-4 w-full gap-2 sm:flex sm:justify-between\",\n button: (color = colors.buttonColor) => `\n px-2 sm:px-4 rounded-md text-white \n flex items-center justify-center \n w-full\n sm:min-w-[100px]\n sm:flex-1\n py-2\n ${color} ${colors.buttonShadow}\n `,\n buttonIcon: \"\",\n buttonText: \"text-sm sm:text-base font-light whitespace-nowrap\",\n copyButton: \"hidden sm:flex\",\n spacing: {\n first: \"\",\n middle: \"\",\n last: \"\"\n }\n },\n\n // Read-only input style\n readOnlyInput: `${colors.readOnlyBgColor} cursor-default`,\n\n // Add labelClass for consistent label styling\n labelClass: `\n block \n text-gray-700 \n text-sm \n font-medium \n font-['Roboto']\n sm:text-xs \n md:text-base\n text-left\n `\n};\n\nexport const breakpoints = {\n mobile: 767, // Up to tablets\n tablet: 1024, // Up to small desktop\n desktop: 1025 // Desktop and above\n};\n\nexport const deviceTypes = {\n isMobile: () => window.innerWidth <= breakpoints.mobile,\n isTablet: () => {\n const width = window.innerWidth;\n return width > breakpoints.mobile && width <= breakpoints.tablet;\n },\n isTouchDevice: () => /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),\n isDesktop: () => window.innerWidth > breakpoints.tablet\n};\n\nexport const headerStyles = {\n container: (isMobile) => `\n flex items-center justify-between \n ${isMobile ? 'px-2 py-1' : 'px-4 py-2'}\n bg-white shadow-md\n `,\n title: (isMobile) => `\n ${isMobile ? 'text-sm hidden sm:block' : 'text-lg'} \n font-bold text-gray-800\n `,\n iconContainer: `\n flex items-center space-x-2\n sm:space-x-3\n md:space-x-4\n `,\n icon: (isMobile) => `\n ${isMobile ? 'w-8 h-8' : 'w-10 h-10'}\n p-1.5\n rounded-full\n hover:bg-gray-100\n transition-colors\n duration-200\n `,\n select: (isCompactView) => `\n text-${isCompactView ? 'lg' : 'xl'} \n font-bold \n bg-white \n border-none \n focus:outline-none \n header-select\n w-full \n ${isCompactView ? 'compact-select' : ''} \n text-right\n rtl\n appearance-none\n pr-8\n pl-4\n `,\n compactContainer: `\n flex \n flex-col \n justify-between \n flex-grow \n pl-4\n `,\n iconContainer: `\n flex-1 \n flex \n items-center \n justify-end\n `,\n iconGrid: `\n w-full \n flex \n justify-between \n items-center \n px-2\n `,\n icon: (isActive) => `\n transition-colors \n flex \n justify-center\n ${isActive ? 'text-blue-600' : 'text-gray-400'}\n `\n}; ","import React, { useRef } from 'react';\nimport { useNavigate, useLocation, Link } from 'react-router-dom';\nimport { \n FaClock, \n FaClipboardList,\n FaPlayCircle \n} from 'react-icons/fa';\nimport { FaVideo } from 'react-icons/fa6';\nimport { BsFillAspectRatioFill } from 'react-icons/bs';\nimport { PiFilmReelFill } from 'react-icons/pi';\nimport { BiTransfer } from 'react-icons/bi';\nimport { MdInsertChart } from 'react-icons/md';\nimport { RiFileEditFill } from 'react-icons/ri';\nimport { shouldShowInHeader, calculatorConfig, isInBetaEnvironment, getBasename } from '../config/features';\nimport { headerStyles, breakpoints } from '../styles/globalStyles';\nimport { handleShareOnDevice } from '../utils/shareUtils';\n\nfunction Header({ isMobile }) {\n const navigate = useNavigate();\n const location = useLocation();\n const selectRef = useRef(null);\n \n const menuItems = Object.entries(calculatorConfig)\n .filter(([_, calc]) => {\n // In production, filter out items with hide: true\n if (!isInBetaEnvironment() && calc.hide === true) {\n return false;\n }\n return true;\n })\n .map(([id, calc]) => ({\n id,\n path: calc.path,\n label: calc.headerMenu,\n icon: calc.icon\n }));\n\n // Add safety check when filtering\n const filteredMenuItems = menuItems.filter(item => {\n const calculator = calculatorConfig[item.id];\n return calculator ? shouldShowInHeader(calculator) : true;\n });\n\n // Use filteredMenuItems for both dropdown and mobile icons\n const mobileMenuItems = filteredMenuItems.filter(item => \n !['/comingsoon'].includes(item.path)\n );\n\n const handleCalculatorChange = (e) => {\n const value = e.target.value;\n navigate(value);\n };\n\n const getGridColumns = (itemCount) => {\n return `grid-cols-${itemCount}`;\n };\n\n const formatMenuLabel = (calculator) => {\n const isBeta = calculator?.beta && !calculator?.comingSoon;\n const isComingSoon = calculator?.comingSoon;\n const inBeta = isInBetaEnvironment();\n \n let label = calculator.headerMenu;\n \n if (isBeta) {\n label = `${label} (BETA)`;\n }\n \n if (inBeta && isComingSoon) {\n label = `${label} (SOON)`;\n }\n \n return label;\n };\n\n // Update the isCompactView check to only affect mobile\n const isCompactView = isMobile;\n\n return (\n
\n
\n {/* Logo Column */}\n
\n
\n \n \"TBD\n {/* Show title on desktop */}\n {!isCompactView && (\n \n {isInBetaEnvironment() ? 'TBD Post DataCalc BETA' : 'TBD Post DataCalc'}\n \n )}\n \n {/* Only show small DataCalc text on mobile */}\n {isCompactView && (\n

\n {isInBetaEnvironment() ? 'BetaCalc' : 'DataCalc'}\n

\n )}\n
\n
\n\n {/* Right Column */}\n {isCompactView ? (\n
\n {/* Dropdown */}\n
\n \n {filteredMenuItems.map(item => (\n \n ))}\n \n
\n \n {/* Icons */}\n
\n
\n {mobileMenuItems.map((item) => (\n \n {React.cloneElement(item.icon, { \n size: 20\n })}\n \n ))}\n
\n
\n
\n ) : (\n // Desktop view\n
\n \n {filteredMenuItems.map(item => (\n \n ))}\n \n
\n )}\n
\n
\n );\n}\n\nexport default Header;","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib';\nexport function SlActionRedo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M33.935 942.336c.336 0 .72 0 1.088-.031 16.193-.529 26.4-13.088 27.777-29.216C63.888 901.217 95.775 614 544.048 614.305l1.008 183.664c0 12.368 7.12 23.664 18.335 28.944 11.088 5.312 24.432 3.68 33.968-4.224l414.976-343.776a31.864 31.864 0 0 0 11.681-24.784c-.032-9.6-4.336-18.687-11.776-24.752L597.28 88.817c-9.569-7.807-22.785-9.311-33.937-4.095-11.152 5.311-18.288 16.56-18.288 28.91l-1.008 179.633c-185.952 5.887-329.968 65.712-423.328 174.96C-31.217 646 2.69 904.385 4.287 915.137c2.368 15.68 13.872 27.199 29.649 27.199zm543.121-392.527h-.063c-320.208.192-442.591 108.32-512.464 203.824 10.224-76.496 40.064-168.72 105.008-244.031 86.336-100.096 225.44-152.848 407.536-152.848 17.68 0 32-14.32 32-32V180.978l332.433 273.344-332.448 275.904v-148.4a31.953 31.953 0 0 0-9.409-22.656 31.96 31.96 0 0 0-22.592-9.36z\"}}]})(props);\n};\nexport function SlActionUndo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M990.064 942.336c-.336 0-.72 0-1.088-.031-16.192-.529-26.4-13.088-27.776-29.216-1.088-11.872-33.968-299.088-482.256-298.784v183.664c0 12.368-7.12 23.664-18.336 28.944-11.088 5.312-24.432 3.68-33.968-4.224L11.664 478.913a31.864 31.864 0 0 1-11.68-24.784c.032-9.6 4.335-18.687 11.776-24.752l414.96-340.56c9.568-7.807 22.784-9.311 33.936-4.095 11.153 5.311 18.288 16.56 18.288 28.91v179.633c185.968 5.904 330.992 65.712 424.336 174.976 151.936 177.776 118.031 436.16 116.432 446.912-2.368 15.664-13.872 27.183-29.648 27.183zm-543.12-392.527l.063-.001C767.23 550 889.599 658.128 959.47 753.617c-10.224-76.496-40.064-168.72-105.008-244.031-86.336-100.096-225.44-152.848-407.535-152.848-17.68 0-32-14.32-32-32V180.962L82.496 454.322l332.432 275.904v-148.4a31.953 31.953 0 0 1 9.408-22.656c6-5.985 14.128-9.36 22.608-9.36z\"}}]})(props);\n};\nexport function SlAnchor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1021.02 731.408L938.734 580.11c-.128-.208-.096-.4-.224-.593l-5.872-10.143c-3.28-5.617-8.432-9.233-14.192-10.593-5.696-1.408-11.985-.544-17.408 2.975l-9.84 6.336c-.193.113-.305.288-.497.416l-145.6 98.32c-10.88 7.008-14.416 21.68-7.936 32.913l6.544 7.2c6.48 11.184 21.265 11.647 32.161 4.64l87.04-59.184c-20.608 166-154.736 293.392-318.96 308.176v-641.6h128.048c17.664 0 32-14.336 32-32s-14.336-32-32-32h-129.44c-.24-.832-.448-1.664-.768-2.464 57.103-13.28 99.695-64.368 99.695-125.536 0-71.248-57.744-129.008-129.008-129.008-71.248 0-128.992 57.744-128.992 129.008 0 60.817 42.112 111.664 98.736 125.28-.336.88-.576 1.808-.848 2.72H351.997c-17.665 0-32 14.336-32 32s14.335 32 32 32H479.98v641.584c-164.176-14.784-298.16-142.128-318.816-308.112l86.944 59.12c10.88 7.008 25.664 6.544 32.144-4.64l6.56-7.2c6.48-11.216 2.944-25.903-7.951-32.911l-145.6-98.32c-.193-.144-.305-.32-.48-.415l-9.857-6.336a22.16 22.16 0 0 0-17.408-2.976c-5.744 1.36-10.912 4.992-14.193 10.592l-5.872 10.16c-.112.193-.096.385-.209.593L2.971 731.408c-6.496 11.168-2.945 25.872 7.952 32.896l9.12 3.424c10.88 6.992 24.256.64 30.752-10.543l47.904-88.975c29.376 204.72 205.104 357.823 413.28 357.823 208.063 0 383.92-153.088 413.36-357.712l47.84 88.864c6.496 11.184 19.888 17.535 30.768 10.543l9.12-3.424c10.896-7.024 14.448-21.728 7.952-32.896zM447.506 126.975c0-35.84 29.153-65.01 64.993-65.01 35.84 0 65.008 29.153 65.008 65.009s-29.152 65.009-65.009 65.009c-35.824-.016-64.992-29.168-64.992-65.008z\"}}]})(props);\n};\nexport function SlArrowDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 512c0 282.784 229.232 512 512 512 282.784 0 512-229.216 512-512C1024 229.232 794.784 0 512 0 229.232 0 0 229.232 0 512zm961.008 0c0 247.024-201.969 448-449.009 448s-448-200.976-448-448 200.976-448 448-448 449.009 200.976 449.009 448zM479.663 287.68v360.448l-115.76-115.76c-12.496-12.496-32.752-12.496-45.248 0s-12.496 32.752 0 45.248l194.016 189.008 194-189.008c6.256-6.256 9.376-14.432 9.376-22.624s-3.12-16.368-9.376-22.624c-12.496-12.496-32.752-12.496-45.248 0l-117.744 117.76V287.68c0-17.68-14.336-32-32-32s-32.016 14.32-32.016 32z\"}}]})(props);\n};\nexport function SlArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.2 275.4c0-8.6 3.4-17.401 10-24.001 13.2-13.2 34.8-13.2 48 0l451.8 451.8 445.2-445.2c13.2-13.2 34.8-13.2 48 0s13.2 34.8 0 48L542 775.399c-13.2 13.2-34.8 13.2-48 0l-475.8-475.8c-6.8-6.8-10-15.4-10-24.199z\"}}]})(props);\n};\nexport function SlArrowLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 0C229.216 0 0 229.232 0 512c0 282.784 229.216 512 512 512 282.768 0 512-229.216 512-512C1024 229.232 794.768 0 512 0zm0 961.008c-247.024 0-448-201.984-448-449.01 0-247.024 200.976-448 448-448s448 200.977 448 448-200.976 449.01-448 449.01zm224.32-481.344H375.856l115.76-115.76c12.496-12.496 12.496-32.752 0-45.248s-32.752-12.496-45.248 0l-189.008 194 189.008 194c6.256 6.256 14.432 9.376 22.624 9.376s16.368-3.12 22.624-9.376c12.496-12.496 12.496-32.752 0-45.248l-117.76-117.744H736.32c17.68 0 32-14.336 32-32s-14.32-32-32-32z\"}}]})(props);\n};\nexport function SlArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M752.145 0c8.685 0 17.572 3.434 24.237 10.099 13.33 13.33 13.33 35.143 0 48.473L320.126 515.03l449.591 449.591c13.33 13.33 13.33 35.144 0 48.474-13.33 13.33-35.142 13.33-48.472 0L247.418 539.268c-13.33-13.33-13.33-35.144 0-48.474L727.91 10.1C734.575 3.435 743.46.002 752.146.002z\"}}]})(props);\n};\nexport function SlArrowRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 0C229.232 0 0 229.232 0 512c0 282.784 229.232 512 512 512 282.784 0 512-229.216 512-512C1024 229.232 794.784 0 512 0zm0 961.008c-247.024 0-448-201.984-448-449.01 0-247.024 200.976-448 448-448s448 200.977 448 448-200.976 449.01-448 449.01zm20.368-642.368c-12.496 12.496-12.496 32.752 0 45.248l115.76 115.76H287.68c-17.68 0-32 14.336-32 32s14.32 32 32 32h362.464l-117.76 117.744c-12.496 12.496-12.496 32.752 0 45.248 6.256 6.256 14.432 9.376 22.624 9.376s16.368-3.12 22.624-9.376l189.008-194-189.008-194c-12.512-12.496-32.752-12.496-45.264 0z\"}}]})(props);\n};\nexport function SlArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M271.653 1023.192c-8.685 0-17.573-3.432-24.238-10.097-13.33-13.33-13.33-35.144 0-48.474L703.67 508.163 254.08 58.573c-13.33-13.331-13.33-35.145 0-48.475 13.33-13.33 35.143-13.33 48.473 0L776.38 483.925c13.33 13.33 13.33 35.143 0 48.473l-480.492 480.694c-6.665 6.665-15.551 10.099-24.236 10.099z\"}}]})(props);\n};\nexport function SlArrowUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1024 512C1024 229.216 794.768 0 512 0 229.216 0 0 229.216 0 512c0 282.768 229.216 512 512 512 282.768 0 512-229.232 512-512zm-960.992 0C63.008 264.976 264.976 64 512 64c247.024 0 448 200.976 448 448S759.024 960 512 960 63.008 759.024 63.008 512zm481.328 224.32V375.856l115.76 115.76c12.496 12.496 32.752 12.496 45.248 0s12.496-32.752 0-45.248l-194-189.008-194 189.008c-6.256 6.256-9.376 14.432-9.376 22.624s3.12 16.368 9.376 22.624c12.496 12.496 32.752 12.496 45.248 0l117.744-117.76V736.32c0 17.68 14.336 32 32 32s32-14.32 32-32z\"}}]})(props);\n};\nexport function SlArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.2 751.4c0 8.6 3.4 17.401 10 24.001 13.2 13.2 34.8 13.2 48 0l451.8-451.8 445.2 445.2c13.2 13.2 34.8 13.2 48 0s13.2-34.8 0-48L542 251.401c-13.2-13.2-34.8-13.2-48 0l-475.8 475.8c-6.8 6.8-10 15.4-10 24.2z\"}}]})(props);\n};\nexport function SlBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1021.06 839.968L833.798 493.664c19.104-43.36 29.792-91.28 29.792-141.696C863.59 157.664 706.07.16 511.782.16c-194.336 0-351.84 157.52-351.84 351.808 0 51.632 11.216 100.624 31.184 144.784L3.03 839.808c-6.065 11.024-5.057 24.624 2.527 34.688 7.6 10.033 20.432 14.752 32.687 11.873l160.624-36.848 54.976 153.12c4.288 11.904 15.152 20.16 27.744 21.088.817.064 1.6.096 2.368.096a32.002 32.002 0 0 0 28.192-16.88L475.844 701.97a355.152 355.152 0 0 0 35.92 1.808c11.12 0 22.095-.576 32.943-1.6l167.248 305.008a31.984 31.984 0 0 0 30.56 16.527c12.56-1.008 23.376-9.248 27.631-21.088l54.976-153.12 160.624 36.848c12.32 2.975 25.024-1.809 32.624-11.809 7.632-9.984 8.656-23.52 2.688-34.576zm-731.282 73.376L249.52 801.183c-5.504-15.248-21.471-24.128-37.28-20.368l-118.8 27.248L228.85 561.087c44.592 60.24 107.952 105.68 181.44 127.793zm-65.553-561.377c0-158.544 129.009-287.536 287.568-287.536 158.544 0 287.536 128.992 287.536 287.536S670.337 639.535 511.793 639.535c-158.576 0-287.568-129.024-287.568-287.568zm587.52 428.847c-15.872-3.744-31.776 5.12-37.28 20.367l-40.529 112.976-123.152-224.56c75.44-22.096 140.337-68.735 185.505-130.735L931.137 808.19z\"}}]})(props);\n};\nexport function SlBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M864 158.704H672.815V97.328c0-52.944-43.056-96-96-96H449.183c-52.944 0-96 43.056-96 96v61.376H159.999c-35.344 0-64 28.656-64 64v735.968c0 35.344 28.656 64 64 64h704c35.344 0 64-28.656 64-64V222.704c0-35.344-28.656-64-64-64H864zM417.184 97.328c0-17.664 14.336-32 32-32h127.632c17.664 0 32 14.336 32 32v61.376H417.184V97.328zM864 958.672H160V222.704h193.184v65.84s-.848 31.967 31.809 31.967c36 0 32.192-31.967 32.192-31.967v-65.84h191.632v65.84s-2.128 32.128 31.872 32.128c32 0 32.128-32.128 32.128-32.128v-65.84h191.184v735.968z\"}}]})(props);\n};\nexport function SlBan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 0C229.232 0 0 229.232 0 512c0 282.784 229.232 512 512 512 282.784 0 512-229.216 512-512C1024 229.232 794.784 0 512 0zM64 512c0-112.272 41.615-214.959 110.096-293.663l631.856 631.856C727.216 919.073 624.416 961.008 512 961.008c-247.024 0-448-201.984-448-449.009V512zm787.023 292.786L219.408 173.17C297.984 105.235 400.24 64.002 512 64.002c247.024 0 448 200.976 448 448 0 111.664-41.152 214.032-108.977 292.784z\"}}]})(props);\n};\nexport function SlBasketLoaded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1015.66 284a31.822 31.822 0 0 0-25.999-13.502h-99.744L684.78 95.666c-24.976-24.976-65.52-25.008-90.495 0L392.638 270.498h-82.096l-51.408-177.28c-20.16-69.808-68.065-77.344-87.713-77.344H34.333c-17.568 0-31.776 14.224-31.776 31.776S16.78 79.425 34.332 79.425h137.056c4.336 0 17.568 0 26.593 31.184l176.848 649.936c3.84 13.712 16.336 23.183 30.592 23.183h431.968c13.408 0 25.376-8.4 29.904-21.024l152.256-449.68c3.504-9.744 2.048-20.592-3.888-29.024zM639.537 140.93l152.032 129.584H487.457zm175.488 579.263H429.538L328.386 334.065h616.096zm-63.023 127.936c-44.192 0-80 35.808-80 80s35.808 80 80 80 80-35.808 80-80-35.808-80-80-80zm-288 0c-44.192 0-80 35.808-80 80s35.808 80 80 80 80-35.808 80-80-35.808-80-80-80z\"}}]})(props);\n};\nexport function SlBasket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1015.66 284a31.82 31.82 0 0 0-25.998-13.502H310.526l-51.408-177.28c-20.16-69.808-68.065-77.344-87.713-77.344H34.333c-17.569 0-31.777 14.224-31.777 31.776S16.78 79.425 34.332 79.425h137.056c4.336 0 17.568 0 26.593 31.184l176.848 649.936c3.84 13.712 16.336 23.183 30.591 23.183h431.968c13.409 0 25.376-8.4 29.905-21.024l152.256-449.68c3.504-9.744 2.048-20.592-3.888-29.024zM815.026 720.194H429.539L328.387 334.066h616.096zM752.003 848.13c-44.192 0-80 35.808-80 80s35.808 80 80 80 80-35.808 80-80-35.808-80-80-80zm-288 0c-44.192 0-80 35.808-80 80s35.808 80 80 80 80-35.808 80-80-35.808-80-80-80z\"}}]})(props);\n};\nexport function SlBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M905.616 711.888c-37.344-45.424-88.48-109.742-88.48-175.358V327.57c0-180.016-134.64-326.479-306.688-326.479-172.08 0-305.664 146.464-305.664 326.479v208.96c0 64.512-55.489 125.487-90.672 172.799-31.649 42.512-56.624 76.096-39.76 109.664 14.832 29.536 51.968 33.328 82.655 33.328h183.36c.048 94.208 76.448 170.576 170.672 170.576 94.24 0 170.641-76.368 170.688-170.576h187.664c19.52 0 65.152 0 80.863-33.2 15.857-33.616-9.52-64.513-44.64-107.232zm-394.609 243.97c-57.216 0-103.632-46.352-103.712-103.536h207.424c-.08 57.184-46.464 103.535-103.712 103.535zm358.384-171.665H157.006c-4.896 0-8.991-.16-12.367-.368 6.592-10.208 16.271-23.248 24.143-33.857 38.993-52.4 104.145-126.368 104.145-213.424v-208.96c0-142.464 103.04-258.352 237.521-258.352S749.01 185.12 749.01 327.584v208.96c0 90.016 60.08 165.248 103.968 218.608 7.392 8.993 16.24 19.76 23.12 28.96-2.033.048-4.273.08-6.705.08z\"}}]})(props);\n};\nexport function SlBookOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M952.08 1.552L529.039 116.144c-10.752 2.88-34.096 2.848-44.815-.16L72.08 1.776C35.295-8.352-.336 18.176-.336 56.048V834.16c0 32.096 24.335 62.785 55.311 71.409l412.16 114.224c11.025 3.055 25.217 4.751 39.937 4.751 10.095 0 25.007-.784 38.72-4.528l423.023-114.592c31.056-8.4 55.504-39.024 55.504-71.248V56.048c.016-37.84-35.616-64.464-72.24-54.496zM479.999 956.943L71.071 843.887c-3.088-.847-7.408-6.496-7.408-9.712V66.143L467.135 177.68c3.904 1.088 8.288 1.936 12.864 2.656v776.608zm480.336-122.767c0 3.152-5.184 8.655-8.256 9.503L544 954.207v-775.92c.592-.144 1.2-.224 1.792-.384L960.32 65.775v768.4h.016zM641.999 366.303c2.88 0 5.81-.367 8.69-1.184l223.935-63.024c17.025-4.816 26.945-22.465 22.16-39.473s-22.56-26.88-39.472-22.16l-223.936 63.025c-17.024 4.816-26.944 22.464-22.16 39.472 3.968 14.128 16.815 23.344 30.783 23.344zm.002 192.001c2.88 0 5.81-.368 8.69-1.185l223.935-63.024c17.025-4.816 26.945-22.465 22.16-39.473-4.783-17.008-22.56-26.88-39.472-22.16l-223.936 63.025c-17.024 4.816-26.944 22.464-22.16 39.457 3.968 14.127 16.815 23.36 30.783 23.36zm.002 192c2.88 0 5.81-.368 8.69-1.185l223.935-63.024c17.025-4.816 26.945-22.465 22.16-39.473s-22.56-26.88-39.472-22.16L633.38 687.487c-17.024 4.816-26.944 22.464-22.16 39.472 3.968 14.113 16.815 23.345 30.783 23.345zM394.629 303.487l-223.934-63.025c-16.912-4.72-34.688 5.152-39.473 22.16s5.12 34.656 22.16 39.473l223.937 63.024a31.827 31.827 0 0 0 8.687 1.184c13.968 0 26.815-9.215 30.783-23.343 4.784-16.993-5.12-34.657-22.16-39.473zm.002 191.999l-223.934-63.025c-16.912-4.72-34.689 5.152-39.473 22.16s5.12 34.656 22.16 39.473l223.936 63.024a31.827 31.827 0 0 0 8.688 1.184c13.968 0 26.815-9.215 30.783-23.343 4.784-16.993-5.12-34.657-22.16-39.473zm.002 191.999L170.699 624.46c-16.912-4.72-34.689 5.152-39.473 22.16s5.12 34.656 22.16 39.473l223.936 63.024a31.827 31.827 0 0 0 8.688 1.184c13.968 0 26.815-9.215 30.783-23.343 4.784-17.008-5.12-34.657-22.16-39.473z\"}}]})(props);\n};\nexport function SlBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M960.016 191.472H704.415v-62c0-52.944-43.056-96-96-96H415.983c-52.944 0-96 43.056-96 96v62H64.015c-35.184 0-64 28.816-64 64v224.256h-.032v64h.032v382.816c0 35.184 28.816 64 64 64h896c35.184 0 64-28.816 64-64V255.472c0-35.184-28.816-64-64-64h.001zm-576.033-62c0-17.664 14.336-32 32-32h192.432c17.664 0 32 14.336 32 32v62H383.983zm-319.967 126h896v224.256H607.648v-32.752c0-35.28-28.72-64-64-64h-63.745c-35.28 0-64 28.72-64 64v32.752H64.017V255.472zm479.679 352.656h-63.809V446.976h63.745zm-479.68 318.4V543.712h351.872v64.4c0 35.281 28.72 64 64 64h63.744c35.28 0 64-28.719 64-64v-64.4h352.368v382.816H64.015z\"}}]})(props);\n};\nexport function SlBubble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 128c247.024 0 448 143.553 448 320.001 0 176.432-200.976 320-448 320l-26.512.096c-17.584 0-29.088-.464-47.072-3.153l-35.856-5.12-23.008 27.84c-10.576 12.784-64.544 57.12-124.112 85.664 12.112-32.032 21.04-67.008 21.84-101.6l.32-1.904V725.2l-34.864-17.808C129.136 649.28 64 554.752 64 448c0-176.448 200.976-320 448-320zm0-63.999C229.2 64.001 0 235.936 0 448c0 132.064 78.256 247.152 213.584 316.336 0 .816-.256 1.408-.256 2.32 0 57.376-32.16 120.464-51.008 152.944h.048C160.88 923.09 160 926.913 160 931.01c0 16.08 12.96 28.992 29.008 28.992 2.416 0 6.256-.496 7.664-.496.336 0 .528 0 .496.095 100-16.336 209.952-104.688 231.824-131.344 22.48 3.344 37.664 3.84 56.48 3.84 7.936 0 16.496-.096 26.528-.096 282.752 0 512-171.904 512-384 0-212.064-229.248-384-512-383.999z\"}}]})(props);\n};\nexport function SlBubbles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M424.816 679.344c230.944 0 409.902-131.903 407.15-327.631 0-173.184-183.216-311.632-414.16-311.632C186.83 40.081-.353 178.529-.353 351.713c0 107.872 52.912 222.88 163.408 279.376 0 .656-.192 1.152-.192 1.872 0 46.88-39.025 111.152-54.4 137.664h.064c-1.216 2.88-1.952 6-1.952 9.344 0 13.12 10.576 23.664 23.696 23.664 1.935 0 5.088-.4 6.223-.4.32 0 .433 0 .4.095 81.665-13.344 202.257-105.248 220.129-127.024 18.336 2.72 30.72 3.152 46.08 3.152 6.528-.016 13.473-.112 21.713-.112zm-94.129-68.879l-40.977 34.032c-9.504 10.976-50.8 45.44-86.351 67.808 21.648-61.68 20.704-81.216 20.704-81.216l3.008-39.152-34.88-17.808c-88.672-45.344-128.528-139.744-128.528-222.4 0-137.664 158.864-247.632 354.16-247.632 195.28 0 350.16 109.968 350.16 247.632-.609 152.608-145.872 264.624-341.152 264.624 0 0-29.808 1.152-60.4-3.376zm693.643-.272c0-86.736-33.887-152.881-118.446-202.513-2.064 23.072-8.64 47.824-15.793 69.568 54.656 37.777 70.256 76.56 70.256 132.944 0 69.025-32.16 119.09-106.912 157.345l-31.84 15.808s3.312 82 8.224 102.752c-62.448-45.776-83.905-84-83.905-84l-33.664 5.184c-13.311 1.935-49.311 1.967-49.311 1.967-86.944 0-151.376-20.72-206.336-63.744 14.928-.912-89.185-.88-91.505 1.153 63.568 77.631 167.473 126.592 297.84 126.592 7.089 0 13.089.064 18.72.064 13.28 0 24-.368 39.84-2.688 15.489 18.784 102.225 101.504 172.816 113.008-.032-.065.064-.065.368-.065.944 0 3.68.336 5.344.336 11.344 0 20.496-9.12 20.496-20.464 0-2.88-.656-5.6-1.68-8.063h.064c-13.28-22.88-34.128-89.744-34.128-130.256 0-.624-.192-1.056-.192-1.632 95.504-48.832 139.744-120.08 139.744-213.296z\"}}]})(props);\n};\nexport function SlBulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.984 0c-198.032 0-353.12 161.104-353.12 359.136 0 149.2 73.28 220.256 131.185 272.128 37.28 33.424 62.368 53.552 62.368 78.352v54.255c0 1.392.193 2.752.368 4.128h-.72v92.624c.016 97.712 63.2 163.376 161.072 163.376 94.464 0 158.944-65.664 158.944-163.376V768h-.928c.176-1.376.416-2.736.416-4.128v-54.255c0-37.76 28.032-60.592 70.528-97.696 57.504-50.208 123.023-112.688 123.023-252.784C865.136 161.104 710.016 0 511.983 0zm-1.215 960c-59.904 0-94.689-37.152-94.689-99.376l-.463-42.672C438.64 825.824 470 832 512 832c41.424 0 72.848-6.624 96.08-14.768v43.392c0 63.152-35.247 99.376-97.312 99.376zm189.248-396.288c-43.472 37.968-92.433 77.216-92.433 145.904v40.432c-15.183 8.48-43.183 18.56-96.127 18.56-55.569 0-81.92-9.856-95.024-17.473V709.6c0-54.608-42.688-89.297-83.68-126.017-54.32-48.672-109.873-103.84-109.873-224.464-.015-162.72 126.385-295.12 289.104-295.12 162.752 0 289.152 132.4 289.152 295.137 0 111.024-48.463 158.576-101.12 204.576z\"}}]})(props);\n};\nexport function SlCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M960-.096H64c-35.184 0-64 28.816-64 64v896.192c0 35.184 28.816 64 64 64h896c35.184 0 64-28.816 64-64V63.904c0-35.184-28.816-64-64-64zm0 960.193H64V63.905h896v896.192zM224 352.305h64v64c0 17.664 14.336 32 32 32s32-14.336 32-32v-64h64c17.664 0 32-14.336 32-32s-14.336-32-32-32h-64v-64c0-17.664-14.336-32-32-32s-32 14.336-32 32v64h-64c-17.664 0-32 14.336-32 32s14.336 32 32 32zm209.136 238.847c-12.496-12.496-32.752-12.497-45.248-.001L320 659.023l-67.887-67.872c-12.496-12.496-32.752-12.496-45.264 0-12.496 12.496-12.496 32.769 0 45.265l67.872 67.872-67.872 67.872c-12.496 12.496-12.496 32.768 0 45.264s32.752 12.497 45.264 0L320 749.568l67.888 67.872c12.496 12.496 32.752 12.496 45.248 0s12.496-32.768 0-45.264l-67.872-67.873 67.872-67.872c12.496-12.511 12.496-32.767 0-45.279zM608 352.304h192c17.664 0 32-14.336 32-32s-14.336-32-32-32H608c-17.664 0-32 14.336-32 32s14.336 32 32 32zm0 320h192c17.664 0 32-14.336 32-32s-14.336-32-32-32H608c-17.664 0-32 14.336-32 32s14.336 32 32 32zm0 128h192c17.664 0 32-14.336 32-32s-14.336-32-32-32H608c-17.664 0-32 14.336-32 32s14.336 32 32 32z\"}}]})(props);\n};\nexport function SlCalender (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M960 95.888l-256.224.001V32.113c0-17.68-14.32-32-32-32s-32 14.32-32 32v63.76h-256v-63.76c0-17.68-14.32-32-32-32s-32 14.32-32 32v63.76H64c-35.344 0-64 28.656-64 64v800c0 35.343 28.656 64 64 64h896c35.344 0 64-28.657 64-64v-800c0-35.329-28.656-63.985-64-63.985zm0 863.985H64v-800h255.776v32.24c0 17.679 14.32 32 32 32s32-14.321 32-32v-32.224h256v32.24c0 17.68 14.32 32 32 32s32-14.32 32-32v-32.24H960v799.984zM736 511.888h64c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32zm0 255.984h64c17.664 0 32-14.32 32-32v-64c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v64c0 17.696 14.336 32 32 32zm-192-128h-64c-17.664 0-32 14.336-32 32v64c0 17.68 14.336 32 32 32h64c17.664 0 32-14.32 32-32v-64c0-17.648-14.336-32-32-32zm0-255.984h-64c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h64c17.664 0 32-14.336 32-32v-64c0-17.68-14.336-32-32-32zm-256 0h-64c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h64c17.664 0 32-14.336 32-32v-64c0-17.68-14.336-32-32-32zm0 255.984h-64c-17.664 0-32 14.336-32 32v64c0 17.68 14.336 32 32 32h64c17.664 0 32-14.32 32-32v-64c0-17.648-14.336-32-32-32z\"}}]})(props);\n};\nexport function SlCallEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M961.696 199.552c0 1.056-.097 1.935-.225 2.623-26.16 18-172.433 114.624-199.776 132.16-2.88.065-10.191-.911-20.623-6.4-11.12-5.84-43.536-24.032-88.88-49.904l-35.28-20.128-33.248 23.344c-24.72 17.408-78.464 58.817-160.288 140.624-82.176 82.16-123.456 135.712-140.768 160.336l-23.344 33.248 20.16 35.28c19.537 34.193 42.945 75.504 50 88.945 5.68 10.784 6.129 18.16 6.129 20.16 0 .32 0 .593-.033.816-15.36 24.497-114.593 173.937-132.673 200.32-2.56.432-8.128.032-15.088-4.816-56.256-40.608-114.96-98.24-123.376-120.8 5.632-120.032 111.12-288.464 297.568-474.88 186.464-186.4 354.72-291.872 474.352-297.44 22.624 8.096 80.624 66.815 120.912 122.527 2.832 4.128 4.48 9.232 4.481 13.985zm62.004-.001c0-16.944-5.121-34.914-15.969-50.498-1.055-1.504-108.256-152.096-170.336-150.096-174.432 5.552-379.439 175.056-520.703 316.271C175.46 456.444 5.892 661.452.307 836.572v1.44c0 61.312 148.672 169.088 150.144 170.128 40.4 28.289 84.881 17.968 102.945-7.776 11.008-15.664 124.976-187.056 137.808-208.063 5.6-9.152 8.336-20.32 8.336-32.464 0-15.664-4.576-33.008-13.473-49.935-8.687-16.496-37.119-66.464-51.086-90.912 15.12-21.537 53.872-72.128 133.664-151.84 79.183-79.216 130.19-118.32 151.84-133.535 24.431 13.935 74.399 42.335 90.847 50.975 31.008 16.368 61.968 18.225 82.848 4.945 19.68-12.464 189.808-125.968 206-137.68 15.28-11.056 23.52-30.848 23.52-52.304z\"}}]})(props);\n};\nexport function SlCallIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1000.35 771.616c-15.664-11.008-187.059-124.974-208.066-137.806-9.152-5.6-20.32-8.336-32.464-8.336-15.664 0-33.008 4.56-49.935 13.472-16.497 8.688-66.464 37.12-90.913 51.088-21.536-15.12-72.127-53.872-151.84-133.664-79.215-79.184-118.319-130.191-133.535-151.84 13.936-24.432 42.336-74.4 50.976-90.848 16.368-31.008 18.225-61.968 4.944-82.848-12.463-19.68-125.968-191.808-137.68-208C240.813 7.554 221.021-.702 199.55-.702c-16.944 0-34.912 5.12-50.496 15.968C147.55 16.338-3.043 125.522-1.043 187.618 4.51 362.05 174.013 567.042 315.228 708.306s346.224 310.815 521.344 316.399h1.44c61.312 0 169.089-148.688 170.129-150.16 28.272-40.4 17.968-84.88-7.791-102.929zm-44.209 65.651c-40.592 56.224-98.225 114.945-120.784 123.346-120.032-5.632-288.464-111.12-474.88-297.568-186.4-186.464-291.872-354.704-297.44-474.336 8.096-22.624 66.815-80.624 122.527-120.912 4.128-2.848 9.216-4.496 13.968-4.496 1.055 0 1.935.096 2.624.224 18 26.16 114.624 172.433 132.16 199.776.064 2.88-.911 10.19-6.4 20.623-5.84 11.12-24.032 43.536-49.904 88.88l-20.128 35.28 23.344 33.248c17.408 24.72 58.816 78.464 140.624 160.288 82.16 82.192 135.712 123.473 160.336 140.784l33.248 23.344 35.28-20.16c34.193-19.537 75.504-42.945 88.945-50 10.784-5.68 18.16-6.129 20.16-6.129.32 0 .593 0 .816.033 24.496 15.376 173.937 114.592 200.32 132.688.432 2.56.031 8.128-4.816 15.088zm-312.305-460.75c4.128 4.176 9.938 6.722 16.386 6.546l11.712-.273c.223 0 .383-.095.64-.11l229.503 1.007c12.912-.304 23.616-10.992 23.92-23.937l.016-16.416c-1.952-15.232-13.937-24.16-26.865-23.872l-151.504-.4 261.952-261.6c12.497-12.496 12.497-32.769 0-45.265-12.496-12.48-32.752-12.48-45.248 0l-262.672 262.32.88-154.833c.288-12.927-9.967-24.191-22.895-23.887l-16.416.015c-12.96.32-23.664 8.017-23.937 20.945l-.656 231.008c0 .223.88.383.88.607l-1.28 11.712c-.128 6.496 1.391 12.272 5.584 16.433z\"}}]})(props);\n};\nexport function SlCallOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1000.35 771.616c-15.664-11.008-187.059-124.974-208.066-137.806-9.152-5.6-20.32-8.336-32.464-8.336-15.664 0-33.008 4.56-49.935 13.472-16.497 8.688-66.464 37.12-90.913 51.088-21.536-15.12-72.127-53.872-151.84-133.664-79.215-79.184-118.319-130.191-133.535-151.84 13.936-24.432 42.336-74.4 50.976-90.848 16.368-31.008 18.225-61.968 4.944-82.848-12.463-19.68-125.968-191.808-137.68-208C240.813 7.554 221.021-.702 199.55-.702c-16.944 0-34.912 5.12-50.496 15.968C147.55 16.338-3.043 125.522-1.043 187.618 4.51 362.05 174.013 567.042 315.228 708.306s346.224 310.815 521.344 316.399h1.44c61.312 0 169.089-148.688 170.129-150.16 28.272-40.4 17.968-84.88-7.791-102.929zm-44.209 65.651c-40.592 56.224-98.225 114.945-120.784 123.346-120.032-5.632-288.464-111.12-474.88-297.568-186.4-186.464-291.872-354.704-297.44-474.336 8.096-22.624 66.815-80.624 122.527-120.912 4.128-2.848 9.216-4.496 13.968-4.496 1.055 0 1.935.096 2.624.224 18 26.16 114.624 172.433 132.16 199.776.064 2.88-.911 10.19-6.4 20.623-5.84 11.12-24.032 43.536-49.904 88.88l-20.128 35.28 23.344 33.248c17.408 24.72 58.816 78.464 140.624 160.288 82.16 82.192 135.712 123.473 160.336 140.784l33.248 23.344 35.28-20.16c34.193-19.537 75.504-42.945 88.945-50 10.784-5.68 18.16-6.129 20.16-6.129.32 0 .593 0 .816.033 24.496 15.376 173.937 114.592 200.32 132.688.432 2.56.031 8.128-4.816 15.088zM683.899 382.276l275.246-273.572-.88 155.056c-.288 12.944 9.968 24.192 22.912 23.889l16.416-.016c12.96-.32 23.649-8 23.921-20.928l.656-231.008c0-.223-.864-.383-.864-.607l1.264-11.712c.128-6.496-1.376-12.288-5.6-16.432-4.128-4.175-9.935-6.72-16.384-6.543L988.89.675c-.224 0-.4.096-.655.128L758.763-.222c-12.928.289-23.616 10.977-23.92 23.921l-.032 16.416c1.967 15.233 13.935 24.16 26.88 23.872l151.248.4L638.65 337.013c-12.497 12.496-12.497 32.768 0 45.264 12.496 12.481 32.752 12.481 45.248 0z\"}}]})(props);\n};\nexport function SlCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 224H780.816L704 96H320l-76.8 128H96c-32 0-96 32-96 95.008V832c0 53.008 48 96 89.328 96H930c42 0 94-44.992 94-94.992V320c0-32-32-96-96-96zm32 609.008c0 12.624-20.463 30.288-29.999 31.008H89.521c-7.408-.609-25.52-15.04-25.52-32.016V319.008c0-20.272 27.232-30.496 32-31.008h183.44l76.8-128h313.647l57.12 96.945 17.6 31.055H928c22.56 0 31.68 29.472 32 32v513.008zM512.001 320c-123.712 0-224 100.288-224 224s100.288 224 224 224 224-100.288 224-224-100.288-224-224-224zm0 384c-88.224 0-160-71.776-160-160s71.776-160 160-160 160 71.776 160 160-71.776 160-160 160z\"}}]})(props);\n};\nexport function SlCamrecorder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M638.128 223.376c1.28 0 2.32 1.008 2.32 2.24v127.872c0 23.664 13.056 45.424 34 56.528a63.763 63.763 0 0 0 30 7.471c12.56 0 27.056-3.68 37.84-10.991L960 283.264V739.68L741.088 620.16a63.92 63.92 0 0 0-36.655-11.536 64.277 64.277 0 0 0-29.568 7.217c-21.12 11.024-34.4 32.88-34.432 56.688l-.16 125.84c0 1.248-1.008 2.256-2.288 2.256H66.289c-1.28 0-2.289-.992-2.289-2.225l.16-572.784c0-1.248 1.008-2.24 2.289-2.24h571.68zm352.24-32.032c-6.816 0-20.291 2.016-27.97 9.664l-257.969 152.48V225.616c0-36.56-29.68-66.24-66.319-66.24H66.43c-36.672 0-66.288 29.665-66.288 66.241l-.144 572.752c0 36.56 29.632 66.256 66.288 66.256h571.712c36.657 0 66.289-29.68 66.289-66.256l.16-125.744 262.976 153.312c7.712 7.68 16.256 6.687 23.088 6.687 7.087 0 12.368-2.16 13.024-2.432 12.432-5.184 20.464-17.184 20.464-30.688V224.528c0-13.504-8.032-25.551-20.464-30.656-.72-.32-6.031-2.528-13.167-2.528z\"}}]})(props);\n};\nexport function SlChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272.064 319.984H48c-17.68 0-32 14.32-32 32V992c0 17.68 14.32 32 32 32h224.064c17.68 0 32-14.32 32-32V351.984c0-17.68-14.32-32-32-32zm-32 640.016H80V383.984h160.064V960zm383.68-449.744h-224.08c-17.68 0-32 14.32-32 32V992c0 17.68 14.32 32 32 32h224.08c17.68 0 32-14.32 32-32V542.256c0-17.696-14.304-32-32-32zm-32 449.744h-160.08V574.256h160.08V960zM976 0H752.272c-17.68 0-32 14.32-32 32v960c0 17.68 14.32 32 32 32H976c17.68 0 32-14.32 32-32V32c0-17.68-14.32-32-32-32zm-32 960H784.272V64H944v896z\"}}]})(props);\n};\nexport function SlCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 0C229.232 0 0 229.232 0 512c0 282.784 229.232 512 512 512 282.784 0 512-229.216 512-512C1024 229.232 794.784 0 512 0zm0 961.008c-247.024 0-448-201.984-448-449.01 0-247.024 200.976-448 448-448s448 200.977 448 448-200.976 449.01-448 449.01zm204.336-636.352L415.935 626.944l-135.28-135.28c-12.496-12.496-32.752-12.496-45.264 0-12.496 12.496-12.496 32.752 0 45.248l158.384 158.4c12.496 12.48 32.752 12.48 45.264 0 1.44-1.44 2.673-3.009 3.793-4.64l318.784-320.753c12.48-12.496 12.48-32.752 0-45.263-12.512-12.496-32.768-12.496-45.28 0z\"}}]})(props);\n};\nexport function SlChemistry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M810.416 970.72L640.015 769.056V415.552h21.312c17.68 0 32-14.32 32-32s-14.32-32-32-32h-53.312c-17.68 0-32 14.32-32 32v397.824a31.944 31.944 0 0 0 8.256 21.44l130.368 157.343h-405.28l130.368-157.344a31.944 31.944 0 0 0 8.256-21.44V383.553c0-17.68-14.32-32-32-32H362.67c-17.68 0-32 14.32-32 32s14.32 32 32 32h21.312v353.504l-170.4 201.664a32.039 32.039 0 0 0-5.504 34.431 32.001 32.001 0 0 0 29.249 19.01h549.344a32.001 32.001 0 0 0 29.249-19.01c5.12-11.551 2.976-25.055-5.504-34.431zM479.999 319.68c35.264 0 63.84-28.592 63.84-63.84 0-35.216-28.576-63.807-63.84-63.807-35.28 0-63.84 28.591-63.84 63.807 0 35.248 28.56 63.84 63.84 63.84zm208.48-94.992c62.368 0 112.928-50.336 112.928-112.416S750.863-.144 688.479-.144c-62.352 0-112.928 50.336-112.928 112.416s50.576 112.416 112.928 112.416zm-.496-161.025c26.656 0 48.336 21.584 48.336 48.128 0 26.528-21.68 48.128-48.336 48.128s-48.336-21.6-48.336-48.128c.016-26.544 21.68-48.128 48.336-48.128z\"}}]})(props);\n};\nexport function SlClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 0C229.232 0 0 229.232 0 512c0 282.784 229.232 512 512 512 282.784 0 512-229.216 512-512C1024 229.232 794.784 0 512 0zm0 961.008c-247.024 0-448-201.984-448-449.01 0-247.024 200.976-448 448-448s448 200.977 448 448-200.976 449.01-448 449.01zm32-462V192.002c0-17.664-14.336-32-32-32s-32 14.336-32 32v320c0 9.056 3.792 17.2 9.856 23.007.529.624.96 1.296 1.537 1.887l158.384 158.4c12.496 12.481 32.752 12.481 45.248 0 12.496-12.496 12.496-32.768 0-45.264z\"}}]})(props);\n};\nexport function SlClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 0C229.232 0 0 229.232 0 512c0 282.784 229.232 512 512 512 282.784 0 512-229.216 512-512C1024 229.232 794.784 0 512 0zm0 961.008c-247.024 0-448-201.984-448-449.01 0-247.024 200.976-448 448-448s448 200.977 448 448-200.976 449.01-448 449.01zm181.008-630.016c-12.496-12.496-32.752-12.496-45.248 0L512 466.752l-135.76-135.76c-12.496-12.496-32.752-12.496-45.264 0-12.496 12.496-12.496 32.752 0 45.248L466.736 512l-135.76 135.76c-12.496 12.48-12.496 32.769 0 45.249 12.496 12.496 32.752 12.496 45.264 0L512 557.249l135.76 135.76c12.496 12.496 32.752 12.496 45.248 0 12.496-12.48 12.496-32.769 0-45.249L557.248 512l135.76-135.76c12.512-12.512 12.512-32.768 0-45.248z\"}}]})(props);\n};\nexport function SlCloudDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M763.024 260C718.4 141.568 622.465 66.559 477.569 66.559c-184.384 0-313.392 136.912-324.479 315.536C64.178 410.527.002 501.215.002 603.935c0 125.744 98.848 231.968 215.823 231.968h28.448c17.664 0 32-14.32 32-32s-14.336-32-32-32h-28.448c-82.304 0-152.832-76.912-152.832-167.968 0-80.464 56.416-153.056 127.184-165.216l29.04-5.008-2.592-29.344-.24-.368c.016-155.872 102.607-273.44 261.184-273.44 127.104 0 198.513 62.624 231.553 169.44l6.832 22.032 23.072.497c118.864 2.496 223.088 98.944 223.088 218.784 0 109.056-72.272 230.592-181.713 230.592h-9.104c-17.664 0-32 14.32-32 32s14.336 32 32 32v-.096c160-4.224 252.24-157.088 252.24-294.496-.032-147.728-115.792-265.743-260.512-281.312zM646.337 775.47c-8.944-9.344-23.407-9.345-32.335-.001l-70.384 77.648V530.973c0-17.664-14.336-32-32-32s-32 14.336-32 32v322.432l-68.112-75.935c-8.944-9.344-23.44-11.344-32.368-2l-8.065 4.416c-8.944 9.376-8.944 24.48 0 33.823l115.504 127.744c.16.16.193.368.336.528l8.096 8.464c4.496 4.689 10.368 7.01 16.288 6.977 5.872.032 11.776-2.288 16.225-6.977l8.095-8.464c.16-.16.24-.335.368-.528L654.417 811.71c8.945-9.344 8.945-20.447 0-29.823z\"}}]})(props);\n};\nexport function SlCloudUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M763.024 259.968C718.4 141.536 622.465 66.527 477.553 66.527c-184.384 0-313.392 136.912-324.479 315.536C64.177 410.495.002 501.183.002 603.903c0 125.744 98.848 231.968 215.823 231.968h92.448c17.664 0 32-14.336 32-32 0-17.68-14.336-32-32-32h-92.448c-82.304 0-152.832-76.912-152.832-167.968 0-80.464 56.416-153.056 127.184-165.216l29.04-5.008-2.576-29.328-.24-.368c0-155.872 102.576-273.44 261.152-273.44 127.104 0 198.513 62.624 231.537 169.44l6.847 22.032 23.056.496c118.88 2.496 223.104 98.945 223.104 218.77 0 109.055-72.273 230.591-181.696 230.591h-73.12c-17.664 0-32 14.336-32 32 0 17.68 14.336 32 32 32l72.88-.095c160-4.224 243.344-157.071 243.344-294.495 0-147.712-115.76-265.744-260.48-281.312zM535.985 514.941c-.176-.192-.241-.352-.354-.512l-8.095-8.464c-4.432-4.688-10.336-7.008-16.24-6.976-5.905-.048-11.777 2.288-16.289 6.975l-8.095 8.464c-.16.16-.193.353-.336.513L371.072 642.685c-8.944 9.344-8.944 24.464 0 33.84l8.064 5.471c8.945 9.344 23.44 6.32 32.368-3.024l68.113-75.935v322.432c0 17.664 14.336 32 32 32s32-14.336 32-32V603.34l70.368 77.631c8.944 9.344 23.408 12.369 32.336 3.025l8.064-5.472c8.945-9.376 8.945-24.496 0-33.84z\"}}]})(props);\n};\nexport function SlCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M733.184 280.272l-313.15 134.64a30.023 30.023 0 0 0-13.151 13.151L263.427 717.28c-5.872 11.537-3.745 25.537 5.311 34.785a30.222 30.222 0 0 0 21.536 9.024c4.432 0 8.944-.976 13.12-3.008L609.12 631.104a29.8 29.8 0 0 0 13.216-12.497l150.88-296.896c6.432-11.6 4.527-26.031-4.656-35.567-9.216-9.536-23.584-11.872-35.376-5.872zM357.857 664.816l87.008-177.681 87.872 109.984zm226.848-105.2l-88.8-111.152 176.784-69.76zM512.001 0c-282.768 0-512 229.232-512 512 0 282.784 229.232 512 512 512 282.784 0 512-229.216 512-512 0-282.768-229.216-512-512-512zm0 961.008c-247.024 0-448-201.984-448-449.01 0-247.024 200.976-448 448-448s448 200.977 448 448-200.976 449.01-448 449.01z\"}}]})(props);\n};\nexport function SlControlEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M943.936 0c-17.664 0-31.998 14.338-31.998 32.002v470c-2.88-18.192-13.44-34.465-29.375-44.37L146.851 11.026a64.147 64.147 0 0 0-33.776-9.649A63.765 63.765 0 0 0 81.987 9.44c-20.32 11.28-32.912 32.704-32.912 55.936l-1.008 893.232a63.958 63.958 0 0 0 32.912 55.937 63.933 63.933 0 0 0 31.087 8.064c11.712 0 23.471-3.215 33.775-9.664l736.72-446.608c15.936-9.872 26.495-26.16 29.375-44.352V992c0 17.664 14.336 32 32 32s32-14.336 32-32V32c0-17.664-14.32-32-32-32.001zM112.065 958.61l.992-893.216 735.744 446.592z\"}}]})(props);\n};\nexport function SlControlForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M450.08 197.904l505.28 314.097-505.28 314.096V579.121l-384 246.976V197.905l384 246.992v-255.84zm2.656-63.999c-10.72 0-22.736 2.67-32.433 8.062-20.303 11.28-34.223 32.705-34.223 55.937v131.84L87.856 143.552c-10.32-6.4-21.376-9.648-33.12-9.648-10.689 0-15.729 2.671-25.44 8.063C9.006 153.247 2.08 174.671 2.08 197.904v628.192c0 23.248 7.248 44.656 27.568 55.936 9.68 5.376 17.727 8.064 28.432 8.064 11.727 0 20.783-3.216 31.103-9.665l296.896-186.176v131.84c0 23.248 13.92 44.657 34.224 55.937 9.696 5.376 21.056 8.064 31.776 8.064 11.712 0 23.792-3.215 34.112-9.664l505.456-314.096c18.785-11.664 30.288-32.223 30.288-54.336s-11.376-42.671-30.16-54.351l-505.28-314.096a63.906 63.906 0 0 0-33.76-9.649z\"}}]})(props);\n};\nexport function SlControlPause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416.272 0H192.064c-17.664 0-32 14.32-32 32v960c0 17.664 14.336 32 32 32h224.208c17.68 0 32-14.336 32-32V32c0-17.68-14.32-32-32-32zm-32 960H224.064V64h160.208v896zM831.937 0H608.881c-17.68 0-32 14.32-32 32v960c0 17.664 14.32 32 32 32h223.056c17.68 0 32-14.336 32-32V32c0-17.68-14.304-32-32-32zm-32 960H640.881V64h159.056v896z\"}}]})(props);\n};\nexport function SlControlPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144.624 65.392l735.744 446.592-736.736 446.624zm0-64a63.765 63.765 0 0 0-31.088 8.063c-20.32 11.28-32.912 32.705-32.912 55.937l-.992 893.216a63.958 63.958 0 0 0 32.912 55.936 63.937 63.937 0 0 0 31.088 8.065c11.712 0 23.472-3.216 33.775-9.664l736.72-446.624a63.94 63.94 0 0 0 30.257-54.336c0-22.112-11.44-42.672-30.257-54.352L178.4 11.025a64.084 64.084 0 0 0-33.775-9.632z\"}}]})(props);\n};\nexport function SlControlRewind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M573.92 197.904L68.64 512.001l505.28 314.096V579.121l384 246.976V197.905l-384 246.992v-255.84 8.847zm-2.656-63.999c10.704 0 22.736 2.67 32.416 8.062 20.32 11.28 34.24 32.705 34.24 55.937v131.84l298.224-186.192c10.32-6.4 21.376-9.648 33.12-9.648 10.688 0 15.728 2.671 25.424 8.063 20.32 11.28 27.232 32.704 27.232 55.937v628.192c0 23.248-7.248 44.656-27.568 55.936-9.68 5.376-17.727 8.064-28.432 8.064-11.727 0-20.783-3.216-31.103-9.665L637.921 694.255v131.84c0 23.248-13.92 44.657-34.24 55.937-9.68 5.376-21.04 8.064-31.76 8.064-11.712 0-23.792-3.215-34.112-9.664L32.353 566.336C13.585 554.688 2.08 534.128 2.08 512s11.376-42.671 30.16-54.351l505.264-314.096a63.856 63.856 0 0 1 33.759-9.648z\"}}]})(props);\n};\nexport function SlControlStart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M974.944 65.392c0-23.232-12.592-44.654-32.912-55.935a63.765 63.765 0 0 0-31.088-8.063 63.96 63.96 0 0 0-33.775 9.648L141.44 457.634c-15.952 9.905-26.512 26.208-29.376 44.4V32.004c0-17.664-14.336-32-32-32s-32 14.336-32 32v960c0 17.664 14.336 32 32 32s32-14.336 32-32V521.939c2.88 18.208 13.44 34.511 29.375 44.384l736.72 446.64a63.881 63.881 0 0 0 33.776 9.664 63.937 63.937 0 0 0 31.088-8.065 63.958 63.958 0 0 0 32.912-55.936zM175.2 511.985L910.944 65.393l1.008 893.216z\"}}]})(props);\n};\nexport function SlCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928.144 176H95.856c-53.024 0-96 42.976-96 96v480c0 53.024 42.976 96 96 96h832.288c53.024 0 96-42.976 96-96V272c0-53.024-42.976-96-96-96zM95.856 240h832.288c17.664 0 32 14.336 32 32v64H63.856v-64c0-17.664 14.351-32 32-32zm832.288 544H95.856c-17.664 0-32-14.336-32-32V464h896.288v288c0 17.664-14.352 32-32 32z\"}}]})(props);\n};\nexport function SlCrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M992 800l-128 .002V206.098L983.456 86.802c12.48-12.496 12.48-32.769 0-45.265-12.496-12.496-32.769-12.496-45.265 0L819.583 160.001H224v-128c0-17.68-14.32-32-32-32s-32 14.32-32 32v128H32c-17.68 0-32 14.32-32 32 0 17.664 14.32 32 32 32h128v608c0 2.945.945 5.6 1.681 8.288.32 1.216.256 2.464.72 3.632 3.216 8.065 9.6 14.433 17.664 17.681 1.376.56 2.88.495 4.288.847 2.528.64 4.929 1.551 7.648 1.551h608v128c0 17.68 14.32 32 32 32s32-14.32 32-32V864h128c17.68 0 32-14.32 32-32s-14.32-32-32-32zM755.488 224.002L224 754.786V224.002h531.488zm-486.208 576L800 270.018v529.984z\"}}]})(props);\n};\nexport function SlCup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832.56 415.792c-8.336 0-35.202-.16-64.306-.368l.113-63.968c0-35.344-28.657-64-64-64l-640.496-.16c-35.344 0-64 28.656-64 64V832.24c0 106.032 85.967 192 192 192h384.656c106.032 0 191.008-85.968 191.008-192l.064-32.848c29.024.224 58.608.4 64.977.4 105.776 0 191.568-85.04 191.568-191.072-.016-106.048-85.808-192.928-191.584-192.928zM703.533 832.24c0 70.592-56.4 128-127.008 128H191.869c-70.592 0-128-57.408-128-128l-.096-480.944 640.592.192zm129.026-95.519c-6.352 0-35.888-.191-64.863-.4l.448-256.815c29.12.208 56.048.368 64.4.368 73.12 0 128.623 54.544 128.623 127.84S905.68 736.722 832.56 736.722zM575.87 223.762c17.664 0 32-14.336 32-32v-160c0-17.664-14.336-32-32-32s-32 14.336-32 32v160c0 17.68 14.336 32 32 32zm-384 0c17.664 0 32-14.336 32-32v-160c0-17.664-14.336-32-32-32s-32 14.336-32 32v160c0 17.68 14.336 32 32 32zm192 0c17.664 0 32-14.336 32-32v-160c0-17.664-14.336-32-32-32s-32 14.336-32 32v160c0 17.68 14.336 32 32 32z\"}}]})(props);\n};\nexport function SlCursorMove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1016.4 496.64l-8.48-8.08c-.16-.16-.335-.224-.528-.367L877.648 369.76c-9.344-8.945-24.448-8.945-33.824 0l-5.488 8.064c-9.344 8.945-6.304 23.408 3.04 32.336l76.464 69.344H546.496V106.16l69.343 76.464c8.945 9.344 23.409 12.384 32.336 3.023l8.065-5.471c8.944-9.376 8.944-24.481 0-33.841L543.072 22.368a31.874 31.874 0 0 0-12.32-13.296l-1.423-1.488C524.897 2.912 518.993.576 513.105.608c-5.904-.032-11.776 2.304-16.288 6.976l-8.096 8.463c-.16.16-.176.369-.336.544L372.881 144.335c-8.927 9.329-8.927 24.449 0 33.825l8.065 5.471c8.928 9.344 23.424 6.32 32.368-3.024l69.152-77.105v375.984H106.162l76.464-69.343c9.344-8.945 12.384-23.409 3.04-32.336l-5.471-8.065c-9.36-8.944-24.497-8.944-33.84 0L22.37 482.926a31.957 31.957 0 0 0-13.28 12.29l-1.489 1.423C2.914 501.087.593 506.992.626 512.88c-.016 5.905 2.288 11.777 6.976 16.288l8.464 8.096c.16.16.368.176.528.336l127.744 115.504c9.344 8.928 24.464 8.928 33.84 0l5.472-8.064c9.344-8.945 6.304-23.44-3.04-32.369l-77.12-69.152h379.008v376.96l-69.153-77.103c-8.944-9.344-23.44-12.369-32.368-3.025l-8.064 5.472c-8.928 9.376-8.928 24.496 0 33.824l115.504 127.744c.16.176.192.368.336.528l8.095 8.48c4.512 4.673 10.384 7.009 16.288 6.976 5.873.033 11.777-2.303 16.225-6.975l8.096-8.48c.16-.16.224-.337.368-.529l118.432-129.744c8.944-9.344 8.944-24.464 0-33.824l-8.065-5.488c-8.944-9.344-23.408-6.304-32.335 3.04l-69.344 76.464V543.502H920.48l-77.105 69.152c-9.343 8.944-12.368 23.44-3.024 32.368l5.472 8.064c9.376 8.928 24.496 8.928 33.824 0l127.744-115.504c.176-.175.368-.19.528-.334l8.48-8.096c4.672-4.496 7.008-10.368 6.976-16.288.032-5.857-2.304-11.777-6.975-16.225z\"}}]})(props);\n};\nexport function SlCursor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M921.088 103.232L584.832 889.024 465.52 544.512 121.328 440.48zM1004.46.769c-6.096 0-13.52 1.728-22.096 5.36L27.708 411.2c-34.383 14.592-36.56 42.704-4.847 62.464l395.296 123.584 129.36 403.264c9.28 15.184 20.496 22.72 31.263 22.72 11.936 0 23.296-9.152 31.04-27.248l408.272-953.728C1029.148 16.368 1022.86.769 1004.46.769z\"}}]})(props);\n};\nexport function SlDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1018.72 295.472L878.848 28.03C870.688 12.43 849.584-.322 832-.322H510.064c-.351-.015-.703-.11-1.054-.127-.288 0-.56.113-.849.128h-316.16c-17.6 0-38.752 12.72-47.024 28.256L5.473 290.223c-8.289 15.536-6.624 39.937 3.631 54.257l480.016 669.152c5.153 7.184 12 10.815 18.832 10.815 6.785 0 13.584-3.536 18.768-10.591L1014.624 349.6c10.384-14.193 12.256-38.544 4.096-54.128zm-76.353-7.843H770.911l68.656-196.608zM575.343 63.677h205.968l-63.888 182.928zm92.895 223.952H370.591L511.263 85.533zm-354.351-30.544L249.71 63.677h198.816zm366.863 94.544L508.718 844.173 345.262 351.629H680.75zM436.926 831.085L92.99 351.629h184.832zm311.616-479.456H933.71l-352.976 480.56zM188.478 82.413l68.096 205.216H79.326z\"}}]})(props);\n};\nexport function SlDirection (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M966.912 298.16l-179.121-192A32.105 32.105 0 0 0 764.367 96h-267.12l-1.008-66c0-16.56-14.336-30-32-30s-30 13.44-30 30l-.975 66H80.496c-17.68 0-32 14.32-32 32v384c0 17.68 14.32 32 32 32h352.336v450c0 16.56 14.336 30 32 30s32-13.44 32-30V544h267.536c8.88 0 17.344-3.68 23.408-10.16l179.12-192c11.472-12.304 11.472-31.376.016-43.68zM750.463 480H112.495V160h637.968l149.28 160z\"}}]})(props);\n};\nexport function SlDirections (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1017.06 186.064L917.364 74.721a31.964 31.964 0 0 0-23.937-10.752H543.171V30.001c0-16.56-14.336-30-32-30s-32 13.44-32 30V63.97H223.363c-17.68 0-32 14.32-32 32v223.664c0 17.68 14.32 32 32 32h255.808v64.096H130.58a31.963 31.963 0 0 0-23.936 10.752L6.963 539.793c-10.752 12.128-10.752 30.368 0 42.496l99.68 112.288c6.112 6.847 14.784 9.744 23.936 9.744h348.592V994c0 16.56 14.336 30 32 30s32-13.44 32-30V704.32h256.464c17.68 0 32-14.32 32-32V447.713c0-17.68-14.32-32-32-32H543.171v-64.096h350.256a31.963 31.963 0 0 0 23.937-10.752l99.696-112.32c10.736-12.112 10.736-30.352 0-42.48v-.001zM767.647 640.321H144.959l-71.28-79.28 71.28-81.312h622.688v160.592zm111.392-352.688h-623.68V127.969h623.68l71.28 79.344z\"}}]})(props);\n};\nexport function SlDisc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 0C229.216 0 0 229.216 0 512s229.216 512 512 512 512-229.216 512-512S794.784 0 512 0zm448 512c0 66.32-14.593 129.263-40.56 185.935L636.222 546.383c3.025-10.976 4.785-22.464 4.785-34.384 0-71.248-57.744-129.008-129.008-129.008-14.624 0-28.624 2.544-41.712 7.025L300.672 117.104C363.664 83.264 435.616 64 512 64c247.024 0 448 200.976 448 448zm-448.001-64.994c35.84 0 65.008 29.151 65.008 65.008s-29.168 64.992-65.008 64.992-64.992-29.168-64.992-65.008 29.152-64.992 64.992-64.992zM246.575 151.373l170.177 273.84c-.752.832-1.536 1.648-2.288 2.513l-283.168-151.52c30.208-48.577 69.392-90.977 115.279-124.833zM64 511.997c0-63.68 13.44-124.256 37.504-179.168l284.368 152.16c-1.857 8.72-2.881 17.728-2.881 27.008 0 71.248 57.744 129.008 129.008 129.008 12.4 0 24.353-1.84 35.696-5.104l170.192 273.792c-61.68 32.048-131.664 50.304-205.888 50.304-247.024 0-448-200.976-448-448zm708.447 364.16L602.943 603.47c.496-.496.96-1.024 1.456-1.536l284.288 152.144a452.058 452.058 0 0 1-116.24 122.08z\"}}]})(props);\n};\nexport function SlDislike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M415.44.24c290.832 0 293.089 12.066 329.104 39.187 19.104 14.368 55.151 24.335 186.831 32.912 9.568.624 18.64 4.288 24.736 11.68 2.8 3.408 68.592 99.36 68.592 253.023 0 151.44-47.088 220.48-49.103 223.696a31.988 31.988 0 0 1-27.12 15.024c-108.112 0-257.984 138-358.752 378.912-17.424 41.664-21.008 69.055-85.024 69.055-36.4 0-77.2-26.064-97.376-59.504-41.311-68.32-20.336-215.057-.912-293.474-66 .529-185.472 1.44-242.319 1.44-79.072 0-131.393-47.151-133.009-116.096-.512-22.752 2.464-51.824 9.056-66.832C22.752 471.903.288 445.71-.687 411.998c-1.233-43.504 27.279-76.64 45.455-95.664-4.16-12.656-12.512-29.44-11.712-49.505 2.015-49.343 40.095-81.151 63.84-97.743-1.953-13.456-3.489-38.944.832-58.624C114.848 31.838 230.128.238 415.44.238zm498.946 137.01c-114.688-9.488-175.996-22.338-208.332-46.69-25.024-18.832-21.152-26.303-290.608-26.303-82.176 0-242.896 3.424-255.216 59.824-4.912 22.56 18.88 44.752 18.976 44.912 6.496 16.048-.752 34.848-16.592 41.776-.256.127-64.128 23.024-65.6 58.736-.944 22.832 14.72 36.544 15.088 37.103 9.312 14.464 5.903 34.32-8.225 44.16-.16.128-41.568 25.216-40.543 59.44.784 27.152 36.576 46.288 37.664 46.928 8 4.576 13.824 12.496 15.631 21.568 1.808 9.025-.224 18.528-5.824 25.84 0 0-16.272 25.872-15.696 50.112 1.184 51.936 57.023 53.568 69.008 53.568 80.72 0 288.03-.848 288.03-.848 11.184-.032 20.864 5.248 26.864 14.192s6.464 20.065 2.928 30.225c-31.248 90.032-48.704 231.28-19.712 279.536 8.528 14.224 10.496 28.432 42.496 28.432 4.432 0 14.991-3.504 25.999-29.745 106.992-255.808 266.704-403.808 397.521-417.15 11.28-25.728 32.496-79.04 32.496-175.792-.032-98.736-31.312-175.104-46.353-199.824z\"}}]})(props);\n};\nexport function SlDoc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M560 0H208c-35.344 0-64 28.656-64 64v896c0 35.344 28.656 64 64 64h608c35.344 0 64-28.656 64-64V320.016zm256 346.528V352H528V64h5.504zM208 960V64h256v352h352v544H208z\"}}]})(props);\n};\nexport function SlDocs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M768 0H416c-35.344 0-64 28.656-64 64h352v256h256v512H736v64h224c35.344 0 64-28.656 64-64V256.016zm0 256V90.496L933.472 256H768zM64 128c-35.344 0-64 28.656-64 64v768c0 35.344 28.656 64 64 64h544c35.344 0 64-28.656 64-64V384.016L416 128H64zm544 832H64V192h288v256h256v512zM416 384V218.496L581.472 384H416z\"}}]})(props);\n};\nexport function SlDrawer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1022.98 509.984L905.475 102.895c-3.84-13.872-16.464-23.472-30.848-23.472H139.283c-14.496 0-27.184 9.744-30.944 23.777L.947 489.552c-1.984 7.504-1.009 15.007 1.999 21.536C1.218 516.88.003 522.912.003 529.264v351.312c0 35.343 28.656 64 64 64h896c35.343 0 64-28.657 64-64V529.264c0-1.712-.369-3.329-.496-5.008.832-4.592.816-9.44-.527-14.272zm-859.078-366.56l686.369-.001 93.12 321.84H645.055c-1.44 76.816-55.904 129.681-133.057 129.681s-130.624-52.88-132.064-129.68H74.158zm796.097 737.151H64.001V529.263h263.12c27.936 80.432 95.775 129.68 184.879 129.68s157.936-49.248 185.871-129.68h262.128v351.312z\"}}]})(props);\n};\nexport function SlDrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.4 1022.704c-193.312 0-350.592-155.12-350.592-345.776 0-222.688 311.632-644.848 324.912-662.72a31.98 31.98 0 0 1 25.473-12.913c11.183-.096 19.567 4.593 25.663 12.56 13.408 17.537 328.336 432.226 328.336 663.058 0 190.672-158.72 345.791-353.792 345.791zm.352-935.008c-74.4 105.664-286.943 422.064-286.943 589.217 0 155.376 128.56 281.776 286.592 281.776 159.776 0 289.776-126.4 289.776-281.776.016-173.36-214.145-485.024-289.425-589.217z\"}}]})(props);\n};\nexport function SlEarphonesAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1023.84 572.544c.096-21.056-3.217-100.496-5.745-123.216-29.12-260.752-240.752-450-503.184-450-273.344 0-494.815 210.624-509.84 489.904-.32 6.096-2.56 49.344-2.72 75.088l-.08 14.32C.958 584.56.158 590.672.158 596.976v214.656c0 46.88 38.128 85.008 85.008 85.008h86.288c46.88 0 85.023-38.128 85.023-85.008v-214.64c0-46.88-38.16-85.008-85.024-85.008H85.15a85.65 85.65 0 0 0-17.184 1.744c.48-10.383.912-18.576 1.025-21.056C82.159 247.888 276.127 63.328 514.91 63.328c229.28 0 414.128 165.344 439.568 393.12 1.072 9.504 2.448 33.664 3.552 57.92-6.193-1.44-12.577-2.385-19.2-2.385H853.55c-46.88 0-85.008 38.128-85.008 85.008v213.664c0 32.368 18.4 60.256 45.09 74.592l-205.44 80.656v-5.216c0-17.664-14.337-32-32-32h-96c-17.665 0-32 14.336-32 32v32c0 17.664 14.335 32 32 32h96c.272 0 .512-.08.784-.08l57.36-.224L963.89 895.007c4.32-1.792 7.984-4.464 10.992-7.664 28.848-13.616 48.991-42.736 48.991-76.688V596.99c0-5.216-.64-10.288-1.552-15.233.88-2.944 1.504-6 1.52-9.216zm-938.689 3.44h86.29c11.6 0 21.023 9.408 21.023 21.008v214.656c0 11.6-9.44 21.008-21.025 21.008H85.152c-11.6 0-21.007-9.409-21.007-21.008V596.992c.015-11.6 9.423-21.008 21.007-21.008zm747.377 21.008c0-11.6 9.41-21.008 21.009-21.008h85.28c11.6 0 21.023 9.408 21.023 21.008v213.664c0 11.6-9.44 21.008-21.024 21.008h-85.28c-11.6 0-21.008-9.408-21.008-21.008V596.992z\"}}]})(props);\n};\nexport function SlEarphones (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1023.84 604.56c.096-21.056-3.216-100.497-5.744-123.217-29.12-260.752-240.752-450-503.184-450-273.344 0-494.815 210.624-509.84 489.904-.32 6.096-2.56 49.344-2.72 75.088l-.08 14.32C.96 616.575.16 622.687.16 628.991v278.656c0 46.88 38.128 85.008 85.008 85.008h86.288c46.88 0 85.023-38.128 85.023-85.008v-278.64c0-46.88-38.16-85.008-85.024-85.008h-86.32a85.65 85.65 0 0 0-17.184 1.744c.48-10.383.912-18.591 1.024-21.055C82.16 279.904 276.111 95.344 514.911 95.344c229.28 0 414.128 165.344 439.568 393.12 1.088 9.504 2.464 33.664 3.569 57.92-6.24-1.44-12.609-2.385-19.233-2.385h-85.28c-46.88 0-85.008 38.128-85.008 85.008V906.67c0 46.895 38.128 85.007 85.008 85.007h85.28c46.88 0 85.024-38.127 85.024-85.007V629.007c0-5.216-.64-10.288-1.568-15.216.928-2.944 1.536-6.017 1.569-9.233zm-938.704 3.439h86.288c11.6 0 21.023 9.408 21.023 21.008v278.656c0 11.616-9.44 21.008-21.024 21.008H85.135c-11.6 0-21.008-9.409-21.008-21.008V629.007c.032-11.6 9.44-21.008 21.009-21.008zM959.84 906.655c0 11.6-9.44 21.008-21.023 21.008h-85.28c-11.6 0-21.009-9.408-21.009-21.008V629.007c0-11.6 9.409-21.007 21.008-21.007h85.28c11.6 0 21.024 9.408 21.024 21.007v277.648z\"}}]})(props);\n};\nexport function SlEmotsmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M781.264 607.152c-16.256-7.28-35.089.064-42.257 16.192-.656 1.424-66.128 144.208-229.439 146.128-1.008 0-2 .033-3.008.033-153.664 0-219.937-140.368-222.688-146.4-7.311-16-26.191-23.12-42.319-15.872-16.096 7.28-23.248 26.208-15.968 42.335 3.408 7.569 85.376 183.937 280.848 183.937 1.28 0 2.592-.032 3.872-.032 203.872-2.4 283.84-176.656 287.12-184.064 7.248-16.16-.032-35.072-16.16-42.256zM511.999.001c-282.784 0-512 229.216-512 512s229.216 512 512 512 512-229.216 512-512-229.216-512-512-512zm0 960c-247.024 0-448-200.976-448-448s200.976-448 448-448 448 200.976 448 448-200.976 448-448 448zM351.503 479.825c35.264 0 63.84-28.592 63.84-63.824s-28.576-63.824-63.84-63.824c-35.28 0-63.84 28.591-63.84 63.824s28.56 63.824 63.84 63.824zm320 0c35.264 0 63.84-28.592 63.84-63.824s-28.576-63.824-63.84-63.824c-35.28 0-63.84 28.591-63.84 63.824s28.56 63.824 63.84 63.824z\"}}]})(props);\n};\nexport function SlEnergy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M595.344 64.72h.176-.176zm0 0l-72.207 379.377 261.584.88L428.657 959.28l72.208-417.376-261.568-.912zm.049-63.999c-1.728 0-3.455.063-5.151.19-11.296.913-18.785 4.689-27.664 10.657a64.304 64.304 0 0 0-13.392 11.936 56.688 56.688 0 0 0-3.297 4.288L187.281 502.4c-14.16 19.408-16.24 45.025-5.36 66.433 10.864 21.408 32.832 34.976 56.912 35.152l184.736 1.344-58.08 342.192c-5.52 29.408 10.16 58.72 37.76 70.528a64.19 64.19 0 0 0 25.391 5.216c20.112 0 36.64-9.408 49.041-26.4L836.737 482.56c14.16-19.409 16.225-45.057 5.36-66.433-10.864-21.408-32.832-34.977-56.912-35.152l-184.736-.32 57.456-300.88a62.46 62.46 0 0 0 1.825-15.056c0-34.624-27.569-62.848-62.065-63.968-.767-.032-1.52-.032-2.271-.032z\"}}]})(props);\n};\nexport function SlEnvelopeOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1023.31 473.296c-1.36-11.312-5.614-21.713-12.095-30.465h.16l-.88-.88c-3.28-4.32-7.12-8.128-11.408-11.504L581.807 27.04c-36.223-36.223-99.504-36.288-135.776 0L28.815 427.295c-9.024 8.4-28.88 31.09-28.88 53.345v479.52c0 35.184 28.816 64 64 64h896c35.183 0 64-28.816 64-64V481.904c.223-2.88-.065-5.76-.625-8.607zM269.794 726.335L63.938 915.902V544.718zm65.775 26.384c2.288-1.52 4.465-3.248 6.37-5.408.367-.416.623-.912.96-1.344l141.167-130c7.248-5.84 15.84-8.912 24.88-8.912 9.184 0 18.367 3.216 24.527 8l383.6 345.104H110.337zm421.889-22.161l202.48-179.696v361.84zm-653.68-287.729L491.279 72.285c6.064-6.032 14.097-9.376 22.625-9.376 8.56 0 16.592 3.344 22.656 9.376l361.376 344.352h-.975l54.896 55.792-242.304 215.04-135.248-121.664c-37.68-29.536-91.775-30.816-131.68 1.376L317.121 682.765 75.33 469.421l26.992-26.592h1.456z\"}}]})(props);\n};\nexport function SlEnvolopeLetter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1023.31 473.28c-1.36-11.312-5.614-21.713-12.095-30.465h.16l-.88-.88c-3.28-4.32-7.12-8.128-11.408-11.504L831.935 262.047V158.783c0-17.68-14.32-32-32-32H698.607l-116.8-99.711c-36.223-36.224-99.504-36.289-135.776 0l-116.4 99.711H223.935c-17.68 0-32 14.32-32 32V264.16L28.815 427.28c-17.343 11.472-28.88 31.088-28.88 53.344v479.504c0 35.184 28.817 64 64 64h896c35.184 0 64-28.816 64-64v-478.24c.224-2.88-.064-5.76-.624-8.607zM268.865 725.503L63.937 915.582V544.686zm61.697 29.999a31.634 31.634 0 0 0 11.377-8.224c1.712-1.935 3.056-4.063 4.224-6.255l137.904-127.936c7.248-5.84 15.84-8.913 24.88-8.913 9.183 0 18.367 3.216 24.527 8l383.84 347.936H110.002zm427.777-25.776l201.6-178.896v361.632zm139.599-313.104h-.976l54.896 55.792-119.92 106.432V350.638zM491.283 72.318c6.064-6.032 14.095-9.376 22.623-9.376 8.56 0 16.592 3.344 22.656 9.376l64.624 54.464H426.754zm276.655 118.464V635.63l-57.312 50.88-136.32-123.568c-37.68-29.536-91.775-30.817-131.68 1.376l-126.624 117.44-60.064-53.008V190.782zM103.777 442.813l88.16-88.129V572.3L75.313 469.404l26.992-26.592h1.472z\"}}]})(props);\n};\nexport function SlEnvolope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1023.46 232a31.629 31.629 0 0 0-2.48-18.271C1012.917 178.288 987.3 160 944.005 160h-832c-38.08 0-79.105 14-99.28 41.472-1.745 1.328-3.409 2.832-4.912 4.576-6.449 7.44-8.705 17.009-7.264 26.033-.288 2.592-.544 5.2-.544 7.92v512c0 53.024 58.992 112 112 112h832c53.024 0 80-58.976 80-112v-512c0-2.832-.368-5.313-.544-8.001zm-911.459-8l832.001-.001h.432L512.002 568.655 81.314 225.407C91.106 223.599 103.154 224 112 224zm832.001 575.999H112.003c-17.648 0-48-30.336-48-48V293.551l427.04 341.648c6.016 5.2 13.487 7.792 20.959 7.792a32.046 32.046 0 0 0 20.976-7.792l427.024-341.632v458.432c0 17.664 1.664 48-16 48z\"}}]})(props);\n};\nexport function SlEqualizer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160.048 387.872V32c0-17.664-14.336-32-32-32s-32 14.336-32 32v355.84C40.72 402.096-.352 452.288-.352 512c0 59.727 41.072 109.903 96.4 124.176V992c0 17.664 14.336 32 32 32s32-14.336 32-32V636.144c55.28-14.304 96.305-64.447 96.305-124.144 0-59.68-41.025-109.84-96.305-124.128zm-31.632 188.16c-.112 0-.24-.03-.368-.03-.144 0-.272.032-.415.048-35.153-.208-63.697-28.848-63.697-64.048 0-35.184 28.56-63.84 63.712-64.033.128 0 .272.033.4.033s.24-.033.368-.033c35.136.224 63.664 28.864 63.664 64.032 0 35.183-28.528 63.807-63.664 64.031zm415.648 3.842l-.001-547.872c0-17.664-14.336-32-32-32s-32 14.336-32 32v547.84c-55.328 14.273-96.4 64.433-96.4 124.16s41.072 109.903 96.4 124.176v163.824c0 17.664 14.336 32 32 32s32-14.336 32-32V828.146c55.264-14.304 96.288-64.447 96.288-124.144-.016-59.664-41.023-109.824-96.287-124.128zm-31.649 188.16c-.128 0-.24-.031-.368-.031-.144 0-.272.032-.415.048-35.153-.208-63.697-28.848-63.697-64.048 0-35.216 28.609-63.872 63.792-64.032.113 0 .225.032.337.032.096 0 .192-.032.288-.032 35.168.192 63.744 28.832 63.744 64.032 0 35.183-28.529 63.807-63.681 64.031zm415.648-572.159l-.001-163.871c0-17.664-14.336-32-32-32-17.68 0-32 14.336-32 32v163.84c-55.328 14.256-96.4 64.432-96.4 124.159s41.072 109.92 96.4 124.176v547.824c0 17.664 14.32 32 32 32 17.664 0 32-14.336 32-32V444.147c55.264-14.304 96.288-64.447 96.288-124.144-.016-59.664-41.023-109.824-96.287-124.128zm-31.649 188.161c-.128 0-.24-.031-.352-.031-.143 0-.287.032-.415.032-35.152-.192-63.712-28.832-63.712-64.032 0-35.184 28.56-63.84 63.696-64.032.143 0 .287.032.415.032s.24-.032.352-.032c35.136.24 63.664 28.864 63.664 64.032.033 35.183-28.496 63.807-63.648 64.031z\"}}]})(props);\n};\nexport function SlEvent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M676 862c-16 0-28-13-28-29V691c0-16 12-28 28-28h142c16 0 29 12 29 28v142c0 16-13 29-29 29H676zm142-171H676v142h142V691zM960 96c35 0 64 29 64 64v800c0 35-29 64-64 64H64c-35 0-64-29-64-64V160c0-35 29-64 64-64h256V32c0-18 14-32 32-32s32 14 32 32v64h256V32c0-18 14-32 32-32s32 14 32 32v64h256zM64 960h896V160H704v32c0 18-14 32-32 32s-32-14-32-32v-32H384v32c0 18-14 32-32 32s-32-14-32-32v-32H64v800z\"}}]})(props);\n};\nexport function SlExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 674V192c0-18 14-32 32-32s32 14 32 32v482h-64zm0 63h64v60h-64v-60zM0 512C0 229 229 0 512 0s512 229 512 512-229 512-512 512S0 795 0 512zm961 0c0-247-202-448-449-448S64 265 64 512s201 448 448 448 449-201 449-448z\"}}]})(props);\n};\nexport function SlEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M515.472 321.408c-106.032 0-192 85.968-192 192 0 106.016 85.968 192 192 192s192-85.968 192-192-85.968-192-192-192zm0 320c-70.576 0-129.473-58.816-129.473-129.393s57.424-128 128-128c70.592 0 128 57.424 128 128s-55.935 129.393-126.527 129.393zm508.208-136.832c-.368-1.616-.207-3.325-.688-4.91-.208-.671-.624-1.055-.864-1.647-.336-.912-.256-1.984-.72-2.864-93.072-213.104-293.663-335.76-507.423-335.76S95.617 281.827 2.497 494.947c-.4.897-.336 1.824-.657 2.849-.223.624-.687.975-.895 1.567-.496 1.616-.304 3.296-.608 4.928-.591 2.88-1.135 5.68-1.135 8.592 0 2.944.544 5.664 1.135 8.591.32 1.6.113 3.344.609 4.88.208.72.672 1.024.895 1.68.336.88.256 1.968.656 2.848 93.136 213.056 295.744 333.712 509.504 333.712 213.776 0 416.336-120.4 509.44-333.505.464-.912.369-1.872.72-2.88.224-.56.655-.976.848-1.6.496-1.568.336-3.28.687-4.912.56-2.864 1.088-5.664 1.088-8.624 0-2.816-.528-5.6-1.104-8.497zM512 800.595c-181.296 0-359.743-95.568-447.423-287.681 86.848-191.472 267.68-289.504 449.424-289.504 181.68 0 358.496 98.144 445.376 289.712C872.561 704.53 693.744 800.595 512 800.595z\"}}]})(props);\n};\nexport function SlEyeglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1025.38 651.792c-.976-13.84-53.008-319.313-61.151-368.226-.785-4.688-1.409-9.68-2.096-14.944-6.288-49.153-18.032-140.624-165.473-140.624-17.68 0-32 14.32-32 32s14.32 32 32 32c91.12 0 95.936 37.408 102 84.784.785 6.064 1.537 11.872 2.434 17.28 3.744 22.528 20.704 112.16 35.343 201.024-37.551-28.624-84.288-45.807-135.12-45.807-81.648 0-154.32 43.952-194.272 109.36-19.215-7.264-51.824-16.336-95.392-16.336-42.945 0-74.513 9.135-94.032 17.088-38.848-65.825-110.304-110.128-192.271-110.128-53.264 0-102.735 18.72-141.84 49.84 14.832-89.985 32.4-182.033 36.208-205.025.912-5.408 1.664-11.215 2.431-17.28 6.065-47.376 10.881-84.784 102.001-84.784 17.68 0 32-14.32 32-32s-14.32-32-32-32c-147.44 0-159.185 91.472-165.473 140.624-.688 5.248-1.312 10.256-2.097 14.944C48.42 332.494-.427 635.95-1.387 649.807c-.224 3.088.144 6.048.753 8.944-.304 4.624-.72 9.215-.72 13.904 0 123.344 103.344 223.344 226.688 223.344s223.344-100 223.344-223.344c0-18.656-2.544-36.672-6.848-53.984 13.12-5.28 36.832-12.335 69.808-12.335 32.176 0 56.464 6.431 70.304 11.328-4.609 17.631-7.329 35.967-7.329 54.992C574.613 796 677.957 896 801.301 896s223.344-100 223.344-223.344c0-3.344-.351-6.608-.495-9.92.976-3.488 1.52-7.137 1.232-10.944zm-800.036 180.19c-88.192 0-162.688-72.976-162.688-159.344s74.496-159.344 162.688-159.344c87.872 0 159.344 71.472 159.344 159.344s-71.472 159.344-159.344 159.344zm575.968 0c-88.192 0-162.689-72.978-162.689-159.346s74.496-159.344 162.688-159.344c76 0 139.632 53.488 155.456 124.784.656 6.528 1.2 12.672 1.616 18.288.193 2.689.912 5.217 1.84 7.665.16 2.88.433 5.712.433 8.624 0 87.857-71.472 159.328-159.344 159.328z\"}}]})(props);\n};\nexport function SlFeed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M101.872 330.256c-18.128 0-32.769 14.656-32.769 32.769 0 18.095 14.64 32.767 32.768 32.767 303.008 0 525.344 224.368 525.344 527.36 0 18.096 14.656 32.752 32.769 32.752s32.768-14.656 32.768-32.752c0-340.368-250.528-592.896-590.88-592.896zm.287-327.632c-18.112 0-32.77 14.655-32.77 32.768S84.046 68.16 102.16 68.16c470.175 0 852.671 382.496 852.671 852.656 0 18.096 14.656 32.752 32.769 32.752s32.768-14.656 32.768-32.752C1020.352 414.528 608.447 2.624 102.16 2.624zm81.856 656.975c-99.472 0-180.369 81.12-180.369 180.879 0 99.712 80.912 180.912 180.368 180.912 99.456 0 180.4-81.184 180.4-180.911 0-99.76-80.928-180.88-180.399-180.88zm-.001 298.43c-64.608 0-117.168-52.752-117.168-117.568s52.56-117.536 117.168-117.536c64.624 0 117.216 52.72 117.216 117.536S248.638 958.03 184.014 958.03z\"}}]})(props);\n};\nexport function SlFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M800 272.288h64c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32zm0 192h64c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32zm0 192h64c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32zm0 192h64c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32zm-640-576h64c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32zm0 192h64c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32zm0 192h64c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32zm0 192h64c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32zM960 15.904H64c-35.184 0-64 28.816-64 64v864.192c0 35.184 28.816 64 64 64h896c35.184 0 64-28.816 64-64V79.904c0-35.184-28.816-64-64-64zm0 928.193H64V79.905h896v864.192z\"}}]})(props);\n};\nexport function SlFire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M508.416 1023.28c-241.248 0-412.369-167.28-412.369-397.777 0-122.368 73.376-254.192 76.496-259.712 6.368-11.343 18.88-17.504 31.936-16.063a32.052 32.052 0 0 1 26.88 23.567c.192.752 19.968 74.752 46.064 115.84 17.536 27.649 35.312 47.185 55.312 60.753-13.536-58.656-23.904-146.912-7.024-237.472C372.047 63.84 567.695 4.368 576.08 1.968c10.784-3.088 22.225-.32 30.433 7.151 8.192 7.504 11.936 18.752 9.808 29.665-.32 1.744-32.624 175.776 35.936 324.064 6.223 13.471 14.912 29.12 24.256 44.784 2.656-21.504 6.784-44.368 13.12-66.56 25.152-87.969 90.192-118 92.944-119.217 10.848-4.944 23.504-3.312 32.88 4.032a32.061 32.061 0 0 1 11.68 31.007c-.336 2.16-9.409 62.033 41.536 146.944 46 76.672 59.28 126.368 59.28 221.681 0 230.48-176.432 397.761-419.536 397.761zm-312.721-555.6c-17.568 44.304-35.665 103.246-35.665 157.806 0 193.408 144.192 333.776 348.368 333.776 206 0 355.536-140.368 355.536-333.776 0-83.536-10.32-122.32-50.16-188.752-26.624-44.368-39.777-84.256-46.065-116-6.336 10.256-12.223 22.784-16.527 37.872-19.504 68.193-14.592 147.937-14.527 148.753.944 14.273-7.744 27.473-21.248 32.257s-28.529.064-36.817-11.663c-2.4-3.408-59.312-83.968-84.4-138.24-52.096-112.592-51.216-234.336-45.904-304.464-52.72 30.72-133.664 99.344-159.664 238.912-25.312 135.808 23.872 271.6 24.4 272.943 4.256 11.088 2 23.664-5.808 32.592-7.84 8.88-19.904 12.815-31.536 10.03-3.967-.975-94.032-24.399-152.336-116.286-10.416-16.464-19.76-36.384-27.647-55.76z\"}}]})(props);\n};\nexport function SlFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M680 95.328c-160 0-202.655-96-405.312-96C144-.672 64 98.016 64 98.016v894.656c0 17.665 14.336 32 32 32s32-14.335 32-32V584.8c33.76-21.776 80.336-41.472 138.688-41.472 202.656 0 261.312 96 421.312 96s272-96 272-96v-544s-120 96-280 96zM896.001 510.72c-36.16 23.584-112.784 64.606-208 64.606-62.912 0-105.84-17.263-160.224-39.135-66.272-26.64-141.408-56.864-261.088-56.864-54.688 0-101.072 13.76-138.688 32.16V124.017c24.096-21.92 76.624-60.688 146.688-60.688 94.112 0 147.088 22.848 203.184 47.008 55.872 24.08 113.664 48.992 202.128 48.992 85.248 0 160.128-23.568 216-48.912V510.72z\"}}]})(props);\n};\nexport function SlFolderAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M960.16 208h-480l-96-96h-320c-35.344 0-64 28.656-64 64v160h-.304v64H.16v448c0 35.344 28.656 64 64 64h896c35.344 0 64-28.656 64-64V272c0-35.344-28.656-64-64-64zM64.145 176h290.75l78.624 77.248L453.632 272H960.16v64h-896V176h-.016zm-.001 672V400h896v448h-896z\"}}]})(props);\n};\nexport function SlFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M354.752 176l78.624 77.248L453.488 272H960v576H64V176h290.752zM384 112H64c-35.344 0-64 28.656-64 64v672c0 35.344 28.656 64 64 64h896c35.344 0 64-28.656 64-64V272c0-35.344-28.656-64-64-64H480z\"}}]})(props);\n};\nexport function SlFrame (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 112H32c-17.664 0-32 14.336-32 32v192c0 17.664 14.336 32 32 32s32-14.336 32-32V176h160c17.664 0 32-14.336 32-32s-14.336-32-32-32zm768 544c-17.664 0-32 14.336-32 32v160H800c-17.664 0-32 14.336-32 32s14.336 32 32 32h192c17.664 0 32-14.336 32-32V688c0-17.664-14.336-32-32-32zM224 848H64V688c0-17.664-14.336-32-32-32S0 670.336 0 688v192c0 17.664 14.336 32 32 32h192c17.664 0 32-14.336 32-32s-14.336-32-32-32zm768-736H800c-17.664 0-32 14.336-32 32s14.336 32 32 32h160v160c0 17.664 14.336 32 32 32s32-14.336 32-32V144c0-17.664-14.336-32-32-32z\"}}]})(props);\n};\nexport function SlGameController (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M743.216 75.552c-25.6-12.016-49.806-23.328-71.838-34.384C614.914 12.88 563.714-.864 514.914-.864c-98.288 0-166.304 56.704-208.96 99.36L99.106 305.568c-110.688 110.8-128.368 223.6-57.265 365.808 11.025 22.08 22.369 46.336 34.369 72.033 64.704 138.384 131.584 281.487 241.056 281.487 3.072 0 6.112-.096 9.216-.336 112.976-8.848 145.023-154.288 173.312-282.592 4.496-20.32 8.751-39.809 13.12-57.28 7.6-30.209 22.56-48.976 63.551-90.064l5.632-5.664 3.472-3.472 9.12-9.088c41.088-41.088 59.856-56.032 90.096-63.664 17.311-4.351 36.752-8.64 57.024-13.088 128.224-28.303 273.6-60.368 282.4-173.52 8.879-114.833-138.465-183.84-280.993-250.576zm215.25 244.783c-6.224 79.776-184.813 103.324-291.102 129.98-47.008 11.872-75.616 36.752-118.784 79.936-3.008 3.007-6.032 6.015-9.088 9.07-3.024 3.025-6.032 6.097-9.057 9.09-43.168 43.215-68 71.807-79.824 118.88-26.672 106.384-50.191 285.168-129.87 291.44a55.54 55.54 0 0 1-4.322.144c-84.544 0-155.68-192.24-218.447-317.664-63.744-127.504-36.433-210.224 45.36-292.096 15.696-15.727 35.215-35.247 59.135-59.182 24.432-24.464 53.487-53.552 87.919-88 23.904-23.936 43.408-43.424 59.12-59.184 50.8-50.848 101.936-80.64 163.92-80.64 37.808 0 79.632 11.056 127.872 35.248 127.456 63.905 323.888 136.48 317.168 222.978zm-479.678 30.94h64v-64h-64v64zm0-96h64v-64h-64v64zm96 0h64v-64h-64v64zm0 96h64v-64h-64v64zM329.893 543.436l24.336-24.336c12-12 12-31.472 0-43.456-12-12-31.44-12-43.44 0l-24.352 24.352-24.352-24.352c-12-12-31.44-12-43.44 0s-12 31.456 0 43.456l24.351 24.352-24.351 24.351c-12 11.985-12 31.44 0 43.44s31.456 12 43.44 0l24.352-24.335 25.056 25.055c12 12 31.44 12 43.44 0s12-31.471 0-43.471z\"}}]})(props);\n};\nexport function SlGhost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.984-.128c-229.216 0-415.681 199.903-415.681 445.6v546.672c0 13.216 8.16 25.088 20.496 29.84 3.712 1.471 7.632 2.16 11.504 2.16 8.848 0 17.536-3.68 23.712-10.527l120.592-133.12 94.431 130.432a31.918 31.918 0 0 0 25.68 13.215h.224a31.98 31.98 0 0 0 25.664-12.912l94.816-127.344 93.184 127.152a31.993 31.993 0 0 0 25.809 13.088 32.028 32.028 0 0 0 25.808-13.055l95.569-130.288 118 132.624c8.816 9.904 22.944 13.376 35.28 8.624 12.4-4.72 20.624-16.624 20.624-29.905V445.456C927.696 199.776 741.2-.128 511.984-.128zm351.711 908.16l-88.402-99.376c-6.432-7.216-15.808-11.311-25.407-10.687a32.105 32.105 0 0 0-24.32 13.024l-93.12 127.008-93.008-126.912A31.975 31.975 0 0 0 513.758 798h-.127a31.935 31.935 0 0 0-25.664 12.912l-94.689 127.152-92-127.088c-5.664-7.807-14.528-12.655-24.16-13.151-.592-.032-1.151-.065-1.743-.065a31.984 31.984 0 0 0-23.712 10.528l-91.376 100.848v-463.68c0-210.4 157.776-381.601 351.68-381.601 193.937 0 351.713 171.184 351.713 381.6V908.03h.015zM671.997 352.16c-35.28 0-63.84 28.592-63.84 63.808 0 35.248 28.56 63.84 63.84 63.84s63.84-28.592 63.84-63.84c0-35.216-28.56-63.808-63.84-63.808zm-320 0c-35.28 0-63.84 28.592-63.84 63.808 0 35.248 28.576 63.84 63.84 63.84s63.84-28.592 63.84-63.84c0-35.216-28.56-63.808-63.84-63.808z\"}}]})(props);\n};\nexport function SlGlobeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M929.504 414.416c0-168.784-88.978-321.873-237.97-409.569-15.248-9.008-34.88-3.872-43.808 11.376-8.944 15.216-3.872 34.848 11.376 43.808 129.248 76.032 206.4 208.528 206.4 354.368 0 242.368-175.936 418.288-418.319 418.288-54.192 0-106.784-10.16-156.32-30.16-16.368-6.657-35.056 1.279-41.665 17.662-6.624 16.4 1.28 35.057 17.664 41.665 57.216 23.12 117.872 34.848 180.32 34.848.193 0 .385-.015.578-.015v63.007h-92.928c-18.464 0-33.44 14.304-33.44 31.952s14.976 31.937 33.44 31.937H607.68c18.464 0 33.44-14.304 33.44-31.936 0-17.664-14.976-31.952-33.44-31.952h-96.384v-66.8c245.808-28.559 418.208-220.91 418.208-478.478zm-130.13 2.879c0-194.656-157.744-353.408-352.4-353.408-194.688 0-352.465 158.752-352.465 353.408s157.776 351.44 352.465 351.44c194.656 0 352.4-156.784 352.4-351.44zm-640.88 0c0-159.024 129.408-289.408 288.464-289.408 159.024 0 288.4 130.368 288.4 289.408s-129.376 287.44-288.4 287.44c-159.056 0-288.464-128.4-288.464-287.44z\"}}]})(props);\n};\nexport function SlGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1025.02 512c0-272.016-213.663-495.104-482.319-511.023-5.536-.608-11.088-1.009-16.72-1.009-1.664 0-3.328.176-4.992.224-2.992-.048-5.968-.224-8.992-.224C229.117-.032-1.026 229.664-1.026 512s230.144 512.032 513.023 512.032c3.024 0 6-.176 9.008-.24 1.664.064 3.328.24 4.992.24 5.632 0 11.184-.4 16.72-1.009 268.64-15.92 482.304-238.976 482.303-511.023zm-95.451 164.832c-17.632-5.12-61.92-16.24-140.064-25.392 6.464-44.192 10-90.896 10-139.44 0-38.256-2.208-75.343-6.288-111.008 99.008-11.824 142.384-26.72 145.296-27.745l-11.92-33.584c22.24 53.088 34.56 111.296 34.56 172.336 0 58.193-11.28 113.761-31.583 164.833zM285.488 512.001c0-35.808 2.37-70.77 6.705-104.401 51.888 4.08 113.936 7.088 186.863 7.792v222.064c-70.992.688-131.664 3.568-182.688 7.473-7.04-42.193-10.88-86.88-10.88-132.928zM542.945 68.223c78.464 22.736 145.648 131.695 175.744 276.111-48.368 3.856-106.624 6.673-175.744 7.33V68.223zm-63.886.783V351.63c-68.368-.688-126.88-3.473-176.063-7.232C333.7 201.79 401.428 93.646 479.059 69.006zm0 632.223l.001 253.743c-72.4-22.976-136.192-118.575-169.36-247.023 47.76-3.504 104.096-6.063 169.359-6.72zm63.888 254.543l-.001-254.56c65.952.623 122.064 3.28 169.217 6.928-32.608 130.128-96 226.416-169.216 247.632zm-.001-318.32l.001-222.032c73.311-.688 134.991-3.776 186.191-8a844.922 844.922 0 0 1 6.496 104.592c0 46.128-3.712 90.864-10.528 133.12-50.416-4.08-110.8-7.008-182.16-7.68zm371.858-323.52c-9.664 3.008-50.063 14.48-131.023 24.032-18.048-95.952-50.672-177.968-93.12-237.168C788.197 143.18 867.797 219.1 914.805 313.932zM358.82 90.589c-52.208 59.952-94.832 146.161-118.096 248.113-72.48-7.856-115.921-17.089-133.312-21.281 50.72-104.64 141.04-186.752 251.408-226.832zM83.637 377.182c12.32 3.344 58.913 14.941 145.553 24.525a795.86 795.86 0 0 0-7.68 110.305c0 48.273 4.368 94.721 12.24 138.688-74.4 8.033-120.16 17.649-140.688 22.609-19.44-50.096-30.208-104.447-30.208-161.312 0-46.96 7.312-92.256 20.783-134.815zm37.457 355.166c23.264-4.944 64.912-12.464 126.592-18.928 24.288 89.712 63.792 165.616 111.136 219.968-101.12-36.72-185.296-108.752-237.728-201.04zM690.662 923.18c38.224-53.264 68.48-125.024 87.296-208.801 63.408 7.28 103.216 15.792 123.296 20.864-48.016 83.072-121.855 149.393-210.592 187.937z\"}}]})(props);\n};\nexport function SlGraduation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M990.848 696.304V438.16l16.096-8.496c10.464-5.44 17.055-16.225 17.183-28.032.128-11.777-6.256-22.689-16.592-28.368l-481.44-257.6c-9.631-5.28-21.28-5.249-30.976.095l-478.8 257.92C6.126 379.36-.177 390.143-.113 401.84s6.496 22.4 16.817 27.97l210.384 111.983c-2.64 4.656-4.272 9.968-4.272 15.696v270.784c0 9.12 3.905 17.84 10.72 23.904 6.945 6.16 73.441 60.096 276.753 60.096 202.592 0 270.88-50.976 278-56.784 7.44-6.064 11.744-15.152 11.744-24.784V552.976c0-4.496-.944-8.768-2.608-12.64l129.424-68.369V696.48c-18.976 11.104-31.84 31.472-31.84 55.024 0 35.344 28.656 64 64 64s64-28.656 64-64c0-23.697-13.04-44.145-32.16-55.2zM736.031 812.368c-25.152 12.096-91.712 35.904-225.744 35.904-134.88 0-199.936-25.344-223.472-37.536V573.6l207.808 110.624a31.896 31.896 0 0 0 15.184 3.84 31.675 31.675 0 0 0 14.816-3.664l211.408-111.664v239.632zM510.063 619.81l-411.6-218.561 412.32-220.976 413.6 220.336z\"}}]})(props);\n};\nexport function SlGraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M944 224c-44.192 0-79.999 35.824-79.999 80 0 9.072 1.84 17.632 4.607 25.76L673.6 497.68C659.92 486.784 642.848 480 624 480c-21.743 0-41.407 8.736-55.808 22.816l-152.752-76.48C412.465 384.848 378.241 352 336 352c-44.175 0-80 35.824-80 80 0 12.096 2.88 23.44 7.68 33.712L107.936 645.296C99.2 642.032 89.872 640 80 640c-44.176 0-80 35.824-80 80s35.824 80 80 80 80-35.824 80-80c0-10.64-2.176-20.767-5.952-30.048l158.272-181.92C319.856 510.368 327.696 512 336 512c23.28 0 44.047-10.112 58.671-26l149.408 74.912C544.608 604.656 580.127 640 624 640c44.193 0 80-35.824 80-80 0-1.424-.336-2.752-.416-4.16L911.68 377.072C921.584 381.456 932.463 384 944 384c44.193 0 80-35.808 80-80 0-44.176-35.807-80-79.999-80z\"}}]})(props);\n};\nexport function SlGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M960 1024H640c-35.344 0-64-28.656-64-64V640c0-35.344 28.656-64 64-64h320c35.344 0 64 28.656 64 64v320c0 35.344-28.656 64-64 64zm0-384H640v320h320V640zm0-192H640c-35.344 0-64-28.656-64-64V64c0-35.344 28.656-64 64-64h320c35.344 0 64 28.656 64 64v320c0 35.344-28.656 64-64 64zm0-384H640v320h320V64zm-576 960H64c-35.344 0-64-28.656-64-64V640c0-35.344 28.656-64 64-64h320c35.344 0 64 28.656 64 64v320c0 35.344-28.656 64-64 64zm0-384H64v320h320V640zm0-192H64c-35.344 0-64-28.656-64-64V64C0 28.656 28.656 0 64 0h320c35.344 0 64 28.656 64 64v320c0 35.344-28.656 64-64 64zm0-384H64v320h320V64z\"}}]})(props);\n};\nexport function SlHandbag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1022.74 942.64l-83.407-503.777c-7.44-65.312-66.977-118.432-132.721-118.432h-70.656v-85.28c0-130.16-92.848-236.033-222.976-236.033-130.096 0-224.943 105.872-224.943 236.032v85.28h-76.672c-65.744 0-125.28 53.12-132.528 117.057l-77.28 504.16c-2.976 26.56 2.224 47.503 15.408 62.288 12.431 13.904 30.527 20.976 53.743 20.976h873.568c32.912 0 51.776-13.216 61.84-24.32 9.216-10.208 19.648-28.144 16.624-57.951zM352.049 235.135c0-94.848 66.127-172.031 160.943-172.031 94.816 0 158.977 77.184 158.977 172.031v85.28h-319.92zm595.119 725.311l-872.498.45c-5.504 0-11.008-2.945-9.712-10.689l77.248-504.096c3.84-33.44 35.504-61.68 69.152-61.68h76.689v72.927c-19.072 11.072-32.048 31.488-32.048 55.137 0 35.344 28.656 64 64 64s64-28.656 64-64c0-23.616-12.928-44-31.952-55.088v-72.992H671.95v72.992c-19.008 11.088-31.952 31.488-31.952 55.088 0 35.344 28.656 64 64 64s64-28.656 64-64c0-23.649-12.976-44.065-32.048-55.153v-72.927h70.656c33.664 0 65.313 28.256 69.408 63.44l83.344 503.28c.4 4.095-2.815 9.31-12.191 9.31z\"}}]})(props);\n};\nexport function SlHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M287.984 114.16c31.376 0 88.094 15.008 180.094 105.616l45.616 44.912 44.928-45.632c63.872-64.896 131.84-105.2 177.376-105.2 61.408 0 109.809 21.008 157.009 68.096 44.464 44.368 68.992 103.36 68.992 166.112.032 62.784-24.448 121.824-69.408 166.672-3.664 3.712-196.992 212.304-358.96 387.104-7.632 7.248-16.352 8.32-20.991 8.32-4.576 0-13.2-1.024-20.8-8.096-39.472-43.905-325.552-362-358.815-395.232C88.497 462.416 64 403.376 64 340.608c.015-62.752 24.511-121.728 69.04-166.144 43.295-43.264 93.984-60.304 154.944-60.304zm-.002-64c-76.528 0-144 22.895-200.176 79.008-117.072 116.768-117.072 306.128 0 422.96 33.424 33.44 357.855 394.337 357.855 394.337 18.48 18.496 42.753 27.68 66.96 27.68 24.225 0 48.4-9.184 66.912-27.68 0 0 354.88-383.024 358.656-386.85 117.04-116.88 117.04-306.24 0-423.007-58.112-58-123.024-86.784-202.208-86.784-75.648 0-160 60.32-223.008 124.32C447.981 110.159 366.237 50.16 287.981 50.16z\"}}]})(props);\n};\nexport function SlHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1016.7 513.36L536.331 10.192a31.924 31.924 0 0 0-23.088-9.84 32.038 32.038 0 0 0-23.088 9.84L7.307 513.344c-12.24 12.752-11.808 32.992.944 45.248 12.752 12.224 32.992 11.872 45.248-.944l43.007-44.832v478.832c0 17.68 14.336 32 32 32h223.552c17.632 0 31.936-14.256 32-31.905l1.008-319.664h254.992v319.568c0 17.68 14.32 32 32 32H895.53c17.68 0 32-14.32 32-32V512.655l42.992 45.04a31.997 31.997 0 0 0 23.09 9.84c7.967 0 15.967-2.944 22.16-8.944 12.736-12.224 13.152-32.48.928-45.232zm-153.165-58.544v504.831H704.063V640.095c0-17.68-14.32-32-32-32h-318.88c-17.632 0-31.936 14.256-32 31.904l-1.008 319.664H160.511V454.815c0-2.64-.416-5.168-1.008-7.632L513.263 78.56l351.424 368.208c-.688 2.592-1.152 5.264-1.152 8.048z\"}}]})(props);\n};\nexport function SlHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M833.056 64.608h-64.465v215.408c0 104.384-56.656 183.359-178.097 245.199 126.064 63.808 179.104 142.159 179.104 259.071 0 76.128-.336 140-.592 175.12h64.065c17.68 0 32 14.288 32 31.968s-14.32 32-32 32H190.943c-17.68 0-32-14.32-32-32s14.32-31.968 32-31.968h65.935c-.24-35.12-.591-99.008-.591-175.12 0-116.912 52.288-195.248 178.145-259.056C313.2 463.39 257.295 384.415 257.295 280.031V64.607h-66.352c-17.68 0-32-14.304-32-32 0-17.664 14.32-31.984 32-31.984h642.128c17.68 0 32 14.32 32 31.984-.016 17.696-14.32 32-32.016 32zm-512.785 719.68c0 76.288.353 140.224.593 175.12H705.04c.223-34.912.592-98.848.592-175.12 0-89.008-33.12-158.032-193.185-224.4-160.016 66.368-192.176 135.393-192.176 224.4zm384.352-719.68H321.264v215.408c0 61.376 20.64 140.416 191.168 210.528 170.56-70.112 192.191-149.152 192.191-210.528V64.608z\"}}]})(props);\n};\nexport function SlInfo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M576 736l-32-.001v-286c0-.336-.096-.656-.096-1.008s.096-.655.096-.991c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32s14.336 32 32 32h32v256h-32c-17.664 0-32 14.336-32 32s14.336 32 32 32h128c17.664 0 32-14.336 32-32s-14.336-32-32-32zm-64-384.001c35.344 0 64-28.656 64-64s-28.656-64-64-64-64 28.656-64 64 28.656 64 64 64zm0-352c-282.768 0-512 229.232-512 512 0 282.784 229.232 512 512 512 282.784 0 512-229.216 512-512 0-282.768-229.216-512-512-512zm0 961.008c-247.024 0-448-201.984-448-449.01 0-247.024 200.976-448 448-448s448 200.977 448 448-200.976 449.01-448 449.01z\"}}]})(props);\n};\nexport function SlKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M655.696 0C496.64 0 367.693 129.154 367.693 288.467c0 71.408 26.032 136.624 68.944 187.008-8.832-.544-17.84 2.432-24.591 9.184L89.662 809.043c-12.481 12.496-12.481 32.768 0 45.249.24.24.512.383.768.624.08.08.128.175.208.255l156.912 159.904c12.48 12.497 32.753 12.497 45.25 0s12.495-32.768 0-45.249L157.326 831.762l82.496-83.007 135.728 138.32c12.48 12.496 32.753 12.496 45.25 0s12.48-32.769 0-45.25L284.943 703.379l172.384-173.472c6.672-6.672 9.664-15.536 9.216-24.273 50.624 44.288 116.672 71.313 189.168 71.313 159.056 0 288-129.152 288-288.48C943.696 129.154 814.769 0 655.696 0zm-.003 512.002c-123.248 0-224-100.272-224-224 0-123.744 100.752-224 224-224s224 100.256 224 224c0 123.728-100.736 224-224 224z\"}}]})(props);\n};\nexport function SlLayers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.84 301.808l475.09 258.72a32.093 32.093 0 0 0 15.312 3.904 31.99 31.99 0 0 0 15.184-3.84l480.096-258.72c10.464-5.631 16.975-16.624 16.815-28.528a32.088 32.088 0 0 0-17.504-28.16L531.713 3.904c-9.055-4.592-19.744-4.624-28.88-.064L22.785 245.12c-10.624 5.343-17.44 16.16-17.632 28.064s6.256 22.944 16.687 28.624zM517.153 68.287l406.159 206.271L512.336 496.03 106.16 274.846zm484.187 412.031l-94.974-48.225-68.56 36.976 80 40.624-410.96 221.456-406.191-221.184 85.311-42.88-68.368-37.248-100.32 50.4c-10.624 5.344-17.44 16.16-17.633 28.065s6.256 22.944 16.688 28.624l475.088 258.72a32.092 32.092 0 0 0 15.312 3.903 31.99 31.99 0 0 0 15.184-3.84l480.096-258.72c10.464-5.631 16.975-16.624 16.815-28.528a31.996 31.996 0 0 0-17.487-28.143zm.01 223.999l-89.966-44.224-68.56 36.976 75.008 36.624-410.976 221.456-406.192-221.184 79.312-35.872-68.368-37.248-94.32 43.408C6.662 709.597-.154 720.413-.346 732.318s6.255 22.944 16.687 28.624l475.088 258.72a32.092 32.092 0 0 0 15.313 3.903 31.99 31.99 0 0 0 15.183-3.84l480.096-258.72c10.464-5.632 16.976-16.624 16.816-28.528a32.002 32.002 0 0 0-17.488-28.16z\"}}]})(props);\n};\nexport function SlLike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608.544 1023.744c-290.832 0-293.071-12.062-329.087-39.183-19.104-14.368-55.151-24.32-186.815-32.896-9.552-.624-18.64-4.288-24.735-11.68-2.8-3.408-68.592-99.36-68.592-253.04 0-151.44 47.088-220.465 49.103-223.665a31.965 31.965 0 0 1 27.12-15.04c108.112 0 257.984-138 358.736-378.896C451.698 27.68 455.298.272 519.298.272c36.4 0 77.2 26.064 97.344 59.505 41.328 68.32 20.335 215.057.927 293.473 66-.528 185.472-1.425 242.32-1.425 79.072 0 131.407 47.152 132.991 116.08.529 22.752-2.464 51.808-9.04 66.848 17.408 17.36 39.857 43.536 40.832 77.248 1.216 43.52-27.28 76.655-45.472 95.663 4.175 12.656 12.527 29.44 11.71 49.505-2 49.344-40.095 81.136-63.823 97.727 1.968 13.504 3.504 38.976-.832 58.672-17.12 78.609-132.4 110.177-317.712 110.177zM109.617 886.77c114.688 9.489 175.998 22.336 208.334 46.672 25.024 18.848 21.168 26.32 290.592 26.32 82.176 0 242.896-3.424 255.216-59.84 4.896-22.56-18.895-44.735-18.976-44.911-6.496-16.032.737-34.849 16.577-41.777.255-.128 64.143-23.007 65.6-58.72.96-22.831-14.72-36.543-15.072-37.12-9.328-14.463-5.92-34.303 8.224-44.16.16-.128 41.551-25.215 40.543-59.423-.784-27.168-36.576-46.289-37.664-46.928-8-4.576-13.824-12.496-15.648-21.552-1.792-9.04.224-18.528 5.84-25.872 0 0 16.272-25.856 15.68-50.112-1.168-51.92-57.007-53.552-68.992-53.552-80.72 0-288.03.816-288.03.816-11.184.048-20.864-5.232-26.88-14.176-6-8.945-6.448-20.048-2.928-30.224 31.263-90.032 48.72-231.28 19.727-279.536-8.544-14.224-10.496-28.432-42.496-28.432-4.432 0-14.991 3.504-25.999 29.744-106.928 255.84-266.64 403.824-397.456 417.168-11.28 25.728-32.496 79.04-32.496 175.775 0 98.737 31.28 175.12 46.305 199.84z\"}}]})(props);\n};\nexport function SlLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M295.664 732.448c6.256 6.256 14.432 9.376 22.624 9.376s16.368-3.12 22.624-9.376L728.576 341.76c12.496-12.496 12.496-32.752 0-45.248s-32.752-12.496-45.248 0L295.664 687.2c-12.512 12.496-12.512 32.752 0 45.248zm180.208-68.143c10.576 46.624-.834 92.4-36.866 128.432L309.758 917.985c-27.2 27.184-63.36 42.16-101.824 42.16s-74.624-14.976-101.808-42.16c-56.144-56.16-56.144-147.536-.336-203.344l126.256-130.256c27.2-27.184 63.36-42.176 101.824-42.176 13.152 0 25.824 2.352 38.176 5.743L421.998 498c-27.872-13.024-57.952-19.792-88.128-19.792-53.233 0-106.465 20.32-147.073 60.929L60.86 669.073c-81.216 81.216-81.216 212.912 0 294.16 40.608 40.624 93.84 60.912 147.073 60.912s106.465-20.288 147.073-60.912L483.95 838.289c62.128-62.128 75.568-148.72 42.656-224.72zM963.134 60.784C922.51 20.176 869.294-.145 816.077-.145c-53.248 0-106.496 20.32-147.088 60.929L540.061 185.728c-64.4 64.4-77.536 160.465-39.792 238.033l49.664-49.648c-14.704-49.104-3.408-104.336 35.056-142.832l129.248-125.248c27.216-27.184 63.344-42.176 101.84-42.176 38.431 0 74.624 14.992 101.808 42.176 56.128 56.16 56.128 147.536.32 203.344L788.957 438.625c-27.183 27.183-63.376 42.159-101.808 42.159-9.808 0-18.431.992-27.84-.928l-50.975 51.008c25.471 10.592 51.632 13.935 78.815 13.935 53.216 0 106.432-20.303 147.056-60.927L963.15 354.928c81.2-81.216 81.2-212.896-.015-294.144z\"}}]})(props);\n};\nexport function SlList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 448H32c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h64c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32zm896 32H320c-17.664 0-32 14.336-32 32s14.336 32 32 32h672c17.664 0 32-14.336 32-32s-14.336-32-32-32zM96 704H32c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h64c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32zm896 32H320c-17.664 0-32 14.336-32 32s14.336 32 32 32h672c17.664 0 32-14.336 32-32s-14.336-32-32-32zM96 192H32c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h64c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32zm224 96h672c17.664 0 32-14.336 32-32s-14.336-32-32-32H320c-17.664 0-32 14.336-32 32s14.336 32 32 32z\"}}]})(props);\n};\nexport function SlLocationPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M515.664-.368C305.76-.368 128 178.4 128 390.176c0 221.76 206.032 448.544 344.624 607.936.528.64 22.929 25.52 50.528 25.52h2.449c27.6 0 49.84-24.88 50.399-25.52 130.064-149.52 320-396.048 320-607.936C896 178.4 757.344-.368 515.664-.368zm12.832 955.552c-1.12 1.12-2.753 2.369-4.193 3.409-1.472-1.008-3.072-2.288-4.255-3.408l-16.737-19.248C371.92 785.2 192 578.785 192 390.176c0-177.008 148.224-326.56 323.664-326.56 218.528 0 316.336 164 316.336 326.56 0 143.184-102.128 333.296-303.504 565.008zm-15.377-761.776c-106.032 0-192 85.968-192 192s85.968 192 192 192 192-85.968 192-192-85.968-192-192-192zm0 320c-70.576 0-129.473-58.816-129.473-129.408 0-70.576 57.424-128 128-128 70.624 0 128 57.424 128 128 .032 70.592-55.903 129.408-126.527 129.408z\"}}]})(props);\n};\nexport function SlLockOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M800 385.104l-456.96.001-16.56-74.273C298.24 205.456 347.296 100.4 459.568 70.32c111.136-29.776 209.088 33.936 237.824 141.12l13.6 53.967c4.576 17.073 22.112 27.2 39.2 22.624 17.072-4.576 27.2-22.112 22.624-39.184L759.2 194.879C721.216 53.039 588.815-30.561 443.008 8.495 296.64 47.71 227.296 187.919 264.672 327.407l12.864 57.696H224c-70.592 0-128 57.408-128 128v384c0 70.592 57.408 128 128 128h576c70.592 0 128-57.408 128-128v-384c0-70.592-57.408-128-128-128zm64 512c0 35.28-28.72 64-64 64H224c-35.28 0-64-28.72-64-64v-384c0-35.28 28.72-64 64-64h576c35.28 0 64 28.72 64 64v384zm-352-320c-35.344 0-64 28.656-64 64 0 23.632 12.96 44.032 32 55.12v104.88c0 17.664 14.336 32 32 32s32-14.336 32-32v-104.88c19.04-11.088 32-31.504 32-55.12 0-35.344-28.656-64-64-64z\"}}]})(props);\n};\nexport function SlLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M800 384h-32V261.872C768 115.024 661.744 0 510.816 0 359.28 0 256 117.472 256 261.872V384h-32c-70.592 0-128 57.408-128 128v384c0 70.592 57.408 128 128 128h576c70.592 0 128-57.408 128-128V512c0-70.592-57.408-128-128-128zM320 261.872C320 152.784 394.56 64 510.816 64 625.872 64 704 150.912 704 261.872V384H320V261.872zM864.001 896c0 35.28-28.72 64-64 64h-576c-35.28 0-64-28.72-64-64V512c0-35.28 28.72-64 64-64h576c35.28 0 64 28.72 64 64v384zm-352-320c-35.344 0-64 28.656-64 64 0 23.632 12.96 44.032 32 55.12V800c0 17.664 14.336 32 32 32s32-14.336 32-32V695.12c19.04-11.088 32-31.504 32-55.12 0-35.344-28.656-64-64-64z\"}}]})(props);\n};\nexport function SlLogin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M532.528 661.408c-12.512 12.496-12.513 32.752-.001 45.248 6.256 6.256 14.432 9.376 22.624 9.376s16.368-3.12 22.624-9.376l189.008-194L577.775 318.64c-12.496-12.496-32.752-12.496-45.248 0-12.512 12.496-12.512 32.752 0 45.248l115.744 115.76H31.839c-17.68 0-32 14.336-32 32s14.32 32 32 32h618.448zM960.159 0h-576c-35.36 0-64.017 28.656-64.017 64v288h64.432V103.024c0-21.376 17.344-38.72 38.72-38.72h496.704c21.408 0 38.72 17.344 38.72 38.72l1.007 818.288c0 21.376-17.311 38.72-38.72 38.72H423.31c-21.376 0-38.72-17.344-38.72-38.72V670.944l-64.432.08V960c0 35.344 28.656 64 64.017 64h576c35.344 0 64-28.656 64-64V64c-.016-35.344-28.672-64-64.016-64z\"}}]})(props);\n};\nexport function SlLogout (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M116.832 543.664H671.28c17.696 0 32-14.336 32-32s-14.304-32-32-32H118.832l115.76-115.76c12.496-12.496 12.496-32.752 0-45.248s-32.752-12.496-45.248 0l-189.008 194 189.008 194c6.256 6.256 14.432 9.376 22.624 9.376s16.368-3.12 22.624-9.376c12.496-12.496 12.496-32.752 0-45.248zM959.664 0H415.663c-35.36 0-64 28.656-64 64v288h64.416V103.024c0-21.376 17.344-38.72 38.72-38.72h464.72c21.391 0 38.72 17.344 38.72 38.72l1.007 818.288c0 21.376-17.328 38.72-38.72 38.72H454.816c-21.376 0-38.72-17.344-38.72-38.72V670.944l-64.416.08V960c0 35.344 28.64 64 64 64h543.984c35.36 0 64.016-28.656 64.016-64V64c-.015-35.344-28.671-64-64.015-64z\"}}]})(props);\n};\nexport function SlLoop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M960 101.84l-896.002.002c-35.344 0-64 28.656-64 64v576c0 35.36 28.656 64 64 64h160c20.496 0 32-26.32 32-31.984v-.016c0-5.824-10.88-32.416-32-32.416h-120.96c-21.376 0-38.72-17.344-38.72-38.72V206.002c0-21.391 17.328-38.72 38.72-38.72l818.272-1.007c21.376 0 38.72 17.328 38.72 38.72V702.69c0 21.376-17.344 38.72-38.72 38.72H518.142l75.984-68.912c9.344-8.944 12.369-23.408 3.025-32.336l-5.472-8.064c-9.376-8.945-24.496-8.945-33.84 0L428.111 750.53c-.192.16-.368.224-.528.368l-8.48 8.096c-4.672 4.431-7.008 10.335-6.976 16.223-.032 5.904 2.288 11.777 6.977 16.288l8.48 8.096c.16.16.368.192.528.336L555.84 915.44c9.344 8.944 24.464 8.944 33.84 0l5.472-8.065c9.344-8.944 6.32-23.44-3.025-32.368l-77.135-69.168H960c35.343 0 64-28.64 64-64v-576c0-35.344-28.657-64-64-64z\"}}]})(props);\n};\nexport function SlMagicWand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1020.51 429.376L917.727 275.698l51.152-178.816c3.184-11.216.064-23.28-8.224-31.504-8.256-8.256-20.256-11.311-31.536-8.031l-178.512 52.128L596.319 5.57c-9.712-6.529-22.16-7.313-32.464-1.937-10.369 5.312-17.025 15.871-17.409 27.503l-5.536 185.936-146.496 114.592c-9.183 7.184-13.712 18.816-11.872 30.32s9.808 21.087 20.816 25.023l137.456 49.28c-.928.736-1.904 1.393-2.768 2.257L7.294 969.297c-12.496 12.496-12.496 32.752 0 45.248 6.256 6.256 14.432 9.376 22.624 9.376 8.192 0 16.368-3.12 22.624-9.376l530.752-530.752c2.065-2.064 3.664-4.4 5.04-6.816l53.792 147.552a32.058 32.058 0 0 0 25.152 20.656c1.631.256 3.28.368 4.912.368A32.044 32.044 0 0 0 697.5 633.12l113.776-147.168 183.904-6.56c11.664-.4 22.16-7.12 27.44-17.535 5.264-10.384 4.448-22.848-2.112-32.48zm-226.461-6.83c-9.504.32-18.368 4.882-24.192 12.401l-87.472 113.104-48.976-134.32c-3.248-8.944-10.32-15.936-19.28-19.152l-134.592-48.256 112.624-88.064c7.504-5.872 11.968-14.752 12.288-24.256l4.256-142.944 118.592 79.872a32.192 32.192 0 0 0 26.849 4.191l137.248-40.095-39.344 137.472a32.18 32.18 0 0 0 4.336 26.848l80.56 118.128z\"}}]})(props);\n};\nexport function SlMagnet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M960.288 60.176V31.168c0-17.68-14.32-32-32-32H703.664c-17.68 0-32 14.32-32 32v130.656c0 .048.032.096.032.144v397.52c0 96.32-54.336 174.656-150.656 174.656s-168.656-78.336-168.656-174.656V60.176h-.095V31.168c0-17.68-14.32-32-32-32H95.665c-17.68 0-32 14.32-32 32v130.656c0 .656.335 1.2.368 1.84V574.16c0 248.912 198.784 450.656 447.664 450.656S960.353 823.072 960.353 574.16V60.176zm-64 2.992v128.336H736.032V63.168h160.256zm-608 0v128.336H128.032V63.168h160.256zM511.68 960.832c-213.216 0-383.663-173.472-383.663-386.655V255.505h160.336v303.984c0 131.808 100.848 238.655 232.655 238.655S735.68 691.296 735.68 559.489V255.505h160.656v318.672c0 213.184-171.424 386.655-384.656 386.655z\"}}]})(props);\n};\nexport function SlMagnifierAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1014.62 969.04L731.594 684.273c60.608-72.4 97.089-165.761 97.089-267.713C828.683 186.496 643.179-.001 413.13-.001S-3.413 186.495-3.413 416.543 183.083 833.087 413.13 833.087c105.008 0 200.672-38.96 273.696-103.072l282.528 284.304c12.496 12.496 32.769 12.496 45.249 0 12.512-12.512 12.512-32.768.016-45.28zM412.59 768.001c-193.552 0-352-158.448-352-352s158.448-352 352-352 352 158.448 352 352-158.448 352-352 352zm160-384h-128v-128c0-17.664-14.336-32-32-32s-32 14.336-32 32v128h-128c-17.664 0-32 14.336-32 32s14.336 32 32 32h128v128c0 17.664 14.336 32 32 32s32-14.336 32-32v-128h128c17.664 0 32-14.336 32-32s-14.32-32-32-32z\"}}]})(props);\n};\nexport function SlMagnifierRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1014.62 969.04L731.594 684.273c60.608-72.4 97.089-165.761 97.089-267.713C828.683 186.496 643.179-.001 413.13-.001S-3.413 186.495-3.413 416.543 183.083 833.087 413.13 833.087c105.008 0 200.672-38.96 273.696-103.072l282.528 284.304c12.496 12.496 32.769 12.496 45.249 0 12.512-12.512 12.512-32.768.016-45.28zM412.59 768.001c-193.552 0-352-158.448-352-352s158.448-352 352-352 352 158.448 352 352-158.448 352-352 352zm160-384h-320c-17.664 0-32 14.336-32 32s14.336 32 32 32h320c17.664 0 32-14.336 32-32s-14.32-32-32-32z\"}}]})(props);\n};\nexport function SlMagnifier (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1014.64 969.04L703.71 656.207c57.952-69.408 92.88-158.704 92.88-256.208 0-220.912-179.088-400-400-400s-400 179.088-400 400 179.088 400 400 400c100.368 0 192.048-37.056 262.288-98.144l310.496 312.448c12.496 12.497 32.769 12.497 45.265 0 12.48-12.496 12.48-32.752 0-45.263zM396.59 736.527c-185.856 0-336.528-150.672-336.528-336.528S210.734 63.471 396.59 63.471c185.856 0 336.528 150.672 336.528 336.528S582.446 736.527 396.59 736.527z\"}}]})(props);\n};\nexport function SlMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M993.184 135.008L672.223 1.939l-319.44 126.432L30.815 2.003c-2.752-.816-5.44-1.12-7.968-1.12C9.712.818 0 10.626 0 25.378v830c0 17.568 13.872 35.872 30.816 40.56l322.336 127.184L672.16 893.618l321.024 126.128c2.752.752 5.44 1.12 7.969 1.12 13.12 0 22.847-9.744 22.847-24.495V175.635c0-17.569-13.872-35.89-30.816-40.625zm-609.185 46.131l256-100.304v761.504l-256 101.184V181.139zm-320-94.448l256 94.577v761.76l-256-104.272V86.692zm896 851.314l-256-96.384V81.797l256 110.384v745.824z\"}}]})(props);\n};\nexport function SlMenu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27 193.6c-8.2-8.2-12.2-18.6-12.2-31.2s4-23 12.2-31.2S45.6 119 58.2 119h912.4c12.6 0 23 4 31.2 12.2s12.2 18.6 12.2 31.2-4 23-12.2 31.2-18.6 12.2-31.2 12.2H58.2c-12.6 0-23-4-31.2-12.2zm974.8 285.2c8.2 8.2 12.2 18.6 12.2 31.2s-4 23-12.2 31.2-18.6 12.2-31.2 12.2H58.2c-12.6 0-23-4-31.2-12.2S14.8 522.6 14.8 510s4-23 12.2-31.2 18.6-12.2 31.2-12.2h912.4c12.6 0 23 4 31.2 12.2zm0 347.4c8.2 8.2 12.2 18.6 12.2 31.2s-4 23-12.2 31.2-18.6 12.2-31.2 12.2H58.2c-12.6 0-23-4-31.2-12.2S14.8 870 14.8 857.4s4-23 12.2-31.2S45.6 814 58.2 814h912.4c12.6 0 23 4.2 31.2 12.2z\"}}]})(props);\n};\nexport function SlMicrophone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.88 704h7.6C607.44 704 672 638.4 672 548.032V166.624C672 73.184 604.56 0 518.466 0h-7.584C423.264 0 352 74.752 352 166.624v381.408C352 636.944 420.304 704 510.88 704zM416 166.624C416 110.032 458.56 64 510.88 64h7.6C569.504 64 608 108.128 608 166.624v381.408C608 603.024 572.032 640 518.464 640h-7.584c-55.872 0-94.88-37.808-94.88-91.968zM800 352c-17.68 0-32 14.336-32 32v133.072c0 190.4-67.968 282.929-207.744 282.929H465.12c-182.8 0-209.12-153.84-209.12-282.928V384.001c0-17.664-14.336-32-32-32s-32 14.336-32 32v133.072c0 220.496 91.888 346.928 273.12 346.928H480v96H320c-17.664 0-32 14.336-32 32s14.336 32 32 32h384c17.664 0 32-14.336 32-32s-14.336-32-32-32H544v-96h16.256C684.224 864.001 832 803.809 832 517.072V384c0-17.664-14.32-32-32-32z\"}}]})(props);\n};\nexport function SlMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 0c283 0 512 229 512 512s-229 512-512 512S0 795 0 512 229 0 512 0zm0 961c247 0 448-202 448-449S759 64 512 64 64 265 64 512s201 449 448 449zm-35-417H288c-18 0-32-14-32-32s14-32 32-32h448c18 0 32 14 32 32s-14 32-32 32H477z\"}}]})(props);\n};\nexport function SlMouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M513.584 0C355.456 0 224.08 128.225 224.08 286.337v451.312c0 158.128 131.376 286.352 289.504 286.352s286.352-128.224 286.352-286.336V286.337C799.936 128.225 671.712.001 513.584.001V0zm222.352 737.665c0 122.592-99.742 222.336-222.351 222.336S288.08 860.257 288.08 737.665V286.337c0-122.592 102.912-222.336 225.504-222.336s222.352 99.744 222.352 222.336v451.328zM512.338 192.001c-17.664 0-32 14.336-32 32v160c0 17.664 14.336 32 32 32s32-14.336 32-32v-160c0-17.664-14.336-32-32-32z\"}}]})(props);\n};\nexport function SlMusicToneAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M991.728 705.408c.016-.56.16-1.071.16-1.63V36.752c.384-3.504.256-7.12-.576-10.752C988.576 11.09 975.583-.222 959.887-.222c-5.888 0-11.344 1.696-16.08 4.48L345.935 159.906c-10.768 2.672-18.752 10.72-22.032 20.672-2.48 4.544-4 9.664-4 15.2v572.544c-30.464-20.384-69.408-32.656-111.872-32.656-97.536 0-176.64 64.608-176.64 144.272 0 79.68 79.103 144.304 176.64 144.304 97.568 0 176.608-64.608 176.608-144.305 0-4.065-.336-8.065-.736-12.049V216.144l544-141.6v533.76c-30.449-20.383-69.409-32.656-111.872-32.656-97.537 0-176.64 64.624-176.64 144.272 0 79.68 79.103 144.304 176.64 144.304 97.568 0 176.608-64.608 176.608-144.305-.016-4.912-.32-9.744-.912-14.511zM208.704 959.952c-66.56 0-112.961-42.191-112.961-79.999 0-37.824 46.384-79.952 112.96-79.952 59.232 0 102.4 33.392 111.185 67.407v.368c0 3.233.624 6.289 1.52 9.216.065.992.225 1.968.225 2.96 0 37.808-46.4 80-112.929 80zm606.991-159.999c-65.968 0-111.953-42.176-111.953-80s45.984-79.952 111.952-79.952c65.952 0 111.937 42.128 111.937 79.952s-45.968 80-111.936 80z\"}}]})(props);\n};\nexport function SlMusicTone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M852.608 323.296L539.694 10.384c-9.92-9.92-24.672-11.84-36.607-6.016-12.544 4.336-21.6 16.113-21.6 30.128v708.4c-33.92-25.12-78.432-40.528-127.376-40.528-106.064 0-192.112 71.776-192.112 160.288 0 88.544 86.048 160.336 192.112 160.336 106.112 0 192.08-71.776 192.08-160.336 0-3.92-.368-7.76-.704-11.632V106.688l261.872 261.856c12.48 12.496 32.753 12.496 45.249 0s12.496-32.768 0-45.249zm-499.234 635.28c-75.648 0-128.352-50.544-128.352-95.872s52.72-95.824 128.352-95.824c74.032 0 126 48.4 128.128 92.992v5.68c-2.144 44.576-54.096 93.024-128.128 93.024z\"}}]})(props);\n};\nexport function SlMustache (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M792.848 736.72c-101.344 0-158.865-47.629-196.945-79.148-13.472-11.153-25.727-21.905-36.88-31.665-16.912-14.847-38-33.343-45.344-35.903-.223 0-3.712-.16-3.935-.192-1.168.096-4.144.687-4.448.72-5.072 2.064-23.087 17.568-37.568 30-13.136 11.28-28.111 24.16-45.039 37.376l-3.088 2.368c-43.472 33.935-97.584 76.159-193.152 76.159-70.992 0-140.928-32.128-182.576-83.872-27.92-34.689-57.296-95.025-38.672-185.473 2.256-10.944 10.016-19.904 20.432-23.632 10.48-3.776 22.016-1.712 30.608 5.376.624.464 22.576 17.344 59.057 17.344 18.368 0 37.504-4.336 56.832-12.945 33.135-14.752 56.735-56.127 81.71-84.063 34.176-38.16 72.848-81.408 136.689-81.904 44.048 0 83.792 16.288 119.248 48.496 35.311-32.065 74.767-48.257 117.68-48.257 65.103.496 104.592 43.776 139.439 82 25.44 27.872 49.472 69.216 82.608 83.968 19.328 8.592 38.672 12.943 57.488 12.943 37.872 0 61.504-17.311 62.449-18.063 8.767-6.496 20.319-8.193 30.48-4.225 10.143 4 17.679 12.88 19.711 23.664 17.088 89.44-12.96 149.408-41.184 183.968-42.767 52.4-113.903 84.96-185.6 84.96zM510.733 525.875c.992 0 3.683.095 4.627.19.032 0 4.688.336 4.688.369.336.032 3.008.368 3.296.432 23.153 3.28 44.624 22.128 77.216 50.688 10.704 9.408 22.496 19.744 35.472 30.496 34.784 28.816 78.097 64.656 156.816 64.656 53.311 0 105.743-23.632 136.783-61.68 20.4-24.975 31.009-54.72 31.68-88.784-15.024 4.689-33.28 8.192-54.32 8.192-27.664 0-55.568-6.192-82.976-18.368-45.248-20.095-76.304-69.12-103.68-99.152-34.529-37.872-57.473-61.088-92.081-61.376-46.16 0-75.953 29.056-94.416 50.912-6.033 7.12-14.817 11.216-24.097 11.216-9.28 0-18.08-4.128-24.08-11.248-18.529-21.936-48.416-51.12-93.84-51.12-35.088.257-57.408 23.281-90.992 60.85-27.056 30.223-57.696 79.471-103.231 99.68-27.392 12.191-55.104 18.367-82.304 18.367-20.4 0-38.064-3.408-52.624-8.032-.032 34.72 10.111 64.912 30.335 90.032 29.936 37.153 81.04 60.256 133.439 60.256 74 0 114.896-31.935 154.464-62.815l3.088-2.416c16.048-12.529 30.24-24.752 42.688-35.44 28.512-24.497 47.329-40.69 67.649-44.289.015.016 9.695-1.616 16.4-1.616z\"}}]})(props);\n};\nexport function SlNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M799.344 960.288h-736v-800h449.6l64.704-62.336-1.664-1.664H63.344c-35.344 0-64 28.656-64 64v800c0 35.344 28.656 64 64 64h736c35.344 0 64-28.656 64-64V491.632l-64 61.088v407.568zM974.224 41.44C945.344 13.76 913.473-.273 879.473-.273c-53.216 0-92.032 34.368-102.592 44.897-14.976 14.784-439.168 438.353-439.168 438.353-3.328 3.391-5.76 7.535-7.008 12.143-11.488 42.448-69.072 230.992-69.648 232.864-2.976 9.664-.32 20.193 6.8 27.217a26.641 26.641 0 0 0 18.913 7.84c2.752 0 5.52-.4 8.239-1.248 1.952-.656 196.496-63.569 228.512-73.12 4.224-1.248 8.048-3.536 11.216-6.624 20.208-19.936 410.112-403.792 441.664-436.384 32.624-33.664 48.847-68.657 48.223-104.097-.591-35.008-17.616-68.704-50.4-100.128zm-43.791 159.679c-17.808 18.368-157.249 156.16-414.449 409.536l-19.68 19.408c-29.488 9.12-100.097 31.808-153.473 49.024 17.184-56.752 37.808-125.312 47.008-157.743C444.8 466.464 808.223 103.6 822.03 89.968c2.689-2.689 27.217-26.257 57.44-26.257 17.153 0 33.681 7.824 50.465 23.92 20.065 19.248 30.4 37.744 30.689 55.024.32 17.792-9.84 37.456-30.191 58.464z\"}}]})(props);\n};\nexport function SlNotebook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M849.152 0H211.153c-46 0-66.032 34-66.032 66v127.312h-34.928c-17.311 0-31.344 14.032-31.344 31.345 0 17.311 14.033 31.343 31.344 31.343h34.928v128.752h-31.936c-17.312 0-31.344 14.033-31.344 31.344 0 17.313 14.032 31.345 31.343 31.345h31.936v129.44h-32.624c-17.312 0-31.344 14.032-31.344 31.344s14.032 31.344 31.344 31.344h32.624v128.464h-32.624c-17.312 0-31.344 14.032-31.344 31.343s14.032 31.344 31.344 31.344h32.624V960c0 53.025 41.536 64 64.528 64h639.504c53.025 0 96-42.975 96-96V96c0-53.024-42.96-96-96-96zM209.121 960l-.001-129.279h33.344c17.311 0 31.344-14.032 31.344-31.344s-14.033-31.344-31.344-31.344H209.12V639.569h33.344c17.311 0 31.344-14.033 31.344-31.344s-14.033-31.344-31.344-31.344H209.12V447.44h34.032c17.313 0 31.345-14.032 31.345-31.345 0-17.311-14.032-31.344-31.344-31.344h-34.032V256h31.024c17.312 0 31.344-14.032 31.344-31.343 0-17.313-14.032-31.345-31.344-31.345h-31.024V66c0-.752.064-1.376.16-1.936a28.23 28.23 0 0 1 1.872-.064h510v896H209.121zm672.031-31.999c0 17.664-14.336 32-32 32h-64v-896h64c17.664 0 32 14.336 32 32v832z\"}}]})(props);\n};\nexport function SlOptionsVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M388.8 896.4v-27.198c.6-2.2 1.6-4.2 2-6.4 8.8-57.2 56.4-102.4 112.199-106.2 62.4-4.4 115.2 31.199 132.4 89.199 2.2 7.6 3.8 15.6 5.8 23.4v27.2c-.6 1.8-1.6 3.399-1.8 5.399-8.6 52.8-46.6 93-98.6 104.4-4 .8-8 2-12 3h-27.2c-1.8-.6-3.6-1.6-5.4-1.8-52-8.4-91.599-45.4-103.6-96.8-1.2-5-2.6-9.6-3.8-14.2zm252.4-768.797l-.001 27.202c-.6 2.2-1.6 4.2-1.8 6.4-9 57.6-56.8 102.6-113.2 106.2-62.2 4-114.8-32-131.8-90.2-2.2-7.401-3.8-15-5.6-22.401v-27.2c.6-1.8 1.6-3.4 2-5.2 9.6-52 39.8-86 90.2-102.2 6.6-2.2 13.6-3.4 20.4-5.2h27.2c1.8.6 3.6 1.6 5.4 1.8 52.2 8.6 91.6 45.4 103.6 96.8 1.201 4.8 2.401 9.4 3.601 13.999zm-.001 370.801v27.2c-.6 2.2-1.6 4.2-2 6.4-9 57.4-58.6 103.6-114.6 106-63 2.8-116.4-35.2-131.4-93.8-1.6-6.2-3-12.4-4.4-18.6v-27.2c.6-2.2 1.6-4.2 2-6.4 8.8-57.4 58.6-103.601 114.6-106.2 63-3 116.4 35.2 131.4 93.8 1.6 6.4 3 12.6 4.4 18.8z\"}}]})(props);\n};\nexport function SlOptions (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M899.4 638.2h-27.198c-2.2-.6-4.2-1.6-6.4-2-57.2-8.8-102.4-56.4-106.2-112.199-4.401-62.4 31.199-115.2 89.199-132.4 7.6-2.2 15.6-3.8 23.399-5.8h27.2c1.8.6 3.4 1.6 5.4 1.8 52.8 8.6 93 46.6 104.4 98.6.8 4 2 8 3 12v27.2c-.6 1.8-1.6 3.6-1.8 5.4-8.4 52-45.4 91.599-96.801 103.6-5 1.2-9.6 2.6-14.2 3.8zM130.603 385.8l27.202.001c2.2.6 4.2 1.6 6.4 1.8 57.6 9 102.6 56.8 106.2 113.2 4 62.2-32 114.8-90.2 131.8-7.401 2.2-15 3.8-22.401 5.6h-27.2c-1.8-.6-3.4-1.6-5.2-2-52-9.6-86-39.8-102.2-90.2-2.2-6.6-3.4-13.6-5.2-20.4v-27.2c.6-1.8 1.6-3.6 1.8-5.4 8.6-52.2 45.4-91.6 96.8-103.6 4.8-1.201 9.4-2.401 13.999-3.601zm370.801.001h27.2c2.2.6 4.2 1.6 6.4 2 57.4 9 103.6 58.6 106 114.6 2.8 63-35.2 116.4-93.8 131.4-6.2 1.6-12.4 3-18.6 4.4h-27.2c-2.2-.6-4.2-1.6-6.4-2-57.4-8.8-103.601-58.6-106.2-114.6-3-63 35.2-116.4 93.8-131.4 6.4-1.6 12.6-3 18.8-4.4z\"}}]})(props);\n};\nexport function SlOrganization (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M815 576h145c35 0 64 29 64 64v320c0 35-29 64-64 64H640c-35 0-64-29-64-64V640c0-35 29-64 64-64h113v-38H270v38h114c35 0 64 29 64 64v320c0 35-29 64-64 64H64c-35 0-64-29-64-64V640c0-35 29-64 64-64h144v-60c0-22 28-33 53-33h220v-36H343c-35 0-64-29-64-64V63c0-35 29-64 64-64h320c35 0 64 29 64 64v320c0 35-29 64-64 64H545v37c83 0 134-1 217-1 25 0 53 10 53 33v60zm145 64H640v320h320V640zM663 63H343v320h320V63zM384 640H64v320h320V640z\"}}]})(props);\n};\nexport function SlPaperClip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M172.72 1007.632c-43.408 0-85.085-17.965-118.301-51.213-73.648-73.888-73.648-194.063-.017-267.903L628.674 78.692c89.6-89.744 226.848-81.68 327.008 18.608 44.88 44.96 70.064 109.776 69.12 177.904-.945 67.409-27.28 131.92-72.289 177.008L518.497 914.26c-12.08 12.945-32.336 13.536-45.231 1.393-12.864-12.16-13.488-32.448-1.36-45.345l434.672-462.752c34-34.064 53.504-82.385 54.223-133.249.72-50.895-17.664-98.88-50.368-131.664-61.44-61.568-161.473-93.808-235.841-19.264L100.336 733.203c-49.376 49.503-49.36 129.008-.64 177.855 22.847 22.864 49.967 34 78.847 32.255 28.576-1.744 57.952-16.4 82.72-41.232L718.19 415.745c16.56-16.592 49.84-57.264 15.968-91.216-19.184-19.216-32.656-18.032-37.087-17.664-12.656 1.12-27.44 9.872-42.784 25.264l-343.92 365.776c-12.144 12.912-32.416 13.536-45.233 1.36-12.88-12.128-13.472-32.448-1.36-45.312L608.32 287.489c27.088-27.216 54.784-41.968 82.976-44.496 22-1.953 54.72 2.736 88.096 36.208 49.536 49.631 43.376 122.432-15.28 181.216L307.184 946.72c-36.48 36.608-80.529 57.872-124.721 60.591-3.248.224-6.496.32-9.744.32z\"}}]})(props);\n};\nexport function SlPaperPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1004.03 0c-6.096 0-13.52 1.73-22.096 5.361L27.278 410.45c-34.368 14.577-36.544 42.689-4.832 62.449l269.76 168.032c31.712 19.744 73.648 62.08 93.184 94.047l161.712 264.768c9.28 15.184 20.496 22.72 31.28 22.72 11.92 0 23.28-9.152 31.025-27.232l408.256-953.744C1028.718 15.617 1022.415 0 1004.03 0zM325.552 583.922L106.896 447.713l733.616-311.248L368.32 616.657c-14.432-12.8-29.088-24.224-42.768-32.735zM572.72 915.265l-130.432-213.52c-7.696-12.609-17.856-26.05-29.185-39.393l474.384-482.384z\"}}]})(props);\n};\nexport function SlPaypal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M318.753 855.434H103.101c-8.752 0-17.154-3.85-22.756-10.678s-7.877-15.579-6.302-24.33l138.284-752.16c8.227-41.135 42.01-68.441 84.371-68.441H628.58c133.383 0 223.18 85.246 223.18 212.152 0 127.956-88.222 366.89-300.549 366.89H406.1l-58.463 253.637c-3.152 13.477-15.055 22.93-28.883 22.93zm-180.118-58.991l156.66-.002 58.29-253.637c3.15-13.477 15.054-22.93 28.882-22.93h168.74c168.567 0 241.386-203.75 241.386-307.726 0-94.347-62.84-152.986-164.015-152.986H296.697c-8.227 0-22.756 2.626-26.256 20.48zm282.516 227.73H205.496c-8.752 0-16.979-3.85-22.58-10.502s-8.052-15.58-6.477-24.156l27.658-157.538c2.8-16.105 18.028-26.782 34.131-23.982 16.105 2.801 26.783 18.204 23.982 34.133l-21.53 122.88h156.662l55.84-256.088c2.975-13.653 15.053-23.281 28.881-23.281h168.741c168.566 0 241.385-203.75 241.385-307.725 0-67.742-28.532-114.479-84.546-138.81-14.879-6.477-21.88-23.98-15.228-38.858 6.476-15.054 23.98-21.88 38.858-15.405 77.37 33.609 120.08 102.226 120.08 193.072 0 127.956-88.223 366.89-300.549 366.89H505.87l-55.839 256.088c-2.975 13.654-15.053 23.281-28.882 23.281h.002zM459.833 413.1h-58.116c-8.752 0-16.979-3.85-22.756-10.678-5.6-6.652-8.052-15.579-6.477-24.156l38.86-215.653c2.45-14.003 14.704-24.331 29.056-24.331h93.998c35.535 0 63.892 11.378 81.921 32.733 19.606 23.282 26.081 56.365 19.08 98.55-14.177 100.298-66.69 143.534-175.567 143.534zm-22.757-59.165l22.756-.001c87.871 0 108.526-31.508 117.279-93.473 2.8-17.329 4.025-39.56-5.776-51.288-8.227-9.802-24.681-11.727-36.934-11.727h-69.317l-28.007 156.488z\"}}]})(props);\n};\nexport function SlPencil (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M964.256 49.664C929.392 16.256 890.933-.672 849.877-.672c-64.192 0-111.024 41.472-123.841 54.176-18.032 17.856-633.152 633.2-633.152 633.2a33.011 33.011 0 0 0-8.447 14.592C70.565 752.559 1.077 980.016.387 982.304c-3.567 11.648-.384 24.337 8.208 32.928a32.336 32.336 0 0 0 22.831 9.44c3.312 0 6.655-.496 9.919-1.569 2.352-.767 237.136-76.655 275.775-88.19a32.736 32.736 0 0 0 13.536-8.033c24.416-24.128 598.128-591.456 636.208-630.784 39.392-40.592 58.96-82.864 58.208-125.616-.784-42.208-21.248-82.848-60.816-120.816zM715.845 155.84c16.304 3.952 54.753 16.862 94.017 56.479 39.68 40.032 50.416 85.792 52.416 96.208-125.824 125.168-415.456 411.728-529.632 524.672-10.544-24.56-27.584-54.144-54.993-81.76-33.471-33.728-67.536-52.783-93.808-63.503 112.992-113.008 408.08-408.224 532-532.096zM140.39 741.95c17.584 4.672 54.111 18.224 91.344 55.76 28.672 28.912 42.208 60.8 48.288 80.24-44.48 14.304-141.872 47.92-203.76 67.872 18.336-60.336 49.311-154.304 64.128-203.872zm780.031-491.584a1748.764 1748.764 0 0 1-6.065 6.16c-10.113-26.049-27.857-59.52-58.577-90.496-31.391-31.648-63.231-50.32-88.75-61.36 2.175-2.16 3.855-3.857 4.511-4.496 3.664-3.617 36.897-35.376 78.32-35.376 23.84 0 47.248 10.88 69.617 32.32 26.511 25.424 40.175 50.512 40.624 74.592.431 24.576-12.913 51.04-39.68 78.656z\"}}]})(props);\n};\nexport function SlPeople (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M746 835.28L544.529 723.678c74.88-58.912 95.216-174.688 95.216-239.601v-135.12c0-89.472-118.88-189.12-238.288-189.12-119.376 0-241.408 99.664-241.408 189.12v135.12c0 59.024 24.975 178.433 100.624 239.089L54 835.278S0 859.342 0 889.342v81.088c0 29.84 24.223 54.064 54 54.064h692c29.807 0 54.031-24.224 54.031-54.064v-81.087c0-31.808-54.032-54.064-54.032-54.064zm-9.967 125.215H64.002V903.28c4.592-3.343 11.008-7.216 16.064-9.536 1.503-.688 3.007-1.408 4.431-2.224l206.688-112.096c18.848-10.224 31.344-29.184 33.248-50.528s-7.008-42.256-23.712-55.664c-53.664-43.024-76.656-138.32-76.656-189.152V348.96c0-45.968 86.656-125.12 177.408-125.12 92.432 0 174.288 78.065 174.288 125.12v135.12c0 50.128-15.568 145.84-70.784 189.28a64.098 64.098 0 0 0-24.224 55.664 64.104 64.104 0 0 0 33.12 50.849l201.472 111.6c1.777.975 4.033 2.031 5.905 2.848 4.72 2 10.527 5.343 14.783 8.288v57.887zM969.97 675.936L765.505 564.335c74.88-58.912 98.224-174.688 98.224-239.601v-135.12c0-89.472-121.872-190.128-241.28-190.128-77.6 0-156.943 42.192-203.12 96.225 26.337 1.631 55.377 1.664 80.465 9.664 33.711-26.256 76.368-41.872 122.656-41.872 92.431 0 177.278 79.055 177.278 126.128v135.12c0 50.127-18.56 145.84-73.775 189.28a64.098 64.098 0 0 0-24.224 55.664 64.104 64.104 0 0 0 33.12 50.848l204.465 111.6c1.776.976 4.032 2.032 5.904 2.848 4.72 2 10.527 5.344 14.783 8.288v56.912H830.817c19.504 14.72 25.408 35.776 32.977 64h106.192c29.807 0 54.03-24.224 54.03-54.064V730.03c-.015-31.84-54.047-54.096-54.047-54.096z\"}}]})(props);\n};\nexport function SlPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M262.2 37c37.4 51.6 82.002 118.197 133.602 199.598 13 22 11 48.4-5.8 79.4-6.4 13-22.6 42.6-48.4 89.2 28.4 40 71.6 89.2 129.8 147.2s106.602 101.4 145.2 129.8c46.401-27.2 76.201-43.8 89.201-50.399 16.8-9 33-13.6 48.4-13.6 11.6 0 22 2.6 31 7.8 59.4 36.2 126.601 80.8 201.4 133.6 14.2 10.4 22.2 24.601 24.2 42.601 2 18.2-3.599 37.4-16.399 58.2-6.4 9-16.8 22.2-31 39.8-14.201 17.4-35.601 39.4-64.002 65.8s-51.6 39.802-69.8 39.802h-2c-136.6-5.4-305-107.801-504.4-307.201-199.6-199.6-302-367.8-307.2-504.6 0-18 13.2-41.6 39.8-70.8 26.4-29 48.2-50 64.799-63 16.8-12.8 31-23.2 42.6-31 14.2-10.4 30.4-15.4 48.4-15.4 22.2 0 38.8 7.8 50.6 23.2zm-63.998 40.598c-27.2 19.4-52.603 41.198-76.603 64.998-23.8 24-37.8 41.6-41.6 53.2 5.2 120.2 101 273.2 287.6 459.2 186.6 186 340 282.2 460 288.6 10.4-3.8 27.4-18 51.4-42.6s45.6-50.399 64.8-77.399c3.8-5.2 5.2-9.6 3.8-13.6-77.4-54.2-142-97.4-193.8-129.801-5.2 0-11.6 2-19.4 5.8-11.6 6.4-40.6 22.6-87.2 48.4l-33 19.4-33-21.4c-42.6-29.6-94.199-75.6-154.999-137.6-60.6-60.6-105.8-112.4-135.6-155l-23.2-31 19.4-34.799c25.8-46.4 42-75.6 48.4-87.2 3.8-7.8 5.8-14.2 5.8-19.4-46-73.401-88.599-138-127.398-193.6h-2c-5 0-9.6 1.4-13.4 3.8z\"}}]})(props);\n};\nexport function SlPicture (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M960 79.904H64c-35.184 0-64 28.816-64 64v736.192c0 35.184 28.816 64 64 64h896c35.184 0 64-28.816 64-64V143.904c0-35.184-28.816-64-64-64zm0 800.193l-895.999-.001v-188.56l256.848-248.912L585.633 707.12c10.912 13.248 30.336 11.568 44.128 1.12l116.88-105.808 210.8 216.384c.8.8 1.695 1.391 2.56 2.08v59.2zm.001-150.305L771.97 537.376c-11.408-11.248-29.28-12.4-41.937-2.752l-120.56 105.024-264.943-262.08a32.09 32.09 0 0 0-22.688-11.6c-8.816-.32-17.505 2.56-23.969 8.624l-233.872 227.6V143.904h896v585.888zM736.002 400.128c35.28 0 63.84-28.608 63.84-63.84 0-35.217-28.56-63.825-63.84-63.825s-63.84 28.608-63.84 63.824c0 35.233 28.56 63.841 63.84 63.841z\"}}]})(props);\n};\nexport function SlPieChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M575.6 93.408c-17.664 0-32.001 14.337-32.001 32.001s14.336 32 32 32c226.448 0 384.4 165.472 384.4 391.903C959.999 775.776 775.775 960 549.327 960c-226.432 0-391.92-163.6-391.92-390.063 0-17.664-14.336-32-32-32s-32 14.336-32 32c0 261.744 194.192 454.064 455.92 454.064s474.672-212.944 474.672-474.688c0-261.712-186.672-455.904-448.399-455.904v-.001zm-95.345 354.849V32.001c0-17.664-14.336-32-32-32C199.007.001-.001 199.009-.001 448.257c0 17.664 14.336 32 32 32h416.256c17.664 0 32-14.336 32-32zm-64-32H65.311C80.767 227.761 227.759 80.769 416.255 65.313v350.944z\"}}]})(props);\n};\nexport function SlPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1014.85 379.664L646.692 9.649c-7.936-7.968-19.376-11.216-30.32-8.496-10.912 2.656-19.6 10.849-22.945 21.568-22.16 71.312-24.72 135.84-7.792 194.688-1.551 1.073-3.04 2.24-4.416 3.617L410.115 392.098c-55.2-25.6-114.544-39.457-173.696-39.457-37.6 0-74.464 5.569-109.567 16.465-10.688 3.344-18.88 12-21.569 22.848a32.01 32.01 0 0 0 8.368 30.288l218.976 220.384-306.16 311.04-26.624 70.128 64.368-24.88 313.36-311.04 221.824 223.264c6.065 6.128 14.289 9.44 22.689 9.44 2.528 0 5.088-.32 7.632-.913a32.064 32.064 0 0 0 22.944-21.6c28.976-93.233 20.48-193.345-20.337-283.121l174.704-174.736c.624-.624 1.056-1.328 1.632-2 26.368 7.536 53.696 11.568 82.048 11.568 35.216 0 72.56-5.055 110.976-17.008a32.005 32.005 0 0 0 21.57-22.847 32.067 32.067 0 0 0-8.401-30.256zM603.153 824.146L200.37 418.739c103.376-12.065 214.848 29.6 295.567 110.319 80.32 80.304 119.504 191.296 107.216 295.088zm-2.926-267.6c-16.832-25.727-36.465-50.176-59.024-72.752-22.464-22.464-47.008-42.256-72.96-59.328L612.37 280.37c14.704 25.568 33.664 50 57.007 73.328 23.857 23.84 49.09 43.136 75.601 58.064zM714.626 308.45c-61.536-61.536-85.247-130.129-72.688-212.881l286.912 288.4c-82.656 11.856-151.6-12.895-214.225-75.519z\"}}]})(props);\n};\nexport function SlPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M934.32 65.904c10.432 0 17.776 1.938 21.6 3.41 4.592 12.224 10.753 56.031-34.528 101.343L690.4 401.633l1.664 28.656c3.504 59.968 10 167.44 15.6 259.567 4.944 82 9.633 159.44 9.936 166.032.16 4.529.225 5.601-3.999 10.689-9.44 11.472-27.056 30.912-41.904 47.024-23.024-62.032-71.408-193.057-98.128-266.4l-34.336-94.368-71.024 71.024-130.608 125.584-18.192 18.16-.56 25.68c-.432 20.496-.336 57.28-.288 89.712.064 22.592.129 43.12-.031 54.432-.288.528 4.368 1.152 3.936 1.904-2.784-4.464-5.776-9.28-8.944-14.288-26.336-42-62.784-100.096-73.904-118.224l-8.128-13.28-13.344-8.065c-48.528-29.311-102.288-63.151-135.088-84.287 1.136-.656 2.063 2.816 2.815 2.415h2.128c10.32 0 27.376.224 46.496.496 25.008.336 53.376.752 75.088.752 8.32 0 15.712-.064 21.664-.192l25.68-.592 18.16-18.16 125.744-129.712 70.784-70.752-93.935-34.56c-70.592-25.967-205.808-76.464-269.056-100.224 16.223-14.944 35.775-32.688 47.183-42.129 3.184-2.624 5.665-3.967 7.376-3.967l2.256.064c7.056.336 94.688 6.064 179.407 11.6 89.936 5.872 191.44 12.496 249.151 16.16l28.848 1.808 231.024-231.04c32.448-32.4 64.32-37.248 80.449-37.248zm.001-63.997c-37.808 0-84.222 14.526-125.678 55.998L598.035 268.497c-118.624-7.504-422.432-27.6-429.968-27.808a100.693 100.693 0 0 0-4.88-.129c-10.256 0-27.968 1.968-48.128 18.624-23.664 19.569-73.008 65.97-73.008 65.97-11.904 11.935-17.936 26.719-16.496 40.623.88 8.4 5.44 23.712 26.064 31.777 12.528 4.912 211.904 79.504 303.969 113.376L229.844 640.642c-5.569.128-12.465.192-20.257.192-38.336 0-97.776-1.248-121.601-1.248-3.152 0-5.68 0-7.473.064-7.248.224-22.256-3.344-61.84 29.744l-2.816 2.624C3.985 683.89 1.201 695.73.945 703.554c-.256 8.064 1.904 19.68 13.568 29.024 7.008 5.664 96.848 63.184 170.527 107.68 17.665 28.817 98.945 158 103.185 165.008 6.193 10.464 16.32 16.432 28.433 16.816h1.008c11.776 0 23.872-5.84 35.712-17.344 33.504-39.184 28.88-55.407 29.023-62.224.528-21.376-.368-111.936.4-147.84l130.592-125.6c33.376 91.68 106.336 289.008 111.216 301.567 8.128 20.624 23.44 25.153 31.84 26 1.376.16 2.785.225 4.16.225 12.625 0 25.712-5.936 36.432-16.655 0 0 46.256-49.088 65.904-72.976 19.68-23.872 18.913-44.256 18.529-53.872-.16-6.656-18.689-308.816-25.569-426.816L966.561 215.89c74.657-74.689 62.785-164.688 35.057-192.368-12.24-12.304-37.024-21.615-67.297-21.616z\"}}]})(props);\n};\nexport function SlPlaylist (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M33.76 63.76h448c17.664 0 32-14.336 32-32s-14.336-32-32-32h-448c-17.664 0-32 14.336-32 32s14.32 32 32 32zm0 192h448c17.664 0 32-14.336 32-32s-14.336-32-32-32h-448c-17.664 0-32 14.336-32 32s14.32 32 32 32zm480 160c0-17.664-14.336-32-32-32h-448c-17.664 0-32 14.336-32 32s14.336 32 32 32h448c17.664 0 32-14.336 32-32zm499.12-91.216L699.968 11.646c-9.904-9.92-24.656-11.84-36.592-6.016-12.544 4.336-21.616 16.113-21.616 30.128v708.4c-33.92-25.135-78.432-40.527-127.376-40.527-106.064 0-192.097 71.776-192.097 160.288 0 88.528 86.032 160.336 192.097 160.336 106.128 0 192.096-71.808 192.096-160.336 0-4.016-.368-7.936-.72-11.871V107.952L967.6 369.808c12.496 12.496 32.769 12.496 45.265 0 12.496-12.496 12.496-32.769.015-45.265zM641.76 867.021c-2.304 44.497-54.191 92.815-128.127 92.815-75.648 0-128.353-50.56-128.353-95.871 0-45.344 52.704-95.84 128.353-95.84 73.936 0 125.823 48.256 128.127 92.784v6.113z\"}}]})(props);\n};\nexport function SlPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 0C229.232 0 0 229.232 0 512c0 282.784 229.232 512 512 512 282.784 0 512-229.216 512-512C1024 229.232 794.784 0 512 0zm0 961.008c-247.024 0-448-201.984-448-449.01 0-247.024 200.976-448 448-448s448 200.977 448 448-200.976 449.01-448 449.01zM736 480H544V288c0-17.664-14.336-32-32-32s-32 14.336-32 32v192H288c-17.664 0-32 14.336-32 32s14.336 32 32 32h192v192c0 17.664 14.336 32 32 32s32-14.336 32-32V544h192c17.664 0 32-14.336 32-32s-14.336-32-32-32z\"}}]})(props);\n};\nexport function SlPower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M701.552 164.096c-16-7.456-35.025-.59-42.53 15.425-7.519 16-.591 35.04 15.409 42.544 162.336 76 250.496 251.952 214.353 427.872-42.912 208.88-247.664 343.808-456.56 301.023-101.168-20.785-184.208-79.712-241.056-165.936-56.864-86.256-76.736-189.504-55.952-290.672 24.704-120.224 102.624-219.328 213.76-271.904 15.968-7.552 22.8-26.624 15.231-42.609-7.552-15.952-26.592-22.736-42.592-15.232C192.111 225.87 101.327 341.342 72.527 481.47c-24.223 117.936-1.07 238.256 65.185 338.784 66.272 100.48 163.696 169.169 281.632 193.409a450.431 450.431 0 0 0 90.751 9.248c209.456 0 397.648-147.12 441.376-360.112 42.112-205.008-60.655-410.096-249.919-498.704zM512.015 416.001c17.664 0 32-14.336 32-32v-352c0-17.664-14.336-32-32-32s-32 14.336-32 32v352c0 17.664 14.336 32 32 32z\"}}]})(props);\n};\nexport function SlPresent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1024 320.496c0-35.344-28.654-64-63.998-64H850.754c28.272-27.888 46.368-64.447 46.368-109.472 0-55.44-31.84-115.664-121.216-115.664-117.6 0-215.84 125.216-262 195.408-46.192-70.176-147.44-195.392-265.024-195.392-89.376 0-121.216 60.224-121.216 115.664 0 45.008 18.592 81.584 47.44 109.472H64.002c-35.344 0-64 28.656-64 64V512.08h64.56v416.56c0 35.344 28.655 64 64 64h767.68c35.343 0 64-28.656 64-64V512.064h63.76V320.496zM775.906 95.376c39.568 0 57.216 16.625 57.216 51.665 0 71.088-79.344 109.439-153.968 109.439H570.818c45.471-67.536 125.504-161.104 205.088-161.104zm-527.025.001c79.6 0 162.655 93.568 208.127 161.088H348.64c-74.624 0-156.976-39.344-156.976-110.432 0-35.024 17.648-50.656 57.217-50.656zm711.12 352.687h-416V320.496h416v127.568zm-896-127.568h416v127.568h-416zm64.56 191.568h351.44v416.56h-351.44zm767.696 416.56H544.001v-416.56h352.256v416.56z\"}}]})(props);\n};\nexport function SlPrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M952.736 254.928H832.017V.48H191.985v254.448H71.265c-39.312 0-71.312 32-71.312 71.344V760.16c0 39.344 32 71.344 71.311 71.344h120.72v192.016h640.032V831.504h120.72c39.313 0 71.313-32 71.313-71.344V326.272c0-39.344-32-71.344-71.313-71.344zM255.985 63.487h512.032v191.44H255.985V63.487zM768.018 959.52H255.986v-352.4h512.032v352.4zM960.05 760.159c0 4.08-3.28 7.344-7.313 7.344h-120.72V543.119H191.985v224.368H71.265c-4.032 0-7.312-3.264-7.312-7.344V326.271c0-4.064 3.28-7.345 7.312-7.345h881.472c4.033 0 7.313 3.28 7.313 7.345zm-128.048-376.72h-32c-17.664 0-32 14.336-32 32s14.336 32 32 32h32c17.664 0 32-14.336 32-32s-14.336-32-32-32z\"}}]})(props);\n};\nexport function SlPuzzle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 1024.16c-20.288 0-39.378-7.87-53.746-22.19L21.742 565.474c-29.536-29.68-29.536-77.952-.065-107.568l159.904-159.872c9.873-9.872 25.025-12.224 37.44-5.743 12.369 6.464 19.12 20.223 16.69 33.967-1.632 9.153-2.369 16.497-2.369 23.12 0 70 56.976 128.145 127.008 128.145 70.096 0 121.28-58.144 121.28-128.144 0-70.096-51.184-127.088-121.28-127.088-6.56 0-13.87.751-23.023 2.368-13.872 2.56-27.504-4.32-33.968-16.689-6.464-12.4-4.128-27.568 5.744-37.44L458.191 21.41c28.88-28.752 78.816-28.688 107.567-.064L674.91 130.562C697.694 59.746 764.19 8.337 842.446 8.337c97.025 0 175.97 78.976 175.97 176.031 0 78.256-51.377 144.752-122.225 167.504l106.032 105.968c29.6 29.68 29.6 77.952.031 107.601l-436.448 436.464c-14.431 14.384-33.52 22.256-53.807 22.256zM174.895 395.218L66.99 503.09c-4.656 4.688-4.656 12.433.063 17.185l436.368 436.384c6.128 6.064 10.945 6.129 17.185-.064l436.352-436.384c4.689-4.72 4.689-12.4-.031-17.151L803.023 349.252c-9.632-9.632-12.128-24.32-6.193-36.56s18.848-19.505 32.528-17.84l4.88.623c2.688.369 5.377.817 8.193.817 61.744 0 111.968-50.193 111.968-111.904 0-61.777-50.224-112.032-111.968-112.032-61.712 0-111.936 50.256-111.936 112.032 0 2.56.4 5.056.752 7.567l.688 5.712a32.003 32.003 0 0 1-18.03 32.288c-12.161 5.808-26.817 3.312-36.401-6.257L520.56 66.674c-6.128-6.064-10.944-6.129-17.185.064l-97.12 97.12c83.28 20.624 139.376 95.968 139.376 185.536 0 105.312-79.92 192.128-185.296 192.128-89.536-.016-164.848-63.088-185.439-146.304z\"}}]})(props);\n};\nexport function SlQuestion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 0C229.232 0 0 229.232 0 512c0 282.784 229.232 512 512 512 282.784 0 512.017-229.216 512.017-512C1024.017 229.232 794.785 0 512 0zm0 961.008c-247.024 0-448-201.984-448-449.01 0-247.024 200.976-448 448-448s448.017 200.977 448.017 448S759.025 961.009 512 961.009zm-47.056-160.529h80.512v-81.248h-80.512zm46.112-576.944c-46.88 0-85.503 12.64-115.839 37.889-30.336 25.263-45.088 75.855-44.336 117.775l1.184 2.336h73.44c0-25.008 8.336-60.944 25.008-73.84 16.656-12.88 36.848-19.328 60.56-19.328 27.328 0 48.336 7.424 63.073 22.271 14.72 14.848 22.063 36.08 22.063 63.664 0 23.184-5.44 42.976-16.368 59.376-10.96 16.4-29.328 39.841-55.088 70.322-26.576 23.967-42.992 43.231-49.232 57.807-6.256 14.592-9.504 40.768-9.744 78.512h76.96c0-23.68 1.503-41.136 4.496-52.336 2.975-11.184 11.504-23.823 25.568-37.888 30.224-29.152 54.496-57.664 72.88-85.551 18.336-27.857 27.52-58.593 27.52-92.193 0-46.88-14.176-83.408-42.577-109.568-28.416-26.176-68.272-39.248-119.568-39.248z\"}}]})(props);\n};\nexport function SlRefresh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497.408 898.56c-.08-.193-.272-.323-.385-.483l-91.92-143.664c-6.528-10.72-20.688-14.527-31.728-8.512l-8.193 5.04c-11.007 6-10.767 21.537-4.255 32.256l58.927 91.409c-5.024-1.104-10.096-2-15.056-3.296-103.184-26.993-190.495-96.832-239.535-191.6-46.336-89.52-55.04-191.695-24.512-287.743 30.512-96.048 99.775-174.464 189.295-220.784 15.248-7.888 21.2-26.64 13.312-41.856-7.872-15.264-26.64-21.231-41.855-13.327-104.272 53.952-184.4 145.28-219.969 257.152C45.982 485.008 56.11 604.033 110.078 708.29c57.136 110.336 158.832 191.664 279.024 223.136 1.36.352 2.784.56 4.16.911l-81.311 41.233c-11.008 6.032-14.657 19.631-8.128 30.351l3.152 8.176c6.56 10.72 17.84 14.527 28.815 8.512L484.622 944.4c.193-.128.385-.096.578-.224l9.984-5.456c5.52-3.024 9.168-7.969 10.624-13.505 1.52-5.52.815-11.663-2.448-16.991zm416.496-577.747c-57.056-110.304-155.586-191.63-275.762-223.118-8.56-2.24-17.311-3.984-26.048-5.712l79.824-40.48c11.008-6.033 17.568-19.632 11.04-30.369l-3.153-8.16c-6.56-10.736-20.752-14.528-31.727-8.528L519.262 80.654c-.176.112-.384.08-.577.208l-9.967 5.472c-5.537 3.04-9.168 7.967-10.624 13.503-1.52 5.52-.816 11.648 2.464 16.976l5.92 9.712c.096.192.272.305.384.497l91.92 143.648c6.512 10.736 20.688 14.528 31.712 8.513l7.216-5.025c11.008-6 11.727-21.536 5.231-32.24l-59.2-91.856c13.008 2 25.968 4.416 38.624 7.76 103.232 27.04 187.393 96.864 236.4 191.568 46.32 89.519 55.024 191.695 24.48 287.728-30.511 96.047-96.655 174.448-186.174 220.816-15.233 7.887-21.168 26.607-13.28 41.87 5.519 10.64 16.335 16.768 27.599 16.768 4.8 0 9.664-1.12 14.272-3.488 104.272-53.936 181.248-145.279 216.816-257.119 35.536-111.904 25.393-230.929-28.574-335.152z\"}}]})(props);\n};\nexport function SlReload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.28 0C255.472 0 47.36 208.126 47.36 463.934c0 240.448 185.296 441.536 423.568 462.096l-91.856 46.56c-11.344 6.223-18.096 20.223-11.376 31.279l3.248 8.4c6.752 11.056 21.376 14.976 32.687 8.783l153.312-78.496c.193-.128.4-.095.593-.223l10.288-5.632c5.68-3.12 9.44-8.224 10.943-13.903 1.569-5.68.85-12-2.527-17.504l-6.096-10c-.095-.193-.288-.32-.4-.496L475.055 746.83c-6.72-11.056-21.311-14.976-32.687-8.784l-7.44 5.184c-11.344 6.192-12.096 22.192-5.376 33.217l55.872 86.672c-.304-.016-.576-.128-.865-.144-209.28-13.727-373.2-189.039-373.2-399.039C111.36 243.408 290.767 64 511.28 64c220.544 0 400.96 179.408 400.96 399.937 0 126.976-58.32 243.6-160 319.968-14.127 10.624-16.975 30.689-6.367 44.817 10.624 14.16 30.689 16.976 44.817 6.368 117.936-88.592 185.567-223.872 185.567-371.152C976.24 208.129 767.105 0 511.28 0z\"}}]})(props);\n};\nexport function SlRocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M209.68 883.264c-20.112 41.807-32.802 69.666-144.689 73.73 3.216-107.968 23.792-119.552 64.992-140.08 17.296-8.624 38.832-19.344 62.113-37.248l-38.96-49.744c-18.4 14.128-35.329 21.568-51.697 29.712C32.8 793.858.45 827.569.45 988.289l.543 32.704 31.456-.704c169.632 0 201.328-38.32 233.104-104.32 6.96-14.464 10.832-24.24 22.56-43.729l-47.456-43.104c-14.224 19.408-23.104 37.872-30.976 54.128zm495.279-694.607c-70.768 0-128.352 57.583-128.352 128.335 0 70.784 57.6 128.353 128.352 128.353s128.336-57.584 128.336-128.352c0-70.752-57.6-128.336-128.336-128.336zm0 192.415c-35.328 0-64.08-28.752-64.08-64.08 0-35.313 28.752-64.08 64.08-64.08s64.08 28.767 64.08 64.08c-.016 35.344-28.752 64.08-64.08 64.08zm318.821-351.76c-.976-15.968-13.63-28.771-29.598-29.955 0 0-179.088-13.056-351.376 51.28-62.944 23.504-114.752 60.737-163.104 117.137-40.32 47.025-80.385 132.032-115.745 202.608-13.664 27.248-26.72 53.313-37.792 73.217H148.15a32.003 32.003 0 0 0-23.936 10.768L6.917 581.503A31.993 31.993 0 0 0 .388 612.51c3.44 10.785 12.32 18.945 23.329 21.44l190.944 43.665c13.007 16.064 34.687 40.097 69.376 78.593l72.335 80.192 38.945 164.72a31.984 31.984 0 0 0 21.231 23.056c3.233 1.024 6.576 1.568 9.904 1.568a31.95 31.95 0 0 0 20.832-7.712l118.56-117.936a31.981 31.981 0 0 0 11.184-24.288v-165.12c15.936-9.904 44.191-25.152 70.783-40.032 72.464-40.496 180.624-90.912 225.472-130.784 63.153-56.128 86.16-97.28 108.752-158.112 53.712-144.688 42.288-344.031 41.744-352.447zM922.001 359.469c-19.712 53.072-37.568 84.83-91.248 132.558-39.664 35.232-148.128 85.824-214.192 122.769-49.312 27.568-78.848 43.664-91.792 54.256a31.949 31.949 0 0 0-11.76 24.784v167.248l-67.52 74.193-28.752-121.6a31.949 31.949 0 0 0-7.393-14.064c-58.847-65.216-147.743-163.808-154.56-171.632a32.017 32.017 0 0 0-17.568-10.848L90.624 583.597l71.904-76H344.56a31.988 31.988 0 0 0 27.264-15.248c14.08-22.928 30.416-55.536 49.344-93.296 32.048-63.952 71.92-148.544 107.12-189.632 41.584-48.528 83.824-79.009 136.896-98.848C783.28 66.445 905.152 61.805 960.864 62.22c1.04 59.008-1.184 195.824-38.863 297.248z\"}}]})(props);\n};\nexport function SlScreenDesktop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M960 95.808H64c-35.184 0-64 28.8-64 64V704c0 35.184 28.816 63.983 64 63.983h416v96.208H320c-17.664 0-32 14.336-32 32s14.336 32 32 32h384c17.664 0 32-14.336 32-32s-14.336-32-32-32H544v-96.208h416c35.184 0 64-28.8 64-63.983V159.808c0-35.2-28.816-64-64-64zM960 704H64V159.808h896V704z\"}}]})(props);\n};\nexport function SlScreenSmartphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M704.144 0H319.856c-53.024 0-96 42.976-96 96v832c0 53.024 42.976 96 96 96h384.288c53.024 0 96-42.976 96-96V96c0-53.024-42.976-96-96-96zm32 928c0 17.664-14.336 32-32 32H319.856c-17.664 0-32-14.336-32-32V96c0-17.664 14.336-32 32-32h384.288c17.664 0 32 14.336 32 32v832zM512.048 800.176c-35.28 0-63.84 28.592-63.84 63.824s28.576 63.841 63.84 63.841c35.28 0 63.84-28.608 63.84-63.84 0-35.233-28.56-63.825-63.84-63.825zm64-704.176h-128c-17.664 0-32 14.336-32 32s14.336 32 32 32h128c17.664 0 32-14.336 32-32s-14.336-32-32-32z\"}}]})(props);\n};\nexport function SlScreenTablet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832.144 0H191.856c-53.024 0-96 42.976-96 96v832c0 53.024 42.976 96 96 96h640.288c53.024 0 96-42.976 96-96V96c0-53.024-42.976-96-96-96zm32 928c0 17.664-14.336 32-32 32H191.856c-17.664 0-32-14.336-32-32V96c0-17.664 14.336-32 32-32h640.288c17.664 0 32 14.336 32 32v832zM512.048 800.176c-35.28 0-63.84 28.592-63.84 63.824s28.56 63.841 63.84 63.841c35.264 0 63.84-28.608 63.84-63.84 0-35.233-28.576-63.825-63.84-63.825zm64-704.176h-128c-17.664 0-32 14.336-32 32s14.336 32 32 32h128c17.664 0 32-14.336 32-32s-14.336-32-32-32z\"}}]})(props);\n};\nexport function SlSettings (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M960.496 415.056l-82.129-18.224c-6.4-20.48-14.784-40.08-24.4-58.927l44.431-74.032c16.592-26.512 24.976-65.52 0-90.512l-45.28-45.248c-24.976-24.992-67.151-20.496-92.623-2.832l-72.032 45.887c-18.689-9.696-38.225-18-58.529-24.56l-18.431-83.12C605.999 33.009 579.343 0 543.999 0h-64c-35.344 0-57.008 33.504-64 64l-20.528 82.128c-21.68 6.912-42.496 15.744-62.336 26.208l-73.84-47.024c-25.456-17.664-67.648-22.16-92.624 2.832l-45.264 45.248c-24.992 25.008-16.608 64 0 90.512l46.752 77.92c-8.767 17.664-16.544 35.936-22.544 55.024l-82.112 18.224C33.007 420.56 0 447.216 0 482.56v64c0 35.344 33.504 57.008 64 64l83.152 20.784c5.745 17.632 12.928 34.56 21.056 50.976l-46.8 78c-16.591 26.496-24.975 65.504 0 90.496l45.28 45.248c24.976 25.008 67.152 20.496 92.624 2.847l74-47.152c19.952 10.528 40.88 19.44 62.704 26.337L416.495 960c7.008 30.496 28.656 64 64 64h64c35.344 0 62-33.007 67.504-63.504l18.464-83.343c20.096-6.496 39.376-14.689 57.84-24.257l72.192 46c25.472 17.664 67.664 22.16 92.624-2.848L898.4 850.8c24.976-25.008 16.592-64 0-90.496l-44.463-74.128c8.944-17.568 16.688-35.84 22.912-54.848L960 610.56c30.496-7.008 64-28.656 64-64v-64c0-35.344-32.992-62-63.504-67.504zm-.465 126.992c-2.72 1.952-7.842 4.635-14.338 6.139l-118.656 29.631-11.008 33.632c-4.975 15.153-11.407 30.529-19.119 45.712l-16.064 31.569 62.688 104.528c4 6.4 5.872 12.127 6.432 15.503l-42.096 42.033c-4.064-1.28-8.688-2.945-10.912-4.464l-105.344-67.184-32.752 16.945c-15.776 8.192-31.969 14.976-48.097 20.192l-34.88 11.28-26.368 119.12c-1.216 6.368-4.624 11.504-6.96 13.344h-57.6c-1.951-2.72-4.623-7.84-6.112-14.32L449.39 827.9l-34.095-10.817c-17.569-5.536-35.088-12.912-52.144-21.904l-32.912-17.376-105.36 67.152c-4.304 2.912-8.912 4.56-13.088 4.56l-41.968-40.847c.56-3.311 2.304-8.783 5.792-14.367l65.456-109.056-15.568-31.344c-7.264-14.784-13.024-28.656-17.504-42.4l-10.992-33.664L79.518 548.46c-7.392-1.68-12.736-4.432-15.52-6.4v-59.504c.032.016.08.032.145.032 1.072 0 6.336-3.745 10.72-4.544l120.72-26.737 11.087-35.28c4.512-14.368 10.672-29.344 18.816-45.775l15.568-31.36-64.767-107.92c-4.016-6.432-5.872-12.16-6.432-15.52l42.08-42.065c4.08 1.312 8.672 2.96 10.88 4.48l107.312 68.4 32.88-17.344c16.88-8.895 34.336-16.239 51.904-21.823l34.016-10.832L478.11 79.501c1.697-7.391 4.416-12.735 6.4-15.52H544c-.433.657 3.68 6.24 4.527 10.865l26.88 121.408 34.848 11.264c16.336 5.28 32.752 12.16 48.72 20.448l32.752 17.008 103.152-65.712c4.32-2.945 8.944-4.576 13.088-4.576l42 40.816c-.56 3.328-2.32 8.816-5.808 14.416l-63.344 105.488 16.16 31.616c8.72 17.056 15.376 33.056 20.32 48.928l11.056 35.344L946.64 477.55c7.153 1.328 12.721 5.456 13.905 7.696zM512.43 319.674c-106.272 0-192.736 86.288-192.736 192.32 0 106.016 86.464 192.304 192.736 192.304s192.736-86.288 192.736-192.304c0-106.032-86.464-192.32-192.736-192.32zm-.432 320.32c-70.576 0-128-57.424-128-128 0-70.592 57.424-128 128-128 70.592 0 128 57.408 128 128 0 70.576-57.424 128-128 128z\"}}]})(props);\n};\nexport function SlShareAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M901.84 949.376H69.841v-640h257.6l64.72-62.336-1.664-1.664H69.84c-35.344 0-64 28.656-64 64v640c0 35.344 28.656 64 64 64h832c35.343 0 64-28.656 64-64V448.704l-64 61.088v439.584zm-631.711-256l64.48-.001c44.865-254.496 266.545-448 533.889-448 11.215 0 21.855.096 32.623.176L783.873 362.783c-12.464 12.496-12.464 32.752 0 45.248 6.255 6.256 14.463 9.376 22.656 9.376s16.336-3.12 22.592-9.376l189.024-194L829.12 19.999c-12.464-12.496-32.72-12.496-45.248 0-12.464 12.496-12.464 32.752 0 45.248l116.176 116.16c-10.033-.016-19.968-.048-30.208-.048-303.056 0-553.567 221.952-599.711 512.017z\"}}]})(props);\n};\nexport function SlShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M864 704c-52.688 0-99.295 25.585-128.431 64.88l-421.36-214.72c3.664-13.455 5.792-27.535 5.792-42.16 0-18.303-3.216-35.807-8.88-52.175l423.76-205.616C763.97 294.016 810.897 320 864.001 320c88.367 0 160-71.649 160-160 0-88.368-71.633-160-160-160S704 71.633 704 160c0 12.431 1.567 24.464 4.24 36.08L278.4 404.657c-29.281-32.273-71.393-52.656-118.4-52.656C71.631 352 0 423.633 0 512c0 88.351 71.631 160 160 160 50.895 0 96.127-23.824 125.423-60.865l423.104 215.632C705.664 838.736 704 851.152 704 864c0 88.368 71.632 160 160 160s160-71.632 160-160-71.632-160-160-160zm.002-639.999c53.008 0 96 42.992 96 96s-42.992 96-96 96-96-42.992-96-96 42.992-96 96-96zm-704 544c-53.024 0-96-42.992-96-96s42.976-96 96-96c53.008 0 96 42.992 96 96s-42.992 96-96 96zm704 352c-53.008 0-96-42.992-96-96s42.992-96 96-96 96 42.992 96 96-42.992 96-96 96z\"}}]})(props);\n};\nexport function SlShield (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M907.952 144.48a63.997 63.997 0 0 0-43.663-17.217c-1.472 0-2.943.065-4.4.16-.912.065-11.184.689-27.28.689-26.656 0-78.688-1.808-127.969-13.936-63.664-15.631-137.12-88.16-158.496-102.464A63.959 63.959 0 0 0 510.576.93a64.186 64.186 0 0 0-35.536 10.752c-2.592 1.744-79.504 84.032-154.752 102.496C271.04 126.305 218 128.113 191.376 128.113c-16.096 0-26.369-.624-27.376-.689a62.314 62.314 0 0 0-4.225-.16A64.186 64.186 0 0 0 116 144.544c-12.945 12.096-20.32 29.008-20.32 46.72v160.032c0 591.632 387.12 667.808 403.567 670.783a65.614 65.614 0 0 0 11.313 1.008c3.776 0 7.6-.336 11.312-1.008 16.432-2.976 406.4-79.151 406.4-670.783V191.264a63.811 63.811 0 0 0-20.32-46.784zm-43.647 206.816c0 544.912-353.714 607.777-353.714 607.777s-350.88-62.88-350.88-607.776V191.265s12.096.848 31.68.848c33.568 0 90.032-2.464 144.16-15.776C424.175 154.593 510.575 64.93 510.575 64.93s90.256 89.664 178.784 111.408c54.192 13.312 109.68 15.776 143.249 15.776 19.568 0 31.68-.848 31.68-.848s.016 20.352.016 160.031h.001zm-216.706-5.055c-12.496-12.496-32.769-12.496-45.249 0l-90.512 90.512-90.511-90.512c-12.497-12.496-32.769-12.496-45.265 0s-12.496 32.769 0 45.249l90.512 90.512-90.512 90.511c-12.496 12.48-12.496 32.753 0 45.25s32.769 12.496 45.265 0l90.511-90.512 90.512 90.511c12.48 12.497 32.753 12.497 45.249 0s12.496-32.768 0-45.249l-90.512-90.511L647.6 391.49c12.496-12.48 12.496-32.753 0-45.249z\"}}]})(props);\n};\nexport function SlShuffle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M402.304 505.856l39.264-55.248-134.304-183.28H2.736v64h271.488zm516.479-174.528l-77.536 69.535c-9.344 8.945-12.368 23.44-3.025 32.368l5.472 8.065c9.376 8.944 24.496 8.944 33.824 0l127.744-115.504c.176-.16.384-.193.544-.336l8.464-8.096c4.672-4.496 7.008-10.368 6.976-16.288.032-5.872-2.304-11.776-6.976-16.224l-8.464-8.096c-.16-.16-.336-.225-.544-.368L875.534 157.952c-9.36-8.945-24.464-8.945-33.84 0l-5.471 8.064c-9.36 8.944-6.32 23.408 3.023 32.336l76.048 68.976h-231.76l-409.312 576H2.734v64h304.512l409.328-576zm87.027 521.44c-.16-.16-.337-.226-.545-.37L875.537 733.968c-9.36-8.944-24.464-8.944-33.84 0l-5.471 8.064c-9.36 8.945-6.32 23.409 3.023 32.336l76.336 69.233-199.008-.273L602.145 666.32l-39.28 55.248 120.656 185.76 234.944.288-77.216 69.248c-9.344 8.945-12.368 23.44-3.025 32.368l5.472 8.065c9.376 8.944 24.496 8.944 33.824 0l127.744-115.504c.176-.16.384-.192.544-.336l8.464-8.096c4.672-4.496 7.008-10.368 6.976-16.288.032-5.872-2.304-11.776-6.976-16.224z\"}}]})(props);\n};\nexport function SlSizeActual (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M383.2 346.8l-.673-231.011c-.288-12.928-10.992-20.624-23.92-20.928l-16.416-.015c-12.944-.288-23.184 10.975-22.912 23.887l.896 155.248L53.903 10.253c-12.496-12.496-32.752-12.496-45.248 0s-12.496 32.752 0 45.248l265.12 262.608-151.088.4c-12.928-.287-24.912 8.64-26.88 23.873l.032 16.416c.32 12.944 11.009 23.648 23.92 23.936l229.505-1.007c.256.015.416.11.64.11l11.696.273c6.448.176 12.272-2.352 16.4-6.545 4.208-4.143 5.712-9.95 5.584-16.431l-1.263-11.712c.015-.224.88-.4.88-.623zm262.783 28.765c4.128 4.176 9.952 6.724 16.4 6.548l11.697-.273c.223 0 .383-.08.64-.112l229.503 1.008c12.928-.288 23.617-10.992 23.92-23.937l.032-16.416c-1.967-15.248-13.952-24.16-26.88-23.872l-151.087-.4 265.12-262.608c12.496-12.496 12.496-32.752 0-45.248s-32.752-12.496-45.248 0L703.824 273.967l.88-155.232c.303-12.928-9.953-24.176-22.897-23.888l-16.416.016c-12.96.304-23.648 8-23.92 20.928l-.673 231.008c0 .223.88.383.88.624l-1.264 11.711c-.143 6.497 1.36 12.289 5.569 16.432zM378.016 647.426c-4.144-4.176-9.952-6.705-16.4-6.545l-11.697.288c-.223 0-.383.096-.64.111l-229.52-1.007c-12.927.303-23.616 10.992-23.92 23.92l-.031 16.431c1.967 15.216 13.952 24.16 26.88 23.857l151.247.4L8.655 968.497c-12.496 12.496-12.496 32.752 0 45.248 12.497 12.496 32.752 12.496 45.248 0l266.272-264.576-.896 156.08c-.288 12.944 9.968 24.192 22.912 23.904l16.416-.032c12.944-.32 23.648-8 23.92-20.928l.673-231.008c0-.223-.88-.367-.88-.607l1.264-12.704c.143-6.496-1.36-12.288-5.569-16.448zm372.046 57.47l151.249-.4c12.928.303 24.912-8.641 26.88-23.857l-.032-16.431c-.32-12.945-11.01-23.633-23.921-23.921H674.734c-.256-.016-.416-.112-.64-.112l-13.696-.272c-6.448-.176-12.288 4.352-16.4 8.545-4.209 4.143-5.712 9.935-5.585 16.431l1.264 11.697c0 .24-.88.384-.88.607l.672 231.008c.288 12.928 10.977 20.608 23.921 20.928l17.424.032c12.944.288 23.184-10.976 22.896-23.903l-.88-154.528 267.264 263.024c12.497 12.496 32.752 12.496 45.248 0 12.496-12.496 12.497-32.752 0-45.248z\"}}]})(props);\n};\nexport function SlSizeFullscreen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M685.904 383.184l275.264-273.572-.896 155.072c-.289 12.928 9.967 24.176 22.912 23.888l16.416-.016c12.944-.304 23.648-8 23.92-20.928l.672-231.008c0-.223-.88-.399-.88-.623l1.264-11.712c.128-6.496-1.391-12.288-5.584-16.431-4.143-4.176-9.951-6.72-16.4-6.544l-11.696.272c-.223 0-.399.08-.64.113L760.77.687c-12.928.288-23.632 10.976-23.92 23.92l-.032 16.417c1.967 15.248 13.952 24.16 26.88 23.872l151.248.4L640.657 337.92c-12.496 12.496-12.496 32.752 0 45.264 12.496 12.48 32.752 12.48 45.247 0zM339.088 640.812L63.825 913.532l.88-154.224c.304-12.944-9.969-24.192-22.897-23.904l-17.423.032c-12.96.32-23.649 8-23.921 20.944l-.672 231.008c0 .224.88.367.88.623l-1.264 11.68c-.144 6.496 1.376 12.32 5.584 16.433 4.128 4.192 9.952 6.72 16.384 6.56l11.712-.288c.223 0 .383-.096.64-.096l230.495 1.008c12.928-.32 23.617-11.009 23.92-23.936l.032-16.432c-1.967-15.216-13.952-24.16-26.88-23.872l-151.247-.4L384.32 686.076c12.496-12.497 12.496-32.752 0-45.248s-32.737-12.512-45.233-.016zm685.122 346.56l-.672-231.01c-.288-12.944-10.992-20.624-23.92-20.944l-16.416-.032c-12.944-.289-23.184 10.975-22.912 23.903l.896 155.072-275.28-273.552c-12.496-12.496-32.752-12.496-45.248 0s-12.496 32.752 0 45.248L914.93 958.649l-151.232.4c-12.928-.288-24.912 8.657-26.88 23.872l.032 16.432c.304 12.944 11.008 23.633 23.92 23.936l229.504-1.007c.24 0 .416.095.64.095l11.696.288c6.448.16 12.272-2.368 16.4-6.56 4.193-4.128 5.696-9.936 5.584-16.432l-1.263-11.68c0-.255.88-.399.88-.622zM110.049 65.321l151.264-.397c12.928.288 24.912-8.64 26.88-23.873l-.032-16.431C287.84 11.677 277.15.972 264.24.7l-230.512.992c-.256-.032-.416-.112-.64-.112l-11.712-.273C14.945 1.132 9.105 3.676 4.992 7.851.784 11.995-.735 17.787-.592 24.283L.672 35.995c0 .223-.88.384-.88.624l.672 231.008c.288 12.928 10.977 20.624 23.921 20.928l17.424.015c12.928.288 23.183-10.96 22.895-23.888l-.88-154.224 275.264 272.72c12.48 12.497 32.753 12.497 45.25 0s12.496-32.768 0-45.264z\"}}]})(props);\n};\nexport function SlSocialBehance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M376.743 414.841c15.924-9.676 23.987-27.214 23.987-51.806 0-27.213-10.682-45.555-31.848-54.425-17.74-6.046-40.72-9.07-68.133-9.07H148.157v129.612h167.106c24.995 0 45.757-4.838 61.48-14.311zm-16.528-51.806c0 9.272-1.611 15.32-4.635 17.134-9.272 5.643-22.778 8.466-40.517 8.466H188.676v-48.58h112.076c22.375 0 40.516 2.216 53.819 6.45 2.016 1.008 5.643 2.62 5.643 16.529v.001zm14.717 167.709c-13.707-6.249-33.26-9.676-57.852-9.877H148.16v156.02h166.904c24.995 0 44.75-3.428 58.658-10.28 25.6-12.7 38.5-37.291 38.5-72.97.203-30.236-12.295-51.402-37.29-62.892zm-186.256 30.64h128.402c24.592.202 36.283 4.031 41.121 6.249 7.257 3.427 13.707 7.86 13.707 26.002 0 28.825-10.885 34.066-16.126 36.688-3.83 1.814-15.118 6.047-40.718 6.047H188.675v-74.986zm659.553-108.65c-17.94-15.32-40.313-23.182-66.72-23.182-28.624 0-51.402 8.265-67.326 24.794-15.924 16.328-26.003 38.702-29.833 66.52l-.202 1.815h194.52l-.202-1.613c-2.217-30.035-12.296-53.014-30.237-68.334zm-104.617 29.228c3.427-3.427 12.698-12.095 37.895-12.095 15.723 0 28.422 4.032 38.703 12.095h-76.598zm283.008 22.173c-6.047-38.904-19.552-73.777-40.111-103.812-18.949-28.22-42.533-50.394-70.551-66.52V172.946H647.46v162.47c-16.328 9.876-31.244 21.569-45.153 35.477-31.648 31.849-52.41 72.769-62.69 121.952-7.459-10.885-16.329-20.762-26.206-29.43a204.002 204.002 0 0 0 3.427-4.031c23.584-28.422 35.476-65.108 35.476-109.253 0-42.129-11.288-79.219-33.663-110.261-36.485-49.79-96.554-75.792-178.395-77.203H-3.63v651.087h323.326c31.447 0 61.48-2.822 88.895-8.668 30.639-6.45 57.65-18.545 80.428-36.082 20.157-15.118 36.888-33.865 50.192-55.836 5.241-8.265 9.877-16.932 13.707-26.003 13.304 32.454 32.654 59.263 58.456 80.025 49.991 40.315 108.447 60.674 173.757 60.674 79.42 0 142.715-24.995 188.068-74.38 30.035-31.85 47.169-64.907 51.2-98.369l2.62-22.576h2.823l.605-38.299c1.008-37.493-.403-67.931-3.83-90.104h.003zm-584.16-38.301l-3.226 1.611 3.427 1.21c28.825 10.482 50.797 27.213 65.512 49.992 14.715 22.778 22.173 50.796 22.173 83.048 0 33.461-8.466 63.9-25.398 90.71-10.682 17.739-24.188 32.655-40.112 44.75-17.94 13.706-39.71 23.382-64.1 28.421-24.795 5.241-51.805 7.862-80.63 7.862H36.891V203.183H338.65C407.79 204.19 457.377 224.55 486 263.655c17.335 23.988 26.003 53.015 26.003 86.678 0 34.469-8.869 62.487-26.205 83.451-9.877 11.692-24.39 22.375-43.339 32.05zm339.049-165.091c-10.08 0-19.957.403-29.43 1.411h-64.101v-88.693h187.666v88.693h-64.1c-9.878-.806-19.957-1.411-30.036-1.411h.001zm-99.984 293.493c1.814 42.935 16.935 73.374 45.155 90.71 17.134 10.683 37.896 16.126 61.883 16.126 25.6 0 46.564-6.652 62.487-19.754 8.668-7.055 16.329-16.73 22.779-28.824h110.463c-3.427 24.19-16.932 48.983-40.517 73.978-37.493 40.718-90.709 61.279-158.438 61.279-55.836 0-105.827-17.335-148.359-51.805-42.532-34.268-64.102-91.111-64.102-168.517 0-72.567 19.553-129.209 57.852-167.912 32.655-32.857 74.18-52.007 123.565-57.047h55.03c25.6 2.62 49.386 8.668 70.954 18.343 29.228 13.101 53.619 34.065 72.567 62.286 17.134 24.794 28.422 54.224 33.46 87.08 3.025 19.35 4.234 46.967 3.629 82.443h-308.41v1.614h.003zm144.128 55.635c-8.87 7.257-20.964 10.683-37.09 10.683-16.53 0-29.63-3.225-40.314-9.877-5.242-3.225-11.692-8.063-16.933-17.739h107.036c-4.031 7.66-8.266 13.304-12.7 16.932z\"}}]})(props);\n};\nexport function SlSocialDribbble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.984.272C442.128.272 375.52 14.383 314.8 39.839a32.015 32.015 0 0 0-6.145 2.672C127.391 121.328.271 302.064.271 512.016c0 282.16 229.568 511.712 511.712 511.712 282.192 0 511.744-229.568 511.744-511.712C1023.727 229.824 794.175.272 511.983.272zm447.745 511.744c0 3.584-.192 7.12-.272 10.67-49.025-13.007-173.393-37.439-326.801-3.742-13.52-30.896-28.512-62.575-45.28-94.816-1.408-2.704-2.784-5.28-4.176-7.952 164.128-63.344 233.888-148.672 262.768-201.952C916.657 293.44 959.73 397.776 959.73 512.016zM797.537 167.438c-14.912 35.2-69.04 126-244.719 191.888-78.897-144.224-140.225-230.672-174.593-274.64 42.256-13.264 87.184-20.416 133.76-20.416 108.432 0 207.983 38.768 285.552 103.168zM316.05 109.519c27.216 33.28 90.384 117.056 175.104 270.447-200 60.288-362.448 53.04-418.832 47.792 26.816-140.144 119.072-257.312 243.729-318.239h-.001zM64.273 512.014c0-6.896.21-13.745.53-20.577 19.249 1.935 49.153 4.079 88.289 4.079 86.895 0 217.712-10.752 369.008-58.144a2450.562 2450.562 0 0 1 8.544 16.273c14.431 27.776 27.487 55.185 39.407 82.064-27.376 8.609-55.392 19.073-83.872 31.97-182.624 82.703-268.192 200.703-298.673 252.335-76.273-80.32-123.232-188.752-123.232-308zM236.1 864.236c16.24-30.752 90.607-154.082 276.447-238.258 27.968-12.672 55.52-22.784 82.384-30.912 60.736 154.32 81.808 281.568 88.177 330.593-52.752 21.905-110.528 34.065-171.12 34.065-104.016 0-199.792-35.76-275.888-95.488zm507.518 30.798c-9.232-61.6-32.145-177.392-85.969-315.664 148.448-29.552 265.952-.56 295.616 8.08-22.223 130.208-100.735 241.488-209.647 307.584z\"}}]})(props);\n};\nexport function SlSocialDropbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1023.42 224.752a32.048 32.048 0 0 0-14.976-24.914L723.26 21.87c-11.6-7.216-26.431-6.32-37.055 2.289L511.98 165.103 337.789 24.159c-10.592-8.56-25.536-9.535-37.056-2.287L15.549 199.84A32.046 32.046 0 0 0 .572 224.752c-.752 10.224 3.472 20.16 11.312 26.75L177.1 390.32 35.564 501.503c-8.096 6.32-12.624 16.177-12.224 26.417s5.681 19.664 14.225 25.36l130.976 87.312c-6.432 5.84-10.544 14.208-10.544 23.6v128.335c0 11.12 5.776 21.44 15.248 27.28l321.968 182.433c5.12 3.152 10.944 4.72 16.752 4.72s11.632-1.6 16.784-4.751l318.224-182.432a32.013 32.013 0 0 0 15.216-27.248V642c0-2.065-.24-4.08-.608-6.033l124.048-82.688a31.97 31.97 0 0 0 14.224-25.328c.4-10.256-4.095-20.08-12.16-26.416L846.781 390.384l165.312-138.88c7.856-6.592 12.08-16.528 11.328-26.751zM736.673 390.654L511.985 531.438 287.297 390.654 511.985 244.43zM86.801 230.847L315.265 88.255l142.368 115.184-227.344 147.968zm143.12 199.376l225.969 141.6-128.064 98.032-218-145.312zm-7.903 246l89.344 59.567c11.344 7.569 26.32 7.057 37.183-1.215l129.408-99.04v282.8l-255.936-143.68v-98.432zm576.191 98.431L541.953 920.335V632.559l132.656 101.968c5.712 4.4 12.624 6.624 19.504 6.624a31.81 31.81 0 0 0 17.744-5.376l86.336-57.568v96.448h.016zm115.248-250.175L695.426 669.806l-127.44-97.936 226-141.632zM793.666 351.405L566.321 203.437l142.4-115.184 228.464 142.592z\"}}]})(props);\n};\nexport function SlSocialFacebook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M581.76 80.496c3.808 0 5.999.16 5.999.16h83.568l-.431 96h-83.008c-45.68 0-44.624 39.007-44.624 39.007v152.192h161.632l-22.56 95.872h-139.6v479.776h-95.904l-.064-479.776H319.36l-.256-95.872h127.712V218.671C446.83 88.591 554.864 80.495 581.76 80.495zm89.567.159h.16-.16zm-89.567-64.16c-23.008 0-67.97 3.809-110.562 29.473-40.32 24.256-88.368 73.935-88.368 172.688v85.183h-63.712c-17.008 0-33.312 6.784-45.344 18.817a64.003 64.003 0 0 0-18.655 45.408l.256 95.872c.128 35.248 28.752 63.776 64 63.776h63.408l.064 415.776c0 35.344 28.657 64 64 64h95.905c35.343 0 64-28.656 64-64V527.712h75.6c28.4 0 53.407-18.72 61.407-45.967l22.56-95.873c5.68-19.343 1.903-40.255-10.192-56.368a63.912 63.912 0 0 0-51.217-25.664h-97.632v-63.152l63.632-.032c35.216 0 63.84-28.464 64-63.712l.431-92.752a64.3 64.3 0 0 0 .097-3.536c0-35.344-28.592-64-63.935-64h-81.936c-1.84-.096-4.496-.16-7.807-.161z\"}}]})(props);\n};\nexport function SlSocialFoursqare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M145 75.8c.8-1.8 1.598-3.799 2.197-5.599 14.4-46.2 45.801-69.8 94.4-69.8 115.2-.2 230.4 0 345.602 0h197.8c14.4 0 28.6 1.2 42.4 5.2 29.2 8.401 46.4 30.201 50 60.201 4.2 34.2-4.2 66.8-11 99.6-30.2 146.6-60.8 293.199-91.2 439.999-3.4 16-7.4 31.8-15 46.399-17.4 33.4-47.4 43.8-82.6 44.001-50.6.2-101.2.2-151.8 0-9.2 0-16.2 2.6-22.2 9.6C467.8 747.2 432 788.8 396 830.6c-50.2 58.4-100 117.2-150.8 175.2-15.6 17.8-37 22-59.8 16.8-21-4.8-33-19.2-38.4-39.401-.6-2-1.4-3.8-2-5.8V75.8zm86.198 848.401c1.4-2.6 2.004-4.202 3.004-5.402 32.2-40.4 64.4-80.6 96.8-121.001 36.6-45.6 73.2-91.2 109.4-137 15.6-19.599 34.199-29.799 60.199-29.2 57.6 1.2 115.399.401 172.999.2 27.8 0 39.4-10 44.999-37.2 8.6-42.599 17.6-85.399 26-127.998 5.6-28.4-8-44.6-36.6-44.6-62.2 0-124.4-1.8-186.4.6-51.8 1.8-77-21-74-74.6 2.2-40.8 21.4-61.6 62.4-61.8h237.2c24.6 0 36.4-9.4 41.4-33.4 9-42.6 17.8-85.2 26.6-128 6.2-30.599-6.8-46.599-37.8-46.599h-508.4c-30.4 0-41.4 11-41.4 41.8v789.2c0 4-1.2 8.6 3.6 15z\"}}]})(props);\n};\nexport function SlSocialGithub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M158.6 522.6c-11.6 0-22.4-7.402-26-19.002-29.4-91.8-33.6-254 29.4-327.6-14-53.2-6.2-125.2 19.599-163.8 5.4-8 14.2-12.6 24-12.2 73.4 3.201 121.2 33.8 163.2 61.8 59.8-15.599 118-21 187-17.2 17 1 33.8 4.8 48.6 8.2 14 3.2 28.4 6.601 36.8 5.801 7.6-.8 21.2-10 32.2-17.6 10.2-7 21-14.2 32.2-19.2 32-14 60.8-20.4 99.6-21.8 15-.4 27.8 11.199 28.399 26.4s-11.2 27.799-26.4 28.2c-32.2 1.2-53.8 5.8-79.6 17.2-6.6 3-14.8 8.4-23.4 14.4-17 11.6-36.4 24.8-58 26.8-17.4 1.6-35.4-2.4-54.4-7-13.2-3-27-6.2-39.2-7-67.4-3.8-123.4 2-181.4 18.6-7.6 2.2-15.8 1-22.6-3.6l-6.8-4.6C305.198 85.2 270.6 62 220 55.8c-12.6 32.2-14.199 85.6-1.6 117.2 4.401 10.8 1.201 23.399-7.599 30.8-49.4 42-55.6 190.6-26.2 282.8 4.6 14.4-3.4 29.8-17.8 34.4-2.8 1.2-5.6 1.6-8.2 1.6zm207.999 269.998c-2 0-4.002-.2-6.002-.6-14.8-3.2-24-17.8-20.8-32.6l1.8-7.8c8.4-38 16.2-68.6 25.4-91.4-112.2-23.4-194-76.8-232.8-152.4-6.8-13.4-1.6-30 11.801-36.8s30-1.599 36.8 11.802c35 68.2 117.4 114.4 232.2 130.2 11 1.6 20 9.6 22.8 20.199 2.8 10.8-1.2 22.2-10.2 28.8-5.8 5.2-16.4 27-32.6 101.2l-1.8 8c-2.8 12.6-14 21.399-26.6 21.399zm-50.403 200.2c-1.8 0-3.4-.2-5.2-.6-14.8-3-24.6-16.8-21.6-31.6 5-25.4 22.8-36 33.4-42.2 7.2-4.2 9.4-5.8 10.6-8.6 6.2-13.2 4.6-47.4 3.2-74.8-.6-11.6-1.199-23.4-1.399-34.8-63.4 11-132.2 14.4-168.601-45.8-7.2-12-11.8-24.2-16-35.2-4.8-12.4-8.8-23.2-15.4-31.2-9.599-11.6-7.8-28.8 3.8-38.4s28.8-8 38.4 3.8c12.2 15 18.6 31.8 24.2 46.6 3.6 9.6 7 18.6 11.6 26.2 19.6 32.4 62.399 30.4 144.8 13.8 8.6-1.8 17.399.8 23.8 6.6 6.4 6 9.6 14.6 8.6 23.199-2 17.4-.8 40.2.2 62.2 2 38.6 3.8 75-8.4 100.8-8.8 18.6-23 27-32.4 32.4-2.6 1.6-6.6 3.8-7.4 4.8-1.8 13.4-13.2 22.801-26.2 22.801zm397.599-5.2c-9 0-17.6-4.397-23-12.397-2.2-3.6-5.4-5.8-11-9.6-8.8-6.2-20.8-14.6-29.8-32-16.2-31.8-13.6-78-11-126.8 1.599-30 3.198-61-.002-85.4-2.8-20.6-10-29.8-20-42.6-6.4-8.4-13.8-17.801-19.6-30.202-3.8-8.2-3.2-17.6 1.2-25.4 4.6-7.8 12.6-12.8 21.6-13.4 102.6-7.6 183.6-56 222.6-132.6 6.8-13.4 23.2-18.8 36.8-12 13.4 6.8 18.8 23.2 12 36.8-41.6 82.2-121 137.6-221.4 156.6 9 13.2 17.8 30 21.2 55.8 4 29.4 2.2 63 .4 95.4-2 37.6-4.2 80.2 5.201 99 2.4 4.8 5.4 7 12.2 11.8 7.4 5 17.4 12 25.6 24.599s4.601 29.6-7.998 37.8c-4.6 3.2-9.8 4.6-15 4.6zm155.4-470.596c-2.4 0-5.002-.4-7.402-.999-14.6-4.2-23-19.2-18.8-33.8 30.2-106.2 9.6-244.2-43.2-289.2-8.599-7.4-11.8-19.2-8-29.8 12.8-36.6 4.2-91.6-10.399-124.8-6-13.8.2-30 14-36s30 .2 36 14c16.8 38 27.8 97.8 16.8 147.6 65.2 72 78 225.6 47.4 333.2-3.6 12-14.399 19.8-26.399 19.799zm-245.601 507.401c-5 0-10.2-1.4-14.8-4.4-5-3.2-20-12.8-47.8-56-12.6-19.6-21.8-117.2-27.399-290.4-.4-15 11.4-27.799 26.4-28.2s27.8 11.4 28.2 26.4c3.6 113.4 12 242 19.6 264 20.4 31.6 30 38 30.4 38.2 12.6 8.2 16.399 25 8.199 37.8-5 8.2-13.8 12.6-22.8 12.6zm-207.401 0c-9 0-17.8-4.4-23-12.6-8.2-12.6-4.4-29.6 8.2-37.8.4-.2 10-6.6 30.4-38.2 7.6-21.8 15.8-150.6 19.6-264 .4-15 13.2-27 28.2-26.4 15 .4 27 13.2 26.4 28.2-5.6 173.2-14.8 271-27.4 290.4-27.8 43-42.8 52.8-47.8 56-4.4 3-9.6 4.4-14.6 4.4z\"}}]})(props);\n};\nexport function SlSocialGoogle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M707 360c-70-75-128-87-184-88h-2c-126 0-245 104-245 248 0 151 136 239 244 239h1c60 0 133-11 197-103H472V401l523 2c5 26 14 91 14 125 0 289-194 495-493 495C232 1023 1 797 1 515S232 8 516 8c139 0 288 55 382 180zm-187 93v154h263c-12 65-81 195-263 195-159 0-287-130-287-285 0-156 131-287 287-287 91 0 152 40 185 72l126-119C751 108 646 63 520 63 264 63 56 264 56 517c0 251 208 453 464 453 270 0 445-185 445-442 0-29-2-52-6-75H520z\"}}]})(props);\n};\nexport function SlSocialInstagram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511 4c138 0 155 1 209 3 53 2 90 11 123 24 34 13 62 30 90 58s45 56 58 90c13 33 22 70 24 123 2 54 3 71 3 209s-1 155-3 209c-2 53-11 90-24 123-13 34-30 62-58 90s-56 45-90 58c-33 13-70 22-123 24-54 2-71 3-209 3s-155-1-209-3c-53-2-90-11-123-24-34-13-62-30-90-58s-45-56-58-90C18 810 9 773 7 720c-2-54-3-71-3-209s1-155 3-209c2-53 11-90 24-123 13-34 30-62 58-90s56-45 90-58c33-13 70-22 123-24 54-2 71-3 209-3zm0 66c-144 0-161 1-217 3-52 2-81 12-100 19-49 20-82 53-102 102-7 19-17 48-19 100-2 56-3 73-3 217s1 161 3 217c2 52 12 81 19 100 20 49 53 82 102 102 19 7 48 17 100 19 56 2 73 3 217 3s161-1 217-3c52-2 81-12 100-19 49-20 82-53 102-102 7-19 17-48 19-100 2-56 3-73 3-217s-1-161-3-217c-2-52-12-81-19-100-20-49-53-82-102-102-19-7-48-17-100-19-56-2-73-3-217-3zm0 644c112 0 203-91 203-203s-91-203-203-203-203 91-203 203 91 203 203 203zm0-463c144 0 260 116 260 260S655 771 511 771 251 655 251 511s116-260 260-260zm332-10c0 34-28 60-62 60s-60-26-60-60 26-62 60-62 62 28 62 62z\"}}]})(props);\n};\nexport function SlSocialLinkedin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M997.795 1002.43H789.769c-14.715 0-26.607-11.892-26.607-26.607V640.806c0-114.898-59.263-114.898-78.816-114.898-52.611 0-74.986 41.525-82.243 59.466-3.427 8.064-5.04 21.77-5.04 40.921v349.732c0 14.715-11.892 26.607-26.606 26.607H362.23c-7.055 0-13.909-2.822-18.948-7.86s-7.861-11.895-7.66-18.95c0-5.643 2.822-567.432 0-624.881-.403-7.257 2.217-14.312 7.257-19.553s11.893-8.265 19.35-8.265h208.228c14.714 0 26.607 11.892 26.607 26.607v15.723c35.074-31.244 85.669-57.046 161.058-57.046 166.702 0 266.28 115.3 266.28 308.409v359.005c0 14.715-11.893 26.607-26.607 26.607zm-181.418-53.214l155.012-.004V616.815c0-162.268-77.606-255.193-213.065-255.193-90.507 0-134.45 45.153-162.066 86.476-3.225 10.885-13.506 18.949-25.6 18.949h-1.41c-9.677 0-18.546-5.242-23.181-13.707-3.628-6.653-4.435-14.313-2.016-21.368v-55.835H389.443c1.411 111.068 0 470.477-.403 572.877h154.809V626.09c0-26.809 2.822-46.16 8.869-60.875 23.383-57.852 72.566-92.724 131.427-92.724 83.855 0 132.03 61.28 132.03 168.113v308.611h.204zm-569.246 53.21H38.904c-14.715 0-26.607-11.892-26.607-26.607V349.73c0-14.715 11.892-26.608 26.607-26.608h208.227c14.715 0 26.607 11.893 26.607 26.607V975.82c0 14.715-11.892 26.608-26.607 26.608zM65.513 949.213h155.01V376.336H65.514v572.876zm77.605-658.344l-1.412-.001c-82.041 0-141.707-56.844-141.707-135.055 0-78.009 60.674-134.854 144.529-134.854 82.444 0 141.305 55.231 142.918 134.249 0 78.816-60.674 135.66-144.328 135.66zm1.41-216.492c-54.627 0-91.313 32.857-91.313 81.639 0 47.974 36.284 81.637 88.492 81.637h1.41c54.426 0 91.112-32.857 91.112-81.638-1.008-49.386-36.283-81.638-89.701-81.638z\"}}]})(props);\n};\nexport function SlSocialPintarest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M886.796 351.459c-3.822-186.292-156.11-321.28-362.52-321.28-22.331 0-45.064 1.61-67.798 4.828C291.11 57.941 164.165 177.038 140.425 331.141c-16.9 109.844 18.508 241.816 135.393 271.591l16.9 4.225 9.858-14.284c3.42-4.829 33.395-49.088 28.566-85.703-2.414-18.306-13.48-29.572-20.118-36.21l-3.219-3.22c-18.306-28.768-25.95-77.452-18.306-118.291 18.508-100.59 102.399-173.617 208.62-181.664 7.445-.604 14.888-.805 22.132-.805 110.045 0 184.48 65.584 189.712 166.978 4.828 97.974-24.544 187.297-76.85 233.166l-3.42 3.018c-12.272 10.864-21.929 19.514-42.047 22.532-5.231.805-10.462 1.207-15.29 1.207-40.237 0-62.165-26.556-62.97-52.71-1.005-29.371 10.663-61.56 23.136-95.76 15.29-42.047 31.183-85.703 25.349-130.768-6.238-46.673-48.686-83.087-96.768-83.087-12.272 0-24.745 2.414-36.816 6.84C336.975 271.39 324.1 385.66 356.087 477.8c-7.644 36.413-17.502 72.424-27.963 110.447-31.183 114.471-63.572 232.965-39.029 371.778l5.432 30.78 28.769-11.87c27.963-11.668 43.051-37.419 55.524-58.744 2.414-4.024 4.828-8.048 7.041-11.87 40.839-64.177 63.773-140.826 81.477-215.262 44.057 33.194 89.122 43.858 153.298 36.817 177.44-19.314 269.58-209.428 266.16-378.418zM406.587 481.223l1.413-7.04-2.615-6.84C378.025 395.12 384.26 307.205 442 285.277c6.237-2.414 12.674-3.621 18.911-3.621 23.538 0 44.259 17.3 47.076 39.43 4.426 32.994-8.852 68.803-22.733 107.027-13.48 37.016-27.562 75.24-26.153 114.47 1.609 49.089 41.845 101.194 113.062 101.194 7.444 0 15.088-.604 22.933-1.81 34.804-5.232 54.116-22.332 67.997-34.805l3.22-2.817c63.37-55.727 99.38-160.54 93.748-273.402-6.84-136.399-115.678-224.918-265.556-213.652-129.358 9.859-231.356 99.182-254.09 222.505-9.858 53.111.401 115.275 25.349 154.506 3.017 4.627 6.437 8.248 9.656 11.467 2.213 2.414 5.834 5.834 6.035 7.444.805 6.84-3.42 20.923-10.662 34.804-72.827-30.982-93.347-128.956-80.874-209.628 20.118-131.973 129.961-234.172 273.402-254.09 20.52-2.816 41.04-4.225 60.956-4.225 177.842 0 309.212 114.471 312.23 272.194 3.017 146.861-73.633 311.426-221.097 327.721-10.058 1.006-19.514 1.609-28.365 1.609-53.514 0-82.281-18.508-116.884-52.91L437.97 596.7l-9.858 44.259c-18.911 84.093-40.839 172.008-84.294 240.409-2.817 4.426-5.634 9.254-8.451 14.284-1.006 1.81-2.012 3.62-3.219 5.23-8.047-107.428 18.508-204.8 44.461-299.554 10.662-39.23 21.928-80.07 29.976-120.104z\"}}]})(props);\n};\nexport function SlSocialReddit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M664.6 729.8c-9.6-2.6-21.198.8-35.398 10.201l-1.4 1.2c-23 23-64.8 34.6-124.2 34.6s-101.2-11.6-124.2-34.6c-9.6-9.6-29-9.6-38.6 0-10 10-10 28.6.6 39.2C384 816 437.6 832.6 509.8 832.6c75 0 135-18.8 169-52.8 4.8-4.8 7.6-11.8 7.6-19.2 0-6.8-2.4-13.4-6.4-18-4.6-8.4-10.8-11.6-15.4-12.8zM438.2 579.399c0-44.2-37.2-84.4-78.2-84.4s-78.2 40.2-78.2 84.4c0 42.4 35.8 78.2 78.2 78.2s78.2-35.8 78.2-78.2zm221.401-78.2c-42.4 0-78.2 35.8-78.2 78.2s35.8 78.2 78.2 78.2 78.2-35.8 78.2-78.2-35.8-78.2-78.2-78.2zm237-124.8c-25.6 0-55.6 11.6-75.8 28.6-68-43.2-159.8-70-267.2-77.8l50-167 140.2 33.6c4.2 51.8 50.4 95.599 102.801 95.599 55 0 103.2-48.2 103.2-103.2s-48.2-103.2-103.2-103.2c-37.8 0-76 23-92.8 54.6l-166.8-41.8-2.4-.2c-11.4 0-27.2 10-28.2 26.6l-66 204.2c-105.2 1.2-208.601 29.2-292.4 79.4-25-15.6-49.6-23.2-75-23.2-67.2 0-122 54.6-122 122 0 42 20.2 79.4 56.2 99.4V629.4c0 87.2 47 163.2 135.2 220 83 57.4 195.8 89 317.6 89s237.8-31.6 320.8-89c87.2-60.4 138.4-138.6 138.4-220v-26c26-22.8 52.8-63.6 52.8-105.2-.2-67.2-58-121.8-125.401-121.8zm65.4 128.201c0 11.4-6.401 27.6-17.001 39.6-12.6-33.4-36.4-65-74.6-99.4 7.6-3.2 16-5.4 26.4-5.4 38.401-.2 65.201 26.8 65.201 65.2zM905.8 629.399c0 78-59 137.201-107.8 172.801-84.8 52.2-184.399 79.8-288.199 79.8-107.2 0-212.2-29-288-79.6-74.8-49.8-114.2-109.6-114.2-173s39.4-123.2 114.2-173c77-51.2 177-79.6 281.8-79.6 107.2 0 212.2 29 288 79.6 74.6 49.799 114.199 109.6 114.199 173zM150.399 442.4c-32.2 25.6-59.6 59.8-78.8 98.6-7.8-12.599-14-25-14-36.4 0-38.4 26.8-65.2 65.2-65.2 13-.2 21 0 27.6 3zM800.2 186.401c0-26.2 20.4-46.6 46.6-46.6s46.601 20.4 46.601 46.6-20.4 46.6-46.6 46.6c-26.2-.2-46.601-20.6-46.601-46.6z\"}}]})(props);\n};\nexport function SlSocialSkype (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M977.768 574.454a487.62 487.62 0 0 0 4.868-68.74c0-261.78-212.91-474.894-474.894-474.894-21.9 0-44.204 1.622-65.901 4.46C398.852 12.166 350.187 0 301.116 0c-163.84 0-297.061 133.22-297.061 296.858 0 48.26 11.76 95.91 34.268 138.29-3.447 23.32-5.272 47.044-5.272 70.566 0 261.779 212.91 474.894 474.894 474.894 18.452 0 37.107-1.014 55.357-3.244C610.954 1007.779 666.11 1024 723.087 1024c163.84 0 296.858-133.22 296.858-296.858 0-53.936-14.6-106.657-42.176-152.688zm-92.87 314.5c-43.19 43.19-100.777 67.118-162.015 67.118-45.218 0-88.814-13.18-126.326-38.12l-16.83-11.153-20.074 2.636c-17.034 2.23-34.472 3.244-51.708 3.244-54.951 0-108.28-10.747-158.365-32.038-48.463-20.48-92.059-49.883-129.368-87.193S153.5 712.543 133.019 664.08c-21.29-50.085-32.038-103.414-32.038-158.365 0-21.494 1.622-43.19 5.07-64.482l2.838-18.25-8.921-16.222c-18.25-33.457-27.984-71.376-27.984-109.903 0-61.237 23.724-118.622 67.117-162.015 43.19-43.19 100.778-67.118 162.016-67.118 39.135 0 77.866 10.139 111.73 29.198l16.221 9.125 18.452-2.636c19.872-3.042 40.353-4.46 60.427-4.46 54.951 0 108.28 10.747 158.365 32.038 48.463 20.48 92.059 49.882 129.368 87.192s66.712 80.905 87.192 129.368c21.291 50.085 32.038 103.414 32.038 158.365 0 21.088-1.622 42.379-4.867 63.265l-3.042 19.872 10.747 17.236c22.508 36.296 34.471 78.067 34.471 120.853-.203 61.034-24.13 118.622-67.32 161.812v.001zM578.714 461.51L482.6 439.816c-52.316-11.761-78.677-29.808-78.677-54.546 0-17.64 7.3-32.038 21.697-42.989s34.878-16.424 61.035-16.424c30.822 0 55.965 6.489 75.026 19.669 5.678 3.65 17.844 15.613 36.499 35.688 12.166 12.977 25.347 19.669 39.338 19.669 14.397 0 26.97-4.055 37.107-12.166 10.34-8.111 15.411-19.264 15.411-33.256 0-32.241-21.29-60.224-63.873-83.948-40.15-22.508-84.15-33.66-132.006-33.66-55.154 0-100.98 11.76-137.48 35.08-42.582 27.577-63.873 67.32-63.873 119.027 0 70.97 41.163 117 123.488 137.885l129.774 32.848c32.646 8.315 49.07 25.955 49.07 52.519 0 17.844-7.908 32.849-23.724 45.42-17.236 13.992-40.15 21.089-68.537 21.089-33.052 0-59.615-7.908-79.69-23.725-4.665-3.244-17.44-17.641-38.325-43.393-12.976-15.817-27.78-23.725-44-23.725-13.992 0-25.55 4.46-34.675 13.383S292.6 624.538 292.6 638.53c0 31.834 17.034 59.818 51.1 83.947 39.541 28.997 92.87 43.394 159.38 43.394 67.117 0 118.824-15.208 155.323-45.624 34.47-27.983 51.707-65.901 51.707-113.553.608-76.648-43.393-125.11-131.396-145.186z\"}}]})(props);\n};\nexport function SlSocialSoundcloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1021.8 577.8c0 88-71.4 159.399-159.399 159.399h-63.8c-17.6 0-31.8-14.2-31.8-31.8s14.2-31.8 31.8-31.8h63.8c52.8 0 95.6-42.8 95.6-95.6S915.2 482.4 862.4 482.4h-.4c-41.4 0-76.801-26.4-90.001-63.2 0-.2-.4-.4-.4-.8-24.8-69.8-89-121-166-126.6-16.6 1-29.8 14.799-29.8 31.599v381.8c0 17.6-14.2 31.8-31.8 31.8s-31.8-14.2-31.8-31.8v-381.8c0-52.4 42.2-94.801 94.4-95.4 104 6 191.2 74.2 224.8 168.2.2.2.4.4.6.4 4.201 12.8 16.201 22 30.201 22h.4c1.8 0 3.6.2 5.2.2h1c85 3.4 153 73.2 153 159zM416.4 737.199c-17.6 0-31.8-14.201-31.8-31.8v-350.6c0-17.6 14.2-31.8 31.8-31.8s31.8 14.2 31.8 31.8v350.6c0 17.4-14.2 31.8-31.8 31.8zm-127.599-.001c-17.6 0-31.8-14.201-31.8-31.8v-366.6c0-17.6 14.2-31.8 31.8-31.8s31.8 14.2 31.8 31.8v366.4c.2 17.599-14.2 32-31.8 32zm-127.401-.001c-17.6 0-31.8-14.201-31.8-31.8v-255c0-17.6 14.2-31.8 31.8-31.8s31.8 14.2 31.8 31.8v255c0 17.4-14.2 31.8-31.8 31.8zM34 673.396c-17.6 0-31.8-14.2-31.8-31.8v-127.4c0-17.6 14.2-31.8 31.8-31.8s31.8 14.2 31.8 31.8v127.4c0 17.6-14.2 31.8-31.8 31.8zm637.2 0c17.6 0 31.8 14.2 31.8 31.8s-14.2 31.8-31.8 31.8-31.8-14.2-31.8-31.8 14.2-31.8 31.8-31.8z\"}}]})(props);\n};\nexport function SlSocialSpotify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M417.534 310.746c154.872 4.207 274.084 22.042 384.678 78.14 15.627 8.013 34.46 19.433 40.67 33.859 5.81 13.424 2.404 41.473-7.413 48.484-13.824 10.018-41.673 14.826-56.099 7.413-113.8-58.905-235.013-77.738-360.634-72.729-50.288 2.004-100.777 11.42-150.265 21.037-32.257 6.411-58.904 2.805-68.32-30.454-10.218-35.262 14.826-53.294 44.879-58.904 67.518-12.02 135.839-21.237 172.503-26.847zm23.042 152.672c110.194 6.612 214.176 29.251 309.143 83.347 15.627 8.815 32.056 30.254 33.658 47.084 2.606 30.052-31.855 40.27-67.518 21.236-123.217-65.515-253.646-80.14-389.685-57.1-15.227 2.606-31.255 11.822-45.08 9.017-17.63-3.807-33.458-16.629-50.087-25.445 10.418-15.828 18.232-42.476 31.856-45.882 58.102-14.425 118.208-22.04 177.712-32.257zm-20.435 153.069c115.002 1.803 199.954 19.434 277.891 63.512 20.236 11.42 44.077 26.646 24.443 51.289-7.814 9.817-39.67 11.02-53.695 3.406C568.203 681 461.616 674.387 351.823 688.212c-18.232 2.204-36.465 10.418-53.895 8.615-16.63-1.803-32.257-13.023-48.286-20.034 11.019-13.424 20.236-36.063 33.659-38.868 53.294-11.82 107.99-17.23 136.84-21.438zM1024 512.104c0 141.248-50.089 262.062-150.064 362.036S653.348 1024.203 511.9 1024.203c-141.248 0-262.061-50.088-362.035-150.063S-.198 653.552-.198 512.104c0-141.248 50.088-262.062 150.063-362.036C250.041 50.092 370.653.005 511.901.005s262.062 50.088 362.036 150.063C973.913 250.044 1024 370.856 1024 512.104zm-64.109 0c0-124.018-43.675-229.603-131.027-316.955-87.153-87.354-192.939-131.03-316.957-131.03-123.818 0-229.604 43.677-316.957 131.029S63.921 388.086 63.921 512.104s43.677 230.004 131.029 317.959c87.354 87.955 192.938 132.032 316.956 132.032s229.604-44.077 316.956-132.032c87.354-87.955 131.029-193.941 131.029-317.959z\"}}]})(props);\n};\nexport function SlSocialSteam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M760 40c54 0 128 30 163 65l30 30c37 39 60 104 64 160v37c-8 116-89 204-183 236-54 19-71 8-87 20L547 735c-9 7-12 8-17 12-14 113-113 176-211 176-71 0-140-33-177-104-13-25-14-34-19-46l-99-40c-8-3-18-9-20-21l-2-12V487c1-21 13-32 29-32 4 0 8 1 13 2 61 25 123 48 183 74l16-7c33-14 52-16 88-16 5-7 12-17 16-23l89-127c7-9 31-43 39-57 6-89 34-135 89-191 43-41 119-70 196-70zM326 552c-34 0-44 4-84 21-5 2-10 3-14 3-12 0-24-7-34-11-49-20-99-40-148-60v189l99 40c25 12 19 34 36 65 28 55 83 80 139 80 76 0 152-47 165-132l2-11c3-19 16-24 33-37l201-147c29-21 53-10 99-26 78-27 146-100 153-197v-32c-3-45-23-97-52-131l-29-29c-35-32-93-53-150-53-30 0-61 6-88 19-85 42-131 110-139 216-6 11-38 57-44 65l-88 126c-15 16-15 39-40 42h-17zm-9 283c-22 0-45-11-58-20-11-8-33-26-37-40 24 6 57 29 94 29 20 0 42-8 64-28 19-18 29-44 29-70-4-64-50-91-104-106 2-3 1-4 6-4h11c73 0 121 57 121 119 0 60-42 120-126 120zm303-530c0-73 59-133 132-133s133 60 133 133-60 132-133 132-132-59-132-132zm44 0c0 49 39 88 88 88s89-39 89-88-40-89-89-89-88 40-88 89z\"}}]})(props);\n};\nexport function SlSocialStumbleupon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M777.2 900.6c-129.8 0-236.401-105.601-237.401-235.4v-134c0-7.8 4-15 10.6-19.2s14.8-4.8 22-1.4l57.8 27 89.4-26.8c7-2 14.4-.8 20.2 3.6s9.2 11.201 9.2 18.401v134.8c0 15.4 12.6 28 28 28s28-12.6 28-28v-137.4c0-6 2.4-11.8 6.6-16.2 4.201-4.2 10-6.6 16.201-6.6H992c12.6 0 22.8 10.2 22.8 22.8v133.2c-.2 130.8-106.8 237.2-237.6 237.2zM585.398 567.198V665.2c1 104.6 87 189.8 191.8 189.8 105.8 0 191.8-86 191.8-191.8V553h-118.6v114.6c0 40.6-33 73.6-73.6 73.6s-73.8-33-73.8-73.6V563.4l-68.4 20.4c-5.4 1.6-11.2 1.2-16.2-1.2zm-339 333.403c-131 0-237.6-106.4-237.6-237.4v-133c0-12.6 10.2-22.8 22.8-22.8h164.2c12.6 0 22.8 10.2 22.8 22.8v131.4c0 15.4 12.6 28 28 28s28-12.6 28-28v-310c4.6-129.2 108.6-229.8 237-229.8 129 0 233 101.2 237 230.2v68.6c0 10.2-6.6 19-16.4 22l-97.8 29.2c-5.4 1.599-11.2 1.199-16.2-1.202l-65.6-30.6c-8-3.8-13.2-11.8-13.2-20.8v-59c0-15.4-12.6-28-28-28s-28 12.6-28 28l-.2 306.2c-1.4 129.2-107.8 234.2-236.8 234.2zM54.598 553v110.198c0 105.8 86 191.8 191.8 191.8 104.2 0 190-84.8 191.4-189l.2-305.8c0-40.6 33-73.6 73.6-73.6 40.599 0 73.599 33 73.599 73.6v44.4l44.6 20.8 73.2-21.8v-50.8c-3.2-103.6-87.2-185.198-191.2-185.198-103.6 0-187.6 81.2-191.2 184.8v309.2c0 40.6-33 73.6-73.599 73.6s-73.6-33-73.6-73.6V553h-118.8z\"}}]})(props);\n};\nexport function SlSocialTumblr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528.016 63.744l-.002 223.871h224.32v95.968H529.006l-.32 278.528c0 51.776 2.688 85.009 8.16 99.745 8.528 23.248 39.568 53.008 97.184 53.008 44.689 0 104.977-13.44 150.16-47.248v149.312c-37.68 17.967-72.72 25.215-103.248 32.464-30.56 7.215-63.663 10.847-99.15 10.847-39.537 0-153.665-1.088-200.497-120.399-8.432-21.471-12.655-52.655-12.655-93.471V383.745H239.792l.624-98.128c42.656 0 170.624-25.905 170.624-221.872zm-.002-64.001L411.038-.259c-35.344 0-64 28.656-64 64 0 146.496-81.632 157.872-106.624 157.872-35.216 0-63.84 28.464-64 63.68l-.624 98.128c-.096 17.024 6.624 33.376 18.624 45.471a64.057 64.057 0 0 0 45.376 18.849h64.848v298.624c0 49.376 5.6 87.632 17.088 116.88 28.847 73.44 97.376 161.009 260.064 161.009 40.288 0 78.591-4.224 113.872-12.56l7.055-1.664c29.872-7.024 68.032-15.776 109.008-35.312a63.979 63.979 0 0 0 36.464-57.777V767.63a63.985 63.985 0 0 0-35.344-57.214c-9.055-4.56-18.88-6.784-28.656-6.784a64.008 64.008 0 0 0-38.337 12.752c-38.095 28.529-86.847 34.496-111.808 34.496-25.6 0-35.119-9.28-37.215-11.744-1.087-5.024-4.127-23.776-4.127-77.008l.223-214.528h159.408c35.344 0 64-28.657 64-64V287.63c0-35.344-28.656-64-64-64h-160.32V63.743c0-35.344-28.656-64-64-64z\"}}]})(props);\n};\nexport function SlSocialTwitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M684.4 158.688c52.88 0 100.621 21.636 134.253 56.372 41.84-8.096 81.28-22.848 116.721-43.28-13.712 41.633-42.88 76.56-80.815 98.656 37.12-4.368 72.656-13.904 105.632-28.16-24.72 35.744-55.84 67.216-91.776 92.368.336 7.632.529 15.344.529 23.023 0 235.728-185.008 507.615-523.312 507.615-103.84 0-200.56-29.631-281.903-80.223a377.607 377.607 0 0 0 43.84 2.527c86.16 0 165.503-28.496 228.463-76.4-80.528-1.376-148.496-53.008-171.808-123.84a188.078 188.078 0 0 0 34.624 3.216c16.72 0 33.008-2.16 48.4-6.256-84.128-16.336-147.536-88.448-147.536-174.93v-2.287c24.816 13.376 53.152 21.408 83.344 22.336-49.376-32.033-81.84-86.56-81.84-148.465 0-32.72 9.089-63.376 24.913-89.632C216.817 299.2 352.337 370.24 505.217 377.712c-3.153-13.025-4.784-26.784-4.784-40.624 0-98.544 82.351-178.4 183.967-178.4zm275.789 83.621h.16-.16zM684.397 94.692c-125.664 0-229.773 91.809-245.806 210.433-102.816-20.656-196.32-75.088-263.504-154.944a63.993 63.993 0 0 0-48.977-22.815 66.23 66.23 0 0 0-5.023.192 64.115 64.115 0 0 0-49.776 30.784 237.575 237.575 0 0 0-34.097 122.656c0 28.848 5.183 56.944 15.008 83.216-10.464 11.632-16.496 26.848-16.496 42.912v2.288c0 62.689 24.784 120.864 65.936 164.464-2.368 10.976-1.84 22.464 1.776 33.472 14.193 43.183 40.033 80.4 73.537 108.75-22.497 5.009-45.712 7.537-69.409 7.537-12.528 0-24.72-.688-36.256-2.097-2.56-.32-5.088-.432-7.632-.432-26.88 0-51.28 16.944-60.336 42.784-9.936 28.32 1.089 59.712 26.56 75.568 94.529 58.817 203.712 89.872 315.712 89.872 364.032 0 583.008-284.976 587.264-563.344a429.584 429.584 0 0 0 78.448-85.152 63.392 63.392 0 0 0 12.96-38.496c0-21.776-10.895-41.024-27.487-52.593 7.184-24.624-1.009-51.28-21.009-67.568-11.68-9.504-26-14.336-40.4-14.336a63.75 63.75 0 0 0-31.968 8.56c-21.152 12.193-43.776 21.841-67.6 28.786-43.105-32.432-96.545-50.496-151.425-50.497z\"}}]})(props);\n};\nexport function SlSocialVkontakte (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 248c0-38 26-53 58-55l149 1c9 0 17 6 20 15 34 110 76 178 126 255 3 6 8 9 13 9 4 0 8-2 11-7l3-11 1-173c0-25-12-29-40-33-11-2-18-12-18-22 0-2 0-4 1-6 14-43 58-65 120-65l56-1c46 0 88 20 88 79v227c4 3 8 5 13 5 8 0 18-5 26-18 52-73 111-160 119-206 0-2 1-3 2-5 11-22 39-37 51-41 2-1 5-2 9-2h155l10 1c15 0 26 10 31 19 9 14 7 29 8 35v7c-15 91-119 193-163 259-6 8-9 15-9 22 0 6 3 12 8 18l146 184c8 11 12 24 12 35 0 33-31 52-61 55l-17 1H779c-3 0-5 1-8 1-17 0-31-9-41-19-32-39-63-79-94-118-6-8-8-9-14-13-7 29-13 59-20 89l-3 17c-5 18-18 37-42 42l-14 1h-98C272 830 117 584 8 277c-3-8-5-19-5-29zm601 259c-26 0-55-15-55-43V234c0-27-12-37-45-37l-57 2c-32 0-50 5-65 15 23 11 44 26 44 68v176c-3 35-32 58-60 58-19 0-36-11-46-29-45-68-83-132-116-224l-9-26-133-1c-18 0-16 1-16 10 0 6 1 14 2 19l21 56c109 282 246 467 376 467h100c14 0 13-17 16-27l19-88c4-9 7-17 14-24 8-8 17-11 26-11 19 0 37 15 49 29l85 108c7 11 13 13 17 13h165c16 0 30-5 30-15 0-3-1-7-3-10L818 582c-12-15-17-30-17-45 0-16 6-32 16-46 42-63 132-153 153-227l3-13c-1-5-1-9-2-14H814c-10 4-18 10-24 18l-6 19c-23 64-86 152-131 213-15 14-32 20-49 20z\"}}]})(props);\n};\nexport function SlSocialYoutube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M940.736 189.696C912.992 169.728 835.68 143.2 511.728 143.2c-347.152 0-398.656 30.464-415.185 40.432C8.575 236.479.223 470.447-.544 517.887.512 580.545 10.64 789.008 96.48 840.577c16.497 9.935 67.712 40.223 415.248 40.223 324.16 0 401.376-26.4 429.008-46.288 74.976-53.935 83.6-239.68 83.808-317.439-.192-62.528-6.752-271.872-83.807-327.376zm-37.376 592.88c-11.152 8.032-75.186 34.223-391.634 34.223-305.936 0-370.128-23.744-382.256-31.056-30.88-18.528-63.472-116.88-66.031-268.032 2.528-150.816 35.568-260.912 66.097-279.216 12.16-7.344 76.591-31.28 382.19-31.28 316.192 0 380.4 26.369 391.633 34.433 27.409 19.744 56.752 123.68 57.184 275.632-.432 154.336-29.968 245.712-57.184 265.296zM720.415 486.83L432.481 310.141a32.003 32.003 0 0 0-32.257-.464 32.016 32.016 0 0 0-16.288 27.872v353.44a32.016 32.016 0 0 0 32 32 32.02 32.02 0 0 0 16.527-4.592L720.4 541.645c9.6-5.807 15.472-16.19 15.472-27.407s-5.856-21.632-15.456-27.408zM447.953 634.301V394.204l194 120.032z\"}}]})(props);\n};\nexport function SlSpeech (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M960 63.6H64.001c-35.344 0-64 28.656-64 64v577.504c0 35.344 28.656 64 64 64h127.536v159.312a31.968 31.968 0 0 0 19.632 29.504 31.99 31.99 0 0 0 12.367 2.496 31.931 31.931 0 0 0 22.432-9.184l185.024-182.128H960c35.343 0 64-28.656 64-64V127.6c0-35.343-28.657-64-64-64zm.001 641.488H404.785L255.537 852V705.088H64.001V127.6h896v577.488zm-736-256.08h576c17.664 0 32-14.336 32-32s-14.336-32-32-32h-576c-17.664 0-32 14.336-32 32s14.336 32 32 32zm0-128h576c17.664 0 32-14.336 32-32s-14.336-32-32-32h-576c-17.664 0-32 14.336-32 32s14.336 32 32 32zm0 256h384c17.664 0 32-14.336 32-32s-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32s14.336 32 32 32z\"}}]})(props);\n};\nexport function SlSpeedometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.984 36.128C230.016 36.128.639 265.536.639 547.504c0 177.152 89.68 339.185 239.903 433.408 14.944 9.472 34.688 4.88 44.097-10.096s4.88-34.72-10.096-44.095c-54.096-33.952-99.04-78.048-133.424-128.88l33.552-19.376c15.311-8.848 20.56-28.4 11.712-43.711-8.88-15.344-28.464-20.56-43.712-11.712l-33.6 19.391c-24.4-50.511-39.297-105.792-43.281-163.424h35.616c17.68 0 32-14.32 32-32s-14.32-32-32-32H65.95c4.24-58.687 19.776-114.304 44.56-164.592l32.16 18.56a31.745 31.745 0 0 0 15.97 4.288c11.055 0 21.807-5.744 27.743-16 8.847-15.312 3.6-34.88-11.712-43.713l-31.84-18.368c32.112-46.832 72.864-87.296 119.984-119.023l18.016 31.2c5.935 10.288 16.687 16 27.743 16 5.44 0 10.944-1.376 15.969-4.288 15.311-8.848 20.56-28.4 11.712-43.712l-17.953-31.072c49.329-23.792 103.68-38.656 160.976-42.816v39.872c0 17.68 14.32 32 32 32s32-14.32 32-32v-40c58.592 4.08 114.128 19.391 164.384 43.95l-17.36 30.049c-8.848 15.311-3.6 34.88 11.712 43.712a31.745 31.745 0 0 0 15.969 4.288c11.055 0 21.807-5.712 27.743-16l17.28-29.936a451.19 451.19 0 0 1 118.88 118.816l-29.968 17.312c-15.311 8.847-20.56 28.4-11.711 43.71 5.935 10.289 16.687 16 27.743 16 5.44 0 10.944-1.375 15.969-4.287l30.127-17.392C938.638 401.839 954 457.39 958.094 516H922.96c-17.68 0-32 14.32-32 32s14.32 32 32 32h35.12c-4.048 56.88-18.592 111.439-42.496 161.312l-31.68-18.288c-15.28-8.848-34.912-3.568-43.712 11.713-8.848 15.311-3.6 34.88 11.712 43.712l31.776 18.351c-35.103 52.24-81.44 97.393-137.359 131.824-15.055 9.28-19.712 29.008-10.464 44.032 6.065 9.808 16.529 15.216 27.28 15.216a31.896 31.896 0 0 0 16.753-4.752c152.464-93.904 243.472-256.784 243.472-435.632 0-281.952-229.408-511.36-511.376-511.36zm236.127 411.6c15.296-8.848 20.544-28.398 11.712-43.71-8.832-15.296-28.416-20.544-43.712-11.696L542.287 492.674c-9.28-5.248-19.856-8.496-31.28-8.496-35.28 0-63.84 28.591-63.84 63.807 0 35.248 28.576 63.84 63.84 63.84 35.28 0 63.84-28.592 63.84-63.84 0-.064-.016-.144-.016-.209z\"}}]})(props);\n};\nexport function SlStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 77.488l137.472 285.088L962.08 409.04 735.664 634.88l7.616 45.311 45.28 270.16-276.607-148.784L235.36 950.415l45.295-270.224 7.584-45.311L61.904 409.008l312.592-46.464L395.04 320zm-.017-61.936c-28.656 0-54.784 16.176-66.977 41.456l-115.904 240.64-266.704 39.664c-27.391 4.096-50.143 22.8-58.975 48.384-8.817 25.664-2.145 53.904 17.199 73.152l195.408 195.2-45.328 270.656c-4.56 27.28 7.232 54.624 30.368 70.576 12.72 8.737 27.664 13.153 42.624 13.153 12.32 0 24.64-2.992 35.793-8.977l232.496-125.184 232.512 125.184a75.853 75.853 0 0 0 35.776 8.977c14.96 0 29.905-4.416 42.657-13.153 23.103-15.952 34.91-43.295 30.319-70.576l-45.344-270.656 195.504-195.2c19.344-19.248 25.968-47.504 17.152-73.152-8.848-25.616-31.6-44.32-58.976-48.385l-266.656-39.664-115.968-240.64c-12.112-25.311-38.256-41.455-66.976-41.455z\"}}]})(props);\n};\nexport function SlSupport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 0C229.232 0 0 229.232 0 512s229.232 512 512 512 512-229.232 512-512S794.768 0 512 0zm128 82.976c144.224 42.992 257.648 156.8 300.704 301.023H733.136A257.472 257.472 0 0 0 640 290.943zm63.633 429.232c0 105.936-85.792 191.808-191.632 191.808s-191.632-85.872-191.632-191.808 85.808-191.823 191.632-191.823 191.632 85.888 191.632 191.823zM448.001 68.928c20.912-2.992 42.256-4.624 64-4.624 21.727 0 43.088 1.632 64 4.624v195.808c-20.48-5.296-41.856-8.4-64-8.4s-43.504 3.104-64 8.4V68.928zm-64 14.048v207.968c-38.56 22.384-70.72 54.544-93.136 93.056H83.297c43.04-144.224 156.48-258.031 300.704-301.024zM64.305 512.159c0-21.824 1.855-43.169 4.88-64.161h195.392c-5.312 20.512-8.24 41.983-8.24 64.176 0 22.064 2.912 43.425 8.16 63.825H69.137c-2.975-20.88-4.832-42.144-4.832-63.84zM384 941.326C239.664 898.318 126.193 784.35 83.201 639.998h207.472c22.432 38.656 54.655 70.945 93.327 93.393v207.936zm192.001 14.047c-20.912 2.992-42.273 4.624-64 4.624-21.744 0-43.088-1.648-64-4.624V759.597c20.496 5.296 41.856 8.4 64 8.4s43.52-3.104 64-8.4v195.776zm64-14.048V733.39c38.656-22.448 70.897-54.736 93.313-93.392h207.472c-42.993 144.336-156.464 258.32-300.784 301.328zm119.504-365.327c5.248-20.4 8.16-41.76 8.16-63.825 0-22.193-2.928-43.664-8.256-64.176h195.408c3.008 20.992 4.88 42.336 4.88 64.16 0 21.697-1.84 42.977-4.832 63.841h-195.36z\"}}]})(props);\n};\nexport function SlSymbleFemale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M623.696-.224c-220.912 0-400 179.073-400 400.001 0 98.512 35.68 188.672 94.735 258.368L191.12 786.241 55.855 649.697c-12.48-12.496-32.752-12.496-45.249 0s-12.496 32.752 0 45.248l135.392 136.688L9.646 968.817c-12.496 12.496-12.496 32.784 0 45.248 12.48 12.496 32.753 12.496 45.25 0l136.143-136.992 136.464 137.76c12.497 12.496 32.752 12.496 45.248 0s12.497-32.752 0-45.248L236.143 831.681l127.408-128.192c69.953 59.968 160.77 96.288 260.13 96.288 220.911 0 400-179.088 400-400 .015-220.928-179.073-400-399.985-400zm0 736.545c-185.856 0-336.528-150.688-336.528-336.545S437.84 63.248 623.696 63.248 960.224 213.92 960.224 399.776c.016 185.856-150.656 336.545-336.528 336.545z\"}}]})(props);\n};\nexport function SlSymbolMale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1023.3 22.656c.144-6.48-1.378-12.29-5.586-16.433a22.058 22.058 0 0 0-16.4-6.527l-11.696.273c-.223 0-.383.08-.64.112L695.476-.944c-12.928.289-23.616 10.993-23.92 23.92l-.032 16.432c1.967 15.248 13.952 24.16 26.88 23.872l215.215.432-256.144 254.592c-69.488-58.24-159.008-93.36-256.768-93.36-220.928 0-400 179.071-400 400 0 220.911 179.072 400 400 400 220.912 0 400-179.089 400-400 0-100.113-36.864-191.569-97.664-261.713L959.938 107.92l-.944 219.152c-.304 12.928 9.952 24.176 22.897 23.888l16.416-.032c12.96-.304 23.647-8 23.92-20.928l.671-295.008c0-.24-.88-.4-.88-.624zM737.229 624.943c0 185.856-150.672 336.528-336.544 336.528-185.856 0-336.528-150.672-336.528-336.528 0-185.856 150.672-336.528 336.528-336.528 185.872-.016 336.544 150.656 336.544 336.528z\"}}]})(props);\n};\nexport function SlTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1023.98 416.272l-.001-338.367c0-42.944-34.944-77.904-77.872-77.904H600.73c-21.68 0-54.496 0-75.92 21.44L18.875 527.393c-12.16 12.16-18.88 28.304-18.88 45.487 0 17.216 6.689 33.376 18.849 45.537l386.8 386.72C417.756 1017.312 433.916 1024 451.1 1024s33.36-6.689 45.487-18.849l505.952-505.968c21.696-21.648 21.569-52.816 21.441-82.912zm-66.685 37.666L450.878 959.874 64.126 572.658 569.518 67.154c5.088-3.152 23.408-3.152 30.992-3.152l14.4.048 331.2-.048c7.665 0 13.873 6.24 13.873 13.904V416.53c.064 12.176.129 32.544-2.688 37.408zM768.014 128.001c-70.689 0-128 57.311-128 128s57.312 128 128 128 128-57.312 128-128-57.312-128-128-128zm0 192c-35.344 0-64-28.656-64-64s28.656-64 64-64 64 28.656 64 64-28.656 64-64 64z\"}}]})(props);\n};\nexport function SlTarget (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M992 480h-97.44C879.168 293.472 730.512 144.96 544 129.536V32c0-17.664-14.336-32-32-32s-32 14.336-32 32v97.536C293.504 144.96 144.832 293.472 129.424 480H32c-17.664 0-32 14.336-32 32s14.336 32 32 32h97.424C144.832 730.512 293.504 879.04 480 894.464V992c0 17.664 14.336 32 32 32s32-14.336 32-32v-97.536C730.512 879.04 879.168 730.512 894.56 544H992c17.664 0 32-14.336 32-32s-14.336-32-32-32zM480 193.584V480H193.552C208.56 328.8 328.8 208.592 480 193.584zM193.552 544H480v286.416C328.8 815.408 208.56 695.2 193.552 544zM544 830.416V544h286.448C815.44 695.2 695.2 815.408 544 830.416zM544 480V193.584C695.2 208.592 815.44 328.8 830.448 480z\"}}]})(props);\n};\nexport function SlTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M896.8 159.024l-225.277.001V71.761c0-40.528-33.008-72.496-73.536-72.496H426.003c-40.528 0-73.52 31.968-73.52 72.496v87.264h-225.28c-17.665 0-32 14.336-32 32s14.335 32 32 32h44.015l74.24 739.92c3.104 34.624 32.608 61.776 67.136 61.776h398.8c34.528 0 64-27.152 67.088-61.472l74.303-740.24h44.016c17.68 0 32-14.336 32-32s-14.32-31.985-32-31.985zM416.482 71.762c0-5.232 4.271-9.505 9.52-9.505h171.984c5.248 0 9.536 4.273 9.536 9.505v87.264h-191.04zm298.288 885.44c-.16 1.777-2.256 3.536-3.376 3.536h-398.8c-1.12 0-3.232-1.744-3.425-3.84l-73.632-733.856H788.45z\"}}]})(props);\n};\nexport function SlTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M735.808 927.872H285.872c-17.68 0-32 14.32-32 32s14.32 32 32 32h449.936c17.68 0 32-14.32 32-32s-14.304-32-32-32zm281.502-806.24c-3.024-14.88-16.16-25.568-31.343-25.568H829.343V64.128c0-17.68-14.32-32-32-32H221.807c-17.68 0-32 14.32-32 32v31.936H38.031c-15.183 0-28.32 10.688-31.344 25.568-.944 4.624-22.4 116.752 39.904 193.152 35.84 43.92 90.607 66.928 162.495 68.976C250.078 504.912 353.15 594.624 477.278 608v222.912H381.5c-17.68 0-32 14.32-32 32s14.32 32 32 32H640.19c17.68 0 32-14.32 32-32s-14.32-32-32-32h-98.912v-222.88c124.336-13.12 227.632-102.8 268.736-224.08 74.336-1.088 130.736-24.24 167.393-69.168 62.304-76.416 40.848-188.528 39.904-193.152zM96.401 274.56c-28.336-34.496-31.184-85.41-29.744-114.497H189.81v108.032c0 17.296 1.6 34.16 3.936 50.769-43.68-4.08-76.447-18.832-97.344-44.304zm668.944-6.465c0 153.088-114.721 277.663-255.713 277.663-141.056 0-255.808-124.56-255.808-277.663V96.127H765.36v171.968h-.015zm162.255 6.463c-21.68 26.432-56.032 41.488-102.272 44.864 2.384-16.784 4.016-33.84 4.016-51.328V160.062h128c1.44 29.12-1.408 80-29.744 114.496z\"}}]})(props);\n};\nexport function SlUmbrella (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1024.32 509.584c0 17.664-14.29 31.984-31.97 31.984H543.47V865.76c0 87.153-70.912 158.08-158.096 158.08s-158.11-70.927-158.11-158.08c0-17.664 14.32-31.984 31.984-31.984s31.984 14.32 31.984 31.984c0 51.905 42.224 94.128 94.16 94.128 51.92 0 94.16-42.223 94.16-94.128V541.568H31.662C14 541.568-.32 527.233-.32 509.584c0-247.296 180.912-404.112 479.856-414.48V32.128c0-17.664 14.32-31.967 31.984-31.967 17.68 0 31.968 14.32 31.968 31.968v62.976c299.008 10.352 480.832 167.184 480.833 414.479zm-65.17-31.968c-15.776-200.528-178.896-319.119-447.648-319.119S80.606 277.089 64.847 477.601h894.304v.016z\"}}]})(props);\n};\nexport function SlUserFemale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M960.032 802.688L681.535 670.624c37.152-18.624 182.256-24.528 194.256-57.28 0 0-57.344-88.016-71.344-202.336-5.44-44.368-14.752-102.592-24-184.592C765.44 93.408 653.567 0 512.257 0h-.513C370.432 0 258.56 93.408 243.568 226.4c-9.248 82-18.56 140.224-24 184.592-14 114.336-71.344 202.336-71.344 202.336 12 32.752 157.088 38.656 194.256 57.28L63.968 802.688S0 825.152 0 878.16v84.528C0 998.064 28.624 1024 63.968 1024h896.064c35.343 0 63.967-25.936 63.967-61.312V878.16c0-53.008-63.967-75.472-63.967-75.472zM63.999 960v-81.84c0-3.408 12.096-11.6 21.936-15.344 2.127-.752 3.44-1.344 5.44-2.32L369.87 728.432c22.128-10.464 36.32-32.687 36.593-57.151.256-24.464-13.44-46.976-35.313-57.936-21.68-10.88-50.336-16.256-95.248-24.032-10.656-1.872-25.216-4.496-39.344-7.312 18.32-41.105 38.56-98.593 46.529-163.633 1.968-16.193 4.496-34.416 7.312-54.592 4.848-34.336 10.848-77.872 16.752-130.224 11.168-98.865 95.28-169.553 204.592-169.553h.512c109.312 0 193.439 70.688 204.592 169.568 5.904 52.336 11.904 95.887 16.752 130.224 2.816 20.176 5.345 38.4 7.312 54.592 7.968 65.024 28.224 122.513 46.528 163.633-14.128 2.816-28.688 5.44-39.344 7.312-44.912 7.776-73.568 13.152-95.248 24.032-21.872 10.976-35.568 33.472-35.313 57.936.289 24.464 14.464 46.687 36.592 57.151l278.496 132.064c2 .976 3.312 1.568 5.44 2.32 9.84 3.744 20.496 11.936 21.936 15.344l.032 81.824H64z\"}}]})(props);\n};\nexport function SlUserFollow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64.064 894.688c0-25.44 19.091-33.405 26.723-36.94l281.04-132.625c20.144-9.248 34.048-28.32 36.752-50.32 2.72-22-6.16-43.84-23.456-57.712-66.48-53.376-97.456-170.688-97.456-233.185V224.002c0-66.864 116.4-159.856 224.128-159.856 108.672 0 223.92 91.536 223.92 159.856v159.92c0 61.552-25.6 179.312-94.256 233.359a63.99 63.99 0 0 0-23.968 57.809c2.624 22.16 16.592 41.312 36.848 50.623l95.92 45.504 15.808-63.872-85.008-39.776c88.656-69.776 118.656-206.832 118.656-283.648V224C799.715 118.08 653.09.146 511.795.146 370.483.146 223.665 118.082 223.665 224v159.92c0 69.872 31.888 211.248 121.393 283.088L64.018 799.633S.066 828.129.066 863.6v96.032c0 35.344 28.64 63.968 63.95 63.968h703.92v-64l-703.871.032v-64.944zm927.875-62.813h-96v-96c0-17.68-14.336-32-32-32s-32 14.32-32 32v96h-96c-17.664 0-32 14.32-32 32 0 17.664 14.336 32 32 32h96v96c0 17.664 14.336 32 32 32s32-14.336 32-32v-96h96c17.664 0 32-14.336 32-32 0-17.68-14.32-32-32-32z\"}}]})(props);\n};\nexport function SlUserFollowing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M63.504 959.76l.002-64.942c0-25.44 19.103-33.424 26.72-36.944l281.04-132.624c20.143-9.248 34.047-28.32 36.752-50.32 2.72-22-6.16-43.84-23.457-57.712-66.48-53.376-97.456-170.704-97.456-233.185v-159.92c0-66.864 116.4-159.856 224.128-159.856 108.672 0 223.936 91.536 223.936 159.856v159.92c0 61.552-25.6 179.312-94.256 233.376a63.99 63.99 0 0 0-23.967 57.808c2.624 22.16 16.591 41.313 36.847 50.624l162.24 77.248 38.144-54.064-173.664-81.344c88.656-69.776 118.656-206.849 118.656-283.665v-159.92C799.169 118.176 652.545.241 511.233.241S223.105 118.177 223.105 224.096v159.92c0 69.872 31.888 211.248 121.392 283.088L63.457 799.76S-.495 828.256-.495 863.728v96.032c0 35.344 28.64 63.968 63.951 63.968h639.712l-52-63.984zm948.706-236.253c-13.904-10.912-34.032-8.432-44.912 5.473L830.45 937.684l-85.056-85.073c-12.496-12.496-32.768-12.496-45.264 0s-12.496 32.752 0 45.248l113.136 113.136c12.496 12.496 32.752 12.496 45.248 0 3.04-3.024 5.312-6.544 6.88-10.288l152.304-232.304c10.88-13.904 8.432-34.016-5.488-44.896z\"}}]})(props);\n};\nexport function SlUserUnfollow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M799.12 383.856l.001-159.92C799.121 118.016 652.513.081 511.217.081c-141.312 0-288.128 117.936-288.128 223.855v159.92c0 69.872 31.888 211.232 121.392 283.072l-281.04 132.64S-.511 828.064-.511 863.536v96.032c0 35.344 28.64 63.968 63.951 63.968h607.936v-64l-607.888.032v-64.944c0-25.44 19.104-33.425 26.72-36.945l281.04-132.624c20.143-9.248 34.048-28.335 36.752-50.335 2.72-22-6.16-43.825-23.456-57.697-66.48-53.376-97.456-170.688-97.456-233.199v-159.92c0-66.864 116.4-159.856 224.128-159.856 108.688 0 223.904 91.536 223.904 159.856v159.92c0 61.552-25.6 179.328-94.224 233.36a63.793 63.793 0 0 0-23.968 57.792c2.592 22.16 16.56 41.313 36.848 50.624l18.112 8.352 28.065-51.792-19.489-14.72c88.657-69.727 118.656-206.768 118.656-283.584zm125.505 494.945l90.496-90.512c12.496-12.464 12.496-32.752 0-45.248-12.48-12.48-32.753-12.48-45.233 0l-90.512 90.528-90.496-90.528c-12.496-12.48-32.769-12.48-45.25 0-12.495 12.496-12.495 32.784 0 45.248l90.497 90.512-90.496 90.496c-12.496 12.48-12.496 32.768 0 45.264 12.48 12.464 32.753 12.464 45.249 0l90.496-90.511 90.512 90.511c12.48 12.464 32.753 12.464 45.233 0 12.496-12.496 12.496-32.784 0-45.264z\"}}]})(props);\n};\nexport function SlUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.728 64c108.672 0 223.92 91.534 223.92 159.854v159.92c0 61.552-25.6 179.312-94.256 233.376a63.99 63.99 0 0 0-23.968 57.809c2.624 22.16 16.592 41.312 36.848 50.625l278.496 132.064c2.176.992 26.688 5.104 26.688 39.344l.032 62.464L64 959.504V894.56c0-25.44 19.088-33.425 26.72-36.945l281.023-132.624c20.16-9.248 34.065-28.32 36.769-50.32 2.72-22-6.16-43.84-23.456-57.712-66.48-53.376-97.456-170.704-97.456-233.185v-159.92C287.615 157.007 404.016 64 511.728 64zm0-64.002c-141.312 0-288.127 117.938-288.127 223.857v159.92c0 69.872 31.888 211.248 121.392 283.088l-281.04 132.64S.001 827.999.001 863.471v96.032c0 35.344 28.64 63.968 63.951 63.968h895.552c35.344 0 63.968-28.624 63.968-63.968v-96.032c0-37.6-63.968-63.968-63.968-63.968L681.008 667.439c88.656-69.776 118.656-206.849 118.656-283.665v-159.92c0-105.92-146.64-223.855-287.936-223.855z\"}}]})(props);\n};\nexport function SlVector (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M992 672h-32.273v-1.616c0-161.92-86.528-303.808-215.663-382.384H904.88c11.087 19.04 31.503 32 55.12 32 35.343 0 64-28.656 64-64s-28.657-64-64-64c-23.632 0-44.033 12.96-55.12 32H608v-32c0-17.664-14.336-32-32-32H448c-17.665 0-32 14.336-32 32v32H119.12C108.032 204.96 87.63 192 64 192c-35.344 0-64 28.656-64 64s28.656 64 64 64c23.631 0 44.032-12.96 55.12-32h160.8C150.784 366.592 64.273 508.464 64.273 670.384V672H32c-17.664 0-32 14.336-32 32v128c0 17.664 14.336 32 32 32h128c17.664 0 32-14.336 32-32V704c0-17.664-14.336-32-32-32h-31.727v-1.616c0-178.448 122.464-328.672 287.728-371.392V320c0 17.664 14.335 32 32 32h128c17.664 0 32-14.336 32-32v-21.008c165.264 42.736 287.728 192.96 287.728 371.392V672H864c-17.664 0-32 14.336-32 32v128c0 17.664 14.336 32 32 32h128c17.664 0 32-14.336 32-32V704c0-17.664-14.336-32-32-32zM128 800H64v-64h64v64zm416-512h-64v-64h64v64zm416 512h-64v-64h64v64z\"}}]})(props);\n};\nexport function SlVolume1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M654.768 65.904c-10.432-5.552-23.088-4.928-32.912 1.696L300.768 319.712l-106.624.08c-54.512 0-98.88 38.657-98.88 86.4l1.712 211.137c0 47.536 44.352 86.224 98.863 86.224l106.592.065L621.823 956.37a31.977 31.977 0 0 0 17.905 5.472c5.152 0 10.32-1.249 15.008-3.745a31.951 31.951 0 0 0 17.008-28.256V94.16a32.088 32.088 0 0 0-16.976-28.257zm-47.04 803.728L330.129 645.106a31.97 31.97 0 0 0-17.889-5.473l-116.384-.064c-20.544 0-34.88-11.712-34.88-22.464l-1.712-211.152c0-10.48 14.336-22.16 34.896-22.16l116.4-.08a32.017 32.017 0 0 0 17.855-5.457l279.312-224v715.376zm182.097-521.998c-17.712-2.928-33.937 8.864-36.849 26.305-2.912 17.424 8.88 33.92 26.289 36.832 50.32 8.4 85.472 52.304 85.472 106.753 0 51.84-36.368 96.687-86.496 106.688-17.344 3.44-28.592 20.288-25.12 37.632 3.024 15.215 16.368 25.744 31.344 25.744 2.064 0 4.192-.193 6.288-.624 79.968-15.905 138-87.185 138-169.44-.016-85.025-58.447-156.465-138.928-169.89z\"}}]})(props);\n};\nexport function SlVolume2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M574.496 65.904c-10.432-5.552-23.087-4.928-32.911 1.696L220.497 319.712l-106.624.08c-54.512 0-98.88 38.657-98.88 86.4l1.712 211.137c0 47.536 44.352 86.224 98.863 86.224l106.592.065L541.552 956.37a31.977 31.977 0 0 0 17.905 5.472c5.152 0 10.32-1.249 15.008-3.745a31.951 31.951 0 0 0 17.008-28.256V94.16a32.026 32.026 0 0 0-16.977-28.257zm-47.023 803.728L249.874 645.106a31.97 31.97 0 0 0-17.889-5.473l-116.384-.064c-20.544 0-34.88-11.712-34.88-22.464L79.01 405.953c0-10.48 14.336-22.16 34.896-22.16l116.4-.08a32.017 32.017 0 0 0 17.855-5.457l279.312-224v715.376zm320.993-352.126c0-85.008-58.433-156.433-138.913-169.873-17.712-2.928-33.935 8.864-36.848 26.305-2.912 17.424 8.88 33.92 26.288 36.832 50.32 8.4 85.473 52.304 85.473 106.753 0 51.84-36.368 96.687-86.496 106.688-17.344 3.44-28.592 20.288-25.12 37.631 3.024 15.216 16.368 25.745 31.344 25.745 2.064 0 4.192-.193 6.288-.624 79.952-15.936 137.984-87.216 137.984-169.456zm-42.465-293.601c-16.528-6.16-35.01 2.241-41.153 18.8-6.193 16.56 2.223 34.992 18.783 41.168 96.528 36.015 161.376 129.903 161.376 233.63 0 103.777-64.848 197.842-161.312 234.002-16.56 6.223-24.944 24.655-18.751 41.183 4.816 12.88 17.009 20.785 29.969 20.785a31.97 31.97 0 0 0 11.215-2.033c121.344-45.504 202.88-163.632 202.88-293.936s-81.6-248.288-203.007-293.599z\"}}]})(props);\n};\nexport function SlVolumeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M575.536 65.904c-10.432-5.552-23.087-4.928-32.911 1.696L221.52 319.712l-106.624.08c-54.512 0-98.88 38.657-98.88 86.4l1.712 211.137c0 47.536 44.352 86.224 98.863 86.224l106.592.065L542.576 956.37a31.977 31.977 0 0 0 17.905 5.472c5.152 0 10.32-1.249 15.008-3.745a31.951 31.951 0 0 0 17.008-28.256V94.16a32.044 32.044 0 0 0-16.96-28.257zm-47.039 803.728l-277.6-224.526a31.97 31.97 0 0 0-17.889-5.473l-116.384-.064c-20.544 0-34.88-11.712-34.88-22.464l-1.727-211.152c0-10.48 14.336-22.16 34.895-22.16l116.4-.08a32.017 32.017 0 0 0 17.856-5.457l279.328-224v715.376zm365.505-357.118l104.593-105.84c12.496-12.496 12.496-32.752 0-45.248-12.464-12.496-32.752-12.496-45.248 0L849.011 466.994 744.675 361.426c-12.464-12.496-32.752-12.496-45.248 0s-12.496 32.752 0 45.248l104.592 105.84-103.6 104.816c-12.464 12.48-12.496 32.753 0 45.249s32.784 12.496 45.28 0l103.312-104.544 103.312 104.544c12.496 12.496 32.752 12.496 45.248 0s12.496-32.769 0-45.249z\"}}]})(props);\n};\nexport function SlWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1023.65 290.48c.464-23.664-5.904-78.848-77.84-98.064L223.394 47.794c-52.944 0-96 43.055-96 96v128.704l-32-.08c-52.752.223-95.632 43.15-95.632 95.967v511.808c0 52.945 43.056 96 96 96h832.464c52.945 0 96-43.055 96-96zM191.393 143.793c0-16.72 12.88-30.463 29.216-31.871l706 142.88c.256.128-5.248 17.935-30.88 17.6H191.393zM960.24 880.21c0 17.664-14.336 32-32 32H95.76c-17.664 0-32-14.336-32-32V368.386c0-17.664 14.336-32 32-32h800.064c31.408 0 64.4-10.704 64.4-31.888V880.21h.016zM191.824 560.498c-35.344 0-64 28.656-64 64s28.656 64 64 64 64-28.656 64-64-28.656-64-64-64z\"}}]})(props);\n};\nexport function SlWrench (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1006.37 215.936c-10.784-4.976-23.582-3.088-32.558 4.848L812.5 365.68 666.868 216.272 811.06 49.744c7.84-9.056 9.745-21.536 4.865-32.512S800.26-.463 788.405-.463h-8.69c-89.12 0-242.976 7.664-311.663 77.343l-13.857 13.76c-73.28 74.768-86.288 197.376-47.68 290.576L37.236 758.112c-49.791 50.48-49.791 132.32 0 182.816l45.073 45.697c24.895 25.232 57.535 37.856 90.175 37.856 32.624 0 65.263-12.624 90.143-37.856l374.72-377.728c35.44 19.152 84 31.664 124.784 31.664 65.376 0 127.344-26.369 174.527-74.256l13.664-13.84c74.609-75.648 73.456-237.297 73.792-308.417.033-12.096-6.927-23.088-17.743-28.112zM905.666 509.008l-11.873 13.871c-35.744 36.273-82.496 53.648-131.664 53.648-24.32 0-57.088-4.576-79.216-13.792-20-8.303-38.576-20.288-55.2-35.423L217.537 940.928c-12.032 12.223-28.032 18.943-45.057 18.943s-33.04-6.72-45.088-18.943l-45.055-45.68c-24.865-25.216-24.865-66.224-.017-91.44l400.784-408.863c-13.44-19.569-22.593-40.897-28.049-62.977h-.015c-15.424-62.384-6.432-148.607 42.016-198.048L510.848 120c41.552-42.16 149.456-54.624 209.2-58.304l-117.36 135.536c-10.496 12.128-9.967 30.4 1.216 41.872L789.44 429.44c11.248 11.584 29.44 12.256 41.553 1.52L961.6 313.328c-3.888 63.36-16.192 155.376-55.935 195.68z\"}}]})(props);\n};\n","import React, { useCallback } from 'react';\nimport { SlDocs, SlLike } from \"react-icons/sl\";\n\n\nconst copyToClipboard = async (text) => {\n try {\n if (navigator.clipboard) {\n await navigator.clipboard.writeText(text);\n return true;\n } else {\n const textArea = document.createElement('textarea');\n textArea.value = text;\n document.body.appendChild(textArea);\n textArea.select();\n const success = document.execCommand('copy');\n document.body.removeChild(textArea);\n return success;\n }\n } catch (err) {\n console.error('Copy failed:', err);\n return false;\n }\n };\n \n const mobileShare = async (title, text, url) => {\n try {\n if (navigator.share) {\n await navigator.share({ title, text, url });\n return true;\n }\n } catch (err) {\n console.error('Share failed:', err);\n }\n return false;\n };\n \n export const handleShare = async (isMobile, title, text, currentUrl, onSuccess) => {\n let success = false;\n \n if (isMobile) {\n success = await mobileShare(title, text, currentUrl);\n }\n \n if (!success) {\n success = await copyToClipboard(currentUrl);\n }\n \n if (success && onSuccess) {\n onSuccess();\n }\n };\n \n\n\n// Add these utility functions to handle scroll locking\nexport const disableScroll = () => {\n document.body.style.overflow = 'hidden';\n document.body.style.position = 'fixed';\n document.body.style.width = '100%';\n};\n\nexport const enableScroll = () => {\n document.body.style.overflow = '';\n document.body.style.position = '';\n document.body.style.width = '';\n};\n","export const handleShareOnDevice = async (title, text, url) => {\n // First try native sharing\n if (navigator.share && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\n try {\n await navigator.share({\n title,\n text,\n url\n });\n return { success: true, method: 'share' };\n } catch (error) {\n console.error('Error sharing:', error);\n // If share is cancelled or fails, fall back to clipboard\n return await copyToClipboard(url);\n }\n } else {\n // No native sharing available, use clipboard\n return await copyToClipboard(url);\n }\n};\n\n// Separate clipboard function for cleaner code\nconst copyToClipboard = async (url) => {\n try {\n await navigator.clipboard.writeText(url);\n return { success: true, method: 'clipboard' };\n } catch (error) {\n console.error('Error copying to clipboard:', error);\n return { success: false, method: 'none' };\n }\n};\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","\nexport const AppleCameras = {\n \"iPhone 15 Pro\": {\n brand: \"Apple\",\n resolutions: {\n \"UHD (3840 x 2160)\": { \n dimensions: [3840, 2160], \n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"iPhone HEVC (H.265) Max\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"]},\n \"iPhone HEVC (H.265) High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"]},\n \"iPhone HEVC (H.265) Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"]},\n \"iPhone HEVC (H.265) Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"]},\n \"iPhone H.264 Max\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"iPhone H.264 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"iPhone H.264 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"iPhone H.264 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"]}\n }\n },\n \"1080p (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"]},\n \"iPhone HEVC (H.265) Max\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"120\", \"240\"]},\n \"iPhone HEVC (H.265) High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"120\", \"240\"]},\n \"iPhone HEVC (H.265) Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"120\", \"240\"]},\n \"iPhone HEVC (H.265) Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"120\", \"240\"]},\n \"iPhone H.264 Max\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"iPhone H.264 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"iPhone H.264 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"iPhone H.264 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"]}\n }\n },\n }\n },\n\n};","// framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\nexport const ARRICameras = {\n \"ALEXA 35\": {\n brand: \"ARRI\",\n resolutions: {\n \"4.6K 3:2 Open Gate (4608 x 3164)\": { \n dimensions: [4608, 3164], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\"]},\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]}\n }\n },\n \"4.6K 16:9 (4608 x 2592)\": { \n dimensions: [4608, 2592], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\"]},\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\"]}\n }\n },\n \"4K 16:9 (4096 x 2304)\": { \n dimensions: [4096, 2304], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": { \n dimensions: [4096, 2048], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]}\n }\n },\n \"4K 2.39:1 Ana 2x (4096 x 1716)\": { \n dimensions: [4096, 1716], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\"]}\n }\n },\n \"3.8K 2:1 Ana 2x (3840 x 1920)\": { \n dimensions: [3840, 1920], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]}\n }\n },\n \"UHD (3840 x 2160)\": { \n dimensions: [3840, 2160], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]}\n }\n },\n \"UHD 16:9 Ana 2x (3840 x 2160)\": { \n dimensions: [3840, 2160], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]}\n }\n }, \n \"3.3K 6:5 (3328 x 2790)\": { \n dimensions: [3328, 2790], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]}\n }\n },\n \"3K 1:1 (3072 x 3072)\": { \n dimensions: [3072, 3072], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]}\n }\n },\n \"2K (2048 x 1152)\": { \n dimensions: [2048, 1152], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]}\n }\n },\n \"HD (1920 x 1080)\": { \n dimensions: [1920, 1080], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]}\n }\n },\n }\n },\n \"ALEXA Mini\": {\n brand: \"ARRI\",\n resolutions: {\n \"16:9 4K UHD (3840 x 2160)\": { \n dimensions: [3840, 2160], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"Apple ProRes LT\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]}\n }\n },\n \"16:9 3.2K UHD (3200 x 1800)\": { \n dimensions: [3200, 1800], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"Apple ProRes LT\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]}\n }\n },\n \"16:9 2.8K (2880 x 1620)\": { \n dimensions: [2880, 1620], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\"]},\n }\n },\n \"Open Gate 3.4K (3424 x 2202)\": { \n dimensions: [3424, 2202], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\"]},\n }\n },\n \"4:3 2.8K (OG 3.4K) (3424 x 2202)\": { \n dimensions: [3424, 2202], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\"]},\n }\n },\n \"4:3 2.8K (2944 x 2160)\": { \n dimensions: [2944, 2160], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\"]},\n \"Apple ProRes LT\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\"]}\n }\n },\n \"2.39:1 2K Ana. (OG 3.4K) (3424 x 2202)\": { \n dimensions: [3424, 2202], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\"]},\n }\n },\n \"16:9 HD Ana.(OG 3.4K) (3424 x 2202)\": { \n dimensions: [3424, 2202], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\"]},\n }\n },\n \"16:9 2K (2048 x 1152)\": { \n dimensions: [2048, 1152], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes LT\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]}\n }\n }, \n \"2:39:1 2K Ana. (2048 x 858)\": { \n dimensions: [2048, 858], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes LT\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]}\n }\n }, \n \"16:9 HD Ana. (1920 x 1080)\": { \n dimensions: [1920, 1080], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes LT\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]}\n }\n }, \n \"16:9 HD (1920 x 1080)\": { \n dimensions: [1920, 1080], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes LT\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]}\n }\n }, \n \"16:9 S16 HD (1920 x 1080)\": { \n dimensions: [1920, 1080], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes LT\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]}\n }\n }, \n\n }\n },\n \"ALEXA Mini LF\": {\n brand: \"ARRI\",\n resolutions: {\n \"4.5K LF 3:2 Open Gate (4480 x 3096)\": { \n dimensions: [4480, 3096], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\"]}\n\n }\n },\n \"4.5K LF 3:2 Open Gate (4448 x 3096)\": { \n dimensions: [4448, 3096], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\"]},\n\n }\n },\n \"4.5K LF 2.39:1 (4480 x 1856)\": { \n dimensions: [4480, 1856], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]}\n }\n },\n \"4.5K LF 2.39:1 (4448 x 1856)\": { \n dimensions: [4448, 1856], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]}\n }\n },\n \"4.3K LF 16:9 - UHD (3840 x 2160)\": { \n dimensions: [3840, 2160], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\"]} \n }\n },\n \"3.8K LF 16:9 - UHD (3840 x 2160)\": { \n dimensions: [3840, 2160], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]}\n }\n },\n \"3.8K LF 16:9 - 2K (2048 x 1152)\": { \n dimensions: [2048, 1152], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\"]}\n }\n },\n \"3.4K S35 3:2 (3424 x 2202)\": { \n dimensions: [3424, 2202], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n }\n },\n \"2.8K LF 1:1 (2880 x 2880)\": { \n dimensions: [2880, 2880], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \n }\n },\n \"4.3K LF 16:9 - HD (1920 x 1080)\": { \n dimensions: [1920, 1080], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\"]} \n }\n },\n \"3.8K LF 16:9 - HD (1920 x 1080)\": { \n dimensions: [1920, 1080], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\"]}\n }\n }, \n }\n },\n \"ALEXA LF\": {\n brand: \"ARRI\",\n resolutions: {\n \"4.5K LF 3:2 Open Gate (4448 x 3096)\": { \n dimensions: [4448, 3096], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\"]},\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]}\n\n }\n },\n \"4.5K LF 2.39:1 (4480 x 1856)\": { \n dimensions: [4480, 1856], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\"]},\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\"]}\n }\n },\n \"3.8K LF 16:9 - UHD (3840 x 2160)\": { \n dimensions: [3840, 2160], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\"]},\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]}\n }\n },\n }\n },\n \"AMIRA\": {\n brand: \"ARRI\",\n resolutions: {\n \"16:9 4K UHD (3840 x 2160)\": { \n dimensions: [3840, 2160], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes LT\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]}\n }\n },\n \"16:9 3.2K (3200 x 1800)\": { \n dimensions: [3200, 1800], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n \"Apple ProRes LT\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]}\n }\n },\n \"16:9 2.8K (2880 x 1620)\": { \n dimensions: [2880, 1620], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\"]},\n \"ARRIRAW HDE\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\"]}\n }\n },\n\n \"16:9 2K (2048 x 1152)\": { \n dimensions: [2048, 1152], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\", \"200\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\", \"200\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\", \"200\"]},\n \"Apple ProRes LT\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\", \"200\"]}\n }\n }, \n\n \"16:9 S16 HD (1920 x 1080)\": { \n dimensions: [1920, 1080], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\", \"200\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\", \"200\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\", \"200\"]},\n \"Apple ProRes LT\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\", \"200\"]}\n }\n }, \n\n \"16:9 HD (1920 x 1080)\": { \n dimensions: [1920, 1080], \n codecs: {\n \"Apple ProRes 4444 XQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n \"Apple ProRes 4444\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\", \"200\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\", \"200\"]},\n \"Apple ProRes 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\", \"200\"]},\n \"Apple ProRes LT\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\", \"150\", \"200\"]},\n \"MPEG-2 HD 422\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\"]}\n }\n }, \n \n }\n },\n \"ALEXA 65\": {\n brand: \"ARRI\",\n resolutions: {\n \"Open Gate (6560 x 3100)\": { \n dimensions: [6560, 3100], \n codecs: {\n \"ARRIRAW\": {framerates: [\"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"37\", \"38\", \"40\", \"41\", \"42\", \"43\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n }\n },\n \"5.1K 16:9 (5120 x 2880)\": { \n dimensions: [5120, 2880], \n codecs: {\n \"ARRIRAW\": {framerates: [\"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"37\", \"38\", \"40\", \"41\", \"42\", \"43\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n }\n },\n \"LF Open Gate (4448 x 3096)\": { \n dimensions: [4448, 3096], \n codecs: {\n \"ARRIRAW\": {framerates: [\"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"37\", \"38\", \"40\", \"41\", \"42\", \"43\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n }\n },\n \"4.3K 3:2 (4320 x 2880)\": { \n dimensions: [4320, 2880], \n codecs: {\n \"ARRIRAW\": {framerates: [\"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"37\", \"38\", \"40\", \"41\", \"42\", \"43\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n }\n },\n \"UHD (3840 x 2160)\": { \n dimensions: [3840, 2160], \n codecs: {\n \"ARRIRAW\": {framerates: [\"20\", \"23.976\", \"24\", \"25\", \"27\", \"29.97\", \"30\", \"35\", \"37\", \"38\", \"40\", \"41\", \"42\", \"43\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n }\n },\n }\n },\n \"ALEXA 265\": {\n brand: \"ARRI\",\n resolutions: {\n \"6.5K 2.12:1Open Gate (6560 x 3100)\": { \n dimensions: [6560, 3100], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29\", \"29.97\", \"30\", \"35\", \"37\", \"38\", \"40\", \"41\", \"42\", \"43\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n }\n },\n \"5.1K (5120 x 3100)\": { \n dimensions: [5120, 3100], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29\", \"29.97\", \"30\", \"35\", \"37\", \"38\", \"40\", \"41\", \"42\", \"43\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n }\n },\n \"4.5K (4448 x 3096)\": { \n dimensions: [4448, 3096], \n codecs: {\n \"ARRIRAW\": {framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"27\", \"29\", \"29.97\", \"30\", \"35\", \"37\", \"38\", \"40\", \"41\", \"42\", \"43\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\"]},\n }\n },\n }\n },\n // ... other cameras ...\n};","\nexport const BlackmagicCameras = {\n\n \"Pocket Cinema Camera 6K Pro\": {\n brand: \"Blackmagic Design\",\n resolutions: {\n \"6K (6144 x 3456)\": {\n dimensions: [6144, 3456],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\"] }\n }\n },\n \"6K 2.4:1 (6144 x 2560)\": {\n dimensions: [6144, 2560],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] }\n }\n },\n \"5.7K 17:9 (5744 x 3024)\": {\n dimensions: [5744, 3024],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] }\n }\n },\n \"4K DCI 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] }\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] }\n }\n },\n \"3.7K 6:5 Anamorphic (3728 x 3104)\": {\n dimensions: [3728, 3104],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\"] }\n }\n },\n \"2.8K 17:9 (2880 x 1512)\": {\n dimensions: [2880, 1512],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\", \"120\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\", \"120\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\", \"120\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\", \"120\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\", \"120\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\", \"120\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\", \"120\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"60\", \"120\"] }\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] }\n }\n }, \n }\n },\n \"PYXIS 6K\": {\n brand: \"Blackmagic Design\",\n resolutions: {\n \"6K Open Gate 3:2 (6048 x 4032)\": {\n dimensions: [6048, 4032],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] }\n }\n },\n \"6K Anamorphic 6:5 (4832 x 4032)\": {\n dimensions: [4832, 4032],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"36\"] }\n }\n },\n \"6K 16:9 (6048 x 3408)\": {\n dimensions: [6048, 3408],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"46\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"46\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"46\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"46\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"46\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"46\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"46\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"46\"] }\n }\n },\n \"6K DCI 17:9 (6048 x 3200)\": {\n dimensions: [6048, 3200],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\"]}\n }\n },\n \"6K 2.4:1 (6048 x 2520)\": {\n dimensions: [6048, 2520],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n \"S35 4:3 (4096 x 3072)\": {\n dimensions: [4096, 3072],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\"]}\n }\n },\n \"4K 16:9 (4096 x 2304)\": {\n dimensions: [4096, 2304],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n \"4K DCI 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n \"S16 16:9 (2112 x 1184)\": {\n dimensions: [2112, 1184],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"] }\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] }\n }\n }, \n }\n }, \n \"URSA Cine 12K\": {\n brand: \"Blackmagic Design\",\n resolutions: {\n \"12K 3:2 Open Gate (12288 x 8040)\": {\n dimensions: [12288, 8040],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"]},\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"]}\n }\n },\n \"12K 17:9 (12288 x 6912)\": {\n dimensions: [12288, 6912],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]}\n }\n },\n \"12K 16:9 (12288 x 6480)\": {\n dimensions: [12288, 6480],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n \"12K 2.4:1 (12288 x 5112)\": {\n dimensions: [12288, 5112],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]}\n }\n },\n \"12K 6:5 (9648 x 8040)\": {\n dimensions: [9648, 8040],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n\n\n \"9K 3:2 S35 (9408 x 6264)\": {\n dimensions: [9408, 6264],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"100\"]}\n }\n },\n \"9K 16:9 (8688 x 4896)\": {\n dimensions: [8688, 4896],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n \"9K 17:9 (9312 x 4896)\": {\n dimensions: [9312, 4896],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n \"9K 2.4:1 (9312 x 3864)\": {\n dimensions: [9312, 3864],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n \"9K 6:5 (7680 x 6408)\": {\n dimensions: [7680, 6408],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n\n\n\n\n \"8K 3:2 Open Gate (8192 x 5360)\": {\n dimensions: [8192, 5360],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]}\n }\n },\n \"8K 16:9 (8192 x 4608)\": {\n dimensions: [8192, 4608],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n \"8K 17:9 (8192 x 4320)\": {\n dimensions: [8192, 4320],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n \"8K 2.4:1 (8192 x 3408)\": {\n dimensions: [8192, 3408],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]}\n }\n },\n \"8K 6:5 (6432 x 5360)\": {\n dimensions: [6432, 5360],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n\n \"4K 3:2 Open Gate (4096 x 2680)\": {\n dimensions: [4096, 2680],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW 4:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW 6:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"144\"]}\n }\n },\n \"4K 16:9 (4096 x 2304)\": {\n dimensions: [4096, 2304],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 4:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 6:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n \"4K 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 4:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 6:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1704)\": {\n dimensions: [4096, 1704],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW 4:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW 6:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"224\"]}\n }\n },\n \"4K 6:5 (3216 x 2680)\": {\n dimensions: [3216, 2680],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 4:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW 6:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n }, \n }\n },\n \"URSA Mini Pro 4.6K G2\": {\n brand: \"Blackmagic Design\",\n resolutions: {\n \"4.6K (4608 x 2592)\": {\n dimensions: [4608, 2592],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\",\"120\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444 XQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] },\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] },\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] },\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] }\n }\n },\n \"4.6K 2.40:1 (4608 x 1920)\": {\n dimensions: [4608, 1920],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\",\"120\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444 XQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] },\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] },\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] },\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] }\n }\n },\n \"4K 16:9 (4096 x 2304)\": {\n dimensions: [4096, 2304],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\",\"120\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444 XQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] },\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] },\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] },\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] }\n }\n },\n \"4K 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\",\"120\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444 XQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] },\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] },\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] },\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"] }\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\", \"150\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\",\"120\", \"150\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444 XQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] }\n }\n },\n \"3K Anamorphic (3072 x 2560)\": {\n dimensions: [3072, 2560],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\", \"150\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\",\"120\", \"150\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444 XQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] }\n }\n },\n \"2K 16:9 (2048 x 1152)\": {\n dimensions: [2048, 1152],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\", \"150\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\", \"150\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444 XQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] }\n }\n },\n \"2K DI 17:9 (2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\", \"150\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\", \"150\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444 XQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] }\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Blackmagic RAW 3:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\", \"240\", \"300\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\", \"240\", \"300\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444 XQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 4444\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\", \"240\"] },\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\", \"240\"] },\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\", \"240\"] },\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\", \"240\"] }\n }\n }, \n }\n },\n \"URSA Mini Pro 12K\": {\n brand: \"Blackmagic Design\",\n resolutions: {\n \"12K DCI (12288 x 6480)\": {\n dimensions: [12288, 6480],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] }\n }\n },\n \"12K 16:9 (11520 x 6480)\": {\n dimensions: [11520, 6480],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"] }\n }\n },\n \"12K 2.4:1 (12288 x 5112)\": {\n dimensions: [12288, 5112],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] }\n }\n },\n \"12K Anamorphic (7680 x 6408)\": {\n dimensions: [7680, 6408],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"75\"] }\n }\n },\n \"8K DCI (8192 x 4320)\": {\n dimensions: [8192, 4320],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] }\n }\n },\n \"8K 16:9 (7680 x 4320)\": {\n dimensions: [7680, 4320],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] }\n }\n },\n \"8K 2.4:1 (8192 x 3408)\": {\n dimensions: [8192, 3408],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] }\n }\n },\n \"8K Anamorphic (5120 x 4272)\": {\n dimensions: [5120, 4272],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] }\n }\n },\n \"6K S16 (6144 x 3240)\": {\n dimensions: [6144, 3240],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] }\n }\n },\n \"4K S16 (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"] }\n }\n },\n \"4K DCI (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] }\n }\n },\n\n \"4K 2.4:1 (4096 x 1704)\": {\n dimensions: [4096, 1704],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"] }\n }\n },\n \"4K Anamorphic (2560 x 2136)\": {\n dimensions: [2560, 2136],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] }\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"Blackmagic RAW 5:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 8:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 12:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW 18:1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q0\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q1\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q3\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] },\n \"Blackmagic RAW Q5\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"] }\n }\n }, \n }\n },\n\n // ... other cameras ...\n};","export const CanonCameras = {\n \"EOS C500 Mark II\": {\n brand: \"Canon\",\n resolutions: {\n \"6K (5952 x 3140)\": {\n dimensions: [5952, 3140],\n codecs: {\n \"Canon Cinema RAW Light HQ\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\"]},\n \"Canon Cinema RAW Light ST\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]},\n \"Canon Cinema RAW Light LT\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]}\n }\n },\n \"4K 4:3 (4192 x 3140)\": {\n dimensions: [4192, 3140],\n codecs: {\n \"Canon Cinema RAW Light HQ\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\"]},\n \"Canon Cinema RAW Light ST\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]},\n \"Canon Cinema RAW Light LT\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]}\n }\n },\n \"3.7K 6:5 (3768 x 3140)\": {\n dimensions: [3768, 3140],\n codecs: {\n \"Canon Cinema RAW Light HQ\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\"]},\n \"Canon Cinema RAW Light ST\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]},\n \"Canon Cinema RAW Light LT\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]}\n }\n },\n \"4K 17:9 FF (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Canon Cinema RAW Light HQ\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]},\n \"Canon Cinema RAW Light ST\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]},\n \"Canon Cinema RAW Light LT\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]},\n \"Canon XF-AVC\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]}\n }\n },\n \"UHD S35 Crop (3840 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Canon XF-AVC\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]}\n }\n },\n \"2K FF/S35 (2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"Canon Cinema RAW Light HQ\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]},\n \"Canon Cinema RAW Light ST\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]},\n \"Canon Cinema RAW Light LT\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]},\n \"Canon XF-AVC\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K S16 (2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"Canon Cinema RAW Light HQ\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]},\n \"Canon Cinema RAW Light ST\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]},\n \"Canon Cinema RAW Light LT\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\"]},\n \"Canon XF-AVC\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"Canon XF-AVC\": {framerates: [\"12\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"28\", \"29.97\", \"30\", \"32\", \"34\", \"36\", \"38\", \"40\", \"42\", \"44\", \"46\", \"48\", \"50\", \"52\", \"54\", \"56\", \"58\", \"59.94\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n }, \n\n }\n },\n \"EOS C300 Mark III\": {\n brand: \"Canon\",\n resolutions: {\n \"4K (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Canon Cinema RAW Light\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Canon XF-AVC\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n \"UHD (3840 x 2160)\": { \n dimensions: [3840, 2160],\n codecs: {\n \"Canon XF-AVC\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n \"2K (2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"Canon Cinema RAW Light\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Canon XF-AVC\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Canon XF-AVC\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n \"720p (1280 x 720)\": {\n dimensions: [1280, 720],\n codecs: {\n \"Canon XF-AVC\": {framerates: [\"50\", \"59.94\"]}\n }\n }, \n }\n },\n // ... other cameras ...\n};\n","export const DJICameras = {\n \"Air 3\": {\n brand: \"DJI\",\n resolutions: {\n \"4K Wide-Angle (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"MP4 (MPEG-4 AVC) 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\"] },\n \"HEVC/H.265 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\"] }\n }\n },\n \"HD Wide-Angle (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"MP4 (MPEG-4 AVC) 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\", \"200\"] },\n \"HEVC/H.265 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\", \"200\"] }\n }\n },\n \"2.7K Vertical Shooting Wide-Angle (1512 x 2688)\": {\n dimensions: [1512, 2688],\n codecs: {\n \"MP4 (MPEG-4 AVC) 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] },\n \"HEVC/H.265 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] }\n }\n },\n \"HD Vertical Shooting Wide-Angle (1080 x 1920)\": {\n dimensions: [1080, 1920],\n codecs: {\n \"MP4 (MPEG-4 AVC) 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] },\n \"HEVC/H.265 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] }\n }\n },\n \"4K Medium Tele (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"MP4 (MPEG-4 AVC) 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\"] },\n \"HEVC/H.265 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\"] }\n }\n },\n \"HD Medium Tele (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"MP4 (MPEG-4 AVC) 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\", \"200\"] },\n \"HEVC/H.265 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\", \"200\"] }\n }\n },\n \"2.7K Vertical Shooting Medium Tele (1512 x 2688)\": {\n dimensions: [1512, 2688],\n codecs: {\n \"MP4 (MPEG-4 AVC) 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] },\n \"HEVC/H.265 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] }\n }\n },\n \"HD Vertical Shooting Medium Tele (1080 x 1920)\": {\n dimensions: [1080, 1920],\n codecs: {\n \"MP4 (MPEG-4 AVC) 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] },\n \"HEVC/H.265 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] }\n }\n }, \n }\n }, \n \"Air 3S\": {\n brand: \"DJI\",\n resolutions: {\n \"4K Wide-Angle (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"MP4 (MPEG-4 AVC) 130 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] },\n \"HEVC/H.265 130 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] }\n }\n },\n \"HD Wide-Angle (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"MP4 (MPEG-4 AVC) 130 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\", \"240\"] },\n \"HEVC/H.265 130 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\", \"240\"] }\n }\n },\n \"2.7K Vertical Shooting Wide-Angle (1512 x 2688)\": {\n dimensions: [1512, 2688],\n codecs: {\n \"MP4 (MPEG-4 AVC) 130 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] },\n \"HEVC/H.265 130 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] }\n }\n },\n \"4K Medium Tele (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"MP4 (MPEG-4 AVC) 130 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] },\n \"HEVC/H.265 130 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] }\n }\n },\n \"HD Medium Tele (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"MP4 (MPEG-4 AVC) 130 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\", \"240\"] },\n \"HEVC/H.265 130 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\", \"240\"] }\n }\n },\n \"2.7K Vertical Shooting Medium Tele (1512 x 2688)\": {\n dimensions: [1512, 2688],\n codecs: {\n \"MP4 (MPEG-4 AVC) 130 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] },\n \"HEVC/H.265 130 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] }\n }\n }, \n }\n },\n\n \"Avata 2\": {\n brand: \"DJI\",\n resolutions: {\n \"4K 4:3 (3840 x 2880)\": {\n dimensions: [3840, 2880],\n codecs: {\n \"MP4 (H.264) 130 Mbps\": { framerates: [\"30\", \"50\", \"60\"] },\n \"MP4 (H.265) 130 Mbps\": { framerates: [\"30\", \"50\", \"60\"] }\n }\n },\n \"4K 16:9 (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"MP4 (H.264) 130 Mbps\": { framerates: [\"30\", \"50\", \"60\", \"100\"] },\n \"MP4 (H.265) 130 Mbps\": { framerates: [\"30\", \"50\", \"60\", \"100\"] }\n }\n },\n \"2.7K 4:3 (2688 x 2016)\": {\n dimensions: [2688, 2016],\n codecs: {\n \"MP4 (H.264) 130 Mbps\": { framerates: [\"30\", \"50\", \"60\"] },\n \"MP4 (H.265) 130 Mbps\": { framerates: [\"30\", \"50\", \"60\"] }\n }\n },\n \"2.7K 16:9 (2688 x 1512)\": {\n dimensions: [2688, 1512],\n codecs: {\n \"MP4 (H.264) 130 Mbps\": { framerates: [\"30\", \"50\", \"60\", \"120\"] },\n \"MP4 (H.265) 130 Mbps\": { framerates: [\"30\", \"50\", \"60\", \"120\"] }\n }\n },\n \"1080p 4:3 (1440 x 1080)\": {\n dimensions: [1440, 1080],\n codecs: {\n \"MP4 (H.264) 130 Mbps\": { framerates: [\"30\", \"50\", \"120\"] },\n \"MP4 (H.265) 130 Mbps\": { framerates: [\"30\", \"50\", \"120\"] }\n }\n },\n \"1080p 16:9 (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"MP4 (H.264) 130 Mbps\": { framerates: [\"30\", \"50\", \"120\"] },\n \"MP4 (H.265) 130 Mbps\": { framerates: [\"30\", \"50\", \"120\"] }\n }\n }, \n }\n },\n \"Inspire 3\": {\n brand: \"DJI\",\n resolutions: {\n \"8K FF 17:9 (8192 x 4320)\": {\n dimensions: [8192, 4320],\n codecs: {\n \"CinemaDNG\": { framerates: [\"23.976\", \"24\", \"25\"] },\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"] }\n }\n },\n \"8K FF 2.39:1 (8192 x 3424)\": {\n dimensions: [8192, 3424],\n codecs: {\n \"CinemaDNG\": { framerates: [\"23.976\", \"24\", \"25\"] },\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"60\", \"72\", \"75\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"] }\n }\n },\n \"8K FF 16:9 (7680 x 4320)\": {\n dimensions: [7680, 4320],\n codecs: {\n \"CinemaDNG\": { framerates: [\"23.976\", \"24\", \"25\"] },\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\"] }\n }\n },\n \"5.5K S35 17:9 (5568 x 2952)\": {\n dimensions: [5568, 2952],\n codecs: {\n \"CinemaDNG\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\"] },\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"] }\n }\n },\n \"5.2K S35 16:9 (5248 x 2952)\": {\n dimensions: [5248, 2952],\n codecs: {\n \"CinemaDNG\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\"] },\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"] }\n }\n },\n \"4K FF 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"CinemaDNG\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"72\", \"75\", \"96\", \"100\"] },\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"72\", \"75\", \"96\", \"100\", \"119.88\", \"120\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"72\", \"75\", \"96\", \"100\", \"119.88\", \"120\"] },\n \"H.264 18 Mbps\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"72\", \"75\", \"96\", \"100\", \"119.88\", \"120\"] }\n }\n },\n \"4K S35 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"CinemaDNG\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"72\", \"75\", \"96\", \"100\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"] },\n \"H.264 18 Mbps\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"] }\n }\n },\n \"UHD FF (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"CinemaDNG\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"72\", \"75\", \"96\", \"100\"] },\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"72\", \"75\", \"96\", \"100\", \"119.88\", \"120\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"72\", \"75\", \"96\", \"100\", \"119.88\", \"120\"] },\n \"H.264 18 Mbps\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"72\", \"75\", \"96\", \"100\", \"119.88\", \"120\"] }\n }\n },\n \"UHD S35 (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"CinemaDNG\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\", \"72\", \"75\", \"96\", \"100\"] },\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"] },\n \"H.264 18 Mbps\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"48\", \"50\", \"59.94\", \"60\"] }\n }\n }, \n }\n },\n \"Mavic 3 Pro\": {\n brand: \"DJI\",\n resolutions: {\n \"5.1K Hasselblad (5120 x 2700)\": {\n dimensions: [5120, 2700],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\"] },\n \"Apple ProRes 422\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\"] },\n \"Apple ProRes LT\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\"] },\n \"MP4 (MPEG-4 AVC) 200 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\"] },\n \"HEVC/H.265 200 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\"] }\n }\n },\n \"4K DCI Hasselblad (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] },\n \"Apple ProRes 422\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] },\n \"Apple ProRes LT\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] },\n \"MP4 (MPEG-4 AVC) 200 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] },\n \"HEVC/H.265 200 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] }\n }\n },\n \"UHD Hasselblad (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] },\n \"Apple ProRes 422\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] },\n \"Apple ProRes LT\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] },\n \"MP4 (MPEG-4 AVC) 200 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] },\n \"HEVC/H.265 200 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\"] }\n }\n },\n \"HD Hasselblad (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"MP4 (MPEG-4 AVC) 160 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\", \"200\"] },\n \"HEVC/H.265 160 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"120\", \"200\"] }\n }\n },\n \"UHD Medium Tele (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] },\n \"Apple ProRes 422\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] },\n \"Apple ProRes LT\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] },\n \"MP4 (MPEG-4 AVC) 160 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] },\n \"HEVC/H.265 160 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] }\n }\n },\n \"HD Medium Tele (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"MP4 (MPEG-4 AVC) 160 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] },\n \"HEVC/H.265 160 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\"] }\n }\n },\n \"UHD Tele (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"24\", \"25\", \"30\", \"50\", \"60\"] },\n \"Apple ProRes 422\": { framerates: [\"24\", \"25\", \"30\", \"50\", \"60\"] },\n \"Apple ProRes LT\": { framerates: [\"24\", \"25\", \"30\", \"50\", \"60\"] },\n \"MP4 (MPEG-4 AVC) 160 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"50\", \"60\"] },\n \"HEVC/H.265 160 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"50\", \"60\"] }\n }\n },\n \"HD Tele (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"MP4 (MPEG-4 AVC) 160 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"50\", \"60\"] },\n \"HEVC/H.265 160 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"50\", \"60\"] }\n }\n }, \n }\n },\n \"Mini 4 Pro\": {\n brand: \"DJI\",\n resolutions: {\n \"4K (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"MP4 (MPEG-4 AVC) 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\"] },\n \"HEVC/H.265 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\"] }\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"MP4 (MPEG-4 AVC) 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\", \"200\"] },\n \"HEVC/H.265 150 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"48\", \"50\", \"60\", \"100\", \"200\"] }\n }\n }, \n }\n },\n\n // ... other cameras ...\n};\n\n","export const FreeflyCameras = {\n \"Ember S5K\": {\n brand: \"Freefly\",\n resolutions: {\n \"5K 5:4 (5120 x 4096)\": {\n dimensions: [5120, 4096],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"436\"]}\n }\n },\n \"5K 4:3 (5120 x 3840)\": {\n dimensions: [5120, 3840],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"464\"]}\n }\n },\n \"5K 16:9 (5120 x 2880)\": {\n dimensions: [5120, 2880],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"616\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120, 2560],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"691\"]}\n }\n },\n \"5K 2.37:1 (5120 x 2160)\": {\n dimensions: [5120, 2160],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"809\"]}\n }\n },\n \"5K (5120 x 4096)\": {\n dimensions: [5120, 4096],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"436\"]}\n }\n },\n \"5K (5120 x 3072)\": {\n dimensions: [5120, 3072],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"578\"]}\n }\n },\n \"5K (5120 x 2304)\": {\n dimensions: [5120, 2304],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"765\"]}\n }\n },\n \"5K (5120 x 2160)\": {\n dimensions: [5120, 2160],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"809\"]}\n }\n },\n \"5K (5120 x 2048)\": {\n dimensions: [5120, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"5K (5120 x 1920)\": {\n dimensions: [5120, 1920],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"913\"]}\n }\n },\n \"5K (5120 x 1728)\": {\n dimensions: [5120, 1728],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1011\"]}\n }\n },\n \"5K (5120 x 3072)\": {\n dimensions: [5120, 3072],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"578\"]}\n }\n },\n \"5K (5120 x 2304)\": {\n dimensions: [5120, 2304],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"765\"]}\n }\n },\n \"5K (5120 x 2048)\": {\n dimensions: [5120, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"5K (5120 x 1728)\": {\n dimensions: [5120, 1728],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1011\"]}\n }\n },\n \"5K (5120 x 1536)\": {\n dimensions: [5120, 1536],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1131\"]}\n }\n },\n \"5K (5120 x 1280)\": {\n dimensions: [5120, 1280],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1346\"]}\n }\n },\n \"5K (5120 x 2048)\": {\n dimensions: [5120, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"5K (5120 x 1536)\": {\n dimensions: [5120, 1536],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1131\"]}\n }\n },\n \"5K (5120 x 1440)\": {\n dimensions: [5120, 1440],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1203\"]}\n }\n },\n \"5K (5120 x 1152)\": {\n dimensions: [5120, 1152],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1487\"]}\n }\n },\n \"5K (5120 x 1080)\": {\n dimensions: [5120, 1080],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1569\"]}\n }\n },\n \"5K (5120 x 1024)\": {\n dimensions: [5120, 1024],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1661\"]}\n }\n },\n \"5K (5120 x 864)\": {\n dimensions: [5120, 864],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1946\"]}\n }\n },\n \"4K (4096 x 4096)\": {\n dimensions: [4096, 4096],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"436\"]}\n }\n },\n \"4K (4096 x 3840)\": {\n dimensions: [4096, 3840],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"464\"]}\n }\n },\n \"4K (4096 x 2880)\": {\n dimensions: [4096, 2880],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"616\"]}\n }\n },\n \"4K (4096 x 2560)\": {\n dimensions: [4096, 2560],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"691\"]}\n }\n },\n \"4K (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"809\"]}\n }\n },\n \"4K 1:1 (4096 x 4096)\": {\n dimensions: [4096, 4096],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"436\"]}\n }\n },\n \"4K 4:3 (4096 x 3072)\": {\n dimensions: [4096, 3072],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"578\"]}\n }\n },\n \"4K 16:9 (4096 x 2304)\": {\n dimensions: [4096, 2304],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"765\"]}\n }\n },\n \"4K 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"809\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"4K (4096 x 1920)\": {\n dimensions: [4096, 1920],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"913\"]}\n }\n },\n \"4K 2.37:1 (4096 x 1728)\": {\n dimensions: [4096, 1728],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1011\"]}\n }\n },\n \"4K (4096 x 3072)\": {\n dimensions: [4096, 3072],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"578\"]}\n }\n },\n \"4K (4096 x 2304)\": {\n dimensions: [4096, 2304],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"765\"]}\n }\n },\n \"4K (4096 x 2048)\": {\n dimensions: [4096, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"4K (4096 x 1728)\": {\n dimensions: [4096, 1728],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1011\"]}\n }\n },\n \"4K (4096 x 1536)\": {\n dimensions: [4096, 1536],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1131\"]}\n }\n },\n \"4K (4096 x 1280)\": {\n dimensions: [4096, 1280],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1346\"]}\n }\n },\n \"4K (4096 x 2048)\": {\n dimensions: [4096, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"4K (4096 x 1536)\": {\n dimensions: [4096, 1536],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1131\"]}\n }\n },\n \"4K (4096 x 1440)\": {\n dimensions: [4096, 1440],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1203\"]}\n }\n },\n \"4K (4096 x 1152)\": {\n dimensions: [4096, 1152],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1487\"]}\n }\n },\n \"4K (4096 x 1080)\": {\n dimensions: [4096, 1080],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1569\"]}\n }\n },\n \"4K (4096 x 1024)\": {\n dimensions: [4096, 1024],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1661\"]}\n }\n },\n \"4K (4096 x 864)\": {\n dimensions: [4096, 864],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1946\"]}\n }\n },\n \"3K (3072 x 4096)\": {\n dimensions: [3072, 4096],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"436\"]}\n }\n },\n \"3K (3072 x 3840)\": {\n dimensions: [3072, 3840],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"464\"]}\n }\n },\n \"3K (3072 x 2880)\": {\n dimensions: [3072, 2880],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"616\"]}\n }\n },\n \"3K (3072 x 2560)\": {\n dimensions: [3072, 2560],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"691\"]}\n }\n },\n \"3K (3072 x 2160)\": {\n dimensions: [3072, 2160],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"809\"]}\n }\n },\n \"3K (3072 x 4096)\": {\n dimensions: [3072, 4096],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"436\"]}\n }\n },\n \"3K (3072 x 3072)\": {\n dimensions: [3072, 3072],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"578\"]}\n }\n },\n \"3K (3072 x 2304)\": {\n dimensions: [3072, 2304],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"765\"]}\n }\n },\n \"3K (3072 x 2160)\": {\n dimensions: [3072, 2160],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"809\"]}\n }\n },\n \"3K (3072 x 2048)\": {\n dimensions: [3072, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"3K (3072 x 1920)\": {\n dimensions: [3072, 1920],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"913\"]}\n }\n },\n \"3K (3072 x 1728)\": {\n dimensions: [3072, 1728],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1011\"]}\n }\n },\n \"3K 1:1 (3072 x 3072)\": {\n dimensions: [3072, 3072],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"578\"]}\n }\n },\n \"3K 4:3 (3072 x 2304)\": {\n dimensions: [3072, 2304],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"765\"]}\n }\n },\n \"3K 3:2 (3072 x 2048)\": {\n dimensions: [3072, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"3K 16:9 (3072 x 1728)\": {\n dimensions: [3072, 1728],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1011\"]}\n }\n },\n \"3K 2:1 (3072 x 1536)\": {\n dimensions: [3072, 1536],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1131\"]}\n }\n },\n \"3K 2.4:1 (3072 x 1280)\": {\n dimensions: [3072, 1280],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1346\"]}\n }\n },\n \"3K (3072 x 2048)\": {\n dimensions: [3072, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"3K (3072 x 1536)\": {\n dimensions: [3072, 1536],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1131\"]}\n }\n },\n \"3K (3072 x 1440)\": {\n dimensions: [3072, 1440],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1203\"]}\n }\n },\n \"3K (3072 x 1152)\": {\n dimensions: [3072, 1152],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1487\"]}\n }\n },\n \"3K (3072 x 1080)\": {\n dimensions: [3072, 1080],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1569\"]}\n }\n },\n \"3K (3072 x 1024)\": {\n dimensions: [3072, 1024],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1661\"]}\n }\n },\n \"3K (3072 x 864)\": {\n dimensions: [3072, 864],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1946\"]}\n }\n },\n \"2.5K (2560 x 4096)\": {\n dimensions: [2560, 4096],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"436\"]}\n }\n },\n \"2.5K (2560 x 3840)\": {\n dimensions: [2560, 3840],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"464\"]}\n }\n },\n \"2.5K (2560 x 2880)\": {\n dimensions: [2560, 2880],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"616\"]}\n }\n },\n \"2.5K (2560 x 2560)\": {\n dimensions: [2560, 2560],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"691\"]}\n }\n },\n \"2.5K (2560 x 2160)\": {\n dimensions: [2560, 2160],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"809\"]}\n }\n },\n \"2.5K (2560 x 4096)\": {\n dimensions: [2560, 4096],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"436\"]}\n }\n },\n \"2.5K (2560 x 3072)\": {\n dimensions: [2560, 3072],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"578\"]}\n }\n },\n \"2.5K (2560 x 2304)\": {\n dimensions: [2560, 2304],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"765\"]}\n }\n },\n \"2.5K (2560 x 2160)\": {\n dimensions: [2560, 2160],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"809\"]}\n }\n },\n \"2.5K (2560 x 2048)\": {\n dimensions: [2560, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"2.5K (2560 x 1920)\": {\n dimensions: [2560, 1920],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"913\"]}\n }\n },\n \"2.5K (2560 x 1728)\": {\n dimensions: [2560, 1728],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1011\"]}\n }\n },\n \"2.5K (2560 x 3072)\": {\n dimensions: [2560, 3072],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"578\"]}\n }\n },\n \"2.5K (2560 x 2304)\": {\n dimensions: [2560, 2304],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"765\"]}\n }\n },\n \"2.5K (2560 x 2048)\": {\n dimensions: [2560, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"2.5K (2560 x 1728)\": {\n dimensions: [2560, 1728],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1011\"]}\n }\n },\n \"2.5K (2560 x 1536)\": {\n dimensions: [2560, 1536],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1131\"]}\n }\n },\n \"2.5K (2560 x 1280)\": {\n dimensions: [2560, 1280],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1346\"]}\n }\n },\n \"2.5K 1:1 (2560 x 2048)\": {\n dimensions: [2560, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"2.5K 4:3 (2560 x 1536)\": {\n dimensions: [2560, 1536],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1131\"]}\n }\n },\n \"2.5K (2560 x 1440)\": {\n dimensions: [2560, 1440],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1203\"]}\n }\n },\n \"2.5K 16:9 (2560 x 1152)\": {\n dimensions: [2560, 1152],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1487\"]}\n }\n },\n \"2.5K 17:9 (2560 x 1080)\": {\n dimensions: [2560, 1080],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1569\"]}\n }\n },\n \"2.5K 2:1 (2560 x 1024)\": {\n dimensions: [2560, 1024],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1661\"]}\n }\n },\n \"2.5K 2.37:1 (2560 x 864)\": {\n dimensions: [2560, 864],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1946\"]}\n }\n },\n \"2K (2048 x 4096)\": {\n dimensions: [2048, 4096],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"436\"]}\n }\n },\n \"2K (2048 x 3840)\": {\n dimensions: [2048, 3840],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"464\"]}\n }\n },\n \"2K (2048 x 2880)\": {\n dimensions: [2048, 2880],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"616\"]}\n }\n },\n \"2K (2048 x 2560)\": {\n dimensions: [2048, 2560],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"691\"]}\n }\n },\n \"2K (2048 x 2160)\": {\n dimensions: [2048, 2160],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"809\"]}\n }\n },\n \"2K (2048 x 4096)\": {\n dimensions: [2048, 4096],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"436\"]}\n }\n },\n \"2K (2048 x 3072)\": {\n dimensions: [2048, 3072],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"578\"]}\n }\n },\n \"2K (2048 x 2304)\": {\n dimensions: [2048, 2304],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"765\"]}\n }\n },\n \"2K (2048 x 2160)\": {\n dimensions: [2048, 2160],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"809\"]}\n }\n },\n \"2K (2048 x 2048)\": {\n dimensions: [2048, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"2K (2048 x 1920)\": {\n dimensions: [2048, 1920],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"913\"]}\n }\n },\n \"2K (2048 x 1728)\": {\n dimensions: [2048, 1728],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1011\"]}\n }\n },\n \"2K (2048 x 3072)\": {\n dimensions: [2048, 3072],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"578\"]}\n }\n },\n \"2K (2048 x 2304)\": {\n dimensions: [2048, 2304],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"765\"]}\n }\n },\n \"2K (2048 x 2048)\": {\n dimensions: [2048, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"2K (2048 x 1728)\": {\n dimensions: [2048, 1728],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1011\"]}\n }\n },\n \"2K (2048 x 1536)\": {\n dimensions: [2048, 1536],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1131\"]}\n }\n },\n \"2K (2048 x 1280)\": {\n dimensions: [2048, 1280],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1346\"]}\n }\n },\n \"2K (2048 x 2048)\": {\n dimensions: [2048, 2048],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"858\"]}\n }\n },\n \"2K (2048 x 1536)\": {\n dimensions: [2048, 1536],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1131\"]}\n }\n },\n \"2K (2048 x 1440)\": {\n dimensions: [2048, 1440],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1203\"]}\n }\n },\n \"2K (2048 x 1152)\": {\n dimensions: [2048, 1152],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1487\"]}\n }\n },\n \"2K (2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1569\"]}\n }\n },\n \"2K (2048 x 1024)\": {\n dimensions: [2048, 1024],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1661\"]}\n }\n },\n \"2K (2048 x 864)\": {\n dimensions: [2048, 864],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1946\"]}\n }\n },\n }\n },\n\n \"Ember S2.5K\": {\n brand: \"Freefly\",\n resolutions: { \n \"2.5K 4:3 (2560 x 1920)\": {\n dimensions: [2560, 1920],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1751\"]}\n }\n },\n \"2.5K 16:9 (2560 x 1440)\": {\n dimensions: [2560, 1440],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"2277\"]}\n }\n },\n \"2.5K 2:1 (2560 x 1280)\": {\n dimensions: [2560, 1280],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"2531\"]}\n }\n },\n \"2.5K 2.37:1 (2560 x 1080)\": {\n dimensions: [2560, 1080],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"2922\"]}\n }\n },\n \"2.5K (2560 x 1728)\": {\n dimensions: [2560, 1728],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1929\"]}\n }\n },\n \"2.5K (2560 x 1536)\": {\n dimensions: [2560, 1536],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"2118\"]}\n }\n },\n \"2.5K (2560 x 1152)\": {\n dimensions: [2560, 1152],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"2779\"]}\n }\n },\n \"2.5K (2560 x 1080)\": {\n dimensions: [2560, 1080],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"2922\"]}\n }\n },\n \"2.5K (2560 x 1024)\": {\n dimensions: [2560, 1024],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"3080\"]}\n }\n },\n \"2.5K (2560 x 864)\": {\n dimensions: [2560, 864],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"3563\"]}\n }\n },\n \"2K (2048 x 1920)\": {\n dimensions: [2048, 1920],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1751\"]}\n }\n },\n \"2K (2048 x 1440)\": {\n dimensions: [2048, 1440],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"2277\"]}\n }\n },\n \"2K (2048 x 1280)\": {\n dimensions: [2048, 1280],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"2531\"]}\n }\n },\n \"2K (2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"2922\"]}\n }\n },\n \"2K (2048 x 1728)\": {\n dimensions: [2048, 1728],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"1929\"]}\n }\n },\n \"2K 4:3 (2048 x 1536)\": {\n dimensions: [2048, 1536],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"2118\"]}\n }\n },\n \"2K 16:9 (2048 x 1152)\": {\n dimensions: [2048, 1152],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"2779\"]}\n }\n },\n \"2K 17:9 (2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"2922\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048, 1024],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"3080\"]}\n }\n },\n \"2K 2.37:1 (2048 x 864)\": {\n dimensions: [2048, 864],\n codecs: {\n \"Apple ProRes LT\": { framerates: [\"3563\"]}\n }\n },\n }\n },\n\n // ... other cameras ...\n};\n\n\n\n","export const GoProCameras = {\n \"HERO 13\": {\n brand: \"GoPro\",\n resolutions: {\n \"5.3K 8:7 (5312x4648)\": {\n dimensions: [5312, 4648],\n codecs: {\n \"HEVC/H.265 120 Mbps\": { framerates: [\"24\", \"25\", \"30\"] }\n }\n },\n \"5.3K 16:9 (5312x2988)\": {\n dimensions: [5312, 2988],\n codecs: {\n \"HEVC/H.265 120 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"50\", \"60\"] }\n }\n },\n \"4K 8:7(3840x3360)\": {\n dimensions: [3840, 3360],\n codecs: {\n \"HEVC/H.265 120 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"50\", \"60\"] }\n }\n },\n \"UHD 16:9 (3840x2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"HEVC/H.265 120 Mbps\": { framerates: [\"24\", \"25\", \"30\", \"50\", \"60\", \"100\", \"120\"] }\n }\n },\n \"UHD 9:16 (2160x3840)\": {\n dimensions: [2160, 3840],\n codecs: {\n \"HEVC/H.265 120 Mbps\": { framerates: [\"25\", \"30\", \"50\", \"60\"] }\n }\n },\n \"2.7K 16:9 (2704x1520)\": {\n dimensions: [2704, 1520],\n codecs: {\n \"HEVC/H.265 120 Mbps\": { framerates: [\"200\", \"240\"] }\n }\n },\n \"2.7K 4:3 (2704x2028)\": {\n dimensions: [2704, 2028],\n codecs: {\n \"HEVC/H.265 120 Mbps\": { framerates: [\"100\", \"120\"] }\n }\n },\n \"1080p 16:9 (1920x1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"HEVC/H.265 120 Mbps\": { framerates: [\"25\", \"30\", \"50\", \"60\", \"100\", \"120\", \"200\", \"240\"] }\n }\n },\n \"1080p 9:16 (1080x1920)\": {\n dimensions: [1080, 1920],\n codecs: {\n \"HEVC/H.265 120 Mbps\": { framerates: [\"25\", \"30\", \"50\", \"60\"] }\n }\n },\n }\n },\n \"HERO 2024\": {\n brand: \"GoPro\",\n resolutions: {\n \"UHD (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"HEVC/H.265 50 Mbps\": { framerates: [\"25\", \"30\"] }\n }\n }, \n \"2.7K (2704 x 1520)\": {\n dimensions: [2704, 1520],\n codecs: {\n \"HEVC/H.265 50 Mbps\": { framerates: [\"50\", \"60\"] }\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"HEVC/H.265 50 Mbps\": { framerates: [\"25\", \"30\"] }\n }\n },\n }\n },\n\n // ... other cameras ..\n};","export const PhantomCameras = {\n \"Flex4K\": {\n brand: \"Phantom\",\n resolutions: {\n \"(4096 x 2304)\": {\n dimensions: [4096, 2304],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"938\"]}\n }\n },\n \"(4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1000\"]}\n }\n },\n \"(4096 x 2048)\": {\n dimensions: [4096, 2048],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1050\"]}\n }\n },\n \"(4096 x 1152)\": {\n dimensions: [4096, 1152],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1850\"]}\n }\n },\n \"(4096 x 1080)\": {\n dimensions: [4096, 1080],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1970\"]}\n }\n },\n \"(4096 x 720)\": {\n dimensions: [4096, 720],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"2930\"]}\n }\n },\n \"(4096 x 360)\": {\n dimensions: [4096, 360],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"5660\"]}\n }\n },\n \"(4096 x 16)\": {\n dimensions:[4096, 16],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"25000\"]}\n }\n },\n \"(2048 x 2048)\": {\n dimensions: [2048, 2048],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1050\"]}\n }\n },\n \"(2048 x 1152)\": {\n dimensions: [2048, 1152],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1850\"]}\n }\n },\n \"(2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1970\"]}\n }\n },\n \"(2048 x 720)\": {\n dimensions: [2048, 720],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"2932\"]}\n }\n },\n \"(2048 x 240)\": {\n dimensions: [2048, 240],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"8220\"]}\n }\n },\n \"(2048 x 16)\": {\n dimensions: [2048, 16],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"25000\"]}\n }\n }, \n }\n },\n \"VEO4K-PL\": {\n brand: \"Phantom\",\n resolutions: {\n \"(4096 x 2304)\": {\n dimensions: [4096, 2304],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"938\"]}\n }\n },\n \"(4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1000\"]}\n }\n },\n \"(4096 x 2048)\": {\n dimensions: [4096, 2048],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1050\"]}\n }\n },\n \"(4096 x 1152)\": {\n dimensions: [4096, 1152],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1850\"]}\n }\n },\n \"(4096 x 1080)\": {\n dimensions: [4096, 1080],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1970\"]}\n }\n },\n \"(4096 x 720)\": {\n dimensions: [4096, 720],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"2930\"]}\n }\n },\n \"(4096 x 360)\": {\n dimensions: [4096, 360],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"5660\"]}\n }\n },\n \"(4096 x 8)\": {\n dimensions: [4096, 8],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"64300\"]}\n }\n },\n \"(2048 x 2048)\": {\n dimensions: [2048, 2048],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1050\"]}\n }\n },\n \"(2048 x 1152)\": {\n dimensions: [2048, 1152],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1850\"]}\n }\n },\n \"(2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1970\"]}\n }\n },\n \"(2048 x 240)\": {\n dimensions: [2048, 240],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"8220\"]}\n }\n },\n \"(2048 x 8)\": {\n dimensions: [2048, 8],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"64300\"]}\n }\n }, \n }\n },\n\n\n \"V1840 ONYX\": {\n brand: \"Phantom\",\n resolutions: {\n \"(2048 x 1952)\": {\n dimensions: [2048, 1952],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"3320\", \"4510\"]}\n }\n },\n \"(2048 x 1600) \": {\n dimensions: [2048, 1600],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"4030\", \"5490\"]}\n }\n },\n \"(2048 x 1440)\": {\n dimensions: [2048, 1440],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"4460\", \"6080\"]}\n }\n },\n \"(1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"5880\", \"8570\"]}\n }\n },\n \"(1792 x 976)\": {\n dimensions: [1792, 976],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"6470\", \"10110\"]}\n }\n },\n \"(1280 x 720)\": {\n dimensions: [1280, 720],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"8610\", \"13540\"]}\n }\n },\n \"(1024 x 976)\": {\n dimensions: [1024, 976],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"6470\", \"10110\", \"12670\", \"17240\"]}\n }\n },\n \"(896 x 720)\": {\n dimensions: [896, 720],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"8610\", \"13540\", \"16740\", \"25850\"]}\n }\n },\n \"(640 x 480)\": {\n dimensions: [640, 480],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"12480\", \"19840\", \"23960\", \"37100\"]}\n }\n },\n \"(256 x 320)\": {\n dimensions: [256, 320],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"17810\", \"28760\", \"33620\", \"52260\"]}\n }\n },\n \"(256 x 64)\": {\n dimensions: [256, 64],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"56330\", \"94710\", \"102500\", \"150840\"]}\n }\n },\n \"(896 x 16)\": {\n dimensions: [896, 16],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"94710\", \"143660\", \"197380\", \"225000\"]}\n }\n },\n \"(1792 x 8)\": {\n dimensions: [1792, 8],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"106850\", \"225000\"]}\n }\n }, \n }\n },\n\n\n\n\n\n\"V2640 ONYX\": {\n brand: \"Phantom\",\n resolutions: {\n \"(2048 x 1952)\": {\n dimensions: [2048, 1952],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"4855\", \"6600\"]}\n }\n },\n \"(2048 x 1600) \": {\n dimensions: [2048, 1600],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"5885\", \"8020\"]}\n }\n },\n \"(2048 x 1440)\": {\n dimensions: [2048, 1440],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"6510\", \"8880\"]}\n }\n },\n \"(1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"8575\", \"12510\"]}\n }\n },\n \"(1792 x 976)\": {\n dimensions: [1792, 976],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"9440\", \"14740\"]}\n }\n },\n \"(1280 x 720)\": {\n dimensions: [1280, 720],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"12540\", \"19695\"]}\n }\n },\n \"(1024 x 976)\": {\n dimensions: [1024, 976],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"9440\", \"14740\", \"18390\", \"25030\"]}\n }\n },\n \"(896 x 720)\": {\n dimensions: [896, 720],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"12540\", \"19695\", \"24230\", \"37360\"]}\n }\n },\n \"(640 x 480)\": {\n dimensions: [640, 480],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"18120\", \"28760\", \"34490\", \"53290\"]}\n }\n },\n \"(256 x 320)\": {\n dimensions: [256, 320],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"25765\", \"41500\", \"48060\", \"74460\"]}\n }\n },\n \"(256 x 64)\": {\n dimensions: [256, 64],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"79200\", \"129550\", \"142270\", \"204270\"]}\n }\n },\n \"(896 x 16)\": {\n dimensions: [896, 16],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"129600\", \"190060\", \"261190\", \"303460\"]}\n }\n },\n \"(1792 x 8)\": {\n dimensions: [1792, 8],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"144970\", \"303460\"]}\n }\n }, \n }\n},\n\"VEO4K 990\": {\n brand: \"Phantom\",\n resolutions: {\n \"(4096 x 2304)\": {\n dimensions: [4096, 2304],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"938\"]}\n }\n },\n \"(4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1000\"]}\n }\n },\n \"(4096 x 2048)\": {\n dimensions: [4096, 2048],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1050\"]}\n }\n },\n \"(4096 x 1152)\": {\n dimensions: [4096, 1152],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1850\"]}\n }\n },\n \"(4096 x 1080)\": {\n dimensions: [4096, 1080],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1970\"]}\n }\n },\n \"(4096 x 720)\": {\n dimensions: [4096, 720],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"2930\"]}\n }\n },\n \"(4096 x 360)\": {\n dimensions: [4096, 360],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"5660\"]}\n }\n },\n \"(4096 x 8)\": {\n dimensions: [4096, 8],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"64300\"]}\n }\n },\n \"(2048 x 2048)\": {\n dimensions: [2048, 2048],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1050\"]}\n }\n },\n \"(2048 x 1152)\": {\n dimensions: [2048, 1152],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1850\"]}\n }\n },\n \"(2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"1970\"]}\n }\n },\n \"(2048 x 240)\": {\n dimensions: [2048, 240],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"8220\"]}\n }\n },\n \"(2048 x 8)\": {\n dimensions: [2048, 8],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [\"64300\"]}\n }\n }, \n }\n }, \n\n \"VEO4K 590\": {\n brand: \"Phantom\",\n resolutions: {\n \"(4096 x 2304)\": {\n dimensions: [4096, 2304],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [530]}\n }\n },\n\n \"(4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [570]}\n }\n },\n\n \"(4096 x 2048)\": {\n dimensions: [4096, 2048],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [600]}\n }\n },\n\n \"(4096 x 1152)\": {\n dimensions: [4096, 1152],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [1070]}\n }\n },\n\n \"(4096 x 1080)\": {\n dimensions: [4096, 1080],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [1140]}\n }\n },\n\n \"(4096 x 720)\": {\n dimensions: [4096, 720],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [1700]}\n }\n },\n\n \"(4096 x 360)\": {\n dimensions: [4096, 360],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [3330]}\n }\n },\n\n \"(4096 x 8)\": {\n dimensions: [4096, 8],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [54600]}\n }\n },\n\n \"(2048 x 2048)\": {\n dimensions: [2048, 2048],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [600]}\n }\n },\n\n \"(2048 x 1152)\": {\n dimensions: [2048, 1152],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [1070]}\n }\n },\n\n \"(2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [1140]}\n }\n },\n\n \"(2048 x 240)\": {\n dimensions: [2048, 240],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [4900]}\n }\n },\n\n \"(2048 x 8)\": {\n dimensions: [2048, 8],\n codecs: {\n \"Phantom Cine RAW\": { framerates: [54600]}\n }\n }, \n }\n },\n\n};\n","// framerates: [\".75\", \"1\", \"20\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"35\", \"38\", \"40\", \"41\", \"45\", \"48\", \"50\", \"55\", \"59.94\", \"60\", \"65\", \"70\", \"72\", \"75\", \"80\", \"90\", \"95\", \"96\", \"100\", \"105\", \"120\"]},\n// framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n\n\nexport const RedCameras = {\n \"V-RAPTOR XL\": {\n brand: \"RED\",\n resolutions: {\n \"8K 17:9 (8192 x 4320)\": {\n dimensions: [8192, 4320],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]}\n }\n }, \n \"8K 2.4:1 (8192 x 3456)\": {\n dimensions: [8192, 3456],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"150\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"150\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"150\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"150\"]}\n }\n },\n \"7K 17:9 (7168 x 3780)\": {\n dimensions: [7168, 3780],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"140\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"140\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"140\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"140\"]}\n }\n },\n \"7K 2.4:1 (7168 x 3024)\": {\n dimensions: [7168, 3024],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"175\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"175\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"175\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"175\"]}\n }\n },\n \"6K 17:9 (6144 x 3240)\": {\n dimensions: [6144, 3240],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"160\"]}\n }\n },\n \"6K 2.4:1 (6144 x 2592)\": {\n dimensions: [6144, 2592],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"200\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"200\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"200\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"200\"]}\n }\n },\n \"5K 17:9 (5120 x 2700)\": {\n dimensions: [5120, 2700],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"192\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"192\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"192\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"192\"]}\n }\n }, \n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120, 2160],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"]}\n }\n },\n \"4K 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"]}\n }\n }, \n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096, 1728],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"300\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"300\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"300\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"300\"]}\n }\n },\n \"3K 17:9 (3072 x 1620)\": {\n dimensions: [3072, 1620],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"320\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"320\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"320\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"320\"]}\n }\n },\n \"3K 2.4:1 (3072 x 1296)\": {\n dimensions: [3072, 1296],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"400\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"400\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"400\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"400\"]}\n }\n },\n \"2K 17:9 (2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"480\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"480\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"480\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"480\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048, 864],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"600\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"600\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"600\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"600\"]}\n }\n }, \n }\n }, \n\n \"KOMODO-X 6K\": {\n brand: \"RED\",\n resolutions: {\n \"6K 17:9 (6144 x 3240)\": {\n dimensions: [6144, 3240],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"80\"]}\n }\n }, \n \"5K 17:9 (5120 x 2700)\": {\n dimensions: [5120, 2700],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"96\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"96\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"96\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"96\"]}\n }\n }, \n \"4K 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]}\n }\n }, \n \"2K 17:9 (2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"240\"]}\n }\n }, \n }\n },\n \"KOMODO 6K\": {\n brand: \"RED\",\n resolutions: {\n \"6K 17:9 (6144 x 3240)\": {\n dimensions: [6144, 3240],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"40\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"40\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"40\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"40\"]}\n }\n }, \n \"5K 17:9 (5120 x 2700)\": {\n dimensions: [5120, 2700],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"48\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"48\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"48\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"48\"]}\n }\n }, \n \"4K 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\"]}\n }\n }, \n \"2K 17:9 (2048 x 1080)\": {\n dimensions: [2048, 1080],\n codecs: {\n \"REDCODE HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"REDCODE MQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"REDCODE LQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]},\n \"REDCODE ELQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"]}\n }\n }, \n }\n },\n \"DSMC2 DRAGON-X\": {\n brand: \"RED\",\n resolutions: {\n \"5K FF (5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n }\n }\n },\n \"DSMC2 HELIUM\": {\n brand: \"RED\",\n resolutions: {\n \"8K FF (8192 x 4320)\": {\n dimensions: [8192,4320],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"8K 2.4:1 (8192 x 3456)\": {\n dimensions: [8192,3456],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"8K 2:1 (8192 x 4096)\": {\n dimensions: [8192,4096],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"8K 16:9 (7680 x 4320)\": {\n dimensions: [7680,4320],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"6K FF(6144 x 3240)\": {\n dimensions: [6144,3240],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 2.4:1 (6144 x 2592)\": {\n dimensions: [6144,2592],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"6K 2:1 (6144 x 3072)\": {\n dimensions: [6144,3072],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 16:9 (5760 x 3240)\": {\n dimensions: [5760,3240],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"5K FF(5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n }\n }\n },\n \"DSMC2 MONSTRO\": {\n brand: \"RED\",\n resolutions: {\n \"8K FF (8192 x 4320)\": {\n dimensions: [8192,4320],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"8K 2.4:1 (8192 x 3456)\": {\n dimensions: [8192,3456],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"8K 2:1 (8192 x 4096)\": {\n dimensions: [8192,4096],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"8K 16:9 (7680 x 4320)\": {\n dimensions: [7680,4320],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"6K FF(6144 x 3240)\": {\n dimensions: [6144,3240],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 2.4:1 (6144 x 2592)\": {\n dimensions: [6144,2592],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"6K 2:1 (6144 x 3072)\": {\n dimensions: [6144,3072],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 16:9 (5760 x 3240)\": {\n dimensions: [5760,3240],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"5K FF(5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n }\n }\n },\n \"EPIC DRAGON\": {\n brand: \"RED\",\n resolutions: {\n \"6K FF (6144 x 3160)\": {\n dimensions: [6144,3160],\n codecs: {\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // \"REDCODE 7:1\": {framerates: [\"12\"]},\n // \"REDCODE 8:1\": {framerates: [\"12\"]},\n // \"REDCODE 9:1\": {framerates: [\"12\"]},\n // \"REDCODE 10:1\": {framerates: [\"12\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"60\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"60\", \"72\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 2.4:1 (6144 x 2592)\": {\n dimensions: [6144,2592],\n codecs: {\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // \"REDCODE 7:1\": {framerates: [\"12\"]},\n // \"REDCODE 8:1\": {framerates: [\"12\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"72\", \"75\", \"90\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"6K 2:1 (6144 x 3072)\": {\n dimensions: [6144,3072],\n codecs: {\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // \"REDCODE 7:1\": {framerates: [\"12\"]},\n // \"REDCODE 8:1\": {framerates: [\"12\"]},\n // \"REDCODE 9:1\": {framerates: [\"12\"]},\n // \"REDCODE 10:1\": {framerates: [\"12\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"60\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"60\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 16:9 (5760 x 3240)\": {\n dimensions: [5760,3240],\n codecs: {\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // \"REDCODE 7:1\": {framerates: [\"12\"]},\n // \"REDCODE 8:1\": {framerates: [\"12\"]},\n // \"REDCODE 9:1\": {framerates: [\"12\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"60\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"5K FF(5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // \"REDCODE 7:1\": {framerates: [\"12\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"72\", \"75\", \"90\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"90\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // \"REDCODE 7:1\": {framerates: [\"12\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"75\", \"90\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // \"REDCODE 7:1\": {framerates: [\"12\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"90\"]},\n \"REDCODE 14:1\": {framerates: [\"12\",\"23.976\", \"24\",\"25\",\"29.97\", \"30\",\"40\",\"90\",\"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"90\", \"96\"]}, \n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"90\", \"96\"]}, \n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"90\", \"96\"]}, \n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"90\", \"96\"]}, \n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"90\", \"96\"]}, \n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"90\", \"96\"]}, \n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"90\", \"96\"]}, \n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"90\", \"96\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"150\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"150\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n }\n }\n },\n \"EPIC MYSTERIUM-X\": {\n brand: \"RED\",\n resolutions: {\n \"5K FF (5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"72\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"72\", \"75\", \"90\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"72\", \"75\", \"90\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"72\", \"75\", \"90\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"72\", \"75\", \"90\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"72\", \"75\", \"90\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"75\", \"90\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"75\", \"90\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"75\", \"90\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"75\", \"90\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"75\", \"90\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"75\", \"90\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"75\", \"90\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 5K(4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"150\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"150\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"150\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"150\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\",\n \"23.976\", \"24\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]}\n }\n },\n \"2K 5K(2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]}\n }\n },\n \"2K 2.4:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]}\n }\n }\n }\n },\n \"EPIC-W 5K S35\": {\n brand: \"RED\",\n resolutions: {\n \"5K Full Height 6:5 (3600 x 3000)\": {\n dimensions: [3600,3000],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"5K Full Height 1.7:1 (5120 x 3000)\": {\n dimensions: [5120,3000],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"5K FF(5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n }\n }\n },\n \"EPIC-W 8K S35\": {\n brand: \"RED\",\n resolutions: {\n \"8K FF (8192 x 4320)\": {\n dimensions: [8192,4320],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\",\"25\",\"29.97\", \"30\"]}\n }\n },\n \"8K 2.4:1 (8192 x 3456)\": {\n dimensions: [8192,3456],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\",\"25\",\"29.97\", \"30\"]}\n }\n },\n \"8K 2:1 (8192 x 4096)\": {\n dimensions: [8192,4096],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\",\"25\",\"29.97\", \"30\"]}\n }\n },\n \"8K 16:9 (7680 x 4320)\": {\n dimensions: [7680,4320],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\",\"25\",\"29.97\", \"30\"]}\n }\n },\n \"6K FF(6144 x 3160)\": {\n dimensions: [6144,3160],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 2.4:1 (6144 x 2592)\": {\n dimensions: [6144,2592],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"6K 2:1 (6144 x 3072)\": {\n dimensions: [6144,3072],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 16:9 (5760 x 3240)\": {\n dimensions: [5760,3240],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"5K FF(5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n }\n }\n },\n \"RAVEN\": {\n brand: \"RED\",\n resolutions: {\n \"4K FF (4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4.5KFF (4608 x 2160)\": {\n dimensions: [4608,2160],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4.5K2.4:1 (4608 x 1944)\": {\n dimensions: [4608,1944],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n }\n }\n },\n \"RANGER\": {\n brand: \"RED\",\n resolutions: {\n \"8K FF (8192 x 4320)\": {\n dimensions: [8192,4320],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"8K 2.4:1 (8192 x 3456)\": {\n dimensions: [8192,3456],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"8K 2:1 (8192 x 4096)\": {\n dimensions: [8192,4096],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"8K 16:9 (7680 x 4320)\": {\n dimensions: [7680,4320],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"6K FF(6144 x 3240)\": {\n dimensions: [6144,3240],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 2.4:1 (6144 x 2592)\": {\n dimensions: [6144,2592],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"6K 2:1 (6144 x 3072)\": {\n dimensions: [6144,3072],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 16:9 (5760 x 3240)\": {\n dimensions: [5760,3240],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"5K FF(5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n }\n }\n },\n \"SCARLET MYSTERIUM-X\": {\n brand: \"RED\",\n resolutions: {\n // \"5K FF (5120 x 2700)\": {\n // dimensions: [5120,2700],\n // codecs: {\n // // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // // \"REDCODE 7:1\": {framerates: [\"12\"]},\n // // \"REDCODE 8:1\": {framerates: [\"12\"]},\n // // \"REDCODE 9:1\": {framerates: [\"12\"]},\n // // \"REDCODE 10:1\": {framerates: [\"12\"]},\n // // \"REDCODE 11:1\": {framerates: [\"12\"]},\n // // \"REDCODE 12:1\": {framerates: [\"12\"]},\n // // \"REDCODE 13:1\": {framerates: [\"12\"]},\n // // \"REDCODE 14:1\": {framerates: [\"12\"]},\n // // \"REDCODE 15:1\": {framerates: [\"12\"]},\n // // \"REDCODE 16:1\": {framerates: [\"12\"]},\n // // \"REDCODE 17:1\": {framerates: [\"12\"]},\n // // \"REDCODE 18:1\": {framerates: [\"12\"]},\n // // \"REDCODE 19:1\": {framerates: [\"12\"]},\n // // \"REDCODE 20:1\": {framerates: [\"12\"]},\n // // \"REDCODE 21:1\": {framerates: [\"12\"]},\n // // \"REDCODE 22:1\": {framerates: [\"12\"]}\n // }\n // },\n // \"5K 2.4:1 (5120 x 2160)\": {\n // dimensions: [5120,2160],\n // codecs: {\n // // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // // \"REDCODE 7:1\": {framerates: [\"12\"]},\n // // \"REDCODE 8:1\": {framerates: [\"12\"]},\n // // \"REDCODE 9:1\": {framerates: [\"12\"]},\n // // \"REDCODE 10:1\": {framerates: [\"12\"]},\n // // \"REDCODE 11:1\": {framerates: [\"12\"]},\n // // \"REDCODE 12:1\": {framerates: [\"12\"]},\n // // \"REDCODE 13:1\": {framerates: [\"12\"]},\n // // \"REDCODE 14:1\": {framerates: [\"12\"]},\n // // \"REDCODE 15:1\": {framerates: [\"12\"]},\n // // \"REDCODE 16:1\": {framerates: [\"12\"]},\n // // \"REDCODE 17:1\": {framerates: [\"12\"]},\n // // \"REDCODE 18:1\": {framerates: [\"12\"]},\n // // \"REDCODE 19:1\": {framerates: [\"12\"]},\n // // \"REDCODE 20:1\": {framerates: [\"12\"]},\n // // \"REDCODE 21:1\": {framerates: [\"12\"]},\n // // \"REDCODE 22:1\": {framerates: [\"12\"]}\n // }\n // },\n // \"5K 2:1 (5120 x 2560)\": {\n // dimensions: [5120,2560],\n // codecs: {\n // // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // // \"REDCODE 7:1\": {framerates: [\"12\"]},\n // // \"REDCODE 8:1\": {framerates: [\"12\"]},\n // // \"REDCODE 9:1\": {framerates: [\"12\"]},\n // // \"REDCODE 10:1\": {framerates: [\"12\"]},\n // // \"REDCODE 11:1\": {framerates: [\"12\"]},\n // // \"REDCODE 12:1\": {framerates: [\"12\"]},\n // // \"REDCODE 13:1\": {framerates: [\"12\"]},\n // // \"REDCODE 14:1\": {framerates: [\"12\"]},\n // // \"REDCODE 15:1\": {framerates: [\"12\"]},\n // // \"REDCODE 16:1\": {framerates: [\"12\"]},\n // // \"REDCODE 17:1\": {framerates: [\"12\"]},\n // // \"REDCODE 18:1\": {framerates: [\"12\"]},\n // // \"REDCODE 19:1\": {framerates: [\"12\"]},\n // // \"REDCODE 20:1\": {framerates: [\"12\"]},\n // // \"REDCODE 21:1\": {framerates: [\"12\"]},\n // // \"REDCODE 22:1\": {framerates: [\"12\"]}\n // }\n // },\n // \"5K 16:9 (4800 x 2700)\": {\n // dimensions: [4800,2700],\n // codecs: {\n // // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // // \"REDCODE 7:1\": {framerates: [\"12\"]},\n // // \"REDCODE 8:1\": {framerates: [\"12\"]},\n // // \"REDCODE 9:1\": {framerates: [\"12\"]},\n // // \"REDCODE 10:1\": {framerates: [\"12\"]},\n // // \"REDCODE 11:1\": {framerates: [\"12\"]},\n // // \"REDCODE 12:1\": {framerates: [\"12\"]},\n // // \"REDCODE 13:1\": {framerates: [\"12\"]},\n // // \"REDCODE 14:1\": {framerates: [\"12\"]},\n // // \"REDCODE 15:1\": {framerates: [\"12\"]},\n // // \"REDCODE 16:1\": {framerates: [\"12\"]},\n // // \"REDCODE 17:1\": {framerates: [\"12\"]},\n // // \"REDCODE 18:1\": {framerates: [\"12\"]},\n // // \"REDCODE 19:1\": {framerates: [\"12\"]},\n // // \"REDCODE 20:1\": {framerates: [\"12\"]},\n // // \"REDCODE 21:1\": {framerates: [\"12\"]},\n // // \"REDCODE 22:1\": {framerates: [\"12\"]}\n // }\n // },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]}\n }\n },\n \"UHD (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]}\n }\n },\n \"2K FF(3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]}\n }\n },\n \"2K 2.4:1 (2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"HD (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"40\", \"50\", \"60\"]}\n }\n }\n }\n },\n \"SCARLET-W\": {\n brand: \"RED\",\n resolutions: {\n \"5K FF (5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n }\n }\n },\n \"SCARLET-X DRAGON\": {\n brand: \"RED\",\n resolutions: {\n // \"6K FF (6144 x 3160)\": {\n // dimensions: [6144,3160],\n // codecs: {\n // // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // // \"REDCODE 7:1\": {framerates: [\"12\"]},\n // // \"REDCODE 8:1\": {framerates: [\"12\"]},\n // // \"REDCODE 9:1\": {framerates: [\"12\"]},\n // // \"REDCODE 10:1\": {framerates: [\"12\"]},\n // // \"REDCODE 11:1\": {framerates: [\"12\"]},\n // // \"REDCODE 12:1\": {framerates: [\"12\"]},\n // // \"REDCODE 13:1\": {framerates: [\"12\"]},\n // // \"REDCODE 14:1\": {framerates: [\"12\"]},\n // // \"REDCODE 15:1\": {framerates: [\"12\"]},\n // // \"REDCODE 16:1\": {framerates: [\"12\"]},\n // // \"REDCODE 17:1\": {framerates: [\"12\"]},\n // // \"REDCODE 18:1\": {framerates: [\"12\"]},\n // // \"REDCODE 19:1\": {framerates: [\"12\"]},\n // // \"REDCODE 20:1\": {framerates: [\"12\"]},\n // // \"REDCODE 21:1\": {framerates: [\"12\"]},\n // // \"REDCODE 22:1\": {framerates: [\"12\"]}\n // }\n // },\n // \"6K 16:9 (5760 x 3240)\": {\n // dimensions: [5760,3240],\n // codecs: {\n // // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // // \"REDCODE 7:1\": {framerates: [\"12\"]},\n // // \"REDCODE 8:1\": {framerates: [\"12\"]},\n // // \"REDCODE 9:1\": {framerates: [\"12\"]},\n // // \"REDCODE 10:1\": {framerates: [\"12\"]},\n // // \"REDCODE 11:1\": {framerates: [\"12\"]},\n // // \"REDCODE 12:1\": {framerates: [\"12\"]},\n // // \"REDCODE 13:1\": {framerates: [\"12\"]},\n // // \"REDCODE 14:1\": {framerates: [\"12\"]},\n // // \"REDCODE 15:1\": {framerates: [\"12\"]},\n // // \"REDCODE 16:1\": {framerates: [\"12\"]},\n // // \"REDCODE 17:1\": {framerates: [\"12\"]},\n // // \"REDCODE 18:1\": {framerates: [\"12\"]},\n // // \"REDCODE 19:1\": {framerates: [\"12\"]},\n // // \"REDCODE 20:1\": {framerates: [\"12\"]},\n // // \"REDCODE 21:1\": {framerates: [\"12\"]},\n // // \"REDCODE 22:1\": {framerates: [\"12\"]}\n // }\n // },\n \"5K FF(5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // \"REDCODE 7:1\": {framerates: [\"12\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // \"REDCODE 7:1\": {framerates: [\"12\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n // \"REDCODE 7:1\": {framerates: [\"12\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\",\n \"23.976\", \"24\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n }\n }\n },\n \"WEAPON 6K (CARBON FIBER)\": {\n brand: \"RED\",\n resolutions: {\n \"6K FF (6144 x 3160)\": {\n dimensions: [6144,3160],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 2.4:1 (6144 x 2592)\": {\n dimensions: [6144,2592],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"6K 2:1 (6144 x 3072)\": {\n dimensions: [6144,3072],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 16:9 (5760 x 3240)\": {\n dimensions: [5760,3240],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"5K FF(5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n }\n }\n },\n \"WEAPON 6K (MAGNESIUM)\": {\n brand: \"RED\",\n resolutions: {\n \"6K FF (6144 x 3160)\": {\n dimensions: [6144,3160],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 2.4:1 (6144 x 2592)\": {\n dimensions: [6144,2592],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"6K 2:1 (6144 x 3072)\": {\n dimensions: [6144,3072],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 16:9 (5760 x 3240)\": {\n dimensions: [5760,3240],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"5K 6:5 (3600 x 3000)\": {\n dimensions: [3600,3000],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"5K 1.7:1 (5120 x 3000)\": {\n dimensions: [5120,3000],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"5K FF(5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\",\n \"23.976\", \"24\",\n \"25\",\n \"29.97\", \"30\",\n \"40\",\n \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n }\n }\n },\n \"WEAPON 8K S35\": {\n brand: \"RED\",\n resolutions: {\n \"8K FF (8192 x 4320)\": {\n dimensions: [8192,4320],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"8K 2.4:1 (8192 x 3456)\": {\n dimensions: [8192,3456],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"8K 2:1 (8192 x 4096)\": {\n dimensions: [8192,4096],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"8K 16:9 (7680 x 4320)\": {\n dimensions: [7680,4320],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"6K FF(6144 x 3240)\": {\n dimensions: [6144,3240],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 2.4:1 (6144 x 2592)\": {\n dimensions: [6144,2592],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"6K 2:1 (6144 x 3072)\": {\n dimensions: [6144,3072],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 16:9 (5760 x 3240)\": {\n dimensions: [5760,3240],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"5K FF(5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n }\n }\n },\n \"WEAPON MONSTRO 8K VV\": {\n brand: \"RED\",\n resolutions: {\n \"8K FF (8192 x 4320)\": {\n dimensions: [8192,4320],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"8K 2.4:1 (8192 x 3456)\": {\n dimensions: [8192,3456],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"8K 2:1 (8192 x 4096)\": {\n dimensions: [8192,4096],\n codecs: {\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n // \"REDCODE 6:1\": {framerates: [\"12\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"8K 16:9 (7680 x 4320)\": {\n dimensions: [7680,4320],\n codecs: {\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n // \"REDCODE 4:1\": {framerates: [\"12\"]},\n // \"REDCODE 5:1\": {framerates: [\"12\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]}\n }\n },\n \"6K FF(6144 x 3240)\": {\n dimensions: [6144,3240],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 2.4:1 (6144 x 2592)\": {\n dimensions: [6144,2592],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"6K 2:1 (6144 x 3072)\": {\n dimensions: [6144,3072],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"6K 16:9 (5760 x 3240)\": {\n dimensions: [5760,3240],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n // \"REDCODE 3:1\": {framerates: [\"12\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]}\n }\n },\n \"5K FF(5120 x 2700)\": {\n dimensions: [5120,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"5K 2.4:1 (5120 x 2160)\": {\n dimensions: [5120,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"5K 2:1 (5120 x 2560)\": {\n dimensions: [5120,2560],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]}\n }\n },\n \"5K 16:9 (4800 x 2700)\": {\n dimensions: [4800,2700],\n codecs: {\n // \"REDCODE 2:1\": {framerates: [\"12\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]}\n }\n },\n \"4K FF(4096 x 2160)\": {\n dimensions: [4096,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"4K 2.4:1 (4096 x 1728)\": {\n dimensions: [4096,1728],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]}\n }\n },\n \"4K 2:1 (4096 x 2048)\": {\n dimensions: [4096,2048],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840,2160],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]}\n }\n },\n \"2K FF(2048 x 1080)\": {\n dimensions: [2048,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"2K 2.4:1 (2048 x 864)\": {\n dimensions: [2048,864],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\", \"288\", \"300\"]}\n }\n },\n \"2K 2:1 (2048 x 1024)\": {\n dimensions: [2048,1024],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920,1080],\n codecs: {\n \"REDCODE 2:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\"]},\n \"REDCODE 3:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\"]},\n \"REDCODE 4:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\"]},\n \"REDCODE 5:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 6:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 7:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 8:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 9:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 10:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 11:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 12:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 13:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 14:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 15:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 16:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 17:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 18:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 19:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 20:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 21:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"]},\n \"REDCODE 22:1\": {framerates: [\"12\", \"23.976\", \"24\", \"25\", \"29.97\", \"30\", \"40\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"100\", \"120\", \"150\", \"175\", \"200\", \"240\"\n ]\n }\n }\n }\n }\n }\n \n // ... other cameras ...\n};\n\n\n\n\n\n\n\n","\n// framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"75\", \"90\"]},\n\nexport const SonyCameras = {\n \"VENICE 2 8K\": {\n brand: \"Sony\",\n resolutions: {\n \"8.6K 3:2 (8640 x 5760)\": {\n dimensions: [8640, 5760], \n codecs: { \n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n }, \n \n \"8.2K 17:9 (8192 x 4320)\": {\n dimensions: [8192, 4320], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\"]}\n }\n }, \n \n \"7.6K 16:9 (7680 x 4320)\": {\n dimensions: [7680, 4320], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n }, \n \n \"5.8K 6:5 (5760 x 4820)\": {\n dimensions: [5760, 4820], \n codecs: { \n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\"]},\n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\"]}\n }\n }, \n \n \"5.8K 17:9 (5760 x 3040)\": {\n dimensions: [5760, 3040], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"75\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"75\", \"90\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"75\", \"90\"]}\n }\n }, \n \n \"5.4K 16:9 (5434 x 3056)\": {\n dimensions: [5434, 3056], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"75\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"75\", \"90\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"75\", \"90\"]}\n }\n }, \n \n \"4K 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160], \n codecs: { \n \"Apple ProRes 4444\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"75\", \"90\"]}\n }\n }, \n \n \"3.8K 16:9 (3840 x 2160)\": {\n dimensions: [3840, 2160], \n codecs: { \n \"Apple ProRes 4444\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"75\", \"90\"]}\n }\n }, \n }\n },\n \"VENICE 2 6K\": {\n brand: \"Sony\",\n resolutions: {\n \"6K 2.39:1 (6048 x 2534)\": {\n dimensions: [6048, 2534], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"59.94\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\",\"90\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\",\"90\"]}\n }\n }, \n \"6K 17:9 (6054 x 3192)\": {\n dimensions: [6054, 3192], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\",\"72\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\",\"72\"]}\n }\n }, \n \"6K 1.85:1 (6054 x 3272)\": {\n dimensions: [6054, 3272], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\",\"72\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\",\"72\"]}\n }\n }, \n \"6K 3:2 (6048 x 4032)\": {\n dimensions: [6048, 4032], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\"]}\n }\n }, \n \"5.7K 16:9 (5674 x 3192)\": {\n dimensions: [5674, 3192], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n }, \n \"4K 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}, \n \"Apple ProRes 4444\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\", \"75\", \"90\"]}\n }\n }, \n \"4K 6:5 (4096 x 3432)\": {\n dimensions: [4096, 3432], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]} \n }\n }, \n \"4K 4:3 (4096 x 3072)\": {\n dimensions: [4096, 3072], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"59.94\", \"75\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"59.94\", \"75\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"59.94\", \"75\"]} \n }\n }, \n \"4K 2.39:1 (4096 x 1716)\": {\n dimensions: [4096, 1716], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"120\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"120\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"120\"]} \n }\n }, \n \"3.8K 16:9 (3840 x 2160)\": {\n dimensions: [3840, 2160], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}, \n \"Apple ProRes 4444\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes 422 HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\", \"75\", \"90\"]}\n }\n }, \n }\n },\n \"VENICE\": {\n brand: \"Sony\",\n resolutions: {\n \"6K 2.39:1 (6048 x 2534)\": {\n dimensions: [6048, 2534], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"59.94\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\",\"90\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\",\"90\"]}\n }\n }, \n \"6K 17:9 (6054 x 3192)\": {\n dimensions: [6054, 3192], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\",\"72\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\",\"72\"]}\n }\n }, \n \"6K 1.85:1 (6054 x 3272)\": {\n dimensions: [6054, 3272], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\",\"72\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\",\"72\"]}\n }\n }, \n \"6K 3:2 (6048 x 4032)\": {\n dimensions: [6048, 4032], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\"]}\n }\n }, \n \"5.7K 16:9 (5674 x 3192)\": {\n dimensions: [5674, 3192], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n }, \n \"4K 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"110\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"110\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"110\"]}, \n \"Sony XAVC C480\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony XAVC C300\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n }, \n \"4K 6:5 (4096 x 3432)\": {\n dimensions: [4096, 3432], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony XAVC C480\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony XAVC C300\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]} \n }\n }, \n \"4K 4:3 (4096 x 3072)\": {\n dimensions: [4096, 3072], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"59.94\", \"75\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"59.94\", \"75\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"59.94\", \"75\"]},\n \"Sony XAVC C480\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony XAVC C300\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"59.94\"]} \n }\n }, \n \"4K 2.39:1 (4096 x 1716)\": {\n dimensions: [4096, 1716], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"120\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"120\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"47.95\", \"50\", \"59.94\", \"120\"]},\n \"Sony XAVC C480\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony XAVC C300\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\",\"59.94\"]} \n }\n }, \n \"3.8K 16:9 (3840 x 2160)\": {\n dimensions: [3840, 2160], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}, \n \"Sony XAVC C480\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Sony XAVC C300\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\",\"59.94\"]} \n }\n }, \n \"2K 16:9 (2048 x 1152)\": {\n dimensions: [2048, 1152], \n codecs: { \n \"Sony X-OCN XT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony X-OCN LT\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony X-OCN ST\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}, \n \"Apple Prores 4444\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple Prores 422 HQ\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple Prores 422\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\",\"59.94\"]}, \n \"Apple Prores Proxy\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\",\"59.94\"]},\n \"MPEG 50Mbps\": {framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]} \n }\n }, \n }\n }, \n \"Burano\": {\n brand: \"Sony\",\n resolutions: {\n \"FF 8.6K 16:9 (8632 x 4856)\": {\n dimensions: [8632, 4856], \n codecs: { \n \"Sony X-OCN LT\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"30\"]}\n }\n }, \n \"FF 8.6K 17:9 (8632 x 4552)\": {\n dimensions: [8632, 4552], \n codecs: { \n \"Sony X-OCN LT\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"30\"]}\n }\n }, \n \"FF 8.6K 17:9 (8192 x 4320)\": {\n dimensions: [8192, 4320], \n codecs: { \n \"Sony XAVC H-I XQ\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"30\"]},\n \"Sony XAVC H-I SQ\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"30\"]},\n \"Sony XAVC H-L\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"30\"]}\n }\n }, \n \"FF 8.6K 16:9 (7680 x 4320)\": {\n dimensions: [7680, 4320], \n codecs: { \n \"Sony XAVC H-I XQ\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"30\"]},\n \"Sony XAVC H-I SQ\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"30\"]},\n \"Sony XAVC H-L\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"30\"]} \n }\n }, \n \"FF Crop 6K 16:9 (6052 x 3404)\": {\n dimensions: [6052, 3404], \n codecs: { \n \"Sony X-OCN LT\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"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\", \"59.94\", \"60\"]}\n }\n }, \n \"FF Crop 6K 17:9 (6052 x 3192)\": {\n dimensions: [6052, 3192], \n codecs: { \n \"Sony X-OCN LT\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"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\", \"59.94\", \"60\"]}\n }\n }, \n \"S35 5.8K 17:9 (5760 x 3036)\": {\n dimensions: [5760, 3036], \n codecs: { \n \"Sony X-OCN LT\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"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\", \"59.94\", \"60\"]}\n }\n }, \n \"S35 5.8K 16:9 (5760 x 3240)\": {\n dimensions: [5760, 3240], \n codecs: { \n \"Sony X-OCN LT\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"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\", \"59.94\", \"60\"]}\n }\n }, \n \"FF Crop 6K 17:9 (4096 x 2160)\": {\n dimensions: [4096, 2160], \n codecs: { \n \"Sony XAVC\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"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\", \"59.94\", \"60\"]}\n }\n }, \n \"4K 17:9 S35c (4096 x 2160)\": {\n dimensions: [4096, 2160], \n codecs: { \n \"Sony X-OCN LT\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"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\", \"59.94\", \"60\"]}\n }\n }, \n \"UHD (3840 x 2160)\": {\n dimensions: [3840, 2160], \n codecs: { \n \"Sony XAVC\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"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\", \"59.94\", \"60\"]}\n }\n }, \n \"HD (1920 x 1080)\": {\n dimensions: [1920, 1080], \n codecs: { \n \"Sony XAVC\": {framerates: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"23.976\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"29.97\", \"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\", \"59.94\", \"60\"]}\n }\n }, \n }\n },\n \"FX9\": {\n brand: \"Sony\",\n resolutions: {\n \"4K DCI (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Sony XAVC-I\": {framerates: [\"23.976\",\"24\",\"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"Sony XAVC-I\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony XAVC-L\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Sony XAVC-I\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony XAVC-L\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"MPEG 50Mbps\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n }, \n }\n },\n \"FX6\": {\n brand: \"Sony\",\n resolutions: {\n \"4K DCI (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Sony XAVC-I\": {framerates: [\"23.976\", \"24\",\"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"Sony XAVC-I\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony XAVC-L\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Sony XAVC-I\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony XAVC-L\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n }, \n }\n },\n \"FX3\": {\n brand: \"Sony\",\n resolutions: {\n \"4K DCI (4096 x 2160)\": {\n dimensions: [4096, 2160],\n codecs: {\n \"Sony XAVC S-I\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"Sony XAVC S-I\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony XAVC HS 4K\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\", \"100\", \"119.88\"]},\n \"Sony XAVC S 4K\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\", \"100\", \"119.88\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Sony XAVC S-I\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony XAVC S\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n }, \n }\n },\n \"FX30\": {\n brand: \"Sony\",\n resolutions: {\n \"UHD (3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"Sony XAVC S-I\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony XAVC HS 4K\": {framerates: [\"23.976\", \"50\", \"59.94\", \"100\", \"119.88\"]},\n \"Sony XAVC S 4K\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\", \"100\", \"119.88\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Sony XAVC S-I\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony XAVC S\": {framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\", \"100\", \"119.88\"]}\n }\n }, \n }\n },\n \"A7S III\": {\n brand: \"Sony\",\n resolutions: {\n \"(3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"Sony XAVC HS 4K\": { framerates: [\"1\", \"2\", \"3\", \"4\", \"6\", \"8\", \"12\", \"15\", \"23.976\", \"24\", \"50\", \"60\", \"100\", \"120\"]},\n \"Sony XAVC S 4K\": { framerates: [\"1\", \"2\", \"3\", \"4\", \"6\", \"8\", \"12\", \"15\", \"23.976\", \"24\", \"25\", \"30\", \"50\", \"60\", \"100\", \"120\"]},\n \"Sony XAVC S-I\": { framerates: [\"1\", \"2\", \"3\", \"4\", \"6\", \"8\", \"12\", \"15\", \"23.976\", \"24\", \"30\", \"50\", \"60\"]}\n }\n },\n\n\n \"(1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Sony XAVC S\": { framerates: [\"1\", \"2\", \"3\", \"4\", \"6\", \"8\", \"12\", \"15\", \"23.976\", \"24\", \"25\", \"30\", \"50\", \"60\", \"100\", \"120\"]},\n \"Sony XAVC S-I\": { framerates: [\"1\", \"2\", \"3\", \"4\", \"6\", \"8\", \"12\", \"15\", \"23.976\", \"24\", \"25\", \"30\", \"50\", \"60\"]}\n }\n },\n }\n },\n \"Alpha 1\": {\n brand: \"Sony\",\n resolutions: {\n \"(7680 x 4320)\": {\n dimensions: [7680, 4320],\n codecs: {\n \"Sony XAVC HS 8K\": { framerates: [\"1\", \"2\", \"3\", \"4\", \"6\", \"8\", \"12\", \"15\", \"23.976\", \"24\", \"25\", \"30\"]}\n }\n },\n\n\n \"(3840 x 2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"Sony XAVC HS 4K\": { framerates: [\"1\", \"2\", \"3\", \"4\", \"6\", \"8\", \"12\", \"15\", \"23.976\", \"24\", \"50\", \"60\", \"100\", \"120\"]},\n \"Sony XAVC S 4K\": { framerates: [\"1\", \"2\", \"3\", \"4\", \"6\", \"8\", \"12\", \"15\", \"23.976\", \"24\", \"25\", \"30\", \"50\", \"60\", \"100\", \"120\"]},\n \"Sony XAVC S-I\": { framerates: [\"1\", \"2\", \"3\", \"4\", \"6\", \"8\", \"12\", \"15\", \"23.976\", \"24\", \"30\", \"50\", \"60\"]}\n }\n },\n\n\n \"(1920 x 1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Sony XAVC S\": { framerates: [\"1\", \"2\", \"3\", \"4\", \"6\", \"8\", \"12\", \"15\", \"23.976\", \"24\", \"25\", \"30\", \"50\", \"60\", \"100\", \"120\"]},\n \"Sony XAVC S-I\": { framerates: [\"1\", \"2\", \"3\", \"4\", \"6\", \"8\", \"12\", \"15\", \"23.976\", \"24\", \"25\", \"30\", \"50\", \"60\"]}\n }\n },\n }\n },\n \"FS7\": {\n brand: \"Sony\",\n resolutions: {\n \"UHD (3840x2160)\": {\n dimensions: [3840, 2160],\n codecs: {\n \"Sony XAVC-I\": { framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Sony XAVC-L\": { framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n\n \"HD (1920x1080)\": {\n dimensions: [1920, 1080],\n codecs: {\n \"Sony XAVC-I\": { framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"50\", \"59.94\", \"59.94\", \"120\", \"150\", \"180\"]},\n \"Sony XAVC-L\": { framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"50\", \"59.94\", \"59.94\", \"120\"]},\n \"Sony MPEG 50Mbps\": { framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"] }\n }\n },\n \"720p (1280x720)\": {\n dimensions: [1280, 720],\n codecs: {\n \"Sony MPEG 50Mbps\": { framerates: [\"23.976\", \"25\", \"29.97\", \"50\", \"59.94\"] }\n }\n },\n }\n },\n\n\n\n\n\n\n // ... other cameras ...\n};","export const ZCamCameras = {\n \"E2-F8\": {\n brand: \"Z CAM\",\n resolutions: {\n \"8K 2.4:1 (8192 x 3456)\": {\n dimenisions: [8192, 3456],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 8K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 8K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 8K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n },\n \"8K UHD (7680 x 4320)\": {\n dimenisions: [7680, 4320],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 8K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 8K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 8K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n },\n \"6K DCI (6144 x 3240)\": {\n dimenisions: [6144, 3240],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n },\n \"6K UHD (5760 x 3240)\": {\n dimenisions: [5760, 3240],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n },\n \"4K UHD (3840 x 2160)\": {\n dimenisions: [3840, 2160],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Z CAM 4K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Z CAM 4K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Z CAM 4K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n }\n },\n \"E2-F6 Pro\": {\n brand: \"Z CAM\",\n resolutions: {\n \"6K Open Gate (6064 x 4040)\": {\n dimenisions: [6064, 4040],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n },\n \"C6K (6064 x 3196)\": {\n dimenisions: [6064, 3196],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]}\n }\n },\n \"6K 2.4:1 (6064 x 2560)\": {\n dimenisions: [6064, 2560],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n \"6K UHD (5760 x 3240)\": {\n dimenisions: [5760, 3240],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]}\n }\n },\n \"5K 4:3 (5376 x 4032)\": {\n dimenisions: [5376, 4032],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n },\n \"C5K (5120 x 2700)\": {\n dimenisions: [5120, 2700],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n \"5K 6:5 (4848 x 4040)\": {\n dimenisions: [4848, 4040],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n },\n \"5K UHD (4800 x 2700)\": {\n dimenisions: [4800, 2700],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n \"4K 4:3 (4096 x 3072)\": {\n dimenisions: [4096, 3072],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n },\n \"C4K (4096 x 2160)\": {\n dimenisions: [4096, 2160],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\"]}\n }\n },\n \"C4K 2.4:1 (4096 x 1728)\": {\n dimenisions: [4096, 1728],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]}\n }\n },\n \"4K 6:5 (4080 x 3400)\": {\n dimenisions: [4080, 3400],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n },\n \"C4K 3:2 (4064 x 2712)\": {\n dimenisions: [4064, 2712],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n },\n \"UHD (3840 x 2160)\": {\n dimenisions: [3840, 2160],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\"]}\n }\n },\n \"S16 16:9 (2112 x 1188)\": {\n dimenisions: [2112, 1188],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\", \"170\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\", \"170\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\", \"170\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\", \"170\"]}\n }\n },\n \"HD (1920 x 1080)\": {\n dimenisions: [1920, 1080],\n codecs: {\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]}\n }\n },\n }\n },\n \"E2-F6\": {\n brand: \"Z CAM\",\n resolutions: {\n \"Open Gate (6064 x 4040)\": {\n dimenisions: [6064, 4040],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n }, \n \n \n \"6K DCI (6064 x 3196)\": {\n dimenisions: [6064, 3196],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Z CAM 5-6K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Z CAM 5-6K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Z CAM 5-6K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]}\n }\n }, \n \n \n \"6K 2.4:1 (6064 x 2560)\": {\n dimenisions: [6064, 2560],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Z CAM 5-6K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Z CAM 5-6K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]},\n \"Z CAM 5-6K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"50\", \"59.94\"]}\n }\n }, \n \n \n \"6K UHD (5760 x 3240)\": {\n dimenisions: [5760, 3240],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Z CAM 5-6K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Z CAM 5-6K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]},\n \"Z CAM 5-6K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\"]}\n }\n }, \n \n \n \"5K 4:3 (5376 x 4032)\": {\n dimenisions: [5376, 4032],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n }, \n \n \n \"5K 6:5 (4848 x 4040)\": {\n dimenisions: [4848, 4040],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n }, \n \n \n \"4K DCI (4096 x 2160)\": {\n dimenisions: [4096, 2160],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Z CAM 4K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Z CAM 4K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Z CAM 4K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]}\n }\n }, \n \n \n \"4K 2.4:1 (4096 x 1728)\": {\n dimenisions: [4096, 1728],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Z CAM 4K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Z CAM 4K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Z CAM 4K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]}\n }\n }, \n \n \n \"4K UHD (3840 x 2160)\": {\n dimenisions: [3840, 2160],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Z CAM 4K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Z CAM 4K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]},\n \"Z CAM 4K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"72\"]}\n }\n }, \n \n \n \"FHD (1920 x 1080)\": {\n dimenisions: [1920, 1080],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Z CAM 4K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Z CAM 4K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]},\n \"Z CAM 4K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"90\", \"120\"]}\n }\n }, \n }\n },\n \"E2-S6G\": {\n brand: \"Z CAM\",\n resolutions: {\n \"Open Gate (6144 x 4096)\": {\n dimenisions: [6144, 4096],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n }, \n \"6K DCI (6144 x 3240)\": {\n dimenisions: [6144, 3240],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n }, \n \"6K UHD (5760 x 3240)\": {\n dimenisions: [5760, 3240],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]},\n \"Z CAM 5-6K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\"]}\n }\n }, \n \"6K 2.4:1 (6144 x 2592)\": {\n dimenisions: [6144, 2592],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\"]},\n \"Z CAM 5-6K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\"]},\n \"Z CAM 5-6K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\"]},\n \"Z CAM 5-6K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\"]}\n }\n }, \n \"4K DCI (4096 x 2160)\": {\n dimenisions: [4096, 2160],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Z CAM 4K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Z CAM 4K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Z CAM 4K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]}\n }\n }, \n \"4K DCI 2.4:1) (4096 x 1728)\": {\n dimenisions: [4096, 1728],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Z CAM 4K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Z CAM 4K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Z CAM 4K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]}\n }\n }, \n \"4K UHD (3840 x 2160)\": {\n dimenisions: [3840, 2160],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Z CAM 4K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Z CAM 4K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]},\n \"Z CAM 4K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"56\"]}\n\n }\n }, \n \"FHD (1920 x 1080)\": {\n dimenisions: [1920, 1080],\n codecs: {\n \"ZRAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Apple ProRes RAW\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Apple ProRes 422 HQ\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Apple ProRes 422\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Apple ProRes LT\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Apple ProRes Proxy\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Z CAM 4K H.264/H.265 High\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Z CAM 4K H.264/H.265 Medium\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]},\n \"Z CAM 4K H.264/H.265 Low\": { framerates: [\"23.976\", \"24\", \"25\", \"29.97\", \"48\", \"50\", \"59.94\", \"70\"]} \n }\n }, \n }\n }\n\n\n\n\n \n};\n","import { AppleCameras } from \"./cameraData/cameraDataApple\";\nimport { ARRICameras } from \"./cameraData/cameraDataArri\";\nimport { BlackmagicCameras } from \"./cameraData/cameraDataBlackmagic\";\nimport { CanonCameras } from \"./cameraData/cameraDataCanon\";\nimport { DJICameras } from \"./cameraData/cameraDataDJI\";\nimport { FreeflyCameras } from \"./cameraData/cameraDataFreefly\";\nimport { FujifilmCameras } from \"./cameraData/cameraDataFujifilm\";\nimport { GoogleCameras } from \"./cameraData/cameraDataGoogle\";\nimport { GoProCameras } from \"./cameraData/cameraDataGoPro\";\nimport { LeicaCameras } from \"./cameraData/cameraDataLeica\";\nimport { KinefinityCameras } from \"./cameraData/cameraDataKinefinity\";\nimport { NikonCameras } from \"./cameraData/cameraDataNikon\";\nimport { PanasonicCameras } from \"./cameraData/cameraDataPanasonic\";\nimport { PanavisionCameras } from \"./cameraData/cameraDataPanavision\";\nimport { PhantomCameras } from \"./cameraData/cameraDataPhantom\";\nimport { RedCameras } from \"./cameraData/cameraDataRed\";\nimport { SamsungCameras } from \"./cameraData/cameraDataSamsung\";\nimport { SigmaCameras } from \"./cameraData/cameraDataSigma\";\nimport { SonyCameras } from \"./cameraData/cameraDataSony\";\nimport { ZCamCameras } from \"./cameraData/cameraDataZCam\";\n\nexport const cameras = {\n ...AppleCameras,\n ...ARRICameras,\n ...BlackmagicCameras,\n ...CanonCameras,\n ...DJICameras,\n ...FreeflyCameras,\n // ...FujifilmCameras,\n // ...GoogleCameras,\n ...GoProCameras,\n // ...LeicaCameras,\n // ...KinefinityCameras,\n // ...NikonCameras,\n // ...PanasonicCameras,\n // ...PanavisionCameras,\n ...PhantomCameras,\n ...RedCameras,\n // ...SamsungCameras,\n // ...SigmaCameras,\n ...SonyCameras,\n ...ZCamCameras,\n};\n\nexport const getFrameratesForCamera = (cameraName, resolution, codec) => {\n const camera = cameras[cameraName];\n if (!camera) {\n console.error(`Camera not found: ${cameraName}`);\n return [];\n }\n\n if (!resolution || !codec) {\n // If no resolution or codec is specified, return all unique framerates for this camera\n return [...new Set(Object.values(camera.resolutions)\n .flatMap(res => Object.values(res.codecs)\n .flatMap(cod => cod.framerates)))].sort((a, b) => parseFloat(a) - parseFloat(b));\n }\n\n const resolutionData = camera.resolutions[resolution];\n if (!resolutionData) {\n console.error(`Resolution not found for camera ${cameraName}: ${resolution}`);\n return [];\n }\n\n const codecData = resolutionData.codecs[codec];\n if (!codecData) {\n console.error(`Codec not found for camera ${cameraName} and resolution ${resolution}: ${codec}`);\n return [];\n }\n\n return codecData.framerates.sort((a, b) => parseFloat(a) - parseFloat(b));\n};\n\n// Implementation of getFrameratesForCameraResolutionCodec\nconst getFrameratesForCameraResolutionCodec = (camera, resolution, codec) => {\n if (!cameras[camera]) {\n console.error(`Camera not found: ${camera}`);\n return [];\n }\n\n const cameraData = cameras[camera];\n if (!cameraData.resolutions[resolution]) {\n console.error(`Resolution not found for camera ${camera}: ${resolution}`);\n return [];\n }\n\n const resolutionData = cameraData.resolutions[resolution];\n if (!resolutionData.codecs[codec]) {\n console.error(`Codec not found for camera ${camera} and resolution ${resolution}: ${codec}`);\n return [];\n }\n\n return resolutionData.codecs[codec].framerates;\n};\n\n// Add a helper function to get cameras by brand\nexport const getCamerasByBrand = (brand) => {\n let brandCameras = [];\n switch (brand) {\n case 'Apple':\n brandCameras = Object.keys(AppleCameras);\n break;\n case 'ARRI':\n brandCameras = Object.keys(ARRICameras);\n break;\n case 'Blackmagic Design':\n brandCameras = Object.keys(BlackmagicCameras);\n break;\n case 'Canon':\n brandCameras = Object.keys(CanonCameras);\n break;\n case 'DJI':\n brandCameras = Object.keys(DJICameras);\n break;\n case 'Freefly':\n brandCameras = Object.keys(FreeflyCameras);\n break;\n case 'GoPro':\n brandCameras = Object.keys(GoProCameras);\n break;\n case 'Phantom':\n brandCameras = Object.keys(PhantomCameras);\n break;\n case 'RED':\n brandCameras = Object.keys(RedCameras);\n break;\n case 'Sony':\n brandCameras = Object.keys(SonyCameras);\n break;\n case 'Z CAM':\n brandCameras = Object.keys(ZCamCameras);\n break;\n default:\n brandCameras = [];\n }\n // Sort the cameras alphabetically before returning\n return brandCameras.sort((a, b) => a.localeCompare(b));\n};\n\n// Add a helper function to get resolutions for a specific camera\nexport const getResolutionsForCamera = (camera) => {\n return cameras[camera] ? Object.keys(cameras[camera].resolutions) : [];\n};\n\n// Add a helper function to get codecs for a specific camera and resolution\nexport const getCodecsForCameraAndResolution = (camera, resolution) => {\n return cameras[camera] && cameras[camera].resolutions[resolution]\n ? Object.keys(cameras[camera].resolutions[resolution].codecs)\n : [];\n};\n","import React, { createContext, useContext, useState } from 'react';\nimport { getCamerasByBrand, getResolutionsForCamera, getFrameratesForCamera, getCodecsForCameraAndResolution } from '../data/cameraData';\n\nconst CalculatorContext = createContext();\n\n// Default states\nconst defaultCalcState = {\n // Camera to File Size default state\n duration: '01:00:00:00',\n brand: 'ARRI',\n camera: 'ALEXA 35',\n resolution: '4.6K 3:2 Open Gate (4608 x 3164)',\n framerate: '24',\n codec: 'ARRIRAW HDE',\n fileSize: '1.915',\n fileSizeUnit: 'TB',\n durationInput: '01:00:00:00',\n fileSizeInput: '1.915 TB',\n isDurationLocked: false,\n isFileSizeLocked: false,\n calculationMode: null,\n availableCameras: [],\n availableResolutions: [],\n availableFramerates: [],\n availableCodecs: [],\n copyStatus: '',\n isMobile: false,\n copiedLogIndex: null,\n copyDurationText: null,\n copyFileSizeText: null,\n logButtonText: null,\n shareButtonText: null,\n resetButtonText: null,\n previousResolution: '4.6K 3:2 Open Gate (4608 x 3164)'\n};\n\n// Add default timecode calculator state\nconst defaultTimecodeState = {\n mode: 'timecode',\n frameRate: '24',\n timecode1: '01:00:00:00',\n timecodecalculator: '00:30:00:00',\n operation: 'add', \n result: '01:30:00:00',\n isMobile: false,\n logButtonText: null,\n shareButtonText: null,\n resetButtonText: null,\n copyButtonText: null\n};\n\nconst defaultFramingChartState = {\n brand: 'Sony',\n camera: 'VENICE 2 8K',\n resolution: '8.6K 3:2 (8640 x 5760)',\n productionName: 'PROJECT NAME',\n dopName: 'DOP NAME',\n safetyMargin: 5,\n showUhdOverlay: true,\n aspectRatio: '16:9',\n isAnamorphic: false,\n squeezeRatio: '1x',\n codec: 'Sony X-OCN XT',\n lensSqueeze: '1x'\n};\n\nexport const CalculatorProvider = ({ children }) => {\n const [cameraCalcState, setCameraCalcState] = useState(defaultCalcState);\n const [framingChartState, setFramingChartState] = useState(defaultFramingChartState);\n const [activeTab, setActiveTab] = useState('calculator');\n\n // Aspect Ratio Calculator state\n const [aspectCalcState, setAspectCalcState] = useState({\n selectedRatio: \"16:9\",\n width: 1920,\n height: 1080,\n lockedField: null,\n customRatio: \"\",\n customRatios: [],\n isMobile: false,\n logButtonText: null,\n copyButtonText: null,\n shareButtonText: null,\n resetButtonText: null,\n calculationMode: null,\n isWidthLocked: false,\n isHeightLocked: false\n });\n\n // Bitrate Calculator state\n const [bitrateCalcState, setBitrateCalcState] = useState({\n durationInput: \"01:00:00:00\",\n bitrate: '100',\n bitrateUnit: 'MB/s',\n fileSize: '43.902',\n fileSizeUnit: 'GB',\n lockedField: null,\n calculationMode: null\n });\n\n // Dailies Calculator state\n const [dailiesState, setDailiesState] = useState({\n // Camera settings\n brand: 'ARRI',\n camera: 'ALEXA 35',\n resolution: '4.6K 3:2 Open Gate (4608 x 3164)',\n codec: 'ARRIRAW',\n framerate: '24',\n \n // Available options\n availableCameras: getCamerasByBrand('ARRI'),\n availableResolutions: getResolutionsForCamera('ALEXA 35'),\n availableFramerates: getFrameratesForCamera('ALEXA 35'),\n availableCodecs: getCodecsForCameraAndResolution('ALEXA 35', '4.6K 3:2 Open Gate (4608 x 3164)'),\n \n // Dailies specific state\n footagePerDay: \"04:00:00:00\",\n shootDays: 1,\n durationInput: \"04:00:00:00\",\n fileSizeInput: \"1.91 TB\",\n fileSizeUnit: \"TB\",\n dailiesFileSizePerDay: \"43.949 GB\",\n totalDailiesFileSize: \"43.949 GB\",\n selectedRatio: \"Match\",\n width: 1920,\n height: 1080,\n dailiesCodec: \"Apple ProRes LT\",\n lockedField: null,\n isWidthLocked: false,\n isHeightLocked: false,\n customRatios: [],\n dailiesData: {\n aspectRatio: 'Match',\n width: 1920,\n height: 1080,\n codec: 'Apple ProRes LT',\n fileSize: ''\n },\n \n // UI state\n isDurationLocked: false,\n isFileSizeLocked: false,\n calculationMode: null,\n copyStatus: '',\n isMobile: false,\n copiedLogIndex: null,\n previousResolution: '4.6K 3:2 Open Gate (4608 x 3164)'\n });\n\n // Duration to File Size state\n const [durationCalcState, setDurationCalcState] = useState({\n duration: \"01:00:00:00\",\n resolution: \"UHD (3840 x 2160)\",\n codec: \"Apple ProRes 422 HQ\",\n framerate: \"24\",\n fileSize: \"310.328 GB\",\n durationInput: \"01:00:00:00\",\n fileSizeInput: \"310.328 GB\",\n isDurationLocked: false,\n isFileSizeLocked: false,\n calculationMode: null\n });\n\n // Film Calculator state\n const [filmCalcState, setFilmCalcState] = useState({\n filmFormat: \"35mm 4-perf\",\n fps: \"24\",\n stock: \"5219 VISION3 500T Color Neg\",\n rollsCount: \"1\",\n rollLength: \"1000\",\n duration: \"11 minutes 6.7 seconds\",\n frames: \"16,000\",\n price: \"$791.40\",\n logButtonText: null,\n shareButtonText: null,\n resetButtonText: null,\n copyButtonText: null\n });\n\n // Transfer calculator state\n const [transferCalcState, setTransferCalcState] = useState({\n interface: 'Thunderbolt 4/USB4',\n storage: 'PCIe 4.0 NVMe SSD',\n dataSize: '1',\n sizeUnit: 'GB',\n lockedField: null\n });\n\n // Add timecode calculator state\n const [timecodeCalcState, setTimecodeCalcState] = useState(defaultTimecodeState);\n\n const resetCalculator = () => {\n setCameraCalcState(defaultCalcState);\n };\n\n const resetFramingChart = () => {\n setFramingChartState(defaultFramingChartState);\n };\n\n const value = {\n cameraCalcState,\n setCameraCalcState,\n durationCalcState,\n setDurationCalcState,\n aspectCalcState,\n setAspectCalcState,\n dailiesState,\n setDailiesState,\n filmCalcState,\n setFilmCalcState,\n bitrateCalcState,\n setBitrateCalcState,\n transferCalcState,\n setTransferCalcState,\n framingChartState,\n setFramingChartState,\n activeTab,\n setActiveTab,\n timecodeCalcState,\n setTimecodeCalcState,\n resetCalculator,\n resetFramingChart\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport const useCalculator = () => {\n const context = useContext(CalculatorContext);\n if (!context) {\n throw new Error('useCalculator must be used within a CalculatorProvider');\n }\n return context;\n};\n","import { useCallback } from 'react';\n\nexport const useDropdownTouch = (options, currentValue, onChange, fieldName) => {\n return useCallback((e) => {\n if (!e.touches || !e.touches[0]) return;\n \n const touch = e.touches[0];\n const startY = touch.clientY;\n let lastY = startY;\n let isSwiping = false;\n let touchTimeout;\n \n // Filter out 'Custom' option for scrolling\n const scrollableOptions = options.filter(option => option !== 'Custom');\n let currentIndex = scrollableOptions.indexOf(currentValue);\n let accumulatedDelta = 0;\n \n touchTimeout = setTimeout(() => {\n if (!isSwiping) {\n e.target.click();\n }\n }, 100);\n \n const handleTouchMove = (e) => {\n if (!e.touches || !e.touches[0]) return;\n \n clearTimeout(touchTimeout);\n \n const touch = e.touches[0];\n const currentY = touch.clientY;\n const totalMove = Math.abs(currentY - startY);\n \n if (totalMove > 5) {\n e.preventDefault();\n isSwiping = true;\n \n const diffY = lastY - currentY;\n lastY = currentY;\n \n accumulatedDelta += diffY * 0.6;\n \n const itemsToMove = Math.floor(Math.abs(accumulatedDelta) / 10);\n \n if (itemsToMove >= 1) {\n const direction = Math.sign(accumulatedDelta);\n let newIndex = currentIndex + (direction * itemsToMove);\n \n // Ensure newIndex stays within bounds of scrollable options\n newIndex = Math.max(0, Math.min(newIndex, scrollableOptions.length - 1));\n \n if (newIndex !== currentIndex) {\n const newValue = scrollableOptions[newIndex];\n onChange({\n target: {\n name: fieldName,\n value: newValue\n }\n });\n currentIndex = newIndex;\n }\n \n accumulatedDelta = accumulatedDelta % 10;\n }\n }\n };\n\n const handleTouchEnd = () => {\n clearTimeout(touchTimeout);\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n \n if (!isSwiping) {\n e.target.click();\n }\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n }, [options, currentValue, onChange, fieldName]);\n}; ","import React, { useState } from 'react';\nimport { SlNote, SlRefresh, SlPaperPlane, SlLike } from \"react-icons/sl\";\nimport { LuDownload } from \"react-icons/lu\";\nimport { commonStyles } from '../styles/globalStyles';\n\nfunction CalculatorButtons({ \n onLog, \n onShare, \n onReset, \n logButtonIcon = ,\n logButtonText = \"+Log\",\n shareButtonIcon = ,\n // shareButtonText = \"Share\",\n resetButtonIcon = ,\n resetButtonText = \"Reset\",\n}) {\n const [shareButtonText, setshareButtonText] = useState('Share');\n const [currentShareIcon, setCurrentShareIcon] = useState(shareButtonIcon);\n\n const handleShare = async () => {\n try {\n const result = await onShare();\n console.log('Share result:', result); // For debugging\n\n if (result?.success) {\n setCurrentShareIcon();\n if (result.method === 'clipboard') {\n setshareButtonText('Link Copied!');\n } else if (result.method === 'share') {\n setshareButtonText('Shared!');\n }\n\n // Reset after 2 seconds\n setTimeout(() => {\n setshareButtonText('Share');\n setCurrentShareIcon(shareButtonIcon);\n }, 500);\n }\n } catch (error) {\n console.error('Error in handleShare:', error);\n }\n };\n\n return (\n
\n \n
\n {logButtonIcon}\n {logButtonText}\n
\n \n \n \n
\n {currentShareIcon}\n {shareButtonText}\n
\n \n \n \n
\n {resetButtonIcon}\n {resetButtonText}\n
\n \n
\n );\n}\n\nexport default CalculatorButtons; "," import React, { useState, useEffect, useRef } from 'react';\n import { CopyToClipboard } from 'react-copy-to-clipboard';\n import { SlDocs, SlNote, SlRefresh, SlLike, SlPaperPlane } from \"react-icons/sl\";\n import { FaShareSquare, FaLock, FaUnlockAlt, FaAngleLeft, FaAngleRight, FaAngleUp } from 'react-icons/fa';\n import { disableScroll, enableScroll } from '../utils/utils';\n import { handleShareOnDevice } from '../utils/shareUtils';\n import { useCalculator } from '../context/CalculatorContext';\n import { useDropdownTouch } from '../hooks/useDropdownTouch';\n import { colors, spacing, commonStyles, layout } from '../styles/globalStyles';\n import CalculatorButtons from './CalculatorButtons';\n\n const defaultAspectRatios = [\"2.39:1\", \"2:1\", \"1.85:1\", \"1.66:1\", \"16:9\", \"4:3\", \n \"21:9\", \"16:10\", \"3:2\",\"6:5\", \"1:1\", \"4:5\", \"9:16\", \"Custom\"];\n\n function AspectRatioCalculator({ addLog }) {\n const { aspectCalcState, setAspectCalcState } = useCalculator();\n\n const [isMobile, setIsMobile] = useState(false);\n const [selectedRatio, setSelectedRatio] = useState(aspectCalcState.selectedRatio);\n const [customRatio, setCustomRatio] = useState(aspectCalcState.customRatio);\n const [width, setWidth] = useState(aspectCalcState.width);\n const [height, setHeight] = useState(aspectCalcState.height);\n const [lockedField, setPinnedField] = useState(aspectCalcState.lockedField);\n const [logButtonText, setLogButtonText] = useState();\n const [copyButtonText, setCopyButtonText] = useState();\n const [shareButtonText, setShareButtonText] = useState();\n const [resetButtonText, setResetButtonText] = useState();\n const [customRatios, setCustomRatios] = useState(aspectCalcState.customRatios);\n const [calculationMode, setCalculationMode] = useState(aspectCalcState.calculationMode);\n const [resolution, setResolution] = useState(\"1920 x 1080\");\n const [isWidthLocked, setIsWidthLocked] = useState(aspectCalcState.isWidthLocked);\n const [isHeightLocked, setIsHeightLocked] = useState(aspectCalcState.isHeightLocked);\n const [sensitivity] = useState(0.025);\n const [scrollTimeout, setScrollTimeout] = useState(null);\n\n const ratioRef = useRef(null);\n const widthRef = useRef(null);\n const heightRef = useRef(null);\n const resolutionRef = useRef(null);\n\n // Add state for tracking focus\n const [focusedField, setFocusedField] = useState(null);\n\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n const ratio = params.get('ratio');\n const widthParam = params.get('width');\n const heightParam = params.get('height');\n\n if (ratio && widthParam && heightParam) {\n setSelectedRatio(ratio);\n setWidth(parseInt(widthParam, 10));\n setHeight(parseInt(heightParam, 10));\n }\n }, []);\n\n useEffect(() => {\n setAspectCalcState({\n selectedRatio,\n width,\n height,\n lockedField,\n customRatio,\n customRatios,\n calculationMode,\n isWidthLocked,\n isHeightLocked\n });\n }, [\n selectedRatio,\n width,\n height,\n lockedField,\n customRatio,\n customRatios,\n calculationMode,\n isWidthLocked,\n isHeightLocked,\n setAspectCalcState\n ]);\n\n const roundToEven = (num) => {\n const rounded = Math.round(num);\n return rounded % 2 === 0 ? rounded : rounded + 1;\n };\n\n const parseRatio = (input) => {\n console.log('Parsing ratio input:', input);\n\n // Remove all whitespace and convert to lowercase\n input = input.toLowerCase().replace(/\\s+/g, '');\n console.log('Cleaned input:', input);\n\n // Check for decimal format first (e.g., 2.35 or 1.77)\n const decimalMatch = input.match(/^(\\d+(?:\\.\\d+)?)$/);\n if (decimalMatch) {\n const result = parseFloat(input);\n console.log(`Decimal format detected: ${input}, treating as ${input}:1`);\n return result;\n }\n\n // Check for ratio format (e.g., 16:9, 16x9, 2.35:1)\n const ratioMatch = input.match(/^(\\d+(?:\\.\\d+)?)[:x](\\d+(?:\\.\\d+)?)$/);\n if (ratioMatch) {\n const [w, h] = ratioMatch.slice(1).map(Number);\n const result = w / h;\n console.log(`Ratio format detected: ${w}:${h}, Result:`, result);\n return result;\n }\n\n // Check for two numbers separated by space (e.g., 16 9, 2.35 1)\n const spaceMatch = input.match(/^(\\d+(?:\\.\\d+)?)\\s*(\\d+(?:\\.\\d+)?)$/);\n if (spaceMatch) {\n const [w, h] = spaceMatch.slice(1).map(Number);\n const result = w / h;\n console.log(`Space-separated format detected: ${w} ${h}, Result:`, result);\n return result;\n }\n\n // If none of the above formats match, return NaN\n console.log('No valid format detected, returning NaN');\n return NaN;\n };\n\n const compareRatios = (a, b) => {\n const ratioA = parseRatio(a);\n const ratioB = parseRatio(b);\n return ratioA - ratioB;\n };\n\n const formatRatioDisplay = (ratio) => {\n return ratio;\n };\n\n const formatRatio = (ratio) => {\n // Check if the input ratio matches any of the original custom ratios\n const matchingCustomRatio = customRatios.find(r => {\n const parsed = parseRatio(r);\n return Math.abs(parsed - ratio) < 0.0001;\n });\n\n if (matchingCustomRatio) {\n return matchingCustomRatio;\n }\n\n // For decimal inputs like 2.35, preserve as \"2.35:1\"\n if (Number.isFinite(ratio) && !Number.isInteger(ratio)) {\n return `${ratio.toFixed(3)}:1`;\n }\n\n // For integer ratios, use the GCD reduction\n const tolerance = 0.0001;\n for (let denominator = 1; denominator <= 16; denominator++) {\n const numerator = ratio * denominator;\n if (Math.abs(numerator - Math.round(numerator)) < tolerance) {\n let n = Math.round(numerator);\n let d = denominator;\n const gcd = getGCD(n, d);\n n = n / gcd;\n d = d / gcd;\n return `${n}:${d}`;\n }\n }\n\n return `${ratio.toFixed(3)}:1`;\n };\n\n const getGCD = (a, b) => {\n a = Math.abs(a);\n b = Math.abs(b);\n while (b) {\n const temp = b;\n b = a % b;\n a = temp;\n }\n return a;\n };\n\n const handleRatioChange = (e) => {\n const value = e.target.value;\n setSelectedRatio(value);\n\n if (value === \"Custom\") {\n setCustomRatio(\"\");\n return;\n }\n\n setCustomRatio(value);\n \n const aspectRatio = parseRatio(value);\n if (!isNaN(aspectRatio)) {\n switch (calculationMode) {\n case 'width':\n // Width is locked, update height\n setHeight(roundToEven(width / aspectRatio));\n break;\n case 'height':\n // Height is locked, update width\n setWidth(roundToEven(height * aspectRatio));\n break;\n case 'ratio':\n // Ratio is locked, don't update anything\n break;\n default:\n // Nothing is locked, maintain width and update height\n setHeight(roundToEven(width / aspectRatio));\n break;\n }\n }\n };\n\n const handleCustomRatioChange = (e) => {\n const value = e.target.value;\n console.log('Custom ratio input:', value);\n // Allow digits, decimal point, colon, 'x', and space\n // Replace any sequence of spaces with a single space\n if (/^[\\d.:x\\s]*$/.test(value)) {\n const cleanedValue = value.replace(/\\s+/g, ' ');\n // If there's a space, automatically convert it to a colon\n const formattedValue = cleanedValue.replace(/\\s/g, ':');\n setCustomRatio(formattedValue);\n console.log('Valid input, setting custom ratio:', formattedValue);\n } else {\n console.log('Invalid input, ignoring');\n }\n };\n\n const handleCustomRatioKeyPress = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n processCustomRatio();\n e.target.blur();\n }\n };\n\n const handleCustomRatioBlur = () => {\n processCustomRatio();\n };\n\n // Helper function to handle all custom ratio processing\n const processCustomRatio = () => {\n console.log('Processing custom ratio, current value:', customRatio);\n if (customRatio) {\n const parsedRatio = parseRatio(customRatio);\n console.log('Parsed ratio:', parsedRatio);\n if (!isNaN(parsedRatio)) {\n const formattedRatio = formatRatio(parsedRatio);\n console.log('Formatted ratio:', formattedRatio);\n // Only add to custom ratios if it came from Custom input\n if (\n selectedRatio === 'Custom' &&\n !defaultAspectRatios.includes(formattedRatio) &&\n !customRatios.includes(formattedRatio)\n ) {\n setCustomRatios((prevRatios) => {\n const newRatios = [...prevRatios, formattedRatio];\n return newRatios.sort(compareRatios);\n });\n }\n setSelectedRatio(formattedRatio);\n recalculateDimensions('ratio');\n } else {\n console.log('Invalid ratio, not updating');\n }\n }\n setCustomRatio(\"\");\n };\n\n const handleWidthChange = (e) => {\n if (calculationMode === 'width') return;\n \n const value = e.target.value === '' ? '' : parseInt(e.target.value, 10) || 0;\n \n if (calculationMode === 'height') {\n // When height is locked, allow empty field until blur\n setWidth(value);\n if (value > 0) {\n const newRatio = value / height;\n const formattedRatio = formatRatio(newRatio);\n \n // Add to custom ratios if it's a new ratio\n if (!defaultAspectRatios.includes(formattedRatio) && \n !customRatios.includes(formattedRatio)) {\n setCustomRatios(prevRatios => {\n const newRatios = [...prevRatios, formattedRatio];\n return newRatios.sort(compareRatios);\n });\n }\n \n setSelectedRatio(formattedRatio);\n }\n } else {\n setWidth(value);\n calculateDimensions('width');\n }\n };\n\n const handleHeightChange = (e) => {\n if (calculationMode === 'height') return;\n \n const value = e.target.value === '' ? '' : parseInt(e.target.value, 10) || 0;\n \n if (calculationMode === 'width') {\n // When width is locked, allow empty field until blur\n setHeight(value);\n if (value > 0) {\n const newRatio = width / value;\n const formattedRatio = formatRatio(newRatio);\n \n // Add to custom ratios if it's a new ratio\n if (!defaultAspectRatios.includes(formattedRatio) && \n !customRatios.includes(formattedRatio)) {\n setCustomRatios(prevRatios => {\n const newRatios = [...prevRatios, formattedRatio];\n return newRatios.sort(compareRatios);\n });\n }\n \n setSelectedRatio(formattedRatio);\n }\n } else {\n setHeight(value);\n calculateDimensions('height');\n }\n };\n\n const handleWidthBlur = () => {\n const newWidth = parseInt(width, 10) || 0;\n const roundedWidth = roundToEven(newWidth);\n \n if (calculationMode === 'height') {\n if (roundedWidth > 0) {\n const newRatio = roundedWidth / height;\n const formattedRatio = formatRatio(newRatio);\n setSelectedRatio(formattedRatio);\n setWidth(roundedWidth);\n } else {\n // Restore previous width if empty or invalid\n setWidth(roundToEven(height * parseRatio(selectedRatio)));\n }\n } else if (calculationMode !== 'width') {\n setWidth(roundedWidth);\n calculateDimensions('width');\n }\n };\n\n const handleHeightBlur = () => {\n const newHeight = parseInt(height, 10) || 0;\n const roundedHeight = roundToEven(newHeight);\n \n if (calculationMode === 'width') {\n if (roundedHeight > 0) {\n const newRatio = width / roundedHeight;\n const formattedRatio = formatRatio(newRatio);\n setSelectedRatio(formattedRatio);\n setHeight(roundedHeight);\n } else {\n // Restore previous height if empty or invalid\n setHeight(roundToEven(width / parseRatio(selectedRatio)));\n }\n } else if (calculationMode !== 'height') {\n setHeight(roundedHeight);\n calculateDimensions('height');\n }\n };\n\n const handleHeightKeyPress = (e) => {\n if (e.key === 'Enter') {\n const newHeight = roundToEven(parseInt(height, 10) || 0);\n setHeight(newHeight);\n\n if (lockedField === 'width') {\n const newRatio = width / newHeight;\n const formattedRatio = formatRatio(newRatio);\n setSelectedRatio(formattedRatio);\n } else if (!lockedField || lockedField === 'ratio') {\n const aspectRatio = parseRatio(selectedRatio);\n const newWidth = roundToEven(newHeight * aspectRatio);\n setWidth(newWidth);\n }\n\n e.target.blur();\n }\n };\n\n const handleWidthKeyPress = (e) => {\n if (e.key === 'Enter') {\n const newWidth = roundToEven(parseInt(width, 10) || 0);\n setWidth(newWidth);\n e.target.blur();\n }\n };\n\n // Define handleRatioBlur function\n const handleRatioBlur = () => {\n const aspectRatio = parseRatio(selectedRatio);\n recalculateDimensions('ratio');\n };\n\n // Define handleKeyPress function\n const handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n const fieldName = e.target.name;\n if (fieldName === 'width') {\n handleWidthBlur();\n } else if (fieldName === 'height') {\n handleHeightBlur();\n } else if (fieldName === 'ratio') {\n handleRatioBlur();\n }\n }\n };\n\n // Update handleWidthWheel function\n const handleWidthWheel = (e) => {\n e.preventDefault();\n if (calculationMode === 'width' || calculationMode === 'height') return; // Only block when width/height locked\n\n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const isLeftHalf = x < rect.width / 2;\n const scrollAmount = -e.deltaY;\n const baseChange = isLeftHalf ? 20 : 2;\n const changeAmount = Math.abs(scrollAmount) > 50 \n ? baseChange * Math.abs(scrollAmount / 50) \n : baseChange;\n const delta = Math.sign(scrollAmount);\n\n const evenChangeAmount = Math.round(changeAmount / 2) * 2;\n const newWidth = Math.max(2, width + delta * evenChangeAmount);\n setWidth(newWidth);\n \n calculateDimensions('width');\n };\n\n // Update handleHeightWheel function\n const handleHeightWheel = (e) => {\n e.preventDefault();\n if (calculationMode === 'width' || calculationMode === 'height') return; // Only block when width/height locked\n\n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const isLeftHalf = x < rect.width / 2;\n const scrollAmount = -e.deltaY;\n const baseChange = isLeftHalf ? 20 : 2;\n const changeAmount = Math.abs(scrollAmount) > 50 \n ? baseChange * Math.abs(scrollAmount / 50) \n : baseChange;\n const delta = Math.sign(scrollAmount);\n\n const evenChangeAmount = Math.round(changeAmount / 2) * 2;\n const newHeight = Math.max(2, height + delta * evenChangeAmount);\n setHeight(newHeight);\n \n calculateDimensions('height');\n };\n\n // Refine calculateDimensions function\n const calculateDimensions = (changedField) => {\n const aspectRatio = parseRatio(selectedRatio);\n if (isNaN(aspectRatio)) return;\n\n switch (calculationMode) {\n case 'width':\n // Width is locked - only ratio changes can update height\n if (changedField === 'ratio') {\n setHeight(roundToEven(width / aspectRatio));\n }\n break;\n\n case 'height':\n // Height is locked - only ratio changes can update width\n if (changedField === 'ratio') {\n setWidth(roundToEven(height * aspectRatio));\n }\n break;\n\n case 'ratio':\n // Ratio is locked - maintain ratio while updating dimensions\n if (changedField === 'width') {\n setHeight(roundToEven(width / aspectRatio));\n } else if (changedField === 'height') {\n setWidth(roundToEven(height * aspectRatio));\n }\n break;\n\n default:\n // Nothing is locked - update based on changed field\n if (changedField === 'width') {\n setHeight(roundToEven(width / aspectRatio));\n } else if (changedField === 'height') {\n setWidth(roundToEven(height * aspectRatio));\n } else if (changedField === 'ratio') {\n setHeight(roundToEven(width / aspectRatio));\n }\n break;\n }\n };\n\n // Helper function to calculate aspect ratio without causing loops\n const recalculateDimensions = (field, context = 'manual') => {\n const aspectRatio = parseRatio(selectedRatio);\n if (isNaN(aspectRatio)) return;\n\n switch (calculationMode) {\n case 'width':\n setHeight(roundToEven(width / aspectRatio));\n break;\n case 'height':\n setWidth(roundToEven(height * aspectRatio));\n break;\n case 'ratio':\n if (field === 'width') {\n setHeight(roundToEven(width / aspectRatio));\n } else if (field === 'height') {\n setWidth(roundToEven(height * aspectRatio));\n }\n break;\n default:\n setHeight(roundToEven(width / aspectRatio));\n break;\n }\n };\n\n const handleLog = () => {\n const logEntry = `Aspect Ratio: ${selectedRatio} = ${width}x${height}`;\n addLog(logEntry);\n setLogButtonText();\n setTimeout(() => setLogButtonText(), 500);\n };\n\n const handleCopy = () => {\n setCopyButtonText();\n setTimeout(() => setCopyButtonText(), 500);\n };\n\n const handleShare = async () => {\n const shareUrl = new URL(window.location.href);\n shareUrl.searchParams.set('ratio', selectedRatio);\n shareUrl.searchParams.set('width', width.toString());\n shareUrl.searchParams.set('height', height.toString());\n if (calculationMode) {\n shareUrl.searchParams.set('mode', calculationMode);\n }\n\n const shareButtonText = `${selectedRatio} - ${width}x${height}`;\n \n try {\n const result = await handleShareOnDevice(\n 'TBD Post DataCalc',\n `Check out this aspect ratio: ${shareButtonText}`,\n shareUrl.toString()\n );\n\n if (result?.success) {\n setShareButtonText();\n setTimeout(() => setShareButtonText(), 500);\n }\n return result;\n } catch (error) {\n console.error('Share failed:', error);\n return { success: false, method: 'none' };\n }\n };\n\n const handleReset = () => {\n setSelectedRatio(\"16:9\");\n setCustomRatio(\"\");\n setWidth(1920);\n setHeight(1080);\n setPinnedField(null);\n setIsWidthLocked(false);\n setIsHeightLocked(false);\n setCalculationMode(null); // Reset the calculation mode\n setResetButtonText();\n setTimeout(() => setResetButtonText(), 500);\n };\n\n useEffect(() => {\n const checkMobile = () => {\n setIsMobile(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));\n };\n checkMobile();\n window.addEventListener('resize', checkMobile);\n\n return () => window.removeEventListener('resize', checkMobile);\n }, []);\n\n useEffect(() => {\n if (isMobile) {\n disableScroll();\n return () => enableScroll();\n }\n }, [isMobile]);\n\n const currentSpacing = isMobile ? spacing.mobile : spacing.desktop;\n\n const commonInputClass = commonStyles.commonInputClass;\n const textCenterImportant = commonStyles.textCenterImportant;\n\n const getLiveRatio = () => {\n if (width && height) {\n const currentRatio = width / height;\n return formatRatio(currentRatio);\n }\n return selectedRatio;\n };\n\n useEffect(() => {\n return () => {\n if (scrollTimeout) {\n clearTimeout(scrollTimeout);\n }\n };\n }, [scrollTimeout]);\n\n // Update the handleRatioWheel function\n const handleRatioWheel = (e) => {\n e.preventDefault();\n if (calculationMode === 'ratio') return;\n \n const scrollAmount = e.deltaY;\n const scrollableRatios = [...defaultAspectRatios.filter(r => r !== \"Custom\"), ...customRatios];\n const currentIndex = scrollableRatios.indexOf(selectedRatio);\n \n if (scrollAmount > 0) {\n // Scroll down, increase index\n const nextIndex = currentIndex < scrollableRatios.length - 1 ? currentIndex + 1 : currentIndex;\n handleRatioChange({ target: { value: scrollableRatios[nextIndex] } });\n } else {\n // Scroll up, decrease index\n const prevIndex = currentIndex > 0 ? currentIndex - 1 : currentIndex;\n handleRatioChange({ target: { value: scrollableRatios[prevIndex] } });\n }\n };\n\n // Update the handleRatioTouch function to handle scrolling\n const handleRatioTouch = (e) => {\n const touch = e.touches[0];\n const rect = e.currentTarget.getBoundingClientRect();\n \n // Store the initial touch position\n e.currentTarget.dataset.touchStartY = touch.clientY;\n e.currentTarget.dataset.lastTouchY = touch.clientY;\n };\n\n const handleRatioTouchMove = (e) => {\n e.preventDefault();\n if (lockedField === 'ratio') return;\n\n const touch = e.touches[0];\n const lastY = parseFloat(e.currentTarget.dataset.lastTouchY);\n const deltaY = lastY - touch.clientY;\n \n const scrollableRatios = [...defaultAspectRatios.filter(r => r !== \"Custom\"), ...customRatios];\n const currentIndex = scrollableRatios.indexOf(selectedRatio);\n \n // Only change ratio if we've moved more than 10 pixels\n if (Math.abs(deltaY) > 10) {\n if (deltaY > 0) {\n // Scroll down, increase index\n const nextIndex = currentIndex < scrollableRatios.length - 1 ? currentIndex + 1 : currentIndex;\n if (nextIndex !== currentIndex) {\n handleRatioChange({ target: { value: scrollableRatios[nextIndex] } });\n }\n } else {\n // Scroll up, decrease index\n const prevIndex = currentIndex > 0 ? currentIndex - 1 : currentIndex;\n if (prevIndex !== currentIndex) {\n handleRatioChange({ target: { value: scrollableRatios[prevIndex] } });\n }\n }\n // Update the last touch position after making a change\n e.currentTarget.dataset.lastTouchY = touch.clientY;\n }\n };\n const handleBlur = () => {\n if (selectedRatio === 'Custom') {\n processCustomRatio();\n } else {\n recalculateDimensions('ratio');\n }\n };\n // Update the select element to use these new handlers\n \n {[...defaultAspectRatios.filter(r => r !== \"Custom\"), ...customRatios]\n .sort(compareRatios)\n .map((ratio) => (\n \n ))}\n \n \n\n // Add this function near other handlers\n\n\n // Add touch handlers for mobile scrolling\n const handleTouchStart = (e, field) => {\n const touch = e.touches[0];\n const rect = e.currentTarget.getBoundingClientRect();\n const x = touch.clientX - rect.left;\n const isLeftHalf = x < rect.width / 2;\n \n // Store the initial touch position and whether it's on the left half\n e.currentTarget.dataset.touchStartY = touch.clientY;\n e.currentTarget.dataset.isLeftHalf = isLeftHalf;\n e.currentTarget.dataset.lastTouchY = touch.clientY;\n };\n\n const handleTouchMove = (e, field) => {\n e.preventDefault();\n if (lockedField === field) return;\n\n const touch = e.touches[0];\n const startY = parseFloat(e.currentTarget.dataset.touchStartY);\n const lastY = parseFloat(e.currentTarget.dataset.lastTouchY);\n const isLeftHalf = e.currentTarget.dataset.isLeftHalf === 'true';\n \n const deltaY = lastY - touch.clientY;\n const baseChange = isLeftHalf ? 20 : 2;\n const changeAmount = Math.abs(deltaY) > 10 \n ? baseChange * Math.abs(deltaY / 10) \n : baseChange;\n const delta = Math.sign(deltaY);\n\n const evenChangeAmount = Math.round(changeAmount / 2) * 2;\n\n if (field === 'width') {\n const newWidth = Math.max(2, width + delta * evenChangeAmount);\n setWidth(newWidth);\n calculateDimensions('width');\n } else if (field === 'height') {\n const newHeight = Math.max(2, height + delta * evenChangeAmount);\n setHeight(newHeight);\n calculateDimensions('height');\n }\n\n e.currentTarget.dataset.lastTouchY = touch.clientY;\n };\n\n // Update the placeholder helper functions\n const getHeightPlaceholder = () => {\n if (calculationMode === 'width' && focusedField === 'height') {\n return 'Enter height to set ratio';\n }\n return '';\n };\n\n const getWidthPlaceholder = () => {\n if (calculationMode === 'height' && focusedField === 'width') {\n return 'Enter width to set ratio';\n }\n return '';\n };\n\n return (\n
\n {/* Aspect Ratio row */}\n
\n \n
\n \n {[...defaultAspectRatios.filter(r => r !== \"Custom\"), ...customRatios]\n .sort(compareRatios)\n .map((ratio) => (\n \n ))}\n \n \n {\n if (e.key === 'Enter' || e.key === 'Tab') {\n e.preventDefault();\n processCustomRatio();\n e.target.blur();\n if (e.key === 'Tab') {\n widthRef.current?.focus();\n }\n }\n }}\n placeholder=\"Enter ratio (e.g., 16:9)\"\n className={`${commonInputClass} ${selectedRatio !== 'Custom' ? 'hidden':''}`}\n />\n
\n
\n\n {/* Width, Lock, and Height row */}\n
\n
\n \n {\n setFocusedField(null);\n handleWidthBlur(e);\n }}\n onFocus={(e) => {\n setFocusedField('width');\n if (calculationMode === 'height') {\n e.target.select();\n }\n }}\n onKeyPress={handleWidthKeyPress}\n onWheel={handleWidthWheel}\n onClick={(e) => {\n e.target.select();\n setFocusedField('width');\n }}\n placeholder={getWidthPlaceholder()}\n className={commonStyles.getInputStyle('width', calculationMode)}\n disabled={calculationMode === 'width'}\n onTouchStart={(e) => handleTouchStart(e, 'width')}\n onTouchMove={(e) => handleTouchMove(e, 'width')}\n />\n
\n\n
\n {\n if (calculationMode === null) {\n setIsWidthLocked(true);\n setIsHeightLocked(false);\n setCalculationMode('width');\n } else if (calculationMode === 'width') {\n setIsWidthLocked(false);\n setIsHeightLocked(false);\n setCalculationMode('ratio');\n } else if (calculationMode === 'ratio') {\n setIsWidthLocked(false);\n setIsHeightLocked(true);\n setCalculationMode('height');\n } else {\n setIsWidthLocked(false);\n setIsHeightLocked(false);\n setCalculationMode(null);\n }\n }}\n className={`${commonStyles.lockButtonStyle(calculationMode)} relative`}\n >\n {calculationMode ? (\n \n ) : (\n \n )}\n {calculationMode === 'width' && (\n \n )}\n {calculationMode === 'ratio' && (\n \n )}\n {calculationMode === 'height' && (\n \n )}\n \n
\n\n
\n \n {\n setFocusedField(null);\n handleHeightBlur(e);\n }}\n onFocus={(e) => {\n setFocusedField('height');\n if (calculationMode === 'width') {\n e.target.select();\n }\n }}\n onKeyPress={handleHeightKeyPress}\n onWheel={handleHeightWheel}\n onClick={(e) => {\n e.target.select();\n setFocusedField('height');\n }}\n placeholder={getHeightPlaceholder()}\n className={commonStyles.getInputStyle('height', calculationMode)}\n disabled={calculationMode === 'height'}\n onTouchStart={(e) => handleTouchStart(e, 'height')}\n onTouchMove={(e) => handleTouchMove(e, 'height')}\n />\n
\n
\n\n \n
\n );\n }\n\n export default AspectRatioCalculator;","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { SlDocs, SlNote, SlRefresh, SlLike, SlPaperPlane } from \"react-icons/sl\";\nimport { FaShareSquare, FaLock, FaUnlockAlt, FaAngleLeft, FaAngleRight, FaAngleUp } from 'react-icons/fa';\nimport { useCalculator } from '../context/CalculatorContext';\nimport { colors, spacing, commonStyles, layout } from '../styles/globalStyles';\nimport CalculatorButtons from './CalculatorButtons';\nimport { handleShareOnDevice } from '../utils/shareUtils';\n\n// Timecode class for handling timecode operations\nclass Timecode {\n constructor(hours = 0, minutes = 0, seconds = 0, frames = 0, frameRate = 24) {\n this.hours = Math.floor(hours);\n this.minutes = Math.floor(minutes);\n this.seconds = Math.floor(seconds);\n this.frames = Math.floor(frames);\n this.frameRate = frameRate;\n }\n\n // Parse a timecode string into a Timecode object\n static parse(timecodeString, frameRate = 24) {\n const parts = timecodeString.split(/[:.]/).map(Number);\n while (parts.length < 4) parts.unshift(0);\n const [hours, minutes, seconds, frames] = parts;\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n \n // Convert Timecode object to string\n toString() {\n return `${this.hours.toString().padStart(2, '0')}:${this.minutes.toString().padStart(2, '0')}:${this.seconds.toString().padStart(2, '0')}:${this.frames.toString().padStart(2, '0')}`;\n }\n\n // Calculate total frames\n totalFrames() {\n return this.hours * 3600 * this.frameRate + \n this.minutes * 60 * this.frameRate + \n this.seconds * this.frameRate + \n this.frames;\n }\n\n // Create a Timecode object from total frames\n static fromFrames(totalFrames, frameRate = 24) {\n const hours = Math.floor(totalFrames / (3600 * frameRate));\n totalFrames %= 3600 * frameRate;\n const minutes = Math.floor(totalFrames / (60 * frameRate));\n totalFrames %= 60 * frameRate;\n const seconds = Math.floor(totalFrames / frameRate);\n const frames = Math.floor(totalFrames % frameRate);\n\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n}\n// Add this helper function near the top of the file\nconst formatBitrate = (bitrateInBytes) => {\n if (bitrateInBytes >= 1024 * 1024 * 1024) {\n return `${(bitrateInBytes / (1024 * 1024 * 1024)).toFixed(2)} GB/s`;\n } else if (bitrateInBytes >= 1024 * 1024) {\n return `${(bitrateInBytes / (1024 * 1024)).toFixed(2)} MB/s`;\n } else if (bitrateInBytes >= 1024) {\n return `${(bitrateInBytes / 1024).toFixed(2)} KB/s`;\n } else {\n return `${bitrateInBytes.toFixed(2)} B/s`;\n }\n};\n\nconst BitrateCalculator = ({ addLog }) => {\n const { bitrateCalcState, setBitrateCalcState } = useCalculator();\n\n // Initialize state from context or defaults\n const [calcData, setCalcData] = useState(bitrateCalcState.calcData || {\n duration: \"01:00:00:00\",\n bitrate: \"100 MB/s\",\n framerate: \"24\",\n fileSize: \"43.902\"\n });\n \n const [durationInput, setDurationInput] = useState(bitrateCalcState.durationInput || \"01:00:00:00\");\n const [fileSizeInput, setFileSizeInput] = useState(bitrateCalcState.fileSizeInput || \"43.902 GB\");\n const [fileSizeUnit, setFileSizeUnit] = useState(bitrateCalcState.fileSizeUnit || \"GB\");\n const [isDurationLocked, setIsDurationLocked] = useState(bitrateCalcState.isDurationLocked || false);\n const [isFileSizeLocked, setIsFileSizeLocked] = useState(bitrateCalcState.isFileSizeLocked || false);\n const [calculationMode, setCalculationMode] = useState(bitrateCalcState.calculationMode || null);\n const [bitrateInput, setBitrateInput] = useState('100.0 MB/s');\n const [isBitrateLocked, setIsBitrateLocked] = useState(false);\n const [lockedField, setLockedField] = useState(null);\n const [copyDurationText, setCopyDuration] = useState();\n const [logButtonText, setLogButtonText] = useState();\n const [shareButtonText, setShareButtonText] = useState();\n const [resetButtonText, setResetButtonText] = useState();\n const [isMobile, setIsMobile] = useState(false);\n\n // Add these refs near the top of the component with other declarations\n const durationRef = useRef(null);\n const fileSizeRef = useRef(null);\n const logRef = useRef(null);\n\n // Add this useEffect to detect mobile devices\n useEffect(() => {\n const checkMobile = () => {\n setIsMobile(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));\n };\n\n checkMobile();\n window.addEventListener('resize', checkMobile);\n\n return () => window.removeEventListener('resize', checkMobile);\n }, []);\n\n const currentSpacing = isMobile ? spacing.mobile : spacing.desktop;\n\n // Remove local style definitions and use global ones\n const commonInputClass = commonStyles.commonInputClass;\n const textCenterImportant = commonStyles.textCenterImportant;\n const getInputStyle = (field) => commonStyles.getInputStyle(field, calculationMode);\n\n // Merge both handleFileSizeWheel implementations into one\n const handleFileSizeWheel = (e) => {\n e.preventDefault();\n if (lockedField === 'fileSize') return;\n\n const delta = Math.sign(-e.deltaY);\n const changeFactor = 1.1;\n\n let parsed = parseFileSize(fileSizeInput);\n if (!parsed) return;\n \n let { size, unit } = parsed;\n let newSize = size;\n\n if (delta > 0) {\n newSize *= changeFactor;\n } else {\n newSize /= changeFactor;\n }\n\n const unitsOrder = ['KB', 'MB', 'GB', 'TB', 'PB'];\n let currentIndex = unitsOrder.indexOf(unit);\n\n while (newSize >= 1000 && currentIndex < unitsOrder.length - 1) {\n newSize /= 1000;\n currentIndex++;\n unit = unitsOrder[currentIndex];\n }\n\n while (newSize < 1 && currentIndex > 0) {\n newSize *= 1000;\n currentIndex--;\n unit = unitsOrder[currentIndex];\n }\n\n newSize = unit === 'KB' ? Math.round(newSize) : parseFloat(newSize.toFixed(3));\n const newFileSizeInput = `${newSize} ${unit}`;\n setFileSizeInput(newFileSizeInput);\n \n if (!lockedField) {\n // If nothing is locked, update bitrate based on duration and new file size\n const newBitrate = calculateBitrate(durationInput, newFileSizeInput);\n if (newBitrate) {\n setBitrateInput(newBitrate);\n }\n } else if (lockedField === 'duration') {\n // If duration is locked, update bitrate\n const newBitrate = calculateBitrate(durationInput, newFileSizeInput);\n if (newBitrate) {\n setBitrateInput(newBitrate);\n }\n } else if (lockedField === 'bitrate') {\n // If bitrate is locked, update duration\n const newDuration = calculateDuration(bitrateInput, newFileSizeInput);\n if (newDuration) {\n setDurationInput(newDuration);\n }\n }\n };\n\n // Add the calculation helper functions\n const calculateBitrate = (duration, fileSize) => {\n const parsedSize = parseFileSize(fileSize);\n if (!parsedSize) return null;\n\n const [hours, minutes, seconds, frames] = duration.split(':').map(Number);\n const totalSeconds = hours * 3600 + minutes * 60 + seconds + frames/24;\n \n // Convert file size to bytes\n const multiplier = {\n 'B': 1,\n 'KB': 1024,\n 'MB': 1024 * 1024,\n 'GB': 1024 * 1024 * 1024,\n 'TB': 1024 * 1024 * 1024 * 1024,\n 'PB': 1024 * 1024 * 1024 * 1024 * 1024\n };\n\n const bytes = parsedSize.size * multiplier[parsedSize.unit];\n const bytesPerSecond = bytes / totalSeconds;\n\n // Convert to appropriate unit\n if (bytesPerSecond >= 1024 * 1024 * 1024) {\n return `${(bytesPerSecond / (1024 * 1024 * 1024)).toFixed(2)} GB/s`;\n } else if (bytesPerSecond >= 1024 * 1024) {\n return `${(bytesPerSecond / (1024 * 1024)).toFixed(2)} MB/s`;\n } else {\n return `${(bytesPerSecond / 1024).toFixed(2)} KB/s`;\n }\n };\n\n const calculateDuration = (bitrate, fileSize) => {\n const parsedBitrate = parseBitrate(bitrate);\n const parsedSize = parseFileSize(fileSize);\n if (!parsedBitrate || !parsedSize) return null;\n\n // Convert everything to bytes\n const multiplier = {\n 'B/s': 1,\n 'KB/s': 1024,\n 'MB/s': 1024 * 1024,\n 'GB/s': 1024 * 1024 * 1024\n };\n\n const bytesPerSecond = parsedBitrate.rate * multiplier[parsedBitrate.unit];\n const totalBytes = parsedSize.size * multiplier[parsedSize.unit.replace('/s', '')];\n\n const totalSeconds = totalBytes / bytesPerSecond;\n const hours = Math.floor(totalSeconds / 3600);\n const minutes = Math.floor((totalSeconds % 3600) / 60);\n const seconds = Math.floor(totalSeconds % 60);\n const frames = Math.round((totalSeconds % 1) * 24);\n\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n };\n\n // Add these handler functions before the return statement\n const handleDurationFocus = () => {\n if (!lockedField) {\n setDurationInput('');\n }\n };\n\n const handleDurationBlur = () => {\n if (durationInput.trim() === '') {\n setDurationInput('');\n return;\n }\n\n try {\n const parsedDuration = parseDuration(durationInput, 24);\n setDurationInput(parsedDuration);\n \n if (!lockedField) {\n // If nothing is locked, update file size based on duration and bitrate\n const newFileSize = calculateFileSize(parsedDuration, bitrateInput);\n if (newFileSize) {\n setFileSizeInput(newFileSize);\n }\n } else if (lockedField === 'fileSize') {\n // If file size is locked, update bitrate\n const newBitrate = calculateBitrate(parsedDuration, fileSizeInput);\n if (newBitrate) {\n setBitrateInput(newBitrate);\n }\n }\n } catch (error) {\n console.error(\"Invalid duration format\");\n setDurationInput('');\n }\n };\n\n const handleDurationKeyPress = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.target.blur();\n }\n };\n\n const handleDurationWheel = (e) => {\n e.preventDefault();\n if (lockedField === 'duration') return;\n\n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const width = rect.width;\n \n const [hours, minutes, seconds, frames] = durationInput.split(':').map(Number);\n const delta = Math.sign(-e.deltaY);\n \n let newHours = hours;\n let newMinutes = minutes;\n let newSeconds = seconds;\n let newFrames = frames;\n \n if (x < width * 0.25) {\n // Hours\n newHours = Math.max(0, hours + delta);\n } else if (x < width * 0.5) {\n // Minutes\n newMinutes += delta;\n if (newMinutes < 0) {\n if (newHours > 0) {\n newHours--;\n newMinutes = 59;\n } else {\n newMinutes = 0;\n }\n } else if (newMinutes >= 60) {\n newHours++;\n newMinutes = 0;\n }\n } else if (x < width * 0.75) {\n // Seconds\n newSeconds += delta;\n if (newSeconds < 0) {\n if (newMinutes > 0) {\n newMinutes--;\n newSeconds = 59;\n } else if (newHours > 0) {\n newHours--;\n newMinutes = 59;\n newSeconds = 59;\n } else {\n newSeconds = 0;\n }\n } else if (newSeconds >= 60) {\n newMinutes++;\n newSeconds = 0;\n if (newMinutes >= 60) {\n newHours++;\n newMinutes = 0;\n }\n }\n } else {\n // Frames\n newFrames += delta;\n if (newFrames < 0) {\n if (newSeconds > 0) {\n newSeconds--;\n newFrames = 23;\n } else if (newMinutes > 0) {\n newMinutes--;\n newSeconds = 59;\n newFrames = 23;\n } else if (newHours > 0) {\n newHours--;\n newMinutes = 59;\n newSeconds = 59;\n newFrames = 23;\n } else {\n newFrames = 0;\n }\n } else if (newFrames >= 24) {\n newSeconds++;\n newFrames = 0;\n if (newSeconds >= 60) {\n newMinutes++;\n newSeconds = 0;\n if (newMinutes >= 60) {\n newHours++;\n newMinutes = 0;\n }\n }\n }\n }\n\n const newDuration = `${newHours.toString().padStart(2, '0')}:${newMinutes.toString().padStart(2, '0')}:${newSeconds.toString().padStart(2, '0')}:${newFrames.toString().padStart(2, '0')}`;\n setDurationInput(newDuration);\n\n if (!lockedField) {\n // If nothing is locked, update file size\n const newFileSize = calculateFileSize(newDuration, bitrateInput);\n if (newFileSize) {\n setFileSizeInput(newFileSize);\n }\n } else if (lockedField === 'fileSize') {\n // If file size is locked, update bitrate\n const newBitrate = calculateBitrate(newDuration, fileSizeInput);\n if (newBitrate) {\n setBitrateInput(newBitrate);\n }\n }\n };\n\n const handleInputChange = (e, field) => {\n const { value } = e.target;\n \n switch (field) {\n case 'duration':\n if (!lockedField || lockedField !== 'duration') {\n setDurationInput(value);\n if (!lockedField) {\n // If nothing is locked, update file size\n const newFileSize = calculateFileSize(value, bitrateInput);\n if (newFileSize) {\n setFileSizeInput(newFileSize);\n }\n } else if (lockedField === 'bitrate') {\n // If bitrate is locked, update file size\n const newFileSize = calculateFileSize(value, bitrateInput);\n if (newFileSize) {\n setFileSizeInput(newFileSize);\n }\n } else if (lockedField === 'fileSize') {\n // If file size is locked, update bitrate\n const newBitrate = calculateBitrate(value, fileSizeInput);\n if (newBitrate) {\n setBitrateInput(newBitrate);\n }\n }\n }\n break;\n\n case 'bitrate':\n if (!lockedField || lockedField !== 'bitrate') {\n setBitrateInput(value);\n if (!lockedField) {\n // If nothing is locked, update file size\n const newFileSize = calculateFileSize(durationInput, value);\n if (newFileSize) {\n setFileSizeInput(newFileSize);\n }\n } else if (lockedField === 'duration') {\n // If duration is locked, update file size\n const newFileSize = calculateFileSize(durationInput, value);\n if (newFileSize) {\n setFileSizeInput(newFileSize);\n }\n } else if (lockedField === 'fileSize') {\n // If file size is locked, update duration\n const newDuration = calculateDuration(value, fileSizeInput);\n if (newDuration) {\n setDurationInput(newDuration);\n }\n }\n }\n break;\n\n case 'fileSize':\n if (!lockedField || lockedField !== 'fileSize') {\n setFileSizeInput(value);\n if (!lockedField) {\n // If nothing is locked, update bitrate\n const newBitrate = calculateBitrate(durationInput, value);\n if (newBitrate) {\n setBitrateInput(newBitrate);\n }\n } else if (lockedField === 'duration') {\n // If duration is locked, update bitrate\n const newBitrate = calculateBitrate(durationInput, value);\n if (newBitrate) {\n setBitrateInput(newBitrate);\n }\n } else if (lockedField === 'bitrate') {\n // If bitrate is locked, update duration\n const newDuration = calculateDuration(bitrateInput, value);\n if (newDuration) {\n setDurationInput(newDuration);\n }\n }\n }\n break;\n\n default:\n break;\n }\n };\n\n const handleBitrateWheel = (e) => {\n e.preventDefault();\n if (lockedField === 'bitrate') return;\n\n const delta = Math.sign(-e.deltaY);\n const changeFactor = 1.1;\n\n let parsed = parseBitrate(bitrateInput);\n if (!parsed) return;\n \n let { rate, unit } = parsed;\n let newRate = rate;\n\n if (delta > 0) {\n newRate *= changeFactor;\n } else {\n newRate /= changeFactor;\n }\n\n const unitsOrder = ['KB/s', 'MB/s', 'GB/s'];\n let currentIndex = unitsOrder.indexOf(unit);\n\n while (newRate >= 1000 && currentIndex < unitsOrder.length - 1) {\n newRate /= 1000;\n currentIndex++;\n unit = unitsOrder[currentIndex];\n }\n\n while (newRate < 1 && currentIndex > 0) {\n newRate *= 1000;\n currentIndex--;\n unit = unitsOrder[currentIndex];\n }\n\n newRate = unit === 'KB/s' ? Math.round(newRate) : parseFloat(newRate.toFixed(2));\n const newBitrate = `${newRate} ${unit}`;\n setBitrateInput(newBitrate);\n \n if (!lockedField) {\n // If nothing is locked, update file size\n const newFileSize = calculateFileSize(durationInput, newBitrate);\n if (newFileSize) {\n setFileSizeInput(newFileSize);\n }\n } else if (lockedField === 'fileSize') {\n // If file size is locked, update duration\n const newDuration = calculateDuration(newBitrate, fileSizeInput);\n if (newDuration) {\n setDurationInput(newDuration);\n }\n }\n };\n\n const parseBitrate = (input) => {\n const cleanInput = input.replace(/\\s+/g, '').toLowerCase();\n const match = cleanInput.match(/^([\\d.]+)(g|gb|m|mb|k|kb|b)(\\/s)?$/i);\n \n if (match) {\n const rate = parseFloat(match[1]);\n let unit = match[2].toLowerCase();\n switch (unit) {\n case 'g': unit = 'gb'; break;\n case 'm': unit = 'mb'; break;\n case 'k': unit = 'kb'; break;\n }\n return { rate, unit: `${unit.toUpperCase()}/s` };\n }\n return null;\n };\n\n const parseFileSize = (input) => {\n // Remove any whitespace and convert to lowercase\n const cleanInput = input.replace(/\\s+/g, '').toLowerCase();\n \n // Define unit patterns\n const unitPatterns = {\n 'pb': ['p', 'ps', 'pb', 'pbs', 'pe', 'pet', 'pets', 'peta', 'petas', 'petabyte', 'petabytes'],\n 'tb': ['t', 'ts', 'tb', 'tbs', 'te', 'ter', 'ters', 'tera', 'teras', 'terabyte', 'terabytes'],\n 'gb': ['g', 'gs', 'gb', 'gbs', 'gi', 'gig', 'gigs', 'giga', 'gigas', 'gigabyte', 'gigabytes'],\n 'mb': ['m', 'ms', 'mb', 'mbs', 'me', 'meg', 'megs', 'mega', 'megas', 'megabyte', 'megabytes'],\n 'kb': ['k', 'ks', 'kb', 'kbs', 'ki', 'kil', 'kils', 'kilo', 'kilos', 'kilobyte', 'kilobytes'],\n 'b': ['b', 'bs', 'bi', 'by', 'byte', 'bytes']\n };\n \n // Create a regex pattern that matches any of the unit patterns\n const unitRegexPattern = Object.values(unitPatterns).flat().join('|');\n \n // Match the input against the pattern\n const match = cleanInput.match(new RegExp(`^(\\\\d+(?:\\\\.\\\\d+)?)(${unitRegexPattern})$`));\n \n if (match) {\n const size = parseFloat(match[1]);\n const unitLower = match[2];\n \n // Determine the standardized unit\n for (const [standardUnit, patterns] of Object.entries(unitPatterns)) {\n if (patterns.includes(unitLower)) {\n return { size, unit: standardUnit.toUpperCase() };\n }\n }\n }\n \n return null;\n };\n\n const handleTouchStart = (e, field) => {\n if (lockedField === field) return;\n \n e.preventDefault();\n const touch = e.touches[0];\n const startY = touch.clientY;\n \n const handleTouchMove = (e) => {\n e.preventDefault();\n const touch = e.touches[0];\n const currentY = touch.clientY;\n const diffY = startY - currentY;\n const sensitivity = 0.5;\n \n if (Math.abs(diffY) > 5) {\n const delta = Math.sign(diffY) * sensitivity;\n \n switch (field) {\n case 'duration':\n handleDurationWheel({ ...e, deltaY: -delta });\n break;\n case 'bitrate':\n handleBitrateWheel({ ...e, deltaY: -delta });\n break;\n case 'fileSize':\n handleFileSizeWheel({ ...e, deltaY: -delta });\n break;\n default:\n break;\n }\n }\n };\n \n const handleTouchEnd = () => {\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n };\n \n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n };\n\n const handleShare = async () => {\n // Create URL with all parameters\n const shareUrl = new URL(window.location.href);\n shareUrl.searchParams.set('duration', durationInput);\n shareUrl.searchParams.set('bitrate', bitrateInput);\n shareUrl.searchParams.set('fileSize', fileSizeInput);\n \n // If we have a calculation mode, include it\n if (calculationMode) {\n shareUrl.searchParams.set('mode', calculationMode);\n }\n\n const shareButtonText = `${durationInput} @ ${bitrateInput} = ${fileSizeInput}`;\n \n try {\n const result = await handleShareOnDevice(\n 'TBD Post DataCalc',\n `Check out this calculation: ${shareButtonText}`,\n shareUrl.toString()\n );\n\n if (result?.success) {\n setShareButtonText();\n setTimeout(() => setShareButtonText(), 500);\n }\n return result;\n } catch (error) {\n console.error('Share failed:', error);\n return { success: false, method: 'none' };\n }\n };\n\n const handleCopyDuration = (text, result) => {\n if (result) {\n setCopyDuration();\n setTimeout(() => setCopyDuration(), 500);\n }\n };\n\n const handleLogClick = () => {\n if (addLog) {\n addLog(`${durationInput} @ ${bitrateInput} = ${fileSizeInput}`);\n }\n setLogButtonText();\n setTimeout(() => setLogButtonText(), 500);\n };\n\n const handleReset = () => {\n setDurationInput(\"01:00:00:00\");\n setBitrateInput(\"100.0 MB/s\");\n setFileSizeInput(\"43.902 GB\");\n setLockedField(null);\n setResetButtonText();\n setTimeout(() => setResetButtonText(), 500);\n };\n\n const handleFileSizeFocus = () => {\n if (!lockedField) {\n setFileSizeInput('');\n }\n };\n\n const handleFileSizeBlur = () => {\n if (fileSizeInput.trim() === '') {\n setFileSizeInput('');\n return;\n }\n\n const parsed = parseFileSize(fileSizeInput);\n if (parsed) {\n const formattedSize = `${parsed.size} ${parsed.unit}`;\n setFileSizeInput(formattedSize);\n \n if (!lockedField) {\n // If nothing is locked, update bitrate based on duration\n const newBitrate = calculateBitrate(durationInput, formattedSize);\n if (newBitrate) {\n setBitrateInput(newBitrate);\n }\n } else if (lockedField === 'duration') {\n // If duration is locked, update bitrate\n const newBitrate = calculateBitrate(durationInput, formattedSize);\n if (newBitrate) {\n setBitrateInput(newBitrate);\n }\n } else if (lockedField === 'bitrate') {\n // If bitrate is locked, update duration\n const newDuration = calculateDuration(bitrateInput, formattedSize);\n if (newDuration) {\n setDurationInput(newDuration);\n }\n }\n }\n };\n\n const handleFileSizeKeyPress = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.target.blur();\n }\n };\n\n // Add this function near the other calculation functions\n const calculateFileSize = (duration, bitrate) => {\n const parsedBitrate = parseBitrate(bitrate);\n if (!parsedBitrate) return null;\n\n const [hours, minutes, seconds, frames] = duration.split(':').map(Number);\n const totalSeconds = hours * 3600 + minutes * 60 + seconds + frames/24;\n \n // Convert bitrate to bytes per second\n const multiplier = {\n 'B/s': 1,\n 'KB/s': 1024,\n 'MB/s': 1024 * 1024,\n 'GB/s': 1024 * 1024 * 1024\n };\n\n const bytesPerSecond = parsedBitrate.rate * multiplier[parsedBitrate.unit];\n const totalBytes = bytesPerSecond * totalSeconds;\n\n // Convert to appropriate unit\n if (totalBytes >= 1024 * 1024 * 1024 * 1024) {\n return `${(totalBytes / (1024 * 1024 * 1024 * 1024)).toFixed(3)} TB`;\n } else if (totalBytes >= 1024 * 1024 * 1024) {\n return `${(totalBytes / (1024 * 1024 * 1024)).toFixed(3)} GB`;\n } else if (totalBytes >= 1024 * 1024) {\n return `${(totalBytes / (1024 * 1024)).toFixed(3)} MB`;\n } else {\n return `${(totalBytes / 1024).toFixed(3)} KB`;\n }\n };\n\n // Function to parse duration input\n const parseDuration = (input, framerate) => {\n if (!input || input.trim() === '') {\n return new Timecode(0, 0, 0, 0, framerate).toString();\n }\n\n input = input.trim().toLowerCase();\n\n // Helper function to handle rollovers\n const handleRollover = (hours, minutes, seconds, frames) => {\n // Handle frame rollover\n if (frames >= framerate) {\n seconds += Math.floor(frames / framerate);\n frames %= framerate;\n }\n // Handle seconds rollover\n if (seconds >= 60) {\n minutes += Math.floor(seconds / 60);\n seconds %= 60;\n }\n // Handle minutes rollover\n if (minutes >= 60) {\n hours += Math.floor(minutes / 60);\n minutes %= 60;\n }\n return [hours, minutes, seconds, frames];\n };\n\n // Handle special period patterns first\n if (input.includes('.')) {\n const parts = input.split('.');\n switch (parts.length) {\n case 2: // 1.12 -> 00:01:00:12\n let [minutes, frames1] = [parseInt(parts[0]) || 0, parseInt(parts[1]) || 0];\n return new Timecode(...handleRollover(0, minutes, 0, frames1), framerate).toString();\n case 3: // 1..12 -> 01:00:00:12 or 11..1 -> 11:00:00:01\n let [hours, , frames2] = [parseInt(parts[0]) || 0, 0, parseInt(parts[2]) || 0];\n return new Timecode(...handleRollover(hours, 0, 0, frames2), framerate).toString();\n default:\n // For any other number of periods, treat each as 00\n return new Timecode(...Array(input.match(/\\./g).length).fill(0), framerate).toString();\n }\n }\n\n // Handle colon patterns (e.g., 1:12 -> 00:00:01:12)\n if (input.includes(':')) {\n const parts = input.split(':').map(num => parseInt(num) || 0);\n while (parts.length < 4) parts.unshift(0);\n return new Timecode(...handleRollover(...parts), framerate).toString();\n }\n\n // Handle continuous digit input with patterns\n if (/^\\d+$/.test(input)) {\n let parts = [];\n \n switch (input.length) {\n case 8: // HH:MM:SS:FF\n parts = [\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n parseInt(input.slice(4, 6)) || 0,\n parseInt(input.slice(6, 8)) || 0\n ];\n break;\n case 7: // 0H:MM:SS:FF\n parts = [\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n parseInt(input.slice(3, 5)) || 0,\n parseInt(input.slice(5, 7)) || 0\n ];\n break;\n case 6: // HH:MM:SS:00\n parts = [\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n parseInt(input.slice(4, 6)) || 0,\n 0\n ];\n break;\n case 5: // 0H:MM:SS:00\n parts = [\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n parseInt(input.slice(3, 5)) || 0,\n 0\n ];\n break;\n case 4: // 00:MM:SS:00\n parts = [\n 0,\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n 0\n ];\n break;\n case 3: // 00:0M:SS:00\n parts = [\n 0,\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n 0\n ];\n break;\n case 2: // 00:00:SS:00\n parts = [0, 0, parseInt(input.slice(0, 2)) || 0, 0];\n break;\n case 1: // 00:00:0S:00\n parts = [0, 0, parseInt('0' + input) || 0, 0];\n break;\n default:\n // For any other length, treat as seconds\n const seconds = parseInt(input, 10);\n return new Timecode(...handleRollover(0, 0, seconds, 0), framerate).toString();\n }\n\n return new Timecode(...handleRollover(...parts), framerate).toString();\n }\n\n // Handle text-based duration inputs (e.g., \"1h 30m\")\n const patterns = {\n week: /(\\d+)\\s*(?:w|wk|wks|week|weeks)/i,\n day: /(\\d+)\\s*(?:d|dy|dys|day|days)/i,\n hour: /(\\d+)\\s*(?:h|hr|hrs|hour|hours)/i,\n minute: /(\\d+)\\s*(?:m|min|mins|minute|minutes)/i,\n second: /(\\d+)\\s*(?:s|sec|secs|second|seconds)/i,\n frame: /(\\d+)\\s*(?:f|fr|frm|frms|frame|frames)/i\n };\n\n let totalFrames = 0;\n\n Object.entries(patterns).forEach(([unit, pattern]) => {\n const match = input.match(pattern);\n if (match) {\n const value = parseInt(match[1]);\n switch (unit) {\n case 'week': totalFrames += value * 7 * 24 * 3600 * framerate; break;\n case 'day': totalFrames += value * 24 * 3600 * framerate; break;\n case 'hour': totalFrames += value * 3600 * framerate; break;\n case 'minute': totalFrames += value * 60 * framerate; break;\n case 'second': totalFrames += value * framerate; break;\n case 'frame': totalFrames += value; break;\n }\n }\n });\n\n if (totalFrames === 0) {\n // If no valid time units were found, try parsing as a single number (assume seconds)\n const totalSeconds = parseFloat(input);\n if (!isNaN(totalSeconds)) {\n totalFrames = Math.round(totalSeconds * framerate);\n } else {\n throw new Error(\"Invalid duration format\");\n }\n }\n\n return Timecode.fromFrames(totalFrames, framerate).toString();\n };\n\n \n // Add these handlers near the other input handlers\n const handleBitrateFocus = () => {\n if (!lockedField) {\n setBitrateInput('');\n }\n };\n\n const handleBitrateBlur = () => {\n if (bitrateInput.trim() === '') {\n setBitrateInput('');\n return;\n }\n\n const parsed = parseBitrate(bitrateInput);\n if (parsed) {\n const formattedBitrate = `${parsed.rate} ${parsed.unit}`;\n setBitrateInput(formattedBitrate);\n \n if (!lockedField) {\n // If nothing is locked, update file size based on duration\n const newFileSize = calculateFileSize(durationInput, formattedBitrate);\n if (newFileSize) {\n setFileSizeInput(newFileSize);\n }\n } else if (lockedField === 'duration') {\n // If duration is locked, update file size\n const newFileSize = calculateFileSize(durationInput, formattedBitrate);\n if (newFileSize) {\n setFileSizeInput(newFileSize);\n }\n } else if (lockedField === 'fileSize') {\n // If file size is locked, update duration\n const newDuration = calculateDuration(formattedBitrate, fileSizeInput);\n if (newDuration) {\n setDurationInput(newDuration);\n }\n }\n }\n };\n\n const handleBitrateKeyPress = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.target.blur();\n }\n };\n\n // Add this useEffect to handle URL parameters on load\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n \n // Load parameters if they exist\n if (params.has('duration')) {\n setDurationInput(params.get('duration'));\n }\n if (params.has('bitrate')) {\n setBitrateInput(params.get('bitrate'));\n }\n if (params.has('fileSize')) {\n setFileSizeInput(params.get('fileSize'));\n }\n if (params.has('mode')) {\n setCalculationMode(params.get('mode'));\n }\n }, []);\n\n return (\n
\n {/* Duration row */}\n
\n \n handleInputChange(e, 'duration')}\n onFocus={handleDurationFocus}\n onBlur={handleDurationBlur}\n onKeyPress={handleDurationKeyPress}\n onWheel={handleDurationWheel}\n onTouchStart={(e) => handleTouchStart(e, 'duration')}\n placeholder={isDurationLocked ? '' : \"ex: 01:00:00:00 or 16 hrs\"}\n className={getInputStyle('duration')}\n disabled={lockedField === 'duration'}\n />\n
\n\n {/* Bitrate, Lock, and File Size row */}\n
\n
\n \n handleInputChange(e, 'bitrate')}\n onFocus={handleBitrateFocus}\n onBlur={handleBitrateBlur}\n onKeyPress={handleBitrateKeyPress}\n onWheel={handleBitrateWheel}\n onTouchStart={(e) => handleTouchStart(e, 'bitrate')}\n placeholder={isBitrateLocked ? '' : \"ex: 100 MB/s\"}\n className={getInputStyle('bitrate')}\n disabled={lockedField === 'bitrate'}\n />\n
\n\n
\n {\n if (calculationMode === null) {\n setIsBitrateLocked(true);\n setIsDurationLocked(false);\n setIsFileSizeLocked(false);\n setCalculationMode('bitrate');\n } else if (calculationMode === 'bitrate') {\n setIsBitrateLocked(false);\n setIsDurationLocked(true);\n setIsFileSizeLocked(false);\n setCalculationMode('duration');\n } else if (calculationMode === 'duration') {\n setIsBitrateLocked(false);\n setIsDurationLocked(false);\n setIsFileSizeLocked(true);\n setCalculationMode('fileSize');\n } else {\n setIsBitrateLocked(false);\n setIsDurationLocked(false);\n setIsFileSizeLocked(false);\n setCalculationMode(null);\n }\n }}\n className={`${commonStyles.lockButtonStyle(calculationMode)} relative`}\n >\n {calculationMode ? (\n \n ) : (\n \n )}\n {calculationMode === 'bitrate' && (\n \n )}\n {calculationMode === 'duration' && (\n \n )}\n {calculationMode === 'fileSize' && (\n \n )}\n \n
\n\n
\n \n handleInputChange(e, 'fileSize')}\n onFocus={handleFileSizeFocus}\n onBlur={handleFileSizeBlur}\n onKeyPress={handleFileSizeKeyPress}\n onWheel={handleFileSizeWheel}\n onTouchStart={(e) => handleTouchStart(e, 'fileSize')}\n placeholder={isFileSizeLocked ? '' : \"ex: 512 GB\"}\n className={getInputStyle('fileSize')}\n disabled={lockedField === 'fileSize'}\n />\n
\n
\n\n {/* Action buttons */}\n \n
\n );\n};\n\nexport default BitrateCalculator;","export const codecs = [\n { name: \"Apple ProRes Proxy\", datarate: 0.0000007299729335 },\n { name: \"Apple ProRes LT\", datarate: 0.000001648325979 },\n { name: \"Apple ProRes 422\", datarate: 0.000002368879907 },\n { name: \"Apple ProRes 422 HQ\", datarate: 0.000003550965109 },\n { name: \"Apple ProRes 4444\", datarate: 0.000005326447663 },\n { name: \"Apple ProRes 4444 XQ\", datarate: 0.000007992026247 },\n { name: \"Apple ProRes RAW\", datarate: 0.000003375771605 },\n { name: \"Apple ProRes RAW HQ\", datarate: 0.00000479841821 },\n { name: \"ARRIRAW HDE\", datarate: 0.000007658894857 }, // ARRIRAW HDE @ 60%\n { name: \"ARRIRAW HDE\", datarate: 0.000006382412381 }, // ARRIRAW HDE - ALEXA 35 @ 50%\n { name: \"ARRIRAW\", datarate: 0.00001276482476 },\n { name: \"AVCHD\", datarate: 0.0000005631917926 },\n { name: \"AVC Intra 422\", datarate: 0.000001671873493 },\n { name: \"AVC Intra 444\", datarate: 0.000003348456489 },\n { name: \"Avid DNxHD 36\", datarate: 0.0000007233796296 },\n { name: \"Avid DNxHD 80\", datarate: 0.000001607510288 },\n { name: \"Avid DNxHD 115\", datarate: 0.000002330889918 },\n { name: \"Avid DNxHD 175\", datarate: 0.000003536522634 },\n { name: \"Avid DNxHD 175x\", datarate: 0.000003536522634 },\n { name: \"Avid DNxHD 350x\", datarate: 0.000007073045267 },\n { name: \"Avid DNxHR LB 1/16\", datarate: 0.000000045211226853 }, \n { name: \"Avid DNxHR LB 1/4\", datarate: 0.00000018084490743 }, \n { name: \"Avid DNxHR LB\", datarate: 0.00000072337962963 }, \n { name: \"Avid DNxHR SQ\", datarate: 0.0000023208429783 }, \n { name: \"Avid DNxHR HQ\", datarate: 0.0000035114052853 }, \n { name: \"Avid DNxHR HQX\", datarate: 0.0000035114052853 }, \n { name: \"Avid DNxHR 444\", datarate: 0.0000070278340413 }, \n { name: \"Avid DNxHR LB\", datarate: 0.00000008618845826 }, \n { name: \"Avid DNxHR SQ\", datarate: 0.000000276919393 }, \n { name: \"Avid DNxHR HQ\", datarate: 0.0000004186727558 }, \n { name: \"Avid DNxHR HQX\", datarate: 0.0000004186727558 }, \n { name: \"Avid DNxHR 444\", datarate: 0.0000008377980765 }, \n { name: \"Blackmagic RAW 18:1\", datarate: 0.00000006844477398 },\n { name: \"Blackmagic RAW 12:1\", datarate: 0.0000001271565755 },\n { name: \"Blackmagic RAW 8:1\", datarate: 0.0000001899499461 },\n { name: \"Blackmagic RAW 6:1\", datarate: 0.0000002581088697 },\n { name: \"Blackmagic RAW 5:1\", datarate: 0.0000003045478475 },\n { name: \"Blackmagic RAW 4:1\", datarate: 0.0000003833675859 },\n { name: \"Blackmagic RAW 3:1\", datarate: 0.0000005070564678 },\n { name: \"Blackmagic RAW Q5\", datarate: 0.0000002291958028 },\n { name: \"Blackmagic RAW Q3\", datarate: 0.0000003908887322 },\n { name: \"Blackmagic RAW Q1\", datarate: 0.0000005463023245 },\n { name: \"Blackmagic RAW Q0\", datarate: 0.0000006828779056 },\n // { name: \"Blackmagic RAW 5:1 (URSA)\", datarate: 0.0000003055944037 }, //Ursa Cine 12K & URSA Mini Pro 12K\n // { name: \"Blackmagic RAW 8:1 (URSA)\", datarate: 0.0000001904732242 }, //Ursa Cine 12K & URSA Mini Pro 12K\n // { name: \"Blackmagic RAW 12:1 (URSA)\", datarate: 0.0000001276798536 }, //Ursa Cine 12K & URSA Mini Pro 12K\n // { name: \"Blackmagic RAW 18:1 (URSA)\", datarate: 0.00000008372449417 }, //Ursa Cine 12K & URSA Mini Pro 12K\n // { name: \"Blackmagic RAW Q0 (URSA)\", datarate: 0.0000006090956951 }, //Ursa Cine 12K & URSA Mini Pro 12K\n // { name: \"Blackmagic RAW Q1 (URSA)\", datarate: 0.0000005065331897 }, //Ursa Cine 12K & URSA Mini Pro 12K\n // { name: \"Blackmagic RAW Q3 (URSA)\", datarate: 0.0000003809464485 }, //Ursa Cine 12K & URSA Mini Pro 12K\n // { name: \"Blackmagic RAW Q5 (URSA)\", datarate: 0.0000002176836848 }, //Ursa Cine 12K & URSA Mini Pro 12K\n // { name: \"Blackmagic RAW 3:1 (PYXIS)\", datarate: 0.0000005057642913 }, //Pyxis 6K\n // { name: \"Blackmagic RAW 5:1 (PYXIS)\", datarate: 0.0000003048255053 }, //Pyxis 6K\n // { name: \"Blackmagic RAW 12:1 (PYXIS)\", datarate: 0.0000001284914686 }, //Pyxis 6K\n // { name: \"Blackmagic RAW Q0 (PYXIS)\", datarate: 0.000000758646437 }, //Pyxis 6K\n // { name: \"Blackmagic RAW Q1 (PYXIS)\", datarate: 0.0000006069171496 }, //Pyxis 6K\n // { name: \"Blackmagic RAW Q3 (PYXIS)\", datarate: 0.0000004346839044 }, //Pyxis 6K\n // { name: \"Blackmagic RAW Q5 (PYXIS)\", datarate: 0.0000002542490762 }, //Pyxis 6K\n { name: \"Canon Cinema RAW Light HQ\", datarate: 0.00000379005148 },\n { name: \"Canon Cinema RAW Light ST\", datarate: 0.000001863813552 },\n { name: \"Canon Cinema RAW Light LT\", datarate: 0.000001212816474 },\n { name: \"Canon Cinema RAW Light\", datarate: 0.000001546263181 },\n { name: \"Canon XF-AVC\", datarate: 0.000003814697266 },\n { name: \"Cineform Low\", datarate: 0.00000128600823 },\n { name: \"Cineform Medium\", datarate: 0.000001547228652 },\n { name: \"Cineform High\", datarate: 0.000001788355195 },\n { name: \"Cineform Film Scan\", datarate: 0.000002089763374 },\n { name: \"Cineform Film Scan 2\", datarate: 0.000003415959362 },\n { name: \"CinemaDNG\", datarate: 0.00003433641975 },\n { name: \"Cineon\", datarate: 0.000003815639166 },\n { name: \"DCP 2K\", datarate: 0.000004827358222 },\n { name: \"DCP 4K\", datarate: 0.000001206839556 },\n { name: \"DPX RGB 10-bit\", datarate: 0.000003519948704 },\n { name: \"DPX RGB 16-bit\", datarate: 0.000005531347963 },\n { name: \"EXR RGB 16-bit PIZ\", datarate: 0.00003390842014 },\n { name: \"EXR RGB 16-bit\", datarate: 0.00006103515625 },\n { name: \"EXR RGB 32-bit\", datarate: 0.0001220703125 },\n { name: \"EXR RGBA 16-bit PIZ\", datarate: 0.0000254313151 },\n { name: \"EXR RGBA 16-bit\", datarate: 0.00004577636719 },\n { name: \"EXR RGBA 32-bit\", datarate: 0.00009155273438 },\n { name: \"H.264 5 Mbps\", datarate: 0.000000025117348 },\n { name: \"H.264 10 Mbps\", datarate: 0.000000050234696 },\n { name: \"H.264 18 Mbps\", datarate: 0.0000000904224537 },\n { name: \"H.264 25 Mbps\", datarate: 0.0000001255867413 },\n { name: \"H.264 50 Mbps\", datarate: 0.0000002511734825 },\n { name: \"H.264 80 Mbps\", datarate: 0.000000401877572 },\n { name: \"HEVC/H.265 5 Mbps\", datarate: 0.000000025117348 },\n { name: \"HEVC/H.265 10 Mbps\", datarate: 0.000000050234696 },\n { name: \"HEVC/H.265 25 Mbps\", datarate: 0.0000001255867413 },\n { name: \"HEVC/H.265 50 Mbps\", datarate: 0.0000002511734825 },\n { name: \"HEVC/H.265 80 Mbps\", datarate: 0.000000401877572 },\n { name: \"HEVC/H.265 120 Mbps\", datarate: 0.000000602816358 },\n { name: \"HEVC/H.265 130 Mbps\", datarate: 0.0000006530510545 },\n { name: \"HEVC/H.265 150 Mbps\", datarate: 0.0000007535204475 },\n { name: \"HEVC/H.265 160 Mbps\", datarate: 0.000000803755144 },\n { name: \"IMF HD\", datarate: 0.00000803755144 },\n { name: \"IMF 4K\", datarate: 0.00000401877572 },\n { name: \"iPhone H.264 Low\", datarate: 0.00000007233796296 },\n { name: \"iPhone H.264 Medium\", datarate: 0.0000001085069444 },\n { name: \"iPhone H.264 High\", datarate: 0.0000001446759259 },\n { name: \"iPhone H.264 Max\", datarate: 0.0000002170138889 },\n { name: \"iPhone HEVC (H.265) Low\", datarate: 0.00000007233796296 },\n { name: \"iPhone HEVC (H.265) Medium\", datarate: 0.0000001085069444 },\n { name: \"iPhone HEVC (H.265) High\", datarate: 0.0000001446759259 },\n { name: \"iPhone HEVC (H.265) Max\", datarate: 0.0000002170138889 },\n { name: \"MPEG 50Mbps\", datarate: 0.000004822530864 },\n { name: \"MPEG-2 HD 422\", datarate: 0.000001327523511 },\n { name: \"MP4 (MPEG-4 AVC) 40 Mbps\", datarate: 0.000000200938786 },\n { name: \"MP4 (MPEG-4 AVC) 100 Mbps\", datarate: 0.000000502346965 },\n { name: \"MP4 (MPEG-4 AVC) 130 Mbps\", datarate: 0.0000006530510545 },\n { name: \"MP4 (MPEG-4 AVC) 150 Mbps\", datarate: 0.0000007535204475 },\n { name: \"MP4 (MPEG-4 AVC) 160 Mbps\", datarate: 0.000000803755144 },\n { name: \"MP4 (MPEG-4 AVC) 200 Mbps\", datarate: 0.00000100469393 },\n { name: \"MP4 (H.264) 130 Mbps\", datarate: 0.0000006530510545 },\n { name: \"MP4 (H.265) 130 Mbps\", datarate: 0.0000006530510545 },\n { name: \"Nikon N-RAW\", datarate: 0.00000151057281 },\n { name: \"Nikon N-RAW HQ\", datarate: 0.000002510376396 },\n { name: \"Panasonic V-RAW\", datarate: 0.00001199599525 },\n { name: \"Phantom Cine RAW\", datarate: 0.000001446759259 },\n { name: \"REDCODE ELQ\", datarate: 0.00000091990455 },\n { name: \"REDCODE LQ\", datarate: 0.000001724821031 },\n { name: \"REDCODE MQ\", datarate: 0.000002759713649 },\n { name: \"REDCODE HQ\", datarate: 0.000004599522748 },\n { name: \"REDCODE 22:1\", datarate: 0.00000006970705273 },\n { name: \"REDCODE 21:1\", datarate: 0.00000007302183871 },\n { name: \"REDCODE 20:1\", datarate: 0.00000007665844857 },\n { name: \"REDCODE 19:1\", datarate: 0.00000008071342948 },\n { name: \"REDCODE 18:1\", datarate: 0.00000008518678143 },\n { name: \"REDCODE 17:1\", datarate: 0.00000009020723398 },\n { name: \"REDCODE 16:1\", datarate: 0.00000009583915191 },\n { name: \"REDCODE 15:1\", datarate: 0.0000001022112648 },\n { name: \"REDCODE 14:1\", datarate: 0.0000001095166669 },\n { name: \"REDCODE 13:1\", datarate: 0.0000001179484526 },\n { name: \"REDCODE 12:1\", datarate: 0.0000001277962633 },\n { name: \"REDCODE 11:1\", datarate: 0.0000001393819231 },\n { name: \"REDCODE 10:1\", datarate: 0.0000001533490795 },\n { name: \"REDCODE 9:1\", datarate: 0.0000001703735629 },\n { name: \"REDCODE 8:1\", datarate: 0.0000001916783038 },\n { name: \"REDCODE 7:1\", datarate: 0.0000002190655161 },\n { name: \"REDCODE 6:1\", datarate: 0.0000002555603443 },\n { name: \"REDCODE 5:1\", datarate: 0.0000003066659767 },\n { name: \"REDCODE 4:1\", datarate: 0.0000003833566076 },\n { name: \"REDCODE 3:1\", datarate: 0.0000005111206886 },\n { name: \"REDCODE 2:1\", datarate: 0.0000007666810329 },\n { name: \"Sony RAW\", datarate: 0.00001808449074 },\n { name: \"Sony RAW SQ\", datarate: 0.000004441061138 },\n { name: \"Sony X-OCN LT\", datarate: 0.000001831996588 },\n { name: \"Sony X-OCN ST\", datarate: 0.000003108271846 },\n { name: \"Sony X-OCN XT\", datarate: 0.000004544670199 },\n { name: \"Sony XAVC 4K Intra Class 300\", datarate: 0.000001412850839 },\n { name: \"Sony XAVC 4K Intra Class 480\", datarate: 0.000002260561343 },\n { name: \"Sony XAVC C300\", datarate: 0.000001131223357 },\n { name: \"Sony XAVC C480\", datarate: 0.000001809957372 },\n { name: \"Sony XAVC H-I HQ\", datarate: 0.000001243308738 },\n { name: \"Sony XAVC H-I SQ\", datarate: 0.0000008288724923 },\n { name: \"Sony XAVC H-L\", datarate: 0.0000006530510545 },\n { name: \"Sony XAVC HD Profile Class 100\", datarate: 0.00000200938786 },\n { name: \"Sony XAVC HD Profile Class 200\", datarate: 0.00000401877572 },\n { name: \"Sony XAVC HE-4K\", datarate: 0.000000803755144 },\n { name: \"Sony XAVC HE-8K\", datarate: 0.000000502346965 },\n { name: \"Sony XAVC HE-8K Extension\", datarate: 0.0000006530510545 },\n { name: \"Sony XAVC HS 4K\", datarate: 0.000000502346965 },\n { name: \"Sony XAVC HS 8K\", datarate: 0.0000008387010199 },\n { name: \"Sony XAVC HS HEVC\", datarate: 0.000000502346965 },\n { name: \"Sony XAVC-I\", datarate: 0.000001205632716 },\n { name: \"Sony XAVC-L\", datarate: 0.000000502346965 },\n { name: \"Sony XAVC S\", datarate: 0.000000502346965 },\n { name: \"Sony XAVC S 4K\", datarate: 0.000000502346965 },\n { name: \"Sony XAVC S-I\", datarate: 0.000001205632716 },\n { name: \"Sony XDCAM HD\", datarate: 0.00000100469393 },\n { name: \"TIFF RGB 10-bit\", datarate: 0.000003576278687 },\n { name: \"TIFF RGBA 10-bit\", datarate: 0.000004768371582 },\n { name: \"TIFF RGB 16 bit\", datarate: 0.000005722045898 },\n { name: \"TIFF RGBA 16 bit\", datarate: 0.000007629394531 },\n { name: \"Z CAM 4K H.264/H.265 Low\", datarate: 0.0000002411265432 },\n { name: \"Z CAM 4K H.264/H.265 Medium\", datarate: 0.0000005224408436 },\n { name: \"Z CAM 4K H.264/H.265 High\", datarate: 0.000000803755144 },\n { name: \"Z CAM 5-6K H.264/H.265 Low\", datarate: 0.00000016373463786 },\n { name: \"Z CAM 5-6K H.264/H.265 Medium\", datarate: 0.00000026197542042 },\n { name: \"Z CAM 5-6K H.264/H.265 High\", datarate: 0.00000040933659445 },\n { name: \"Z CAM 8K H.264/H.265 Low\", datarate: 0.000000200938786 },\n { name: \"Z CAM 8K H.264/H.265 Medium\", datarate: 0.000000401877572 },\n { name: \"Z CAM 8K H.264/H.265 High\", datarate: 0.000000502346965 },\n { name: \"ZRAW\", datarate: 0.000003904224683 },\n];\n\nexport const durationCodecs = [\n { name: \"Apple ProRes Proxy\", datarate: 0.0000007299729335 },\n { name: \"Apple ProRes LT\", datarate: 0.000001648325979 },\n { name: \"Apple ProRes 422\", datarate: 0.000002368879907 },\n { name: \"Apple ProRes 422 HQ\", datarate: 0.000003550965109 },\n { name: \"Apple ProRes 4444\", datarate: 0.000005326447663 },\n { name: \"Apple ProRes 4444 XQ\", datarate: 0.000007992026247 },\n { name: \"Apple ProRes RAW\", datarate: 0.000003375771605 },\n { name: \"Apple ProRes RAW HQ\", datarate: 0.00000479841821 },\n { name: \"ARRIRAW HDE\", datarate: 0.000007658894857 }, // ARRIRAW HDE @ 60%\n // { name: \"ARRIRAW HDE\", datarate: 0.000006382412381 }, // ARRIRAW HDE - ALEXA 35 @ 50%\n { name: \"ARRIRAW\", datarate: 0.00001276482476 },\n { name: \"AVCHD\", datarate: 0.0000005631917926 },\n { name: \"AVC Intra 422\", datarate: 0.000001671873493 },\n { name: \"AVC Intra 444\", datarate: 0.000003348456489 },\n { name: \"Avid DNxHD 36\", datarate: 0.0000007233796296 },\n { name: \"Avid DNxHD 80\", datarate: 0.000001607510288 },\n { name: \"Avid DNxHD 115\", datarate: 0.000002330889918 },\n { name: \"Avid DNxHD 175\", datarate: 0.000003536522634 },\n { name: \"Avid DNxHD 175x\", datarate: 0.000003536522634 },\n { name: \"Avid DNxHD 350x\", datarate: 0.000007073045267 },\n { name: \"Avid DNxHR LB 1/16\", datarate: 0.000000045211226853 }, \n { name: \"Avid DNxHR LB 1/4\", datarate: 0.00000018084490743 }, \n { name: \"Avid DNxHR LB\", datarate: 0.00000072337962963 }, \n { name: \"Avid DNxHR SQ\", datarate: 0.0000023208429783 }, \n { name: \"Avid DNxHR HQ\", datarate: 0.0000035114052853 }, \n { name: \"Avid DNxHR HQX\", datarate: 0.0000035114052853 }, \n { name: \"Avid DNxHR 444\", datarate: 0.0000070278340413 }, \n { name: \"Avid DNxHR LB\", datarate: 0.00000008618845826 }, \n { name: \"Avid DNxHR SQ\", datarate: 0.000000276919393 }, \n { name: \"Avid DNxHR HQ\", datarate: 0.0000004186727558 }, \n { name: \"Avid DNxHR HQX\", datarate: 0.0000004186727558 }, \n { name: \"Avid DNxHR 444\", datarate: 0.0000008377980765 }, \n { name: \"Blackmagic RAW 18:1\", datarate: 0.00000006844477398 },\n { name: \"Blackmagic RAW 12:1\", datarate: 0.0000001271565755 },\n { name: \"Blackmagic RAW 8:1\", datarate: 0.0000001899499461 },\n { name: \"Blackmagic RAW 6:1\", datarate: 0.0000002581088697 },\n { name: \"Blackmagic RAW 5:1\", datarate: 0.0000003045478475 },\n { name: \"Blackmagic RAW 4:1\", datarate: 0.0000003833675859 },\n { name: \"Blackmagic RAW 3:1\", datarate: 0.0000005070564678 },\n { name: \"Blackmagic RAW Q5\", datarate: 0.0000002291958028 },\n { name: \"Blackmagic RAW Q3\", datarate: 0.0000003908887322 },\n { name: \"Blackmagic RAW Q1\", datarate: 0.0000005463023245 },\n { name: \"Blackmagic RAW Q0\", datarate: 0.0000006828779056 },\n { name: \"Canon Cinema RAW Light HQ\", datarate: 0.00000379005148 },\n { name: \"Canon Cinema RAW Light ST\", datarate: 0.000001863813552 },\n { name: \"Canon Cinema RAW Light LT\", datarate: 0.000001212816474 },\n { name: \"Canon Cinema RAW Light\", datarate: 0.000001546263181 },\n { name: \"Canon XF-AVC\", datarate: 0.000003814697266 },\n { name: \"Cineform Low\", datarate: 0.00000128600823 },\n { name: \"Cineform Medium\", datarate: 0.000001547228652 },\n { name: \"Cineform High\", datarate: 0.000001788355195 },\n { name: \"Cineform Film Scan\", datarate: 0.000002089763374 },\n { name: \"Cineform Film Scan 2\", datarate: 0.000003415959362 },\n { name: \"CinemaDNG\", datarate: 0.00003433641975 },\n { name: \"Cineon\", datarate: 0.000003815639166 },\n { name: \"DCP 2K\", datarate: 0.000004827358222 },\n { name: \"DCP 4K\", datarate: 0.000001206839556 },\n { name: \"DPX RGB 10-bit\", datarate: 0.000003519948704 },\n { name: \"DPX RGB 16-bit\", datarate: 0.000005531347963 },\n { name: \"EXR RGB 16-bit PIZ\", datarate: 0.00003390842014 },\n { name: \"EXR RGB 16-bit\", datarate: 0.00006103515625 },\n { name: \"EXR RGB 32-bit\", datarate: 0.0001220703125 },\n { name: \"EXR RGBA 16-bit PIZ\", datarate: 0.0000254313151 },\n { name: \"EXR RGBA 16-bit\", datarate: 0.00004577636719 },\n { name: \"EXR RGBA 32-bit\", datarate: 0.00009155273438 },\n { name: \"H.264 5 Mbps\", datarate: 0.000000025117348 },\n { name: \"H.264 10 Mbps\", datarate: 0.000000050234696 },\n { name: \"H.264 18 Mbps\", datarate: 0.0000000904224537 },\n { name: \"H.264 25 Mbps\", datarate: 0.0000001255867413 },\n { name: \"H.264 50 Mbps\", datarate: 0.0000002511734825 },\n { name: \"H.264 80 Mbps\", datarate: 0.000000401877572 },\n { name: \"HEVC/H.265 5 Mbps\", datarate: 0.000000025117348 },\n { name: \"HEVC/H.265 10 Mbps\", datarate: 0.000000050234696 },\n { name: \"HEVC/H.265 25 Mbps\", datarate: 0.0000001255867413 },\n { name: \"HEVC/H.265 50 Mbps\", datarate: 0.0000002511734825 },\n { name: \"HEVC/H.265 80 Mbps\", datarate: 0.000000401877572 },\n { name: \"HEVC/H.265 120 Mbps\", datarate: 0.000000602816358 },\n { name: \"HEVC/H.265 130 Mbps\", datarate: 0.0000006530510545 },\n { name: \"HEVC/H.265 150 Mbps\", datarate: 0.0000007535204475 },\n { name: \"HEVC/H.265 160 Mbps\", datarate: 0.000000803755144 },\n { name: \"IMF HD\", datarate: 0.00000803755144 },\n { name: \"IMF 4K\", datarate: 0.00000401877572 },\n { name: \"iPhone H.264 Low\", datarate: 0.00000007233796296 },\n { name: \"iPhone H.264 Medium\", datarate: 0.0000001085069444 },\n { name: \"iPhone H.264 High\", datarate: 0.0000001446759259 },\n { name: \"iPhone H.264 Max\", datarate: 0.0000002170138889 },\n { name: \"iPhone HEVC (H.265) Low\", datarate: 0.00000007233796296 },\n { name: \"iPhone HEVC (H.265) Medium\", datarate: 0.0000001085069444 },\n { name: \"iPhone HEVC (H.265) High\", datarate: 0.0000001446759259 },\n { name: \"iPhone HEVC (H.265) Max\", datarate: 0.0000002170138889 },\n { name: \"MPEG 50Mbps\", datarate: 0.000004822530864 },\n { name: \"MPEG-2 HD 422\", datarate: 0.000001327523511 },\n { name: \"MP4 (MPEG-4 AVC) 40 Mbps\", datarate: 0.000000200938786 },\n { name: \"MP4 (MPEG-4 AVC) 100 Mbps\", datarate: 0.000000502346965 },\n { name: \"MP4 (MPEG-4 AVC) 130 Mbps\", datarate: 0.0000006530510545 },\n { name: \"MP4 (MPEG-4 AVC) 150 Mbps\", datarate: 0.0000007535204475 },\n { name: \"MP4 (MPEG-4 AVC) 160 Mbps\", datarate: 0.000000803755144 },\n { name: \"MP4 (MPEG-4 AVC) 200 Mbps\", datarate: 0.00000100469393 },\n { name: \"MP4 (H.264) 130 Mbps\", datarate: 0.0000006530510545 },\n { name: \"MP4 (H.265) 130 Mbps\", datarate: 0.0000006530510545 },\n { name: \"Nikon N-RAW\", datarate: 0.00000151057281 },\n { name: \"Nikon N-RAW HQ\", datarate: 0.000002510376396 },\n { name: \"Panasonic V-RAW\", datarate: 0.00001199599525 },\n { name: \"Phantom Cine RAW\", datarate: 0.000001446759259 },\n { name: \"REDCODE ELQ\", datarate: 0.00000091990455 },\n { name: \"REDCODE LQ\", datarate: 0.000001724821031 },\n { name: \"REDCODE MQ\", datarate: 0.000002759713649 },\n { name: \"REDCODE HQ\", datarate: 0.000004599522748 },\n { name: \"REDCODE 22:1\", datarate: 0.00000006970705273 },\n { name: \"REDCODE 21:1\", datarate: 0.00000007302183871 },\n { name: \"REDCODE 20:1\", datarate: 0.00000007665844857 },\n { name: \"REDCODE 19:1\", datarate: 0.00000008071342948 },\n { name: \"REDCODE 18:1\", datarate: 0.00000008518678143 },\n { name: \"REDCODE 17:1\", datarate: 0.00000009020723398 },\n { name: \"REDCODE 16:1\", datarate: 0.00000009583915191 },\n { name: \"REDCODE 15:1\", datarate: 0.0000001022112648 },\n { name: \"REDCODE 14:1\", datarate: 0.0000001095166669 },\n { name: \"REDCODE 13:1\", datarate: 0.0000001179484526 },\n { name: \"REDCODE 12:1\", datarate: 0.0000001277962633 },\n { name: \"REDCODE 11:1\", datarate: 0.0000001393819231 },\n { name: \"REDCODE 10:1\", datarate: 0.0000001533490795 },\n { name: \"REDCODE 9:1\", datarate: 0.0000001703735629 },\n { name: \"REDCODE 8:1\", datarate: 0.0000001916783038 },\n { name: \"REDCODE 7:1\", datarate: 0.0000002190655161 },\n { name: \"REDCODE 6:1\", datarate: 0.0000002555603443 },\n { name: \"REDCODE 5:1\", datarate: 0.0000003066659767 },\n { name: \"REDCODE 4:1\", datarate: 0.0000003833566076 },\n { name: \"REDCODE 3:1\", datarate: 0.0000005111206886 },\n { name: \"REDCODE 2:1\", datarate: 0.0000007666810329 },\n { name: \"Sony RAW\", datarate: 0.00001808449074 },\n { name: \"Sony RAW SQ\", datarate: 0.000004441061138 },\n { name: \"Sony X-OCN LT\", datarate: 0.000001831996588 },\n { name: \"Sony X-OCN ST\", datarate: 0.000003108271846 },\n { name: \"Sony X-OCN XT\", datarate: 0.000004544670199 },\n { name: \"Sony XAVC 4K Intra Class 300\", datarate: 0.000001412850839 },\n { name: \"Sony XAVC 4K Intra Class 480\", datarate: 0.000002260561343 },\n { name: \"Sony XAVC C300\", datarate: 0.000001131223357 },\n { name: \"Sony XAVC C480\", datarate: 0.000001809957372 },\n { name: \"Sony XAVC H-I HQ\", datarate: 0.000001243308738 },\n { name: \"Sony XAVC H-I SQ\", datarate: 0.0000008288724923 },\n { name: \"Sony XAVC H-L\", datarate: 0.0000006530510545 },\n { name: \"Sony XAVC HD Profile Class 100\", datarate: 0.00000200938786 },\n { name: \"Sony XAVC HD Profile Class 200\", datarate: 0.00000401877572 },\n { name: \"Sony XAVC HE-4K\", datarate: 0.000000803755144 },\n { name: \"Sony XAVC HE-8K\", datarate: 0.000000502346965 },\n { name: \"Sony XAVC HE-8K Extension\", datarate: 0.0000006530510545 },\n { name: \"Sony XAVC HS 4K\", datarate: 0.000000502346965 },\n { name: \"Sony XAVC HS HEVC\", datarate: 0.000000502346965 },\n { name: \"Sony XAVC-I\", datarate: 0.000001205632716 },\n { name: \"Sony XAVC-L\", datarate: 0.000000502346965 },\n { name: \"Sony XAVC S\", datarate: 0.000000502346965 },\n { name: \"Sony XAVC S 4K\", datarate: 0.000000502346965 },\n { name: \"Sony XAVC S-I\", datarate: 0.000001205632716 },\n { name: \"Sony XDCAM HD\", datarate: 0.00000100469393 },\n { name: \"TIFF RGB 10-bit\", datarate: 0.000003576278687 },\n { name: \"TIFF RGBA 10-bit\", datarate: 0.000004768371582 },\n { name: \"TIFF RGB 16 bit\", datarate: 0.000005722045898 },\n { name: \"TIFF RGBA 16 bit\", datarate: 0.000007629394531 },\n { name: \"Z CAM 4K H.264/H.265 Low\", datarate: 0.0000002411265432 },\n { name: \"Z CAM 4K H.264/H.265 Medium\", datarate: 0.0000005224408436 },\n { name: \"Z CAM 4K H.264/H.265 High\", datarate: 0.000000803755144 },\n { name: \"Z CAM 5-6K H.264/H.265 Low\", datarate: 0.00000016373463786 },\n { name: \"Z CAM 5-6K H.264/H.265 Medium\", datarate: 0.00000026197542042 },\n { name: \"Z CAM 5-6K H.264/H.265 High\", datarate: 0.00000040933659445 },\n { name: \"Z CAM 8K H.264/H.265 Low\", datarate: 0.000000200938786 },\n { name: \"Z CAM 8K H.264/H.265 Medium\", datarate: 0.000000401877572 },\n { name: \"Z CAM 8K H.264/H.265 High\", datarate: 0.000000502346965 },\n { name: \"ZRAW\", datarate: 0.000003904224683 },\n];\n\nexport const dailiesCodecs = [\n { name: \"Apple ProRes Proxy\", datarate: 0.0000007299729335 },\n { name: \"Apple ProRes LT\", datarate: 0.000001648325979 },\n { name: \"Apple ProRes 422\", datarate: 0.000002368879907 },\n { name: \"Apple ProRes 422 HQ\", datarate: 0.000003550965109 },\n { name: \"Avid DNxHD 36\", datarate: 0.0000007233796296 },\n { name: \"Avid DNxHD 80\", datarate: 0.000001607510288 },\n { name: \"Avid DNxHD 115\", datarate: 0.000002330889918 },\n { name: \"Avid DNxHR LB 1/16\", datarate: 0.000000045211226853 }, \n { name: \"Avid DNxHR LB 1/4\", datarate: 0.00000018084490743 }, \n { name: \"Avid DNxHR LB\", datarate: 0.00000072337962963 }, \n { name: \"Avid DNxHR SQ\", datarate: 0.0000023208429783 }, \n { name: \"Avid DNxHR HQ\", datarate: 0.0000035114052853 }, \n { name: \"Avid DNxHR HQX\", datarate: 0.0000035114052853 }, \n { name: \"H.264 5 Mbps\", datarate: 0.000000025117348 },\n { name: \"H.264 10 Mbps\", datarate: 0.000000050234696 },\n { name: \"H.264 18 Mbps\", datarate: 0.0000000904224537 },\n { name: \"H.264 25 Mbps\", datarate: 0.0000001255867413 },\n { name: \"H.264 50 Mbps\", datarate: 0.0000002511734825 },\n { name: \"HEVC/H.265 5 Mbps\", datarate: 0.000000025117348 },\n { name: \"HEVC/H.265 10 Mbps\", datarate: 0.000000050234696 },\n { name: \"HEVC/H.265 25 Mbps\", datarate: 0.0000001255867413 },\n { name: \"HEVC/H.265 50 Mbps\", datarate: 0.0000002511734825 }\n];\n\nexport const deliverableCodecs = [\n { name: \"Apple ProRes 422\" },\n { name: \"Apple ProRes 422 HQ\" },\n { name: \"Apple ProRes 4444\" },\n { name: \"Apple ProRes 4444 XQ\" },\n { name: \"Avid DNxHD 175\" },\n { name: \"Avid DNxHD 175x\" },\n { name: \"Avid DNxHD 350x\" },\n { name: \"Avid DNxHR HQ\" },\n { name: \"Avid DNxHR HQX\" },\n { name: \"Avid DNxHR 444\" },\n { name: \"Cineform Low\" },\n { name: \"Cineform Medium\" },\n { name: \"Cineform High\" },\n { name: \"DPX RGB 10-bit\" },\n { name: \"DPX RGB 16-bit\" },\n { name: \"EXR RGB 16-bit\" },\n { name: \"EXR RGB 32-bit\" },\n { name: \"EXR RGBA 16-bit\" },\n { name: \"EXR RGBA 32-bit\" },\n { name: \"H264\" },\n { name: \"H265\" },\n { name: \"MP4\" },\n { name: \"TIFF RGB 10-bit\" },\n { name: \"TIFF RGBA 10-bit\" },\n { name: \"TIFF RGB 16-bit\" },\n { name: \"TIFF RGBA 16-bit\" }\n];\n\nexport const codecAbbreviations = {\n \"Apple ProRes Proxy\": \"PRProxy\",\n \"Apple ProRes LT\": \"PRLT\",\n \"Apple ProRes 422\": \"PR422\",\n \"Apple ProRes 422 HQ\": \"PRHQ\",\n \"Apple ProRes 4444\": \"PR4444\",\n \"Apple ProRes 4444 XQ\": \"PR4444XQ\",\n \"AVC Intra 422\": \"AVI-422\",\n \"AVC Intra 444\": \"AVCI-444\",\n \"Avid DNxHD 36\": \"DNxHD36\",\n \"Avid DNxHD 80\": \"DNxHD80\",\n \"Avid DNxHD 115\": \"DNxHD115\",\n \"Avid DNxHD 175\": \"DNxHD175\",\n \"Avid DNxHD 175x\": \"DNxHD175x\",\n \"Avid DNxHD 350x\": \"DNxHD350x\",\n \"Avid DNxHR LB\": \"DNxHRLB\",\n \"Avid DNxHR SQ\": \"DNxHRSQ\",\n \"Avid DNxHR HQ\": \"DNxHRHQ\",\n \"Avid DNxHR HQX\": \"DNxHRHQX\",\n \"Avid DNxHR 444\": \"DNxHR444\",\n \"Cineform Low\": \"Cineform-L\",\n \"Cineform Medium\": \"Cineform-M\",\n \"Cineform High\": \"Cineform-H\",\n \"DPX RGB 10-bit\": \"DPX-10b\",\n \"DPX RGB 16-bit\": \"DPX-16b\",\n \"EXR RGB 16-bit\": \"EXR-16b\",\n \"EXR RGB 32-bit\": \"EXR-32b\",\n \"EXR RGBA 16-bit\": \"EXR+-16b\",\n \"EXR RGBA 32-bit\": \"EXR+-32b\",\n \"H.264\": \"H264\",\n \"H.264 5 Mbps\": \"H264-5Mbps\",\n \"H.264 10 Mbps\": \"H264-10Mbps\",\n \"H.264 25 Mbps\": \"H264-25Mbps\",\n \"H.264 50 Mbps\": \"H264-50Mbps\",\n \"H.264 80 Mbps\": \"H264-80Mbps\",\n \"H.265\": \"H265\",\n \"H.265/HEVC 5 Mbps\": \"H265-5Mbps\",\n \"H.265/HEVC 10 Mbps\": \"H265-10Mbps\",\n \"H.265/HEVC 25 Mbps\": \"H265-25Mbps\",\n \"H.265/HEVC 50 Mbps\": \"H265-50Mbps\",\n \"TIFF RGB 10-bit\": \"TIFF-10b\",\n \"TIFF RGBA 10-bit\": \"TIFF+-10b\",\n \"TIFF RGB 16-bit\": \"TIFF-16b\",\n \"TIFF RGBA 16-bit\": \"TIFF+-16b\",\n};","export const brands = [\n \"Apple\", \n \"ARRI\", \n \"Blackmagic Design\", \n \"Canon\", \n \"DJI\", \n \"Freefly\", \n // \"FujiFilm\", \n // \"Google\", \n \"GoPro\", \n // \"Kinefinity\", \n // \"Leica\", \n // \"Nikon\", \n // \"Panasonic\", \n // \"Panavision\", \n \"Phantom\", \n \"RED\", \n // \"Samsung\", \n // \"Sigma\",\n \"Sony\", \n \"Z CAM\"\n];\n\n\n","export const resolutions = {\n \"SD (720 x 486)\": { dimensions: [720, 486] },\n \"720p (1280 x 720)\": { dimensions: [1280, 720] },\n \"1080p (1920 x 1080)\": { dimensions: [1920, 1080] },\n \"2K Flat (1998 x 1080)\": { dimensions: [1998, 1080] },\n \"2K Scope (2048 x 858)\": { dimensions: [2048, 858] },\n \"2K DCI (2048 x 1080)\": { dimensions: [2048, 1080] },\n \"2K (2048 x 1152)\": { dimensions: [2048, 1152] },\n \"UHD (3840 x 2160)\": { dimensions: [3840, 2160] },\n \"4K Flat (3996 x 2160)\": { dimensions: [3996, 2160] },\n \"4K Scope (4096 x 1716)\": { dimensions: [4096, 1716] },\n \"4K DCI (4096 x 2160)\": { dimensions: [4096, 2160] },\n \"5K (5120 x 2880)\": { dimensions: [5120, 2880] },\n \"6K (6016 x 3384)\": { dimensions: [6016, 3384] },\n \"8K (8192 x 4320)\": { dimensions: [8192, 4320] },\n \"12K (12288 x 6480)\": { dimensions: [12288, 6480] },\n \"16K (16384 x 8294)\": { dimensions: [15360, 8294] },\n};\n\nexport const cameraResolutions = {\n \"720p (1280 x 720)\": { dimensions: [1280, 720] },\n \"1080p (1920 x 1080)\": { dimensions: [1920, 1080] },\n \"HD (1920 x 1080)\": { dimensions: [1920, 1080] },\n \"2K (2048 x 864)\": { dimensions: [2048, 864] },\n \"2K DCI (2048 x 1080)\": { dimensions: [2048, 1080] },\n \"2K 16:9 (2048 x 1152)\": { dimensions: [2048, 1152] },\n \"2.2K 16:9 (2208 x 1242)\": { dimensions: [2208, 1242] },\n \"2.5K (2560 x 1440)\": { dimensions: [2560, 1440] },\n \"2.5K (2560 x 1600)\": { dimensions: [2560, 1600] },\n \"HD Ana. (1920 x 2160)\": { dimensions: [1920, 2160] },\n \"2.6K 6:5 (2624 x 2192)\": { dimensions: [2624, 2192] },\n \"2.6K 16:9 (2688 x 1512)\": { dimensions: [2688, 1512] },\n \"2.7K (2704 x 1520)\": { dimensions: [2704, 1520] },\n \"2.8K 17:9 (2880 x 1512)\": { dimensions: [2880, 1512] },\n \"2.8K 16:9 (2880 x 1620)\": { dimensions: [2880, 1620] },\n \"2.8K 4:3 (2880 x 2160)\": { dimensions: [2880, 2160] },\n \"2.8K LF 1:1 (2880 x 2880)\": { dimensions: [2880, 2880] },\n \"3.2K 16:9 (3200 x 1800)\": { dimensions: [3200, 1800] },\n \"3.2K S35 16:9 (3200 x 1800)\": { dimensions: [3200, 1800] },\n \"3.2K 3:2 (3200 x 2400)\": { dimensions: [3200, 2400] },\n \"3.4K LF 3:2 (3424 x 2202)\": { dimensions: [3424, 2202] },\n \"3.4K Open Gate (3424 x 2202)\": { dimensions: [3424, 2202] },\n \"3.4K 6:5 (3424 x 2856)\": { dimensions: [3424, 2856] },\n \"3.8K 16:9 (3840 x 2160)\": { dimensions: [3840, 2160] },\n \"UHD (3840 x 2160)\": { dimensions: [3840, 2160] },\n \"4K Scope 2.39:1 (4096 x 1716)\": { dimensions: [4096, 1716] },\n \"4K (4096 x 1728)\": { dimensions: [4096, 1728] },\n \"4K 2:1 (4096 x 2048)\": { dimensions: [4096, 2048] },\n \"4K 17:9 (4096 x 2160)\": { dimensions: [4096, 2160] },\n \"4K 16:9 (4096 x 2304)\": { dimensions: [4096, 2304] },\n \"4K 4:3 (4096 x 3072)\": { dimensions: [4096, 3072] },\n \"4K 6:5 (4096 x 3432)\": { dimensions: [4096, 3432] },\n \"4.3K 16:9 (4320 x 2430)\": { dimensions: [4320, 2430] },\n \"4.3K LF 16:9 (4320 x 2430)\": { dimensions: [4320, 2430] },\n \"4.5K LF 2.39:1 (4448 x 1856)\": { dimensions: [4448, 1856] },\n \"4.5K LF 3:2 Open Gate (4448 x 3096)\": { dimensions: [4448, 3096] },\n \"4.5K (4608 x 2160)\": { dimensions: [4608, 2160] },\n \"4.6K 16:9 (4608 x 2592)\": { dimensions: [4608, 2592] },\n \"4.6K 3:2 Open Gate (4608 x 3164)\": { dimensions: [4608, 3164] },\n \"5K (5120 x 2700)\": { dimensions: [5120, 2700] },\n \"5K (5120 x 2880)\": { dimensions: [5120, 2880] },\n \"5.3K (5312 x 2988)\": { dimensions: [5312, 2988] },\n \"5.4K 16:9 (5434 x 3056)\": { dimensions: [5434, 3056] },\n \"5.5K (5472 x 2886)\": { dimensions: [5472, 2886] },\n \"5.7K 16:9 (5674 x 3192)\": { dimensions: [5674, 3192] },\n \"5.7K (5720 x 3016)\": { dimensions: [5720, 3016] },\n \"5.7K (5728 x 3024)\": { dimensions: [5728, 3024] },\n \"5.7K 16:9 (5728 x 3024)\": { dimensions: [5728, 3024] },\n \"5.8K 17:9 (5792 x 3056)\": { dimensions: [5792, 3056] },\n \"5.8K 6:5 (5792 x 4854)\": { dimensions: [5792, 4854] },\n \"5.9K (5952 x 3140)\": { dimensions: [5952, 3140] },\n \"6K (5952 x 3968)\": { dimensions: [5952, 3968] },\n \"6K DCI (6016 x 3200)\": { dimensions: [6016, 3200] },\n \"6K UHD (6016 x 3384)\": { dimensions: [6016, 3384] },\n \"6K 2.39:1 (6048 x 2534)\": { dimensions: [6048, 2534] },\n \"6K (6048 x 3160)\": { dimensions: [6048, 3160] },\n \"6K 3:2 (6048 x 4032)\": { dimensions: [6048, 4032] },\n \"6K 17:9 (6054 x 3192)\": { dimensions: [6054, 3192] },\n \"6K 1.85:1 (6054 x 3272)\": { dimensions: [6054, 3272] },\n \"6K 2.40:1 (6144 x 2560)\": { dimensions: [6144, 2560] },\n \"6K (6144 x 2592)\": { dimensions: [6144, 2592] },\n \"6K (6144 x 3160)\": { dimensions: [6144, 3160] },\n \"6K (6144 x 3240)\": { dimensions: [6144, 3240] },\n \"6K DCI (6144 x 3240)\": { dimensions: [6144, 3240] },\n \"6K 16:9 (6144 x 3456)\": { dimensions: [6144, 3456] },\n \"6.2K (6240 x 4160)\": { dimensions: [6240, 4160] },\n \"7.6K 16:9 (7680 x 4320)\": { dimensions: [7680, 4320] },\n \"8K (7680 x 4320)\": { dimensions: [7680, 4320] },\n \"8K (8192 x 3456)\": { dimensions: [8192, 3456] },\n \"8K DCI (8192 x 4320)\": { dimensions: [8192, 4320] },\n \"8.6K (8640 x 4320)\": { dimensions: [8640, 4320] },\n \"8.2K 17:9 (8640 x 4556)\": { dimensions: [8640, 4556] },\n \"8.6K 16:9 FF (8632 x 4856)\": { dimensions: [8632, 4856] },\n \"8.6K 3:2 (8640 x 5760)\": { dimensions: [8640, 5760] },\n \"12K (12288 x 6480)\": { dimensions: [12288, 6480 ]}\n};","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { SlDocs, SlNote, SlRefresh, SlLike, SlPaperPlane } from \"react-icons/sl\";\nimport { FaShareSquare, FaLock, FaUnlockAlt, FaAngleLeft, FaAngleRight } from 'react-icons/fa';\nimport { getCamerasByBrand, getResolutionsForCamera, getFrameratesForCamera, getCodecsForCameraAndResolution } from '../data/cameraData';\nimport { codecs } from '../data/codecData';\nimport { brands } from '../data/brandData';\nimport { resolutions } from '../data/resolutionData';\nimport { disableScroll, enableScroll } from '../utils/utils';\nimport { useCalculator } from '../context/CalculatorContext';\nimport { useDropdownTouch } from '../hooks/useDropdownTouch';\nimport { colors, spacing, commonStyles, layout } from '../styles/globalStyles';\nimport CalculatorButtons from './CalculatorButtons';\nimport { handleShareOnDevice } from '../utils/shareUtils';\n\n// Timecode class for handling timecode operations\nclass Timecode {\n constructor(hours = 0, minutes = 0, seconds = 0, frames = 0, frameRate = 24) {\n this.hours = Math.floor(hours);\n this.minutes = Math.floor(minutes);\n this.seconds = Math.floor(seconds);\n this.frames = Math.floor(frames);\n this.frameRate = frameRate;\n }\n\n // Parse a timecode string into a Timecode object\n static parse(timecodeString, frameRate = 24) {\n const parts = timecodeString.split(/[:.]/).map(Number);\n while (parts.length < 4) parts.unshift(0);\n const [hours, minutes, seconds, frames] = parts;\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n \n // Convert Timecode object to string\n toString() {\n return `${this.hours.toString().padStart(2, '0')}:${this.minutes.toString().padStart(2, '0')}:${this.seconds.toString().padStart(2, '0')}:${this.frames.toString().padStart(2, '0')}`;\n }\n\n // Calculate total frames\n totalFrames() {\n return this.hours * 3600 * this.frameRate + \n this.minutes * 60 * this.frameRate + \n this.seconds * this.frameRate + \n this.frames;\n }\n\n // Create a Timecode object from total frames\n static fromFrames(totalFrames, frameRate = 24) {\n const hours = Math.floor(totalFrames / (3600 * frameRate));\n totalFrames %= 3600 * frameRate;\n const minutes = Math.floor(totalFrames / (60 * frameRate));\n totalFrames %= 60 * frameRate;\n const seconds = Math.floor(totalFrames / frameRate);\n const frames = Math.floor(totalFrames % frameRate);\n\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n}\n\n// Add the formatBitrate helper function near the top of the file\nconst formatBitrate = (bitrateInBytes) => {\n if (bitrateInBytes >= 1024 * 1024 * 1024) {\n return `${(bitrateInBytes / (1024 * 1024 * 1024)).toFixed(2)} GB/s`;\n } else if (bitrateInBytes >= 1024 * 1024) {\n return `${(bitrateInBytes / (1024 * 1024)).toFixed(2)} MB/s`;\n } else if (bitrateInBytes >= 1024) {\n return `${(bitrateInBytes / 1024).toFixed(2)} KB/s`;\n } else {\n return `${bitrateInBytes.toFixed(2)} B/s`;\n }\n};\n\nconst CameraToFileSize = ({ addLog }) => {\n const { cameraCalcState, setCameraCalcState } = useCalculator();\n \n // State variables - declare ALL state first\n const [calcData, setCalcData] = useState(cameraCalcState);\n const [durationInput, setDurationInput] = useState(cameraCalcState.durationInput);\n const [fileSizeInput, setFileSizeInput] = useState(cameraCalcState.fileSizeInput);\n const [fileSizeUnit, setFileSizeUnit] = useState(cameraCalcState.fileSizeUnit);\n const [isDurationLocked, setIsDurationLocked] = useState(cameraCalcState.isDurationLocked);\n const [isFileSizeLocked, setIsFileSizeLocked] = useState(cameraCalcState.isFileSizeLocked);\n const [calculationMode, setCalculationMode] = useState(cameraCalcState.calculationMode);\n const [availableCameras, setAvailableCameras] = useState(cameraCalcState.availableCameras);\n const [availableResolutions, setAvailableResolutions] = useState(cameraCalcState.availableResolutions);\n const [availableFramerates, setAvailableFramerates] = useState(cameraCalcState.availableFramerates);\n const [availableCodecs, setAvailableCodecs] = useState(cameraCalcState.availableCodecs);\n const [copyStatus, setCopyStatus] = useState(cameraCalcState.copyStatus);\n const [isMobile, setIsMobile] = useState(cameraCalcState.isMobile);\n const [copiedLogIndex, setCopiedLogIndex] = useState(cameraCalcState.copiedLogIndex);\n const [logs, setLogs] = useState([]);\n const [copyDurationText, setCopyDurationText] = useState();\n const [copyFileSizeText, setCopyFileSizeText] = useState();\n const [logButtonText, setLogButtonText] = useState();\n const [shareButtonText, setShareButtonText] = useState();\n const [resetButtonText, setResetButtonText] = useState();\n const [lockedField, setLockedField] = useState(cameraCalcState.lockedField);\n const [previousResolution, setPreviousResolution] = useState(cameraCalcState.previousResolution);\n\n // Refs\n const resolutionRef = useRef(null);\n const codecRef = useRef(null);\n const durationRef = useRef(null);\n const framerateRef = useRef(null);\n const fileSizeRef = useRef(null);\n const logRef = useRef(null);\n // const brandRef = useRef(null);\n // const cameraRef = useRef(null);\n\n // Update context whenever relevant state changes\n useEffect(() => {\n setCameraCalcState({\n ...calcData,\n durationInput,\n fileSizeInput,\n fileSizeUnit,\n isDurationLocked,\n isFileSizeLocked,\n calculationMode,\n availableCameras,\n availableResolutions,\n availableFramerates,\n availableCodecs,\n copyStatus,\n isMobile,\n copiedLogIndex,\n copyDurationText,\n copyFileSizeText,\n logButtonText,\n shareButtonText,\n resetButtonText,\n previousResolution\n });\n }, [\n calcData,\n durationInput,\n fileSizeInput,\n fileSizeUnit,\n isDurationLocked,\n isFileSizeLocked,\n calculationMode,\n availableCameras,\n availableResolutions,\n availableFramerates,\n availableCodecs,\n copyStatus,\n isMobile,\n copiedLogIndex,\n copyDurationText,\n copyFileSizeText,\n logButtonText,\n shareButtonText,\n resetButtonText,\n previousResolution,\n setCameraCalcState\n ]);\n\n const calculateDuration = (data = calcData, fileSizeInput) => {\n if (!data) {\n console.error('Invalid data for duration calculation');\n return \"00:00:00:01\"; // Ensure at least 1 frame\n }\n\n // if (!data || !data.fileSize || !data.fileSizeUnit) {\n // console.error('Invalid data for duration calculation');\n // return \"00:00:00:01\"; // Ensure at least 1 frame\n // }\n\n const selectedCodec = codecs.find(codec => codec.name === data.codec);\n if (!selectedCodec) {\n console.error('Invalid codec');\n return \"00:00:00:01\";\n }\n\n const datarate = selectedCodec.datarate;\n const resolutionMatch = data.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n let resolutionValue;\n if (resolutionMatch) {\n const [, width, height] = resolutionMatch;\n resolutionValue = parseInt(width) * parseInt(height);\n } else {\n console.error('Invalid resolution format');\n return \"00:00:00:01\";\n }\n\n const fps = parseFloat(data.framerate);\n const parsedSize = parseFileSize(fileSizeInput || `${data.fileSize} ${fileSizeUnit}`);\n if (!parsedSize) {\n console.error('Invalid file size');\n return \"00:00:00:01\"; // Ensure at least 1 frame\n }\n\n // Unit multipliers for file size calculations\n const unitMultiplier = {\n 'B': 1,\n 'KB': 1024,\n 'MB': 1024 * 1024,\n 'GB': 1024 * 1024 * 1024,\n 'TB': 1024 * 1024 * 1024 * 1024,\n 'PB': 1024 * 1024 * 1024 * 1024 * 1024\n };\n\n const size_in_bytes = parseFloat(parsedSize.size) * unitMultiplier[parsedSize.unit];\n\n const bytes_per_second = datarate * resolutionValue * fps;\n\n let total_seconds = size_in_bytes / (bytes_per_second * 1024 * 1024 / 8);\n\n console.log(\"Calculated total seconds:\", total_seconds); // Debug log\n\n // Ensure the total_seconds is at least enough for one frame\n if (total_seconds < 1 / fps) {\n total_seconds = 1 / fps;\n }\n\n const hours = Math.floor(total_seconds / 3600);\n total_seconds %= 3600;\n const minutes = Math.floor(total_seconds / 60);\n total_seconds %= 60;\n const seconds = Math.floor(total_seconds);\n const frames = Math.round((total_seconds - seconds) * fps);\n\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n };\n\n // Convert resolutions object to array for select options\n const resolutionOptions = Object.keys(resolutions);\n\n // Get resolution string for display\n let resolutionString;\n if (calcData.resolution === 'Custom') {\n resolutionString = calcData.customResolution;\n } else {\n const match = calcData.resolution.match(/\\((\\d+\\s*x\\s*\\d+)\\)/);\n resolutionString = match ? match[1].replace(/\\s+/g, '') : calcData.resolution;\n }\n\n // Ref for previous calcData\n const prevCalcData = useRef(calcData);\n\n // Effect to check if the device is mobile\n useEffect(() => {\n const checkMobile = () => {\n setIsMobile(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));\n };\n checkMobile();\n window.addEventListener('resize', checkMobile);\n\n return () => window.removeEventListener('resize', checkMobile);\n }, []);\n\n\n // Update the handleDurationLockClick function\n const handleDurationLockClick = () => {\n if (isDurationLocked) {\n // Unlock duration\n setIsDurationLocked(false);\n setCalculationMode(null);\n } else {\n // Lock duration and unlock file size\n setIsDurationLocked(true);\n setIsFileSizeLocked(false);\n setCalculationMode('duration');\n setCalcData(prevData => ({\n ...prevData,\n duration: durationInput,\n fileSize: parseFloat(fileSizeInput.split(' ')[0]) // Ensure fileSize is correctly set\n }));\n }\n };\n\n // Handler for file size lock click\n const handleFileSizeLockClick = () => {\n if (isFileSizeLocked) {\n // Unlock file size\n setIsFileSizeLocked(false);\n setCalculationMode(null);\n } else {\n // Lock file size and unlock duration\n setIsFileSizeLocked(true);\n setIsDurationLocked(false);\n setCalculationMode('fileSize');\n setCalcData(prevData => ({\n ...prevData,\n fileSize: parseFloat(fileSizeInput.split(' ')[0]),\n duration: durationInput\n }));\n }\n };\n\n useEffect(() => {\n const cameras = getCamerasByBrand(calcData.brand);\n setAvailableCameras(cameras);\n \n if (!cameras.includes(calcData.camera)) {\n const newCamera = cameras[0] || '';\n setCalcData(prev => ({ \n ...prev, \n camera: newCamera,\n resolution: '', // Reset resolution\n codec: '', // Reset codec\n framerate: '' // Reset framerate\n }));\n }\n }, [calcData.brand]);\n\n useEffect(() => {\n if (calcData.camera) {\n try {\n const resolutions = getResolutionsForCamera(calcData.camera);\n setAvailableResolutions(resolutions);\n \n if (!resolutions.includes(calcData.resolution)) {\n const newResolution = resolutions[0] || '';\n setCalcData(prev => ({ \n ...prev, \n resolution: newResolution,\n codec: '', // Reset codec\n framerate: '' // Reset framerate\n }));\n }\n } catch (error) {\n console.error('Error getting resolutions:', error);\n setAvailableResolutions([]);\n }\n }\n }, [calcData.camera]);\n\n useEffect(() => {\n if (calcData.camera && calcData.resolution) {\n try {\n const codecs = getCodecsForCameraAndResolution(calcData.camera, calcData.resolution);\n setAvailableCodecs(codecs);\n \n if (!codecs.includes(calcData.codec)) {\n const newCodec = codecs[0] || '';\n setCalcData(prev => ({ \n ...prev, \n codec: newCodec,\n framerate: '' // Reset framerate\n }));\n }\n } catch (error) {\n console.error('Error getting codecs:', error);\n setAvailableCodecs([]);\n }\n }\n }, [calcData.camera, calcData.resolution]);\n\n useEffect(() => {\n if (calcData.camera && calcData.resolution && calcData.codec) {\n updateFramerateForCodec(calcData.camera, calcData.resolution, calcData.codec);\n }\n }, [calcData.camera, calcData.resolution, calcData.codec]);\n\n const updateFramerateForCodec = (camera, resolution, codec) => {\n const framerates = getFrameratesForCamera(camera, resolution, codec);\n setAvailableFramerates(framerates);\n \n if (!framerates.includes(calcData.framerate)) {\n const defaultFramerate = '24';\n const newFramerate = framerates.includes(defaultFramerate) ? defaultFramerate : framerates[0] || '';\n setCalcData(prev => ({ ...prev, framerate: newFramerate }));\n }\n };\n\n\n // Modify the handleInputChange function to handle brand and camera changes\n const handleInputChange = (e) => {\n const { name, value } = e.target;\n if (name === 'duration') {\n setDurationInput(value);\n } else if (name === 'fileSize') {\n setFileSizeInput(value);\n } else if (['resolution', 'codec', 'framerate', 'brand', 'camera'].includes(name)) {\n setCalcData(prevData => ({\n ...prevData,\n [name]: value\n }));\n \n // If brand or camera changes, reset dependent fields\n if (name === 'brand') {\n setCalcData(prevData => ({\n ...prevData,\n camera: '',\n resolution: '',\n codec: '',\n framerate: ''\n }));\n } else if (name === 'camera') {\n setCalcData(prevData => ({\n ...prevData,\n resolution: '',\n codec: '',\n framerate: ''\n }));\n }\n \n // Recalculate based on the current lock state or duration by default\n if (calculationMode === 'fileSize') {\n // If file size is locked, recalculate duration\n const duration = calculateDuration({ ...calcData, [name]: value, fileSize: parseFloat(fileSizeInput.split(' ')[0]) }, fileSizeInput);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration,\n [name]: value\n }));\n } else if (!calculationMode) { // When nothing is locked\n // Recalculate file size based on current duration\n const { size, unit } = calculateFileSize();\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size,\n [name]: value\n }));\n setFileSizeUnit(unit);\n }\n }\n };\n\n // Function to format duration\n const formatDuration = (value) => {\n const parts = value.split(':').filter(part => part !== '');\n while (parts.length < 4) {\n parts.unshift('00');\n }\n return parts.join(':');\n };\n\n // Handler for duration focus\n const handleDurationFocus = () => {\n if (!isDurationLocked) {\n setDurationInput('');\n }\n };\n\n // Function to parse duration input\n const parseDuration = (input, framerate) => {\n if (!input || input.trim() === '') {\n return new Timecode(0, 0, 0, 0, framerate).toString();\n }\n\n input = input.trim().toLowerCase();\n\n // Helper function to handle rollovers\n const handleRollover = (hours, minutes, seconds, frames) => {\n // Handle frame rollover\n if (frames >= framerate) {\n seconds += Math.floor(frames / framerate);\n frames %= framerate;\n }\n // Handle seconds rollover\n if (seconds >= 60) {\n minutes += Math.floor(seconds / 60);\n seconds %= 60;\n }\n // Handle minutes rollover\n if (minutes >= 60) {\n hours += Math.floor(minutes / 60);\n minutes %= 60;\n }\n return [hours, minutes, seconds, frames];\n };\n\n // Handle special period patterns first\n if (input.includes('.')) {\n const parts = input.split('.');\n switch (parts.length) {\n case 2: // 1.12 -> 00:01:00:12\n let [minutes, frames1] = [parseInt(parts[0]) || 0, parseInt(parts[1]) || 0];\n return new Timecode(...handleRollover(0, minutes, 0, frames1), framerate).toString();\n case 3: // 1..12 -> 01:00:00:12 or 11..1 -> 11:00:00:01\n let [hours, , frames2] = [parseInt(parts[0]) || 0, 0, parseInt(parts[2]) || 0];\n return new Timecode(...handleRollover(hours, 0, 0, frames2), framerate).toString();\n default:\n // For any other number of periods, treat each as 00\n return new Timecode(...Array(input.match(/\\./g).length).fill(0), framerate).toString();\n }\n }\n\n // Handle colon patterns (e.g., 1:12 -> 00:00:01:12)\n if (input.includes(':')) {\n const parts = input.split(':').map(num => parseInt(num) || 0);\n while (parts.length < 4) parts.unshift(0);\n return new Timecode(...handleRollover(...parts), framerate).toString();\n }\n\n // Handle continuous digit input with patterns\n if (/^\\d+$/.test(input)) {\n let parts = [];\n \n switch (input.length) {\n case 8: // HH:MM:SS:FF\n parts = [\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n parseInt(input.slice(4, 6)) || 0,\n parseInt(input.slice(6, 8)) || 0\n ];\n break;\n case 7: // 0H:MM:SS:FF\n parts = [\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n parseInt(input.slice(3, 5)) || 0,\n parseInt(input.slice(5, 7)) || 0\n ];\n break;\n case 6: // HH:MM:SS:00\n parts = [\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n parseInt(input.slice(4, 6)) || 0,\n 0\n ];\n break;\n case 5: // 0H:MM:SS:00\n parts = [\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n parseInt(input.slice(3, 5)) || 0,\n 0\n ];\n break;\n case 4: // 00:MM:SS:00\n parts = [\n 0,\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n 0\n ];\n break;\n case 3: // 00:0M:SS:00\n parts = [\n 0,\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n 0\n ];\n break;\n case 2: // 00:00:SS:00\n parts = [0, 0, parseInt(input.slice(0, 2)) || 0, 0];\n break;\n case 1: // 00:00:0S:00\n parts = [0, 0, parseInt('0' + input) || 0, 0];\n break;\n default:\n // For any other length, treat as seconds\n const seconds = parseInt(input, 10);\n return new Timecode(...handleRollover(0, 0, seconds, 0), framerate).toString();\n }\n\n return new Timecode(...handleRollover(...parts), framerate).toString();\n }\n\n // Handle text-based duration inputs (e.g., \"1h 30m\")\n const patterns = {\n week: /(\\d+)\\s*(?:w|wk|wks|week|weeks)/i,\n day: /(\\d+)\\s*(?:d|dy|dys|day|days)/i,\n hour: /(\\d+)\\s*(?:h|hr|hrs|hour|hours)/i,\n minute: /(\\d+)\\s*(?:m|min|mins|minute|minutes)/i,\n second: /(\\d+)\\s*(?:s|sec|secs|second|seconds)/i,\n frame: /(\\d+)\\s*(?:f|fr|frm|frms|frame|frames)/i\n };\n\n let totalFrames = 0;\n\n Object.entries(patterns).forEach(([unit, pattern]) => {\n const match = input.match(pattern);\n if (match) {\n const value = parseInt(match[1]);\n switch (unit) {\n case 'week': totalFrames += value * 7 * 24 * 3600 * framerate; break;\n case 'day': totalFrames += value * 24 * 3600 * framerate; break;\n case 'hour': totalFrames += value * 3600 * framerate; break;\n case 'minute': totalFrames += value * 60 * framerate; break;\n case 'second': totalFrames += value * framerate; break;\n case 'frame': totalFrames += value; break;\n }\n }\n });\n\n if (totalFrames === 0) {\n // If no valid time units were found, try parsing as a single number (assume seconds)\n const totalSeconds = parseFloat(input);\n if (!isNaN(totalSeconds)) {\n totalFrames = Math.round(totalSeconds * framerate);\n } else {\n throw new Error(\"Invalid duration format\");\n }\n }\n\n return Timecode.fromFrames(totalFrames, framerate).toString();\n };\n\n\n const handleShare = async () => {\n const shareUrl = new URL(window.location.href);\n shareUrl.searchParams.set('brand', calcData.brand);\n shareUrl.searchParams.set('camera', calcData.camera);\n shareUrl.searchParams.set('resolution', calcData.resolution);\n shareUrl.searchParams.set('codec', calcData.codec);\n shareUrl.searchParams.set('framerate', calcData.framerate);\n shareUrl.searchParams.set('duration', durationInput);\n shareUrl.searchParams.set('fileSize', fileSizeInput);\n if (calculationMode) {\n shareUrl.searchParams.set('mode', calculationMode);\n }\n\n const shareButtonText = `${calcData.brand} ${calcData.camera} - ${calcData.resolution} \\n${calcData.codec} @ ${calcData.framerate}fps \\n${durationInput} = ${fileSizeInput}`;\n \n try {\n const result = await handleShareOnDevice(\n 'TBD Post DataCalc',\n `Check out this camera calculation: ${shareButtonText}`,\n shareUrl.toString()\n );\n\n if (result?.success) {\n setShareButtonText();\n setTimeout(() => setShareButtonText(), 500);\n }\n return result;\n } catch (error) {\n console.error('Share failed:', error);\n return { success: false, method: 'none' };\n }\n };\n\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n if (params.has('duration')) {\n const newCalcData = {\n duration: params.get('duration') || '01:00:00:00',\n brand: params.get('brand') || 'ARRI',\n camera: params.get('camera') || 'ALEXA 35',\n resolution: params.get('resolution') || '4.6K 3:2 Open Gate (4608 x 3164)',\n codec: params.get('codec') || 'ARRIRAW HDE',\n framerate: params.get('framerate') || '24',\n };\n setCalcData(newCalcData);\n setDurationInput(params.get('duration') || '01:00:00:00');\n setFileSizeInput(params.get('fileSize') || '1.915 TB');\n }\n }, []);\n\n // Handler for duration blur event\n const handleDurationBlur = () => {\n if (durationInput.trim() === '') {\n setDurationInput('');\n if (!isDurationLocked) {\n setCalcData(prevData => ({ ...prevData, duration: '' }));\n }\n } else {\n try {\n const parsedDuration = parseDuration(durationInput, parseFloat(calcData.framerate));\n setDurationInput(parsedDuration);\n if (!isDurationLocked) {\n setCalcData(prevData => ({\n ...prevData,\n duration: parsedDuration\n }));\n // Recalculate file size if needed\n if (!isFileSizeLocked) {\n const { size, unit } = calculateFileSize();\n setFileSizeInput(`${size} ${unit}`);\n setFileSizeUnit(unit);\n }\n }\n } catch (error) {\n console.error(\"Invalid duration format\");\n setDurationInput('');\n if (!isDurationLocked) {\n setCalcData(prevData => ({ ...prevData, duration: '' }));\n }\n }\n }\n };\n\n // Handler for duration key press\n const handleDurationKeyPress = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n if (!isDurationLocked) {\n try {\n const parsedDuration = parseDuration(durationInput, parseFloat(calcData.framerate));\n setDurationInput(parsedDuration);\n setCalcData(prev => ({\n ...prev,\n duration: parsedDuration\n }));\n // Recalculate file size based on the parsed duration\n if (!isFileSizeLocked) {\n const { size, unit } = calculateFileSize({ ...calcData, duration: parsedDuration });\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n }\n // Blur the input field\n e.target.blur();\n } catch (error) {\n console.error(\"Invalid duration format\");\n // Optionally, notify the user or revert to the previous valid duration\n }\n }\n }\n };\n\n const handleWheel = (e, options, currentValue, setterFunction) => {\n e.preventDefault();\n const index = options.indexOf(currentValue);\n const sensitivity = 0.025;\n const scrollAmount = -e.deltaY * sensitivity;\n \n let newIndex = index + Math.sign(scrollAmount);\n newIndex = Math.max(0, Math.min(newIndex, options.length - 1));\n \n if (newIndex !== index) {\n setterFunction(options[newIndex]);\n }\n };\n\n const handleDurationWheel = (e) => {\n e.preventDefault();\n if (isDurationLocked) return; // Immediately return if duration is locked\n\n const sensitivity = 0.025;\n const scrollAmount = -e.deltaY * sensitivity; // Note the negative sign here\n \n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const width = rect.width;\n \n let [hours, minutes, seconds, frames] = calcData.duration.split(':').map(Number);\n const framerate = parseFloat(calcData.framerate);\n \n if (x < width * 0.25) {\n // Scrolling hours\n hours += Math.sign(scrollAmount);\n hours = Math.max(0, hours);\n } else if (x < width * 0.5) {\n // Scrolling minutes\n minutes += Math.sign(scrollAmount);\n if (minutes < 0) {\n if (hours > 0) {\n hours--;\n minutes = 59;\n } else {\n minutes = 0;\n }\n } else if (minutes >= 60) {\n hours++;\n minutes = 0;\n }\n } else if (x < width * 0.75) {\n // Scrolling seconds\n seconds += Math.sign(scrollAmount);\n if (seconds < 0) {\n if (minutes > 0) {\n minutes--;\n seconds += 60;\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds += 60;\n } else {\n seconds = 0;\n }\n } else if (seconds >= 60) {\n minutes++;\n seconds = 0;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n } else {\n // Scrolling frames\n frames += Math.sign(scrollAmount);\n if (frames < 0) {\n if (seconds > 0) {\n seconds--;\n frames = Math.floor(framerate) - 1;\n } else if (minutes > 0) {\n minutes--;\n seconds = 59;\n frames = Math.floor(framerate) - 1;\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds = 59;\n frames += Math.floor(framerate) - 1;\n } else {\n frames = 0;\n }\n } else if (frames >= Math.floor(framerate)) {\n seconds++;\n frames = 0;\n if (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n }\n }\n\n const newDuration = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n setDurationInput(newDuration);\n setCalcData(prevData => ({ ...prevData, duration: newDuration }));\n\n // Recalculate file size\n const { size, unit } = calculateFileSize();\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n };\n\n const calculateFileSize = (data = calcData) => {\n try {\n console.log(\"Starting file size calculation with data:\", data);\n\n const [hours, minutes, seconds, frames] = data.duration.split(':').map(Number);\n const totalFrames = (hours * 3600 + minutes * 60 + seconds) * parseFloat(data.framerate) + frames;\n console.log(\"Total frames:\", totalFrames);\n\n let resolutionValue;\n const resolutionMatch = data.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (resolutionMatch) {\n const [, width, height] = resolutionMatch;\n resolutionValue = parseInt(width) * parseInt(height);\n console.log(\"Resolution parsed from string:\", width, \"x\", height);\n } else {\n const resolutionData = resolutions[data.resolution];\n if (!resolutionData || !resolutionData.dimensions) {\n throw new Error(`Invalid resolution: ${data.resolution}`);\n }\n const [width, height] = resolutionData.dimensions;\n resolutionValue = width * height;\n }\n console.log(\"Resolution value:\", resolutionValue);\n\n const selectedCodec = codecs.find(codec => codec.name === data.codec);\n console.log(\"Selected codec:\", selectedCodec);\n if (!selectedCodec) {\n throw new Error(`Invalid codec: ${data.codec}`);\n }\n\n const megapixels = resolutionValue; // Convert to megapixels\n const datarate = selectedCodec.datarate;\n const fileSizeGB = (totalFrames * megapixels * datarate) / 8 / 1024;\n console.log(\"Calculated file size in GB:\", fileSizeGB);\n\n const { size, unit } = formatFileSize(fileSizeGB);\n console.log(\"Formatted file size:\", size, unit);\n\n return { size, unit };\n } catch (error) {\n console.error(\"Error calculating file size:\", error.message);\n return { size: '0', unit: 'B' };\n }\n };\n\n // Helper function to format file size\n const formatFileSize = (sizeInGB) => {\n const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];\n let size = sizeInGB * 1024 * 1024 * 1024; // Convert GB to bytes\n let unitIndex = 0;\n\n while (size >= 1024 && unitIndex < units.length - 1) {\n size /= 1024;\n unitIndex++;\n }\n\n return {\n size: size.toFixed(3),\n unit: units[unitIndex]\n };\n };\n\n // 8. Modify useEffect to handle recalculations based on calculationMode\n useEffect(() => {\n // Skip calculations if the resolution is set to 'Custom' and the custom resolution is not yet confirmed\n if (calcData.resolution === 'Custom' && !calcData.customResolution) {\n return;\n }\n\n recalculateBasedOnLockState();\n }, [\n calcData.resolution,\n calcData.codec,\n calcData.framerate,\n calcData.duration,\n calcData.fileSize,\n isDurationLocked,\n isFileSizeLocked,\n calculationMode\n ]);\n\n useEffect(() => {\n const resolutionElement = resolutionRef.current;\n const framerateElement = framerateRef.current;\n const codecElement = codecRef.current;\n\n const elements = [\n { ref: resolutionElement, handler: handleResolutionWheel },\n { ref: framerateElement, handler: handleFramerateWheel },\n { ref: codecElement, handler: handleCodecWheel },\n ];\n\n elements.forEach(({ ref, handler }) => {\n if (ref) {\n ref.addEventListener('wheel', handler, { passive: false });\n }\n });\n\n return () => {\n elements.forEach(({ ref, handler }) => {\n if (ref) {\n ref.removeEventListener('wheel', handler);\n }\n });\n };\n }, [calcData.resolution, calcData.framerate, calcData.codec]);\n\n useEffect(() => {\n const durationElement = durationRef.current;\n\n const wheelHandler = (e) => {\n if (!isDurationLocked) {\n handleDurationWheel(e);\n }\n };\n\n if (durationElement) {\n durationElement.addEventListener('wheel', wheelHandler, { passive: false });\n }\n\n return () => {\n if (durationElement) {\n durationElement.removeEventListener('wheel', wheelHandler);\n }\n };\n }, [calcData.duration, calcData.framerate, isDurationLocked]);\n\n const handleFileSizeClick = () => {\n if (isMobile) return;\n\n const fileSizeText = `${calcData.fileSize} ${fileSizeUnit}`;\n navigator.clipboard.writeText(fileSizeText).then(() => {\n }).catch(err => {\n console.error('Failed to copy: ', err);\n });\n };\n\n const handleLogClick = () => {\n const logEntry = `${calcData.brand} ${calcData.camera} - ${calcData.resolution} \\n${calcData.codec} @ ${calcData.framerate}fps (${calculateBitrate()}) \\n${calcData.duration} = ${fileSizeInput}\\r\\n`;\n addLog(logEntry);\n\n setLogButtonText();\n setTimeout(() => setLogButtonText(), 500);\n\n // Copy to clipboard functionality\n if (navigator.clipboard) {\n navigator.clipboard.writeText(logEntry)\n .then(() => {\n // You can add a visual feedback here if needed\n })\n .catch(err => {\n console.error('Failed to copy log entry: ', err);\n });\n }\n };\n\n const copyLogToClipboard = (log, index) => {\n if (isMobile) return; \n\n const logWithLineBreak = `${log}\\r\\n`; // Add line break\n\n navigator.clipboard.writeText(logWithLineBreak).then(() => {\n setCopiedLogIndex(index);\n setTimeout(() => setCopiedLogIndex(null), 3000);\n }).catch(err => {\n console.error('Failed to copy log: ', err);\n setCopiedLogIndex(null);\n });\n };\n\n const handleBrandWheel = (e) => {\n handleWheel(\n e,\n brands,\n calcData.brand,\n (newBrand) => {\n setCalcData(prev => ({ ...prev, brand: newBrand }));\n recalculateBasedOnLockState();\n }\n );\n };\n\n const handleCameraWheel = (e) => {\n handleWheel(\n e,\n availableCameras,\n calcData.camera,\n (newCamera) => {\n setCalcData(prev => ({ ...prev, camera: newCamera }));\n recalculateBasedOnLockState();\n }\n );\n };\n\n const handleResolutionWheel = (e) => {\n handleWheel(\n e, \n availableResolutions, \n calcData.resolution, \n (newResolution) => {\n setCalcData(prev => ({ ...prev, resolution: newResolution }));\n recalculateBasedOnLockState(newResolution);\n }\n );\n };\n\n const handleFramerateWheel = (e) => {\n handleWheel(\n e, \n availableFramerates, \n calcData.framerate, \n (newFramerate) => {\n setCalcData(prev => ({ ...prev, framerate: newFramerate }));\n recalculateBasedOnLockState();\n }\n );\n };\n\n // Modify the handleCodecWheel function\n const handleCodecWheel = (e) => {\n e.preventDefault();\n if (availableCodecs.length === 0) return;\n\n const delta = Math.sign(e.deltaY);\n const currentIndex = availableCodecs.indexOf(calcData.codec);\n let newIndex = currentIndex + delta;\n\n // Ensure the new index is within bounds without loolockg\n newIndex = Math.max(0, Math.min(newIndex, availableCodecs.length - 1));\n\n // Only update if the index has changed\n if (newIndex !== currentIndex) {\n const newCodec = availableCodecs[newIndex];\n setCalcData(prev => ({ ...prev, codec: newCodec }));\n updateFramerateForCodec(calcData.camera, calcData.resolution, newCodec);\n }\n };\n\n // Modify the useEffect for codec ref\n useEffect(() => {\n const codecElement = codecRef.current;\n\n const wheelHandler = (e) => {\n handleCodecWheel(e);\n };\n\n if (codecElement) {\n codecElement.addEventListener('wheel', wheelHandler, { passive: false });\n }\n\n return () => {\n if (codecElement) {\n codecElement.removeEventListener('wheel', wheelHandler);\n }\n };\n }, [calcData.camera, calcData.resolution, calcData.codec, availableCodecs]);\n\n // Add a new useEffect to ensure codec is always valid\n useEffect(() => {\n if (availableCodecs.length > 0 && !availableCodecs.includes(calcData.codec)) {\n const newCodec = availableCodecs[0];\n setCalcData(prev => ({ ...prev, codec: newCodec }));\n updateFramerateForCodec(calcData.camera, calcData.resolution, newCodec);\n }\n }, [calcData.camera, calcData.resolution, calcData.codec, availableCodecs]);\n\n const handleDeleteLog = (index) => {\n setLogs(prevLogs => prevLogs.filter((_, i) => i !== index));\n };\n\n const defaultValues = {\n duration: \"01:00:00:00\",\n brand: 'ARRI',\n camera: 'ALEXA 35',\n resolution: '4.6K 3:2 Open Gate (4608 x 3164)',\n codec: 'ARRIRAW HDE',\n framerate: \"24\",\n fileSize: '1.915 TB'\n };\n\n const handleReset = () => {\n // Only reset duration and file size related states\n setDurationInput(\"01:00:00:00\");\n \n // Remove locks and calculation mode\n setIsDurationLocked(false);\n setIsFileSizeLocked(false);\n setCalculationMode(null);\n \n // Update calcData with only duration reset\n setCalcData(prevData => ({\n ...prevData,\n duration: \"01:00:00:00\"\n }));\n\n // Show reset confirmation\n setResetButtonText();\n setTimeout(() => setResetButtonText(), 500);\n };\n\n useEffect(() => {\n if (isMobile) {\n disableScroll();\n return () => enableScroll();\n }\n }, [isMobile]);\n\n // 1. Update handleCopyCameraToFileSize to remove navigator.clipboard.writeText\n const handleCopyCameraToFileSize = (text, result) => {\n if (result) {\n setCopyDurationText();\n } else {\n setCopyDurationText('Error');\n }\n setTimeout(() => setCopyDurationText(), 500);\n };\n\n // 1. Update handleCopyFileSize to remove navigator.clipboard.writeText\n const handleCopyFileSize = (text, result) => {\n if (result) {\n setCopyFileSizeText();\n } else {\n setCopyFileSizeText('Error');\n }\n setTimeout(() => setCopyFileSizeText(), 500);\n };\n\n // 3. Update handleTouchStart to allow default behavior for select fields\n const handleTouchStart = useCallback((e, field) => {\n if ((field === 'fileSize' && isFileSizeLocked) || (field === 'duration' && isDurationLocked)) return;\n \n e.preventDefault();\n const touch = e.touches[0];\n const startY = touch.clientY;\n const rect = e.target.getBoundingClientRect();\n const touchX = touch.clientX - rect.left;\n const fieldWidth = rect.width;\n let startValue;\n\n if (field === 'fileSize') {\n const parsedSize = parseFileSize(fileSizeInput);\n startValue = parsedSize ? parseFloat(parsedSize.size) : 0;\n } else if (field === 'duration') {\n const [hours, minutes, seconds, frames] = durationInput.split(':').map(Number);\n startValue = {\n hours,\n minutes,\n seconds,\n frames\n };\n }\n\n const handleTouchMove = (e) => {\n e.preventDefault();\n const touch = e.touches[0];\n const currentY = touch.clientY;\n const diffY = startY - currentY;\n const sensitivity = 0.1;\n\n if (field === 'duration') {\n const segment = Math.floor(touchX / (fieldWidth / 4)); // Split into 4 segments\n const framerate = parseFloat(calcData.framerate);\n \n // Calculate change based on segment\n let change = Math.round(diffY * sensitivity);\n let { hours, minutes, seconds, frames } = startValue;\n \n switch(segment) {\n case 0: // Hours\n hours = Math.max(0, hours - change);\n break;\n case 1: // Minutes\n minutes -= change;\n while (minutes < 0) {\n if (hours > 0) {\n hours--;\n minutes += 60;\n } else {\n minutes = 0;\n }\n }\n while (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n break;\n case 2: // Seconds\n seconds -= change;\n while (seconds < 0) {\n if (minutes > 0) {\n minutes--;\n seconds += 60;\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds += 60;\n } else {\n seconds = 0;\n }\n }\n while (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n break;\n case 3: // Frames\n frames -= change;\n while (frames < 0) {\n if (seconds > 0) {\n seconds--;\n frames += Math.floor(framerate);\n } else if (minutes > 0) {\n minutes--;\n seconds = 59;\n frames += Math.floor(framerate);\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds = 59;\n frames += Math.floor(framerate);\n } else {\n frames = 0;\n }\n }\n while (frames >= framerate) {\n seconds++;\n frames -= Math.floor(framerate);\n if (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n }\n break;\n }\n\n const newDuration = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n\n setDurationInput(newDuration);\n setCalcData(prevData => ({\n ...prevData,\n duration: newDuration\n }));\n\n // Recalculate file size\n const { size, unit } = calculateFileSize({ ...calcData, duration: newDuration });\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n }\n // ... existing fileSize handling ...\n };\n\n const handleTouchEnd = () => {\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n }, [calcData, fileSizeInput, durationInput, isFileSizeLocked, isDurationLocked, calculateFileSize, fileSizeUnit]);\n\n // Updated parseFileSize function to handle more input permutations\n const parseFileSize = (input) => {\n // Remove any whitespace and convert to lowercase\n const cleanInput = input.replace(/\\s+/g, '').toLowerCase();\n \n // Define unit patterns\n const unitPatterns = {\n 'pb': ['p', 'ps', 'pb', 'pbs', 'pe', 'pet', 'pets', 'peta', 'petas', 'petabyte', 'petabytes'],\n 'tb': ['t', 'ts', 'tb', 'tbs', 'te', 'ter', 'ters', 'tera', 'teras', 'terabyte', 'terabytes'],\n 'gb': ['g', 'gs', 'gb', 'gbs', 'ge', 'gig', 'gigs', 'giga', 'gigas', 'gigabyte', 'gigabytes'],\n 'mb': ['m', 'ms', 'mb', 'mbs', 'me', 'meg', 'megs', 'mega', 'megas', 'megabyte', 'megabytes'],\n 'kb': ['k', 'ks', 'kb', 'kbs', 'ki', 'kil', 'kils', 'kilo', 'kilos', 'kilobyte', 'kilobytes'],\n 'b': ['b', 'bs', 'bi', 'by', 'byte', 'bytes']\n };\n \n // Create a regex pattern that matches any of the unit patterns\n const unitRegexPattern = Object.values(unitPatterns).flat().join('|');\n \n // Match the input against the pattern\n const match = cleanInput.match(new RegExp(`^(\\\\d+(?:\\\\.\\\\d+)?)(${unitRegexPattern})$`));\n \n if (match) {\n const size = parseFloat(match[1]);\n const unitLower = match[2];\n \n // Determine the standardized unit\n for (const [standardUnit, patterns] of Object.entries(unitPatterns)) {\n if (patterns.includes(unitLower)) {\n return { size, unit: standardUnit.toUpperCase() };\n }\n }\n }\n \n return null;\n };\n\n // Update handleFileSizeFocus to clear the input and show placeholder text\n const handleFileSizeFocus = () => {\n if (!isFileSizeLocked) {\n setFileSizeInput('');\n }\n };\n\n // Updated handleFileSizeBlur function to parse input and calculate duration\n const handleFileSizeBlur = () => {\n if (fileSizeInput.trim() === '') {\n setFileSizeInput('');\n if (!isFileSizeLocked) {\n setCalcData(prevData => ({ ...prevData, fileSize: '' }));\n }\n } else {\n const parsedSize = parseFileSize(fileSizeInput);\n if (parsedSize !== null) {\n const formattedSize = `${parsedSize.size} ${parsedSize.unit}`;\n setFileSizeInput(formattedSize);\n if (!isFileSizeLocked) {\n setCalcData(prevData => ({\n ...prevData,\n fileSize: parsedSize.size,\n fileSizeUnit: parsedSize.unit\n }));\n \n // Calculate duration based on the parsed file size\n if (!isDurationLocked) {\n const duration = calculateDuration({ \n ...calcData, \n fileSize: parsedSize.size, \n fileSizeUnit: parsedSize.unit \n }, formattedSize);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration\n }));\n }\n }\n } else {\n console.error(\"Invalid file size format\");\n // Optionally, revert to previous valid input or notify the user\n }\n }\n };\n\n // Updated handleFileSizeKeyPress to trigger blur on Enter key\n const handleFileSizeKeyPress = (e) => {\n if (e.key === 'Enter' || e.key === 'Tab') {\n e.preventDefault();\n if (!isFileSizeLocked) {\n const parsedSize = parseFileSize(fileSizeInput);\n if (parsedSize !== null) {\n const formattedSize = `${parsedSize.size} ${parsedSize.unit}`;\n setFileSizeInput(formattedSize);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: parsedSize.size,\n fileSizeUnit: parsedSize.unit\n }));\n \n // Calculate duration based on the parsed file size\n if (!isDurationLocked) {\n const duration = calculateDuration({ \n ...calcData, \n fileSize: parsedSize.size, \n fileSizeUnit: parsedSize.unit \n }, formattedSize);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration\n }));\n }\n }\n e.target.blur(); // Remove focus from the input\n }\n }\n };\n\n// Helper function to recalculate based on lock state\n const recalculateBasedOnLockState = (updatedResolution = calcData.resolution) => {\n const updatedCalcData = { ...calcData, resolution: updatedResolution };\n \n if (calculationMode === 'duration' && isDurationLocked) {\n // If duration is locked, recalculate file size based on duration\n const { size, unit } = calculateFileSize(updatedCalcData);\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n } else if (calculationMode === 'fileSize' && isFileSizeLocked) {\n // If file size is locked, recalculate duration based on file size\n const duration = calculateDuration(updatedCalcData, fileSizeInput);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration\n }));\n } else {\n // If nothing is locked, default to recalculating file size based on duration\n const { size, unit } = calculateFileSize(updatedCalcData);\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n }\n };\n\n // Updated handleFileSizeWheel to implement proportional scrolling across all units\n const handleFileSizeWheel = (e) => {\n e.preventDefault();\n if (isFileSizeLocked || isDurationLocked) return;\n\n const delta = Math.sign(-e.deltaY); // Positive for scroll up, negative for scroll down\n const changeFactor = 1.1; // 10% change per scroll\n\n let parsed = parseFileSize(fileSizeInput);\n if (!parsed) return;\n let { size, unit } = parsed;\n let newSize = size;\n\n // Apply proportional change based on scroll direction\n if (delta > 0) {\n newSize *= changeFactor;\n } else {\n newSize /= changeFactor;\n }\n\n // Define the order of units\n const unitsOrder = ['KB', 'MB', 'GB', 'TB', 'PB'];\n let currentIndex = unitsOrder.indexOf(unit);\n\n // Adjust unit if size exceeds current unit's boundaries\n while (newSize >= 1000 && currentIndex < unitsOrder.length - 1) {\n newSize /= 1000;\n currentIndex++;\n unit = unitsOrder[currentIndex];\n }\n\n while (newSize < 1 && currentIndex > 0) {\n newSize *= 1000;\n currentIndex--;\n unit = unitsOrder[currentIndex];\n }\n\n // Format the new size based on unit for consistency\n newSize = unit === 'KB' ? Math.round(newSize) : parseFloat(newSize.toFixed(2));\n\n const newFileSizeInput = `${newSize} ${unit}`;\n setFileSizeInput(newFileSizeInput);\n\n // Update calcData immediately\n const updatedCalcData = {\n ...calcData,\n fileSize: newSize.toString(),\n fileSizeUnit: unit\n };\n setCalcData(updatedCalcData);\n\n // Recalculate duration based on the new file size\n const duration = calculateDuration(updatedCalcData, newFileSizeInput);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration\n }));\n };\n\n // Ensure handleFileSizeWheel is correctly referenced in useEffect\n useEffect(() => {\n const fileSizeElement = fileSizeRef.current;\n\n const wheelHandler = (e) => {\n if (!isFileSizeLocked) {\n handleFileSizeWheel(e);\n }\n };\n\n if (fileSizeElement) {\n fileSizeElement.addEventListener('wheel', wheelHandler, { passive: false });\n fileSizeElement.addEventListener('touchmove', wheelHandler, { passive: false });\n }\n\n return () => {\n if (fileSizeElement) {\n fileSizeElement.removeEventListener('wheel', wheelHandler);\n fileSizeElement.removeEventListener('touchmove', wheelHandler);\n }\n };\n }, [isFileSizeLocked, handleFileSizeWheel]);\n\n // 3. Update the input fields in the JSX to apply styles based on lock state\n // Modify the useEffect for mobile anchoring\n useEffect(() => {\n if (isMobile) {\n const handleScroll = () => {\n if (window.scrollY > 0) {\n window.scrollTo(0, 0);\n }\n };\n\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }\n }, [isMobile]);\n\n \n // Update commonInputClass to include direct mobile centering styles\n const commonInputClass = commonStyles.commonInputClass;\n const textCenterImportant = commonStyles.textCenterImportant;\n \n const lockButtonStyle = commonStyles.lockButtonStyle(calculationMode);\n\n\n \n // Function to get input style based on lock state\n const getInputStyle = (field) => commonStyles.getInputStyle(field, calculationMode);\n\n\n useEffect(() => {\n setAvailableCameras(getCamerasByBrand(calcData.brand));\n }, [calcData.brand]);\n\n useEffect(() => {\n if (calcData.camera) {\n setAvailableResolutions(getResolutionsForCamera(calcData.camera));\n setAvailableFramerates(getFrameratesForCamera(calcData.camera));\n }\n }, [calcData.camera]);\n\n useEffect(() => {\n if (calcData.camera && calcData.resolution) {\n setAvailableCodecs(getCodecsForCameraAndResolution(calcData.camera, calcData.resolution));\n }\n }, [calcData.camera, calcData.resolution]);\n\n \n\n useEffect(() => {\n const elements = [\n { ref: brandRef, handler: handleBrandWheel },\n { ref: cameraRef, handler: handleCameraWheel },\n { ref: resolutionRef, handler: handleResolutionWheel },\n { ref: framerateRef, handler: handleFramerateWheel },\n { ref: codecRef, handler: handleCodecWheel },\n { ref: durationRef, handler: handleDurationWheel },\n { ref: fileSizeRef, handler: handleFileSizeWheel }\n ];\n\n elements.forEach(({ ref, handler }) => {\n if (ref.current) {\n ref.current.addEventListener('wheel', handler, { passive: false });\n }\n });\n\n return () => {\n elements.forEach(({ ref, handler }) => {\n if (ref.current) {\n ref.current.removeEventListener('wheel', handler);\n }\n });\n };\n }, [calcData, handleBrandWheel, handleCameraWheel, handleResolutionWheel, \n handleFramerateWheel, handleCodecWheel, handleDurationWheel, handleFileSizeWheel]);\n\n // Add these new refs\n const brandRef = useRef(null);\n const cameraRef = useRef(null);\n\n // Add these hooks for each dropdown\n const handleBrandTouch = useDropdownTouch(\n brands,\n calcData.brand,\n handleInputChange,\n 'brand'\n );\n\n const handleCameraTouch = useDropdownTouch(\n availableCameras,\n calcData.camera,\n handleInputChange,\n 'camera'\n );\n\n const handleResolutionTouch = useDropdownTouch(\n availableResolutions,\n calcData.resolution,\n handleInputChange,\n 'resolution'\n );\n\n const handleCodecTouch = useDropdownTouch(\n availableCodecs,\n calcData.codec,\n handleInputChange,\n 'codec'\n );\n\n const handleFramerateTouch = useDropdownTouch(\n availableFramerates,\n calcData.framerate,\n handleInputChange,\n 'framerate'\n );\n\n // Add the calculateBitrate function inside the component\n const calculateBitrate = (data = calcData) => {\n try {\n // Get resolution dimensions\n let width, height;\n const resolutionMatch = data.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (resolutionMatch) {\n [, width, height] = resolutionMatch;\n } else {\n throw new Error('Invalid resolution format');\n }\n\n // Get codec datarate\n const selectedCodec = codecs.find(codec => codec.name === data.codec);\n if (!selectedCodec) {\n throw new Error('Invalid codec');\n }\n const datarate = selectedCodec.datarate;\n\n // Calculate bitrate\n const framerate = parseFloat(data.framerate);\n const bitrateInBytes = (datarate * width * height * framerate) * 1024 * 1024;\n \n return formatBitrate(bitrateInBytes);\n } catch (error) {\n console.error('Error calculating bitrate:', error);\n return '0 MB/s';\n }\n };\n\n const currentSpacing = isMobile ? spacing.mobile : spacing.desktop;\n\n return (\n
\n
\n
\n
\n \n handleTouchStart(e, 'duration')}\n placeholder={isDurationLocked ? '' : \"ex: 01:00:00:00 or 16 hrs\"}\n className={`${getInputStyle('duration')} text-sm md:text-base`}\n disabled={isDurationLocked}\n />\n
\n\n
\n {\n if (calculationMode === null) {\n setIsDurationLocked(true);\n setIsFileSizeLocked(false);\n setCalculationMode('duration');\n } else if (calculationMode === 'duration') {\n setIsDurationLocked(false);\n setIsFileSizeLocked(true);\n setCalculationMode('fileSize');\n } else {\n setIsDurationLocked(false);\n setIsFileSizeLocked(false);\n setCalculationMode(null);\n }\n }}\n className={`${commonStyles.lockButtonStyle(calculationMode)} relative`}\n >\n {calculationMode ? (\n \n ) : (\n \n )}\n {calculationMode === 'duration' && (\n \n )}\n {calculationMode === 'fileSize' && (\n \n )}\n \n
\n\n
\n \n handleTouchStart(e, 'fileSize')}\n placeholder={isFileSizeLocked ? '' : \"ex: 512 GB\"}\n className={`${getInputStyle('fileSize')} text-sm md:text-base`}\n disabled={isFileSizeLocked}\n />\n
\n
\n\n
\n
\n \n \n {brands.map(brand => (\n \n ))}\n \n
\n
\n \n \n {availableCameras.map(camera => (\n \n ))}\n \n
\n
\n\n
\n
\n \n \n {availableResolutions.map(resolution => (\n \n ))}\n \n
\n
\n \n \n {availableFramerates.map(framerate => (\n \n ))}\n \n
\n
\n\n
\n
\n \n \n {availableCodecs.map((codec, index) => (\n \n ))}\n \n
\n
\n \n \n
\n
\n\n \n
\n
\n );\n};\n\nexport default CameraToFileSize;","import React from 'react';\n\nconst ComingSoon = () => {\n return (\n \n );\n};\n\nexport default ComingSoon; ","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { SlDocs, SlNote, SlRefresh, SlLike, SlPaperPlane } from \"react-icons/sl\";\nimport { FaShareSquare, FaLock, FaUnlockAlt, FaAngleLeft, FaAngleRight, FaAngleUp } from 'react-icons/fa';\nimport { getCamerasByBrand, getResolutionsForCamera, getFrameratesForCamera, getCodecsForCameraAndResolution } from '../data/cameraData';\nimport { codecs, dailiesCodecs } from '../data/codecData';\nimport { brands } from '../data/brandData';\nimport { resolutions } from '../data/resolutionData';\nimport { disableScroll, enableScroll } from '../utils/utils';\nimport { useCalculator } from '../context/CalculatorContext';\nimport { useDropdownTouch } from '../hooks/useDropdownTouch';\nimport { colors, spacing, layout, typography, commonStyles } from '../styles/globalStyles';\nimport CalculatorButtons from './CalculatorButtons';\nimport { handleShareOnDevice } from '../utils/shareUtils';\n\n// Timecode class for handling timecode operations\nclass Timecode {\n constructor(hours = 0, minutes = 0, seconds = 0, frames = 0, frameRate = 24) {\n this.hours = Math.floor(hours);\n this.minutes = Math.floor(minutes);\n this.seconds = Math.floor(seconds);\n this.frames = Math.floor(frames);\n this.frameRate = frameRate;\n }\n\n // Parse a timecode string into a Timecode object\n static parse(timecodeString, frameRate = 24) {\n const parts = timecodeString.split(/[:.]/).map(Number);\n while (parts.length < 4) parts.unshift(0);\n const [hours, minutes, seconds, frames] = parts;\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n \n // Convert Timecode object to string\n toString() {\n return `${this.hours.toString().padStart(2, '0')}:${this.minutes.toString().padStart(2, '0')}:${this.seconds.toString().padStart(2, '0')}:${this.frames.toString().padStart(2, '0')}`;\n }\n\n // Calculate total frames\n totalFrames() {\n return this.hours * 3600 * this.frameRate + \n this.minutes * 60 * this.frameRate + \n this.seconds * this.frameRate + \n this.frames;\n }\n\n // Create a Timecode object from total frames\n static fromFrames(totalFrames, frameRate = 24) {\n const hours = Math.floor(totalFrames / (3600 * frameRate));\n totalFrames %= 3600 * frameRate;\n const minutes = Math.floor(totalFrames / (60 * frameRate));\n totalFrames %= 60 * frameRate;\n const seconds = Math.floor(totalFrames / frameRate);\n const frames = Math.floor(totalFrames % frameRate);\n\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n}\n\nconst roundToEven = (num) => {\n const rounded = Math.round(num);\n return rounded % 2 === 0 ? rounded : rounded + 1;\n};\n\n\n// Add the formatBitrate helper function near the top of the file\nconst formatBitrate = (bitrateInBytes) => {\n if (bitrateInBytes >= 1024 * 1024 * 1024) {\n return `${(bitrateInBytes / (1024 * 1024 * 1024)).toFixed(2)} GB/s`;\n } else if (bitrateInBytes >= 1024 * 1024) {\n return `${(bitrateInBytes / (1024 * 1024)).toFixed(2)} MB/s`;\n } else if (bitrateInBytes >= 1024) {\n return `${(bitrateInBytes / 1024).toFixed(2)} KB/s`;\n } else {\n return `${bitrateInBytes.toFixed(2)} B/s`;\n }\n};\n\nconst defaultAspectRatios = [\"Match\", \"2.39:1\", \"2:1\", \"1.85:1\", \"1.66:1\", \"16:9\", \"4:3\", \n \"21:9\", \"16:10\", \"6:5\", \"1:1\", \"4:5\", \"9:16\", \"Custom\"];\n\n// Add these validation functions at the top of the file\nconst validateNumber = (value, defaultValue) => {\n const num = Number(value);\n return isNaN(num) ? defaultValue : num;\n};\n\nconst validateDimension = (value, defaultValue) => {\n const num = Math.round(Number(value));\n return isNaN(num) || num < 2 ? defaultValue : num;\n};\n\nconst dailiesCalculator = ({ addLog }) => {\n const { dailiesState, setDailiesState } = useCalculator();\n \n // Refs - Add handleShootDaysChangeRef here\n const handleShootDaysChangeRef = useRef(null);\n const ratioRef = useRef(null);\n const widthRef = useRef(null);\n const heightRef = useRef(null);\n const resolutionRef = useRef(null);\n const codecRef = useRef(null);\n const durationRef = useRef(null);\n const framerateRef = useRef(null);\n const fileSizeRef = useRef(null);\n const logRef = useRef(null);\n const dailiesCodecRef = useRef(null);\n const dailiesFileSizeRef = useRef(null);\n \n\n // State variables - declare ALL state first\n const [calcData, setCalcData] = useState(dailiesState);\n const [durationInput, setDurationInput] = useState(dailiesState.durationInput);\n const [fileSizeInput, setFileSizeInput] = useState(dailiesState.fileSizeInput);\n const [fileSizeUnit, setFileSizeUnit] = useState(dailiesState.fileSizeUnit);\n const [isDurationLocked, setIsDurationLocked] = useState(dailiesState.isDurationLocked);\n const [isFileSizeLocked, setIsFileSizeLocked] = useState(dailiesState.isFileSizeLocked);\n const [calculationMode, setCalculationMode] = useState(null);\n const [resolution, setResolution] = useState(\"1920 x 1080\");\n const [isWidthLocked, setIsWidthLocked] = useState(false);\n const [isHeightLocked, setIsHeightLocked] = useState(false);\n const [sensitivity] = useState(0.025); const [availableCameras, setAvailableCameras] = useState(dailiesState.availableCameras);\n const [availableResolutions, setAvailableResolutions] = useState(dailiesState.availableResolutions);\n const [availableFramerates, setAvailableFramerates] = useState(dailiesState.availableFramerates);\n const [availableCodecs, setAvailableCodecs] = useState(dailiesState.availableCodecs);\n const [copyStatus, setCopyStatus] = useState(dailiesState.copyStatus);\n const [isMobile, setIsMobile] = useState(dailiesState.isMobile);\n const [copiedLogIndex, setCopiedLogIndex] = useState(dailiesState.copiedLogIndex);\n const [logs, setLogs] = useState([]);\n const [selectedRatio, setSelectedRatio] = useState(\"Match\");\n const [customRatio, setCustomRatio] = useState(\"\");\n const [width, setWidth] = useState(1920);\n const [height, setHeight] = useState(1080);\n const [copyDurationText, setCopyDurationText] = useState();\n const [copyFileSizeText, setCopyFileSizeText] = useState();\n const [logButtonText, setLogButtonText] = useState();\n const [shareButtonText, setShareButtonText] = useState();\n const [resetButtonText, setResetButtonText] = useState();\n const [customRatios, setCustomRatios] = useState([]);\n const [lockedField, setLockedField] = useState(dailiesState.lockedField);\n const [previousResolution, setPreviousResolution] = useState(dailiesState.previousResolution);\n const [shootDays, setShootDays] = useState(dailiesState.shootDays);\n\n // Add new state variables at the top with other state declarations\n const [footagePerDay, setFootagePerDay] = useState(dailiesState.footagePerDay);\n const [fileSizePerDay, setFileSizePerDay] = useState(\"\");\n const [dailiesFileSizePerDay, setDailiesFileSizePerDay] = useState(\"43.949 GB\");\n const [totalDailiesFileSize, setTotalDailiesFileSize] = useState(\"43.949 GB\");\n\n // Dailies-related state\n const [dailiesData, setDailiesData] = useState({\n aspectRatio: 'Match',\n width: 1920,\n height: 1080,\n codec: 'Apple ProRes LT',\n fileSize: ''\n });\n\n\n // Update context whenever relevant state changes\n useEffect(() => {\n setDailiesState(prev => ({\n ...prev,\n footagePerDay,\n shootDays,\n durationInput,\n fileSizeInput,\n fileSizeUnit,\n dailiesFileSizePerDay,\n totalDailiesFileSize,\n selectedRatio,\n width,\n height,\n dailiesCodec: dailiesData.codec,\n lockedField,\n isWidthLocked,\n isHeightLocked,\n customRatios,\n dailiesData\n }));\n }, [\n footagePerDay,\n shootDays,\n durationInput,\n fileSizeInput,\n fileSizeUnit,\n dailiesFileSizePerDay,\n totalDailiesFileSize,\n selectedRatio,\n width,\n height,\n dailiesData,\n lockedField,\n isWidthLocked,\n isHeightLocked,\n customRatios,\n setDailiesState\n ]);\n\n // Update handleRatioChange to respect locks and recalculate dimensions\n const handleRatioChange = (e) => {\n const value = e.target.value;\n setSelectedRatio(value);\n \n if (value === \"Custom\") {\n setCustomRatio(\"\");\n return;\n }\n\n if (value === \"Match\") {\n const resolutionMatch = calcData.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (resolutionMatch) {\n const [, cameraWidth, cameraHeight] = resolutionMatch;\n const cameraAspect = parseInt(cameraWidth) / parseInt(cameraHeight);\n \n if (lockedField === 'width') {\n const newHeight = roundToEven(width / cameraAspect);\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n } else {\n const newHeight = roundToEven(width / cameraAspect);\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n }\n }\n return;\n }\n\n const aspectRatio = parseRatio(value);\n if (!isNaN(aspectRatio)) {\n if (lockedField === 'width') {\n const newHeight = roundToEven(width / aspectRatio);\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n } else {\n const newHeight = roundToEven(width / aspectRatio);\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n }\n\n // Update dailies file size calculations\n if (!isDailiesFileSizeLocked) {\n calculateDailiesFileSize(footagePerDay, true);\n const totalFrames = Timecode.parse(footagePerDay, parseFloat(calcData.framerate)).totalFrames() * shootDays;\n const totalDuration = Timecode.fromFrames(totalFrames, parseFloat(calcData.framerate)).toString();\n calculateDailiesFileSize(totalDuration, false);\n }\n }\n };\n\n const calculateDimensions = (changedField) => {\n const aspectRatio = parseRatio(selectedRatio);\n if (isNaN(aspectRatio)) return;\n\n switch (calculationMode) {\n case 'width':\n // Width is locked - only ratio changes can update height\n if (changedField === 'ratio') {\n setHeight(roundToEven(width / aspectRatio));\n }\n break;\n\n case 'height':\n // Height is locked - only ratio changes can update width\n if (changedField === 'ratio') {\n setWidth(roundToEven(height * aspectRatio));\n }\n break;\n\n case 'ratio':\n // Ratio is locked - maintain ratio while updating dimensions\n if (changedField === 'width') {\n setHeight(roundToEven(width / aspectRatio));\n } else if (changedField === 'height') {\n setWidth(roundToEven(height * aspectRatio));\n }\n break;\n\n default:\n // Nothing is locked - update based on changed field\n if (changedField === 'width') {\n setHeight(roundToEven(width / aspectRatio));\n } else if (changedField === 'height') {\n setWidth(roundToEven(height * aspectRatio));\n } else if (changedField === 'ratio') {\n setHeight(roundToEven(width / aspectRatio));\n }\n break;\n }\n };\n\n // Helper function to calculate aspect ratio without causing loops\n const recalculateDimensions = (field, context = 'manual') => {\n const aspectRatio = parseRatio(selectedRatio);\n if (isNaN(aspectRatio)) return;\n\n switch (calculationMode) {\n case 'width':\n setHeight(roundToEven(width / aspectRatio));\n break;\n case 'height':\n setWidth(roundToEven(height * aspectRatio));\n break;\n case 'ratio':\n if (field === 'width') {\n setHeight(roundToEven(width / aspectRatio));\n } else if (field === 'height') {\n setWidth(roundToEven(height * aspectRatio));\n }\n break;\n default:\n setHeight(roundToEven(width / aspectRatio));\n break;\n }\n };\n\n // Update handleWidthChange to respect locks\n const handleWidthChange = (e) => {\n const newWidth = validateDimension(e.target.value, width);\n \n if (lockedField === 'height') {\n setWidth(newWidth);\n setDailiesData(prev => ({ ...prev, width: newWidth }));\n \n if (selectedRatio !== 'Custom' && newWidth > 0) {\n const newRatio = newWidth / height;\n const formattedRatio = formatRatio(newRatio);\n if (!defaultAspectRatios.includes(formattedRatio) && \n !customRatios.includes(formattedRatio)) {\n setCustomRatios(prevRatios => {\n const newRatios = [...prevRatios, formattedRatio];\n return newRatios.sort(compareRatios);\n });\n }\n setSelectedRatio(formattedRatio);\n }\n } else if (!lockedField || lockedField === 'width') {\n setWidth(newWidth);\n setDailiesData(prev => ({ ...prev, width: newWidth }));\n if (selectedRatio !== 'Custom') {\n const aspectRatio = parseRatio(selectedRatio);\n if (!isNaN(aspectRatio)) {\n const newHeight = roundToEven(newWidth / aspectRatio);\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n }\n }\n }\n };\n\n // Update handleHeightChange to respect locks\n const handleHeightChange = (e) => {\n const newHeight = validateDimension(e.target.value, height);\n \n if (lockedField === 'width') {\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n \n if (selectedRatio !== 'Custom' && newHeight > 0) {\n const newRatio = width / newHeight;\n const formattedRatio = formatRatio(newRatio);\n if (!defaultAspectRatios.includes(formattedRatio) && \n !customRatios.includes(formattedRatio)) {\n setCustomRatios(prevRatios => {\n const newRatios = [...prevRatios, formattedRatio];\n return newRatios.sort(compareRatios);\n });\n }\n setSelectedRatio(formattedRatio);\n }\n } else if (!lockedField || lockedField === 'height') {\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n if (selectedRatio !== 'Custom') {\n const aspectRatio = parseRatio(selectedRatio);\n if (!isNaN(aspectRatio)) {\n const newWidth = roundToEven(newHeight * aspectRatio);\n setWidth(newWidth);\n setDailiesData(prev => ({ ...prev, width: newWidth }));\n }\n }\n }\n };\n\n const parseRatio = (input) => {\n if (!input || typeof input !== 'string') {\n return 16/9; // Default to 16:9 if invalid input\n }\n\n // Remove all whitespace and convert to lowercase\n input = input.toLowerCase().replace(/\\s+/g, '');\n\n // Check for decimal format first (e.g., 2.35 or 1.77)\n const decimalMatch = input.match(/^(\\d+(?:\\.\\d+)?)$/);\n if (decimalMatch) {\n const result = parseFloat(input);\n return isNaN(result) ? 16/9 : result;\n }\n\n // Check for ratio format (e.g., 16:9, 16x9, 2.35:1)\n const ratioMatch = input.match(/^(\\d+(?:\\.\\d+)?)[:x](\\d+(?:\\.\\d+)?)$/);\n if (ratioMatch) {\n const [w, h] = ratioMatch.slice(1).map(Number);\n if (h === 0) return 16/9;\n const result = w / h;\n return isNaN(result) ? 16/9 : result;\n }\n\n // If none of the above formats match, return default\n return 16/9;\n };\n\n const compareRatios = (a, b) => {\n const ratioA = parseRatio(a);\n const ratioB = parseRatio(b);\n return ratioA - ratioB;\n };\n\n const formatRatioDisplay = (ratio) => {\n return ratio;\n };\n\n\n const handleCustomRatioChange = (e) => {\n const value = e.target.value;\n console.log('Custom ratio input:', value);\n // Allow digits, decimal point, colon, 'x', and space\n // Replace any sequence of spaces with a single space\n if (/^[\\d.:x\\s]*$/.test(value)) {\n const cleanedValue = value.replace(/\\s+/g, ' ');\n // If there's a space, automatically convert it to a colon\n const formattedValue = cleanedValue.replace(/\\s/g, ':');\n setCustomRatio(formattedValue);\n console.log('Valid input, setting custom ratio:', formattedValue);\n } else {\n console.log('Invalid input, ignoring');\n }\n };\n\n const handleCustomRatioKeyPress = (e) => {\n if (e.key === 'Enter' || e.key === 'Tab') {\n e.preventDefault();\n processCustomRatio();\n }\n };\n\n const handleCustomRatioBlur = () => {\n processCustomRatio();\n };\n\n // Update handleWidthChange to respect locks\n // const handleWidthChange = (e) => {\n // if (lockedField === 'height') {\n // const newWidth = validateDimension(e.target.value, dailiesData.width);\n // setWidth(newWidth);\n // setDailiesData(prev => ({ ...prev, width: newWidth }));\n \n // // Calculate and set new aspect ratio when width changes with height locked\n // if (newWidth > 0) {\n // const newRatio = newWidth / height;\n // const formattedRatio = formatRatio(newRatio);\n \n // // Add to custom ratios if it's new\n // if (!defaultAspectRatios.includes(formattedRatio) && \n // !customRatios.includes(formattedRatio)) {\n // setCustomRatios(prevRatios => {\n // const newRatios = [...prevRatios, formattedRatio];\n // return newRatios.sort(compareRatios);\n // });\n // }\n \n // setSelectedRatio(formattedRatio);\n // }\n // } else if (!lockedField || lockedField === 'width') {\n // const newWidth = validateDimension(e.target.value, dailiesData.width);\n // setWidth(newWidth);\n // setDailiesData(prev => ({ ...prev, width: newWidth }));\n // calculateDimensions('width');\n // }\n // };\n\n // // Update handleHeightChange to respect locks\n // const handleHeightChange = (e) => {\n // if (lockedField === 'width') {\n // const newHeight = validateDimension(e.target.value, dailiesData.height);\n // setHeight(newHeight);\n // setDailiesData(prev => ({ ...prev, height: newHeight }));\n \n // // Calculate and set new aspect ratio when height changes with width locked\n // if (newHeight > 0) {\n // const newRatio = width / newHeight;\n // const formattedRatio = formatRatio(newRatio);\n \n // // Add to custom ratios if it's new\n // if (!defaultAspectRatios.includes(formattedRatio) && \n // !customRatios.includes(formattedRatio)) {\n // setCustomRatios(prevRatios => {\n // const newRatios = [...prevRatios, formattedRatio];\n // return newRatios.sort(compareRatios);\n // });\n // }\n \n // setSelectedRatio(formattedRatio);\n // }\n // } else if (!lockedField || lockedField === 'height') {\n // const newHeight = validateDimension(e.target.value, dailiesData.height);\n // setHeight(newHeight);\n // setDailiesData(prev => ({ ...prev, height: newHeight }));\n // calculateDimensions('height');\n // }\n // };\n\n\n const handleWidthBlur = () => {\n const newWidth = validateDimension(width, 1920);\n setWidth(newWidth);\n setDailiesData(prev => ({ ...prev, width: newWidth }));\n \n if (selectedRatio !== 'Custom' && !lockedField) {\n const aspectRatio = parseRatio(selectedRatio);\n if (!isNaN(aspectRatio)) {\n const newHeight = roundToEven(newWidth / aspectRatio);\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n }\n }\n };\n\n const handleHeightBlur = () => {\n const newHeight = validateDimension(height, 1080);\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n \n if (selectedRatio !== 'Custom' && !lockedField) {\n const aspectRatio = parseRatio(selectedRatio);\n if (!isNaN(aspectRatio)) {\n const newWidth = roundToEven(newHeight * aspectRatio);\n setWidth(newWidth);\n setDailiesData(prev => ({ ...prev, width: newWidth }));\n }\n }\n\n // Recalculate dailies file size\n if (!isDailiesFileSizeLocked) {\n calculateDailiesFileSize(footagePerDay, true);\n const totalFrames = Timecode.parse(footagePerDay, parseFloat(calcData.framerate)).totalFrames() * shootDays;\n const totalDuration = Timecode.fromFrames(totalFrames, parseFloat(calcData.framerate)).toString();\n calculateDailiesFileSize(totalDuration, false);\n }\n };\n\n const handleWidthKeyPress = (e) => {\n if (e.key === 'Enter') {\n e.target.blur();\n }\n };\n\n const handleHeightKeyPress = (e) => {\n if (e.key === 'Enter') {\n const newHeight = roundToEven(parseInt(height, 10) || 0);\n setHeight(newHeight);\n\n if (lockedField === 'width') {\n const newRatio = width / newHeight;\n const formattedRatio = formatRatio(newRatio);\n setSelectedRatio(formattedRatio);\n } else if (!lockedField || lockedField === 'ratio') {\n const aspectRatio = parseRatio(selectedRatio);\n const newWidth = roundToEven(newHeight * aspectRatio);\n setWidth(newWidth);\n }\n\n e.target.blur();\n }\n };\n\n // Update handleWidthWheel to use rounded values\n const handleWidthWheel = (e) => {\n e.preventDefault();\n if (lockedField === 'height') return;\n\n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const isLeftHalf = x < rect.width / 2;\n const scrollAmount = -e.deltaY;\n const baseChange = isLeftHalf ? 20 : 2;\n const changeAmount = Math.abs(scrollAmount) > 50 \n ? baseChange * Math.abs(scrollAmount / 50) \n : baseChange;\n const delta = Math.sign(scrollAmount);\n \n const newWidth = Math.max(2, width + (delta * changeAmount));\n handleWidthChange({ target: { value: roundToEven(newWidth) } });\n };\n\n // Update handleHeightWheel to use rounded values\n const handleHeightWheel = (e) => {\n e.preventDefault();\n if (lockedField === 'width') return;\n\n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const isLeftHalf = x < rect.width / 2;\n const scrollAmount = -e.deltaY;\n const baseChange = isLeftHalf ? 20 : 2;\n const changeAmount = Math.abs(scrollAmount) > 50 \n ? baseChange * Math.abs(scrollAmount / 50) \n : baseChange;\n const delta = Math.sign(scrollAmount);\n \n const newHeight = Math.max(2, height + (delta * changeAmount));\n setHeight(roundToEven(newHeight));\n setDailiesData(prev => ({ ...prev, height: roundToEven(newHeight) }));\n };\n\n const updateRatio = (newRatio) => {\n const formattedRatio = formatRatio(newRatio);\n if (!defaultAspectRatios.includes(formattedRatio) && !customRatios.includes(formattedRatio)) {\n setCustomRatios(prevRatios => {\n const newRatios = [...prevRatios, formattedRatio];\n return newRatios.sort(compareRatios);\n });\n }\n setSelectedRatio(formattedRatio);\n setCustomRatio(formattedRatio);\n };\n\n const handleLockClick = () => {\n if (!lockedField) {\n setLockedField('width');\n setIsWidthLocked(true);\n setIsHeightLocked(false);\n } else if (lockedField === 'width') {\n setLockedField('height');\n setIsWidthLocked(false);\n setIsHeightLocked(true);\n } else {\n setLockedField(null);\n setIsWidthLocked(false);\n setIsHeightLocked(false);\n }\n\n // Maintain aspect ratio when changing lock state\n if (selectedRatio !== 'Custom') {\n const aspectRatio = parseRatio(selectedRatio);\n if (!isNaN(aspectRatio)) {\n if (lockedField === 'width') {\n const newHeight = roundToEven(width / aspectRatio);\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n } else if (lockedField === 'height') {\n const newWidth = roundToEven(height * aspectRatio);\n setWidth(newWidth);\n setDailiesData(prev => ({ ...prev, width: newWidth }));\n }\n }\n }\n };\n\n\n const calculateDuration = (data = calcData, fileSizeInput) => {\n if (!data) {\n console.error('Invalid data for duration calculation');\n return \"00:00:00:01\"; // Ensure at least 1 frame\n }\n\n // if (!data || !data.fileSize || !data.fileSizeUnit) {\n // console.error('Invalid data for duration calculation');\n // return \"00:00:00:01\"; // Ensure at least 1 frame\n // }\n\n const selectedCodec = codecs.find(codec => codec.name === data.codec);\n if (!selectedCodec) {\n console.error('Invalid codec');\n return \"00:00:00:01\";\n }\n\n const datarate = selectedCodec.datarate;\n const resolutionMatch = data.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n let resolutionValue;\n if (resolutionMatch) {\n const [, width, height] = resolutionMatch;\n resolutionValue = parseInt(width) * parseInt(height);\n } else {\n console.error('Invalid resolution format');\n return \"00:00:00:01\";\n }\n\n const fps = parseFloat(data.framerate);\n const parsedSize = parseFileSize(fileSizeInput || `${data.fileSize} ${fileSizeUnit}`);\n if (!parsedSize) {\n console.error('Invalid file size');\n return \"00:00:00:01\"; // Ensure at least 1 frame\n }\n\n // Unit multipliers for file size calculations\n const unitMultiplier = {\n 'B': 1,\n 'KB': 1024,\n 'MB': 1024 * 1024,\n 'GB': 1024 * 1024 * 1024,\n 'TB': 1024 * 1024 * 1024 * 1024,\n 'PB': 1024 * 1024 * 1024 * 1024 * 1024\n };\n\n const size_in_bytes = parseFloat(parsedSize.size) * unitMultiplier[parsedSize.unit];\n\n const bytes_per_second = datarate * resolutionValue * fps;\n\n let total_seconds = size_in_bytes / (bytes_per_second * 1024 * 1024 / 8);\n\n console.log(\"Calculated total seconds:\", total_seconds); // Debug log\n\n // Ensure the total_seconds is at least enough for one frame\n if (total_seconds < 1 / fps) {\n total_seconds = 1 / fps;\n }\n\n const hours = Math.floor(total_seconds / 3600);\n total_seconds %= 3600;\n const minutes = Math.floor(total_seconds / 60);\n total_seconds %= 60;\n const seconds = Math.floor(total_seconds);\n const frames = Math.round((total_seconds - seconds) * fps);\n\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n };\n\n // Convert resolutions object to array for select options\n const resolutionOptions = Object.keys(resolutions);\n\n // Get resolution string for display\n let resolutionString;\n if (calcData.resolution === 'Custom') {\n resolutionString = calcData.customResolution;\n } else {\n const match = calcData.resolution.match(/\\((\\d+\\s*x\\s*\\d+)\\)/);\n resolutionString = match ? match[1].replace(/\\s+/g, '') : calcData.resolution;\n }\n\n // Ref for previous calcData\n const prevCalcData = useRef(calcData);\n\n // Effect to check if the device is mobile\n useEffect(() => {\n const checkMobile = () => {\n setIsMobile(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));\n };\n checkMobile();\n window.addEventListener('resize', checkMobile);\n\n return () => window.removeEventListener('resize', checkMobile);\n }, []);\n\n // Update the handleDurationLockClick function\n const handleDurationLockClick = () => {\n if (isDurationLocked) {\n // Unlock duration\n setIsDurationLocked(false);\n setCalculationMode(null);\n } else {\n // Lock duration and unlock file size\n setIsDurationLocked(true);\n setIsFileSizeLocked(false);\n setCalculationMode('duration');\n setCalcData(prevData => ({\n ...prevData,\n duration: durationInput,\n fileSize: parseFloat(fileSizeInput.split(' ')[0]) // Ensure fileSize is correctly set\n }));\n }\n };\n\n // Handler for file size lock click\n const handleFileSizeLockClick = () => {\n if (isFileSizeLocked) {\n // Unlock file size\n setIsFileSizeLocked(false);\n setCalculationMode(null);\n } else {\n // Lock file size and unlock duration\n setIsFileSizeLocked(true);\n setIsDurationLocked(false);\n setCalculationMode('fileSize');\n setCalcData(prevData => ({\n ...prevData,\n fileSize: parseFloat(fileSizeInput.split(' ')[0]),\n duration: durationInput\n }));\n }\n };\n\n useEffect(() => {\n const cameras = getCamerasByBrand(calcData.brand);\n setAvailableCameras(cameras);\n \n if (!cameras.includes(calcData.camera)) {\n const newCamera = cameras[0] || '';\n setCalcData(prev => ({ \n ...prev, \n camera: newCamera,\n resolution: '', // Reset resolution\n codec: '', // Reset codec\n framerate: '' // Reset framerate\n }));\n }\n }, [calcData.brand]);\n\n useEffect(() => {\n if (calcData.camera) {\n try {\n const resolutions = getResolutionsForCamera(calcData.camera);\n setAvailableResolutions(resolutions);\n \n if (!resolutions.includes(calcData.resolution)) {\n const newResolution = resolutions[0] || '';\n setCalcData(prev => ({ \n ...prev, \n resolution: newResolution,\n codec: '', // Reset codec\n framerate: '' // Reset framerate\n }));\n }\n } catch (error) {\n console.error('Error getting resolutions:', error);\n setAvailableResolutions([]);\n }\n }\n }, [calcData.camera]);\n\n useEffect(() => {\n if (calcData.camera && calcData.resolution) {\n try {\n const codecs = getCodecsForCameraAndResolution(calcData.camera, calcData.resolution);\n setAvailableCodecs(codecs);\n \n if (!codecs.includes(calcData.codec)) {\n const newCodec = codecs[0] || '';\n setCalcData(prev => ({ \n ...prev, \n codec: newCodec,\n framerate: '' // Reset framerate\n }));\n }\n } catch (error) {\n console.error('Error getting codecs:', error);\n setAvailableCodecs([]);\n }\n }\n }, [calcData.camera, calcData.resolution]);\n\n useEffect(() => {\n if (calcData.camera && calcData.resolution && calcData.codec) {\n updateFramerateForCodec(calcData.camera, calcData.resolution, calcData.codec);\n }\n }, [calcData.camera, calcData.resolution, calcData.codec]);\n\n const updateFramerateForCodec = (camera, resolution, codec) => {\n const framerates = getFrameratesForCamera(camera, resolution, codec);\n setAvailableFramerates(framerates);\n \n if (!framerates.includes(calcData.framerate)) {\n const defaultFramerate = '24';\n const newFramerate = framerates.includes(defaultFramerate) ? defaultFramerate : framerates[0] || '';\n setCalcData(prev => ({ ...prev, framerate: newFramerate }));\n }\n };\n\n const calculateFileSize = (data = calcData) => {\n try {\n console.log(\"Starting file size calculation with data:\", data);\n\n const [hours, minutes, seconds, frames] = data.duration.split(':').map(Number);\n const totalFrames = (hours * 3600 + minutes * 60 + seconds) * parseFloat(data.framerate) + frames;\n console.log(\"Total frames:\", totalFrames);\n\n let resolutionValue;\n const resolutionMatch = data.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (resolutionMatch) {\n const [, width, height] = resolutionMatch;\n resolutionValue = parseInt(width) * parseInt(height);\n console.log(\"Resolution parsed from string:\", width, \"x\", height);\n } else {\n const resolutionData = resolutions[data.resolution];\n if (!resolutionData || !resolutionData.dimensions) {\n throw new Error(`Invalid resolution: ${data.resolution}`);\n }\n const [width, height] = resolutionData.dimensions;\n resolutionValue = width * height;\n }\n console.log(\"Resolution value:\", resolutionValue);\n\n const selectedCodec = codecs.find(codec => codec.name === data.codec);\n console.log(\"Selected codec:\", selectedCodec);\n if (!selectedCodec) {\n throw new Error(`Invalid codec: ${data.codec}`);\n }\n\n const megapixels = resolutionValue; // Convert to megapixels\n const datarate = selectedCodec.datarate;\n const fileSizeGB = (totalFrames * megapixels * datarate) / 8 / 1024;\n console.log(\"Calculated file size in GB:\", fileSizeGB);\n\n const { size, unit } = formatFileSize(fileSizeGB);\n console.log(\"Formatted file size:\", size, unit);\n\n return { size, unit };\n } catch (error) {\n console.error(\"Error calculating file size:\", error.message);\n return { size: '0', unit: 'B' };\n }\n };\n\n // Replace both calculateDailiesFileSize functions with this single version\n const calculateDailiesFileSize = useCallback((duration, isPerDay = false) => {\n try {\n if (!duration || !calcData.framerate || !dailiesData.width || !dailiesData.height || !dailiesData.codec) {\n console.log(\"Missing required data for dailies calculation\");\n const defaultSize = isPerDay ? \"43.949 GB\" : \"43.949 GB\";\n if (isPerDay) {\n setDailiesFileSizePerDay(defaultSize);\n } else {\n setTotalDailiesFileSize(defaultSize);\n setDailiesFileSize(defaultSize);\n }\n return;\n }\n\n // Parse duration into frames\n const [hours, minutes, seconds, frames] = duration.split(':').map(Number);\n const framerate = validateNumber(parseFloat(calcData.framerate), 24);\n const totalFrames = (hours * 3600 + minutes * 60 + seconds) * framerate + frames;\n \n // Calculate resolution value (total pixels)\n const resolutionValue = validateDimension(dailiesData.width, 1920) * \n validateDimension(dailiesData.height, 1080);\n \n // Find the selected codec and its datarate\n const selectedCodec = dailiesCodecs.find(codec => codec.name === dailiesData.codec) || \n dailiesCodecs.find(codec => codec.name === 'Apple ProRes LT');\n \n // Calculate file size\n const datarate = selectedCodec.datarate;\n const fileSizeGB = (totalFrames * resolutionValue * datarate) / 8 / 1024;\n const { size, unit } = formatFileSize(fileSizeGB);\n \n // Update the appropriate state based on isPerDay flag\n if (isPerDay) {\n setDailiesFileSizePerDay(`${size} ${unit}`);\n } else {\n setTotalDailiesFileSize(`${size} ${unit}`);\n setDailiesFileSize(`${size} ${unit}`);\n }\n\n } catch (error) {\n console.error(\"Error calculating dailies file size:\", error);\n const defaultSize = isPerDay ? \"43.949 GB\" : \"43.949 GB\";\n if (isPerDay) {\n setDailiesFileSizePerDay(defaultSize);\n } else {\n setTotalDailiesFileSize(defaultSize);\n setDailiesFileSize(defaultSize);\n }\n }\n }, [calcData.framerate, dailiesData.width, dailiesData.height, dailiesData.codec]);\n\n\n // Update recalculateFileSizes to handle all calculations\n const recalculateFileSizes = useCallback((newData = calcData, newFootagePerDay = footagePerDay, newShootDays = shootDays) => {\n try {\n // 1. Calculate file size per day for OCF\n const { size: perDaySize, unit: perDayUnit } = calculateFileSize({ \n ...newData,\n duration: newFootagePerDay \n });\n setFileSizePerDay(`${perDaySize} ${perDayUnit}`);\n \n // 2. Calculate total duration based on shoot days\n const totalFrames = Timecode.parse(newFootagePerDay, parseFloat(newData.framerate)).totalFrames() * newShootDays;\n const totalDuration = Timecode.fromFrames(totalFrames, parseFloat(newData.framerate)).toString();\n setDurationInput(totalDuration);\n \n // 3. Calculate total OCF file size\n const { size: totalSize, unit: totalUnit } = calculateFileSize({ \n ...newData,\n duration: totalDuration \n });\n setFileSizeInput(`${totalSize} ${totalUnit}`);\n setFileSizeUnit(totalUnit);\n\n // 4. Calculate dailies file size per day\n calculateDailiesFileSize(newFootagePerDay, true);\n \n // 5. Calculate total dailies file size\n calculateDailiesFileSize(totalDuration, false);\n\n } catch (error) {\n console.error(\"Error updating calculations:\", error);\n }\n }, [calcData, footagePerDay, shootDays, calculateFileSize, calculateDailiesFileSize]);\n\n // Add this effect to trigger recalculation when relevant values change\n useEffect(() => {\n recalculateFileSizes(calcData, footagePerDay, shootDays);\n }, [\n calcData.brand,\n calcData.camera,\n calcData.resolution,\n calcData.codec,\n calcData.framerate,\n footagePerDay,\n shootDays,\n dailiesData.width,\n dailiesData.height,\n dailiesData.codec,\n recalculateFileSizes\n ]);\n\n // Update handleInputChange to trigger recalculations\n const handleInputChange = (e) => {\n const { name, value } = e.target;\n \n const newCalcData = {\n ...calcData,\n [name]: value\n };\n \n setCalcData(newCalcData);\n recalculateFileSizes(newCalcData, footagePerDay, shootDays);\n };\n\n // Update handleDailiesCodecChange\n const handleDailiesCodecChange = (e) => {\n const newCodec = e.target.value;\n setDailiesData(prev => ({ ...prev, codec: newCodec }));\n \n // Recalculate all dailies sizes with new codec\n calculateDailiesFileSize(footagePerDay, true);\n \n const totalFrames = Timecode.parse(footagePerDay, parseFloat(calcData.framerate)).totalFrames() * shootDays;\n const totalDuration = Timecode.fromFrames(totalFrames, parseFloat(calcData.framerate)).toString();\n calculateDailiesFileSize(totalDuration, false);\n };\n\n const handleBlur = () => {\n calculateDimensions();\n };\n\n const handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n calculateDimensions();\n }\n };\n\n // Function to format duration\n const formatDuration = (value) => {\n const parts = value.split(':').filter(part => part !== '');\n while (parts.length < 4) {\n parts.unshift('00');\n }\n return parts.join(':');\n };\n\n // Add handleDurationFocus function\n const handleDurationFocus = () => {\n if (!isDurationLocked) {\n setFootagePerDay('');\n }\n };\n\n // Function to parse duration input\n const parseDuration = (input, framerate) => {\n if (!input || input.trim() === '') {\n return new Timecode(0, 0, 0, 0, framerate).toString();\n }\n\n input = input.trim().toLowerCase();\n\n // Helper function to handle rollovers\n const handleRollover = (hours, minutes, seconds, frames) => {\n // Handle frame rollover\n if (frames >= framerate) {\n seconds += Math.floor(frames / framerate);\n frames %= framerate;\n }\n // Handle seconds rollover\n if (seconds >= 60) {\n minutes += Math.floor(seconds / 60);\n seconds %= 60;\n }\n // Handle minutes rollover\n if (minutes >= 60) {\n hours += Math.floor(minutes / 60);\n minutes %= 60;\n }\n return [hours, minutes, seconds, frames];\n };\n\n // Handle special period patterns first\n if (input.includes('.')) {\n const parts = input.split('.');\n switch (parts.length) {\n case 2: // 1.12 -> 00:01:00:12\n let [minutes, frames1] = [parseInt(parts[0]) || 0, parseInt(parts[1]) || 0];\n return new Timecode(...handleRollover(0, minutes, 0, frames1), framerate).toString();\n case 3: // 1..12 -> 01:00:00:12 or 11..1 -> 11:00:00:01\n let [hours, , frames2] = [parseInt(parts[0]) || 0, 0, parseInt(parts[2]) || 0];\n return new Timecode(...handleRollover(hours, 0, 0, frames2), framerate).toString();\n default:\n // For any other number of periods, treat each as 00\n return new Timecode(...Array(input.match(/\\./g).length).fill(0), framerate).toString();\n }\n }\n\n // Handle colon patterns (e.g., 1:12 -> 00:00:01:12)\n if (input.includes(':')) {\n const parts = input.split(':').map(num => parseInt(num) || 0);\n while (parts.length < 4) parts.unshift(0);\n return new Timecode(...handleRollover(...parts), framerate).toString();\n }\n\n // Handle continuous digit input with patterns\n if (/^\\d+$/.test(input)) {\n let parts = [];\n \n switch (input.length) {\n case 8: // HH:MM:SS:FF\n parts = [\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n parseInt(input.slice(4, 6)) || 0,\n parseInt(input.slice(6, 8)) || 0\n ];\n break;\n case 7: // 0H:MM:SS:FF\n parts = [\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n parseInt(input.slice(3, 5)) || 0,\n parseInt(input.slice(5, 7)) || 0\n ];\n break;\n case 6: // HH:MM:SS:00\n parts = [\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n parseInt(input.slice(4, 6)) || 0,\n 0\n ];\n break;\n case 5: // 0H:MM:SS:00\n parts = [\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n parseInt(input.slice(3, 5)) || 0,\n 0\n ];\n break;\n case 4: // 00:MM:SS:00\n parts = [\n 0,\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n 0\n ];\n break;\n case 3: // 00:0M:SS:00\n parts = [\n 0,\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n 0\n ];\n break;\n case 2: // 00:00:SS:00\n parts = [0, 0, parseInt(input.slice(0, 2)) || 0, 0];\n break;\n case 1: // 00:00:0S:00\n parts = [0, 0, parseInt('0' + input) || 0, 0];\n break;\n default:\n // For any other length, treat as seconds\n const seconds = parseInt(input, 10);\n return new Timecode(...handleRollover(0, 0, seconds, 0), framerate).toString();\n }\n\n return new Timecode(...handleRollover(...parts), framerate).toString();\n }\n\n // Handle text-based duration inputs (e.g., \"1h 30m\")\n const patterns = {\n week: /(\\d+)\\s*(?:w|wk|wks|week|weeks)/i,\n day: /(\\d+)\\s*(?:d|dy|dys|day|days)/i,\n hour: /(\\d+)\\s*(?:h|hr|hrs|hour|hours)/i,\n minute: /(\\d+)\\s*(?:m|min|mins|minute|minutes)/i,\n second: /(\\d+)\\s*(?:s|sec|secs|second|seconds)/i,\n frame: /(\\d+)\\s*(?:f|fr|frm|frms|frame|frames)/i\n };\n\n let totalFrames = 0;\n\n Object.entries(patterns).forEach(([unit, pattern]) => {\n const match = input.match(pattern);\n if (match) {\n const value = parseInt(match[1]);\n switch (unit) {\n case 'week': totalFrames += value * 7 * 24 * 3600 * framerate; break;\n case 'day': totalFrames += value * 24 * 3600 * framerate; break;\n case 'hour': totalFrames += value * 3600 * framerate; break;\n case 'minute': totalFrames += value * 60 * framerate; break;\n case 'second': totalFrames += value * framerate; break;\n case 'frame': totalFrames += value; break;\n }\n }\n });\n\n if (totalFrames === 0) {\n // If no valid time units were found, try parsing as a single number (assume seconds)\n const totalSeconds = parseFloat(input);\n if (!isNaN(totalSeconds)) {\n totalFrames = Math.round(totalSeconds * framerate);\n } else {\n throw new Error(\"Invalid duration format\");\n }\n }\n\n return Timecode.fromFrames(totalFrames, framerate).toString();\n };\n\n\n const handleShare = async () => {\n const shareUrl = new URL(window.location.href);\n shareUrl.searchParams.set('brand', calcData.brand);\n shareUrl.searchParams.set('camera', calcData.camera);\n shareUrl.searchParams.set('resolution', calcData.resolution);\n shareUrl.searchParams.set('codec', calcData.codec);\n shareUrl.searchParams.set('framerate', calcData.framerate);\n shareUrl.searchParams.set('duration', durationInput);\n shareUrl.searchParams.set('fileSize', fileSizeInput);\n shareUrl.searchParams.set('dailiesCodec', dailiesData.codec);\n shareUrl.searchParams.set('dailiesWidth', dailiesData.width.toString());\n shareUrl.searchParams.set('dailiesHeight', dailiesData.height.toString());\n if (calculationMode) {\n shareUrl.searchParams.set('mode', calculationMode);\n }\n\n const shareButtonText = `${calcData.brand} ${calcData.camera} - ${calcData.resolution}\\n` +\n `${calcData.codec} @ ${calcData.framerate}fps\\n` +\n `Dailies: ${dailiesData.codec} (${dailiesData.width}x${dailiesData.height})\\n` +\n `${durationInput} = ${dailiesFileSizePerDay} per day`;\n \n try {\n const result = await handleShareOnDevice(\n 'TBD Post DataCalc',\n `Check out this dailies calculation: ${shareButtonText}`,\n shareUrl.toString()\n );\n\n if (result?.success) {\n setShareButtonText();\n setTimeout(() => setShareButtonText(), 500);\n }\n return result;\n } catch (error) {\n console.error('Share failed:', error);\n return { success: false, method: 'none' };\n }\n };\n\n const handleShareSuccess = () => {\n setShareButtonText();\n setTimeout(() => setShareButtonText(), 500);\n };\n\n const handleShareError = (error) => {\n console.error('Failed to copy or share: ', error);\n };\n\n const handleShareLog = () => {\n const shareUrl = generateShareUrl();\n handleShare(isMobile, 'Camera to File Size', `${calcData.brand} ${calcData.camera} - ${calcData.resolution} ${calcData.codec} @ ${calcData.framerate}fps ${calcData.duration} = ${fileSizeInput}`, shareUrl, () => {\n setShareButtonText();\n setTimeout(() => setShareButtonText(), 500);\n });\n };\n\n const handleShareLogError = (error) => {\n console.error('Failed to copy or share: ', error);\n };\n\n const generateShareUrl = () => {\n const params = new URLSearchParams({\n duration: calcData.duration,\n brand: calcData.brand,\n camera: calcData.camera,\n resolution: calcData.resolution,\n codec: calcData.codec,\n framerate: calcData.framerate,\n fileSize: fileSizeInput,\n calculationMode: calculationMode || '',\n lockedField: lockedField || ''\n });\n return `${window.location.origin}${window.location.pathname}?${params.toString()}`;\n };\n\n\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n if (params.has('duration')) {\n const newCalcData = {\n duration: params.get('duration') || '01:00:00:00',\n brand: params.get('brand') || 'ARRI',\n camera: params.get('camera') || 'ALEXA 35',\n resolution: params.get('resolution') || '4.6K 3:2 Open Gate (4608 x 3164)',\n codec: params.get('codec') || 'ARRIRAW',\n framerate: params.get('framerate') || '24',\n };\n setCalcData(newCalcData);\n setDurationInput(params.get('duration') || '01:00:00:00');\n setFileSizeInput(params.get('fileSize') || '1.915 TB');\n }\n }, []);\n\n // Handler for duration blur event\n const handleDurationBlur = () => {\n if (durationInput.trim() === '') {\n setDurationInput('');\n if (!isDurationLocked) {\n setCalcData(prevData => ({ ...prevData, duration: '' }));\n }\n } else {\n try {\n const parsedDuration = parseDuration(durationInput, parseFloat(calcData.framerate));\n setDurationInput(parsedDuration);\n if (!isDurationLocked) {\n setCalcData(prevData => ({\n ...prevData,\n duration: parsedDuration\n }));\n // Recalculate file size if needed\n if (!isFileSizeLocked) {\n const { size, unit } = calculateFileSize();\n setFileSizeInput(`${size} ${unit}`);\n setFileSizeUnit(unit);\n }\n }\n } catch (error) {\n console.error(\"Invalid duration format\");\n setDurationInput('');\n if (!isDurationLocked) {\n setCalcData(prevData => ({ ...prevData, duration: '' }));\n }\n }\n }\n };\n\n // Handler for duration key press\n const handleDurationKeyPress = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n if (!isDurationLocked) {\n try {\n const parsedDuration = parseDuration(durationInput, parseFloat(calcData.framerate));\n setDurationInput(parsedDuration);\n setCalcData(prev => ({\n ...prev,\n duration: parsedDuration\n }));\n // Recalculate file size based on the parsed duration\n if (!isFileSizeLocked) {\n const { size, unit } = calculateFileSize({ ...calcData, duration: parsedDuration });\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n }\n // Blur the input field\n e.target.blur();\n } catch (error) {\n console.error(\"Invalid duration format\");\n // Optionally, notify the user or revert to the previous valid duration\n }\n }\n }\n };\n\n const handleWheel = (e, options, currentValue, setterFunction, fieldType) => {\n e.preventDefault();\n const index = options.indexOf(currentValue);\n const sensitivity = 0.025;\n const scrollAmount = -e.deltaY * sensitivity;\n \n let newIndex = index + Math.sign(scrollAmount);\n newIndex = Math.max(0, Math.min(newIndex, options.length - 1));\n \n if (newIndex !== index) {\n const newValue = options[newIndex];\n \n // Recalculate based on lock state\n if (calculationMode === 'fileSize') {\n // If file size is locked, only update duration\n const duration = calculateDuration({ \n ...calcData, \n [fieldType]: newValue \n }, fileSizeInput);\n \n setDurationInput(duration);\n setCalcData(prev => ({\n ...prev,\n [fieldType]: newValue,\n duration: duration\n }));\n } else {\n // If duration is locked or nothing is locked, update file size\n const { size, unit } = calculateFileSize({ \n ...calcData, \n [fieldType]: newValue \n });\n \n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prev => ({\n ...prev,\n [fieldType]: newValue,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n }\n }\n };\n\n // Update handleDurationWheel to include file size calculations\n const handleDurationWheel = (e) => {\n e.preventDefault();\n if (isDurationLocked) return; // Immediately return if duration is locked\n\n const sensitivity = 0.025;\n const scrollAmount = -e.deltaY * sensitivity; // Note the negative sign here\n \n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const width = rect.width;\n \n let [hours, minutes, seconds, frames] = calcData.duration.split(':').map(Number);\n const framerate = parseFloat(calcData.framerate);\n \n if (x < width * 0.25) {\n // Scrolling hours\n hours += Math.sign(scrollAmount);\n hours = Math.max(0, hours);\n } else if (x < width * 0.5) {\n // Scrolling minutes\n minutes += Math.sign(scrollAmount);\n if (minutes < 0) {\n if (hours > 0) {\n hours--;\n minutes = 59;\n } else {\n minutes = 0;\n }\n } else if (minutes >= 60) {\n hours++;\n minutes = 0;\n }\n } else if (x < width * 0.75) {\n // Scrolling seconds\n seconds += Math.sign(scrollAmount);\n if (seconds < 0) {\n if (minutes > 0) {\n minutes--;\n seconds += 60;\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds += 60;\n } else {\n seconds = 0;\n }\n }\n while (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n } else {\n // Scrolling frames\n frames += Math.sign(scrollAmount);\n if (frames < 0) {\n if (seconds > 0) {\n seconds--;\n frames += Math.floor(framerate);\n } else if (minutes > 0) {\n minutes--;\n seconds = 59;\n frames += Math.floor(framerate);\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds = 59;\n frames += Math.floor(framerate);\n } else {\n frames = 0;\n }\n } else if (frames >= Math.floor(framerate)) {\n seconds++;\n frames -= Math.floor(framerate);\n if (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n }\n }\n\n\n const newFootagePerDay = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n setFootagePerDay(newFootagePerDay);\n recalculateFileSizes(calcData, newFootagePerDay);\n };\n\n\n // Helper function to format file size\n const formatFileSize = (sizeInGB) => {\n const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];\n let size = sizeInGB * 1024 * 1024 * 1024; // Convert GB to bytes\n let unitIndex = 0;\n\n while (size >= 1024 && unitIndex < units.length - 1) {\n size /= 1024;\n unitIndex++;\n }\n\n return {\n size: size.toFixed(3),\n unit: units[unitIndex]\n };\n };\n\n // 8. Modify useEffect to handle recalculations based on calculationMode\n useEffect(() => {\n // Skip calculations if the resolution is set to 'Custom' and the custom resolution is not yet confirmed\n if (calcData.resolution === 'Custom' && !calcData.customResolution) {\n return;\n }\n\n recalculateBasedOnLockState();\n }, [\n calcData.resolution,\n calcData.codec,\n calcData.framerate,\n calcData.duration,\n calcData.fileSize,\n isDurationLocked,\n isFileSizeLocked,\n calculationMode\n ]);\n\n useEffect(() => {\n const resolutionElement = resolutionRef.current;\n const framerateElement = framerateRef.current;\n const codecElement = codecRef.current;\n\n const elements = [\n { ref: resolutionElement, handler: handleResolutionWheel },\n { ref: framerateElement, handler: handleFramerateWheel },\n { ref: codecElement, handler: handleCodecWheel },\n ];\n\n elements.forEach(({ ref, handler }) => {\n if (ref) {\n ref.addEventListener('wheel', handler, { passive: false });\n }\n });\n\n return () => {\n elements.forEach(({ ref, handler }) => {\n if (ref) {\n ref.removeEventListener('wheel', handler);\n }\n });\n };\n }, [calcData.resolution, calcData.framerate, calcData.codec]);\n\n useEffect(() => {\n const durationElement = durationRef.current;\n\n const wheelHandler = (e) => {\n if (!isDurationLocked) {\n handleDurationWheel(e);\n }\n };\n\n if (durationElement) {\n durationElement.addEventListener('wheel', wheelHandler, { passive: false });\n }\n\n return () => {\n if (durationElement) {\n durationElement.removeEventListener('wheel', wheelHandler);\n }\n };\n }, [calcData.duration, calcData.framerate, isDurationLocked]);\n\n const handleFileSizeClick = () => {\n if (isMobile) return;\n\n const fileSizeText = `${calcData.fileSize} ${fileSizeUnit}`;\n navigator.clipboard.writeText(fileSizeText).then(() => {\n }).catch(err => {\n console.error('Failed to copy: ', err);\n });\n };\n\n const handleLogClick = () => {\n const logEntry = `${calcData.brand} ${calcData.camera} - ${calcData.resolution} \\n${calcData.codec} @ ${calcData.framerate}fps (${calculateBitrate()}) \\n${calcData.duration} = ${fileSizeInput}\\r\\n`;\n addLog(logEntry);\n\n setLogButtonText();\n setTimeout(() => setLogButtonText(), 500);\n\n // Copy to clipboard functionality\n if (navigator.clipboard) {\n navigator.clipboard.writeText(logEntry)\n .then(() => {\n // You can add a visual feedback here if needed\n })\n .catch(err => {\n console.error('Failed to copy log entry: ', err);\n });\n }\n };\n\n const copyLogToClipboard = (log, index) => {\n if (isMobile) return; \n\n const logWithLineBreak = `${log}\\r\\n`; // Add line break\n\n navigator.clipboard.writeText(logWithLineBreak).then(() => {\n setCopiedLogIndex(index);\n setTimeout(() => setCopiedLogIndex(null), 3000);\n }).catch(err => {\n console.error('Failed to copy log: ', err);\n setCopiedLogIndex(null);\n });\n };\n\n const handleBrandWheel = (e) => {\n handleWheel(\n e,\n brands,\n calcData.brand,\n (newBrand) => {\n setCalcData(prev => ({ ...prev, brand: newBrand }));\n recalculateBasedOnLockState();\n }\n );\n };\n\n const handleCameraWheel = (e) => {\n handleWheel(\n e,\n availableCameras,\n calcData.camera,\n (newCamera) => {\n setCalcData(prev => ({ ...prev, camera: newCamera }));\n recalculateBasedOnLockState();\n }\n );\n };\n\n const handleResolutionWheel = (e) => {\n handleWheel(\n e, \n availableResolutions, \n calcData.resolution, \n (newResolution) => {\n setCalcData(prev => ({ ...prev, resolution: newResolution }));\n recalculateBasedOnLockState(newResolution);\n }\n );\n };\n\n const handleFramerateWheel = (e) => {\n handleWheel(\n e, \n availableFramerates, \n calcData.framerate, \n (newFramerate) => {\n setCalcData(prev => ({ ...prev, framerate: newFramerate }));\n recalculateBasedOnLockState();\n }\n );\n };\n\n // Modify the handleCodecWheel function\n const handleCodecWheel = (e) => {\n handleWheel(\n e,\n availableCodecs,\n calcData.codec,\n (newCodec) => {\n setCalcData(prev => ({ ...prev, codec: newCodec }));\n \n // Calculate file size per day with new codec\n const { size: perDaySize, unit: perDayUnit } = calculateFileSize({ \n ...calcData, \n codec: newCodec,\n duration: footagePerDay \n });\n setFileSizePerDay(`${perDaySize} ${perDayUnit}`);\n \n // Calculate total OCF file size based on shoot days\n const totalFrames = Timecode.parse(footagePerDay, parseFloat(calcData.framerate)).totalFrames() * shootDays;\n const totalDuration = Timecode.fromFrames(totalFrames, parseFloat(calcData.framerate)).toString();\n \n const { size, unit } = calculateFileSize({ \n ...calcData, \n codec: newCodec,\n duration: totalDuration \n });\n setFileSizeInput(`${size} ${unit}`);\n setFileSizeUnit(unit);\n }\n );\n };\n\n // Modify the useEffect for codec ref\n useEffect(() => {\n const codecElement = codecRef.current;\n\n const wheelHandler = (e) => {\n handleCodecWheel(e);\n };\n\n if (codecElement) {\n codecElement.addEventListener('wheel', wheelHandler, { passive: false });\n }\n\n return () => {\n if (codecElement) {\n codecElement.removeEventListener('wheel', wheelHandler);\n }\n };\n }, [calcData.camera, calcData.resolution, calcData.codec, availableCodecs]);\n\n // Add a new useEffect to ensure codec is always valid\n useEffect(() => {\n if (availableCodecs.length > 0 && !availableCodecs.includes(calcData.codec)) {\n const newCodec = availableCodecs[0];\n setCalcData(prev => ({ ...prev, codec: newCodec }));\n updateFramerateForCodec(calcData.camera, calcData.resolution, newCodec);\n }\n }, [calcData.camera, calcData.resolution, calcData.codec, availableCodecs]);\n\n const handleDeleteLog = (index) => {\n setLogs(prevLogs => prevLogs.filter((_, i) => i !== index));\n };\n\n const handleReset = () => {\n // Reset all values to context defaults\n setShootDays(1);\n setFootagePerDay(\"04:00:00:00\");\n setDurationInput(\"04:00:00:00\");\n setFileSizeInput(\"1.91 TB\");\n setFileSizeUnit(\"TB\");\n setDailiesFileSizePerDay(\"43.949 GB\");\n setTotalDailiesFileSize(\"43.949 GB\");\n \n // Reset dailies values\n setSelectedRatio(\"Match\");\n setCustomRatio(\"\");\n setWidth(1920);\n setHeight(1080);\n setDailiesData({\n aspectRatio: 'Match',\n width: 1920,\n height: 1080,\n codec: 'Apple ProRes LT',\n fileSize: ''\n });\n\n // Reset locks\n setIsWidthLocked(false);\n setIsHeightLocked(false);\n setCalculationMode(null);\n setLockedField(null);\n\n // Show reset confirmation\n setResetButtonText();\n setTimeout(() => setResetButtonText(), 500);\n };\n\n useEffect(() => {\n if (isMobile) {\n disableScroll();\n return () => enableScroll();\n }\n }, [isMobile]);\n\n // 3. Update handleTouchStart to allow default behavior for select fields\n const handleTouchStart = useCallback((e, field) => {\n if (field === 'shootDays') {\n e.preventDefault();\n const touch = e.touches[0];\n const startY = touch.clientY;\n const startValue = shootDays;\n \n const handleTouchMove = (e) => {\n e.preventDefault();\n const touch = e.touches[0];\n const currentY = touch.clientY;\n const diffY = startY - currentY;\n const sensitivity = 0.1; // Increased sensitivity\n \n // Calculate change based on vertical movement\n const change = Math.round(diffY * sensitivity);\n const newValue = Math.max(1, startValue + change);\n \n if (newValue !== shootDays) {\n setShootDays(newValue);\n if (handleShootDaysChangeRef.current) {\n handleShootDaysChangeRef.current({ target: { value: newValue } });\n }\n }\n };\n\n const handleTouchEnd = () => {\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n return;\n }\n \n if (field === 'footagePerDay') {\n e.preventDefault();\n const touch = e.touches[0];\n const startY = touch.clientY;\n const rect = e.target.getBoundingClientRect();\n const touchX = touch.clientX - rect.left;\n const fieldWidth = rect.width;\n \n // Parse the current footagePerDay value\n const [hours, minutes, seconds, frames] = footagePerDay.split(':').map(Number);\n const startValue = {\n hours,\n minutes,\n seconds,\n frames\n };\n \n const handleTouchMove = (e) => {\n e.preventDefault();\n const touch = e.touches[0];\n const currentY = touch.clientY;\n const diffY = startY - currentY;\n const sensitivity = 0.1;\n \n // Calculate which zone is being adjusted - only 2 zones now\n // Left half = hours, Right half = minutes\n const isLeftZone = touchX < (fieldWidth / 2);\n \n // Calculate change based on zone\n let change = Math.round(diffY * sensitivity);\n let { hours, minutes, seconds, frames } = startValue;\n \n if (isLeftZone) {\n // Left zone - adjust hours\n hours = Math.max(0, hours - change);\n } else {\n // Right zone - adjust minutes in 5-minute increments\n const minuteChange = change * 5; // 5-minute increments\n minutes -= minuteChange;\n \n // Handle rollover\n while (minutes < 0) {\n if (hours > 0) {\n hours--;\n minutes += 60;\n } else {\n minutes = 0;\n }\n }\n \n while (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n \n const newFootagePerDay = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n \n setFootagePerDay(newFootagePerDay);\n recalculateFileSizes(calcData, newFootagePerDay, shootDays);\n };\n \n const handleTouchEnd = () => {\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n };\n \n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n return;\n }\n \n if ((field === 'fileSize' && isFileSizeLocked) || (field === 'duration' && isDurationLocked)) return;\n \n e.preventDefault();\n const touch = e.touches[0];\n const startY = touch.clientY;\n const rect = e.target.getBoundingClientRect();\n const touchX = touch.clientX - rect.left;\n const fieldWidth = rect.width;\n let startValue;\n\n if (field === 'fileSize') {\n const parsedSize = parseFileSize(fileSizeInput);\n startValue = parsedSize ? parseFloat(parsedSize.size) : 0;\n } else if (field === 'duration') {\n const [hours, minutes, seconds, frames] = durationInput.split(':').map(Number);\n startValue = {\n hours,\n minutes,\n seconds,\n frames\n };\n }\n\n const handleTouchMove = (e) => {\n e.preventDefault();\n const touch = e.touches[0];\n const currentY = touch.clientY;\n const diffY = startY - currentY;\n const sensitivity = 0.1;\n\n if (field === 'duration') {\n const segment = Math.floor(touchX / (fieldWidth / 4)); // Split into 4 segments\n const framerate = parseFloat(calcData.framerate);\n \n // Calculate change based on segment\n let change = Math.round(diffY * sensitivity);\n let { hours, minutes, seconds, frames } = startValue;\n \n switch(segment) {\n case 0: // Hours\n hours = Math.max(0, hours - change);\n break;\n case 1: // Minutes\n minutes -= change;\n while (minutes < 0) {\n if (hours > 0) {\n hours--;\n minutes += 60;\n } else {\n minutes = 0;\n }\n }\n while (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n break;\n case 2: // Seconds\n seconds -= change;\n while (seconds < 0) {\n if (minutes > 0) {\n minutes--;\n seconds += 60;\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds += 60;\n } else {\n seconds = 0;\n }\n }\n while (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n break;\n case 3: // Frames\n frames -= change;\n while (frames < 0) {\n if (seconds > 0) {\n seconds--;\n frames += Math.floor(framerate);\n } else if (minutes > 0) {\n minutes--;\n seconds = 59;\n frames += Math.floor(framerate);\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds = 59;\n frames += Math.floor(framerate);\n } else {\n frames = 0;\n }\n }\n while (frames >= framerate) {\n seconds++;\n frames -= Math.floor(framerate);\n if (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n }\n break;\n }\n\n const newDuration = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n\n setDurationInput(newDuration);\n setCalcData(prevData => ({\n ...prevData,\n duration: newDuration\n }));\n\n // Recalculate file size\n const { size, unit } = calculateFileSize({ ...calcData, duration: newDuration });\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n }\n // ... existing fileSize handling ...\n };\n\n const handleTouchEnd = () => {\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n }, [shootDays, calcData, fileSizeInput, durationInput, footagePerDay, isFileSizeLocked, isDurationLocked, calculateFileSize, fileSizeUnit, recalculateFileSizes]);\n\n // Updated parseFileSize function to handle more input permutations\n const parseFileSize = (input) => {\n // Remove any whitespace and convert to lowercase\n const cleanInput = input.replace(/\\s+/g, '').toLowerCase();\n \n // Define unit patterns\n const unitPatterns = {\n 'pb': ['p', 'ps', 'pb', 'pbs', 'pe', 'pet', 'pets', 'peta', 'petas', 'petabyte', 'petabytes'],\n 'tb': ['t', 'ts', 'tb', 'tbs', 'te', 'ter', 'ters', 'tera', 'teras', 'terabyte', 'terabytes'],\n 'gb': ['g', 'gs', 'gb', 'gbs', 'ge', 'gig', 'gigs', 'giga', 'gigas', 'gigabyte', 'gigabytes'],\n 'mb': ['m', 'ms', 'mb', 'mbs', 'me', 'meg', 'megs', 'mega', 'megas', 'megabyte', 'megabytes'],\n 'kb': ['k', 'ks', 'kb', 'kbs', 'ki', 'kil', 'kils', 'kilo', 'kilos', 'kilobyte', 'kilobytes'],\n 'b': ['b', 'bs', 'bi', 'by', 'byte', 'bytes']\n };\n \n // Create a regex pattern that matches any of the unit patterns\n const unitRegexPattern = Object.values(unitPatterns).flat().join('|');\n \n // Match the input against the pattern\n const match = cleanInput.match(new RegExp(`^(\\\\d+(?:\\\\.\\\\d+)?)(${unitRegexPattern})$`));\n \n if (match) {\n const size = parseFloat(match[1]);\n const unitLower = match[2];\n \n // Determine the standardized unit\n for (const [standardUnit, patterns] of Object.entries(unitPatterns)) {\n if (patterns.includes(unitLower)) {\n return { size, unit: standardUnit.toUpperCase() };\n }\n }\n }\n \n return null;\n };\n\n // Update handleFileSizeFocus to clear the input and show placeholder text\n const handleFileSizeFocus = () => {\n if (!isFileSizeLocked) {\n setFileSizeInput('');\n }\n };\n\n // Updated handleFileSizeBlur function with correct syntax\n const handleFileSizeBlur = () => {\n if (fileSizeInput.trim() === '') {\n setFileSizeInput('');\n if (!isFileSizeLocked) {\n setCalcData(prevData => ({ ...prevData, fileSize: '' }));\n }\n } else {\n const parsedSize = parseFileSize(fileSizeInput);\n if (parsedSize !== null) {\n const formattedSize = `${parsedSize.size} ${parsedSize.unit}`;\n setFileSizeInput(formattedSize);\n if (!isFileSizeLocked) {\n setCalcData(prevData => ({\n ...prevData,\n fileSize: parsedSize.size,\n fileSizeUnit: parsedSize.unit\n }));\n \n // Calculate duration based on the parsed file size\n if (!isDurationLocked) {\n const duration = calculateDuration({ \n ...calcData, \n fileSize: parsedSize.size, \n fileSizeUnit: parsedSize.unit \n }, formattedSize);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration\n }));\n }\n }\n } else {\n console.error(\"Invalid file size format\");\n // Optionally, revert to previous valid input or notify the user\n }\n }\n };\n\n // Updated handleFileSizeKeyPress to trigger blur on Enter key\n const handleFileSizeKeyPress = (e) => {\n if (e.key === 'Enter' || e.key === 'Tab') {\n e.preventDefault();\n if (!isFileSizeLocked) {\n const parsedSize = parseFileSize(fileSizeInput);\n if (parsedSize !== null) {\n const formattedSize = `${parsedSize.size} ${parsedSize.unit}`;\n setFileSizeInput(formattedSize);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: parsedSize.size,\n fileSizeUnit: parsedSize.unit\n }));\n \n // Calculate duration based on the parsed file size\n if (!isDurationLocked) {\n const duration = calculateDuration({ \n ...calcData, \n fileSize: parsedSize.size, \n fileSizeUnit: parsedSize.unit \n }, formattedSize);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration\n }));\n }\n }\n e.target.blur(); // Remove focus from the input\n }\n }\n };\n\n// Helper function to recalculate based on lock state\n const recalculateBasedOnLockState = (updatedResolution = calcData.resolution) => {\n const updatedCalcData = { ...calcData, resolution: updatedResolution };\n \n if (calculationMode === 'duration' && isDurationLocked) {\n // If duration is locked, recalculate file size based on duration\n const { size, unit } = calculateFileSize(updatedCalcData);\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n } else if (calculationMode === 'fileSize' && isFileSizeLocked) {\n // If file size is locked, recalculate duration based on file size\n const duration = calculateDuration(updatedCalcData, fileSizeInput);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration\n }));\n } else {\n // If nothing is locked, default to recalculating file size based on duration\n const { size, unit } = calculateFileSize(updatedCalcData);\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n }\n };\n\n // Updated handleFileSizeWheel to implement proportional scrolling across all units\n const handleFileSizeWheel = (e) => {\n e.preventDefault();\n if (isFileSizeLocked || isDurationLocked) return;\n\n const delta = Math.sign(-e.deltaY); // Positive for scroll up, negative for scroll down\n const changeFactor = 1.1; // 10% change per scroll\n\n let parsed = parseFileSize(fileSizeInput);\n if (!parsed) return;\n let { size, unit } = parsed;\n let newSize = size;\n\n // Apply proportional change based on scroll direction\n if (delta > 0) {\n newSize *= changeFactor;\n } else {\n newSize /= changeFactor;\n }\n\n // Define the order of units\n const unitsOrder = ['KB', 'MB', 'GB', 'TB', 'PB'];\n let currentIndex = unitsOrder.indexOf(unit);\n\n // Adjust unit if size exceeds current unit's boundaries\n while (newSize >= 1000 && currentIndex < unitsOrder.length - 1) {\n newSize /= 1000;\n currentIndex++;\n unit = unitsOrder[currentIndex];\n }\n\n while (newSize < 1 && currentIndex > 0) {\n newSize *= 1000;\n currentIndex--;\n unit = unitsOrder[currentIndex];\n }\n\n // Format the new size based on unit for consistency\n newSize = unit === 'KB' ? Math.round(newSize) : parseFloat(newSize.toFixed(2));\n\n const newFileSizeInput = `${newSize} ${unit}`;\n setFileSizeInput(newFileSizeInput);\n\n // Update calcData immediately\n const updatedCalcData = {\n ...calcData,\n fileSize: newSize.toString(),\n fileSizeUnit: unit\n };\n setCalcData(updatedCalcData);\n\n // Recalculate duration based on the new file size\n const duration = calculateDuration(updatedCalcData, newFileSizeInput);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration\n }));\n };\n\n // Ensure handleFileSizeWheel is correctly referenced in useEffect\n useEffect(() => {\n const fileSizeElement = fileSizeRef.current;\n\n const wheelHandler = (e) => {\n if (!isFileSizeLocked) {\n handleFileSizeWheel(e);\n }\n };\n\n if (fileSizeElement) {\n fileSizeElement.addEventListener('wheel', wheelHandler, { passive: false });\n fileSizeElement.addEventListener('touchmove', wheelHandler, { passive: false });\n }\n\n return () => {\n if (fileSizeElement) {\n fileSizeElement.removeEventListener('wheel', wheelHandler);\n fileSizeElement.removeEventListener('touchmove', wheelHandler);\n }\n };\n }, [isFileSizeLocked, handleFileSizeWheel]);\n\n // 3. Update the input fields in the JSX to apply styles based on lock state\n // Modify the useEffect for mobile anchoring\n useEffect(() => {\n if (isMobile) {\n const handleScroll = () => {\n if (window.scrollY > 0) {\n window.scrollTo(0, 0);\n }\n };\n\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }\n }, [isMobile]);\n\n \n\n useEffect(() => {\n setAvailableCameras(getCamerasByBrand(calcData.brand));\n }, [calcData.brand]);\n\n useEffect(() => {\n if (calcData.camera) {\n setAvailableResolutions(getResolutionsForCamera(calcData.camera));\n setAvailableFramerates(getFrameratesForCamera(calcData.camera));\n }\n }, [calcData.camera]);\n\n useEffect(() => {\n if (calcData.camera && calcData.resolution) {\n setAvailableCodecs(getCodecsForCameraAndResolution(calcData.camera, calcData.resolution));\n }\n }, [calcData.camera, calcData.resolution]);\n\n \n\n useEffect(() => {\n const elements = [\n { ref: brandRef, handler: handleBrandWheel },\n { ref: cameraRef, handler: handleCameraWheel },\n { ref: resolutionRef, handler: handleResolutionWheel },\n { ref: framerateRef, handler: handleFramerateWheel },\n { ref: codecRef, handler: handleCodecWheel },\n { ref: durationRef, handler: handleDurationWheel },\n { ref: fileSizeRef, handler: handleFileSizeWheel }\n ];\n\n elements.forEach(({ ref, handler }) => {\n if (ref.current) {\n ref.current.addEventListener('wheel', handler, { passive: false });\n }\n });\n\n return () => {\n elements.forEach(({ ref, handler }) => {\n if (ref.current) {\n ref.current.removeEventListener('wheel', handler);\n }\n });\n };\n }, [calcData, handleBrandWheel, handleCameraWheel, handleResolutionWheel, \n handleFramerateWheel, handleCodecWheel, handleDurationWheel, handleFileSizeWheel]);\n\n // Add these new refs\n const brandRef = useRef(null);\n const cameraRef = useRef(null);\n\n // Add these hooks for each dropdown\n const handleBrandTouch = useDropdownTouch(\n brands,\n calcData.brand,\n handleInputChange,\n 'brand'\n );\n\n const handleCameraTouch = useDropdownTouch(\n availableCameras,\n calcData.camera,\n handleInputChange,\n 'camera'\n );\n\n const handleResolutionTouch = useDropdownTouch(\n availableResolutions,\n calcData.resolution,\n handleInputChange,\n 'resolution'\n );\n\n const handleCodecTouch = useDropdownTouch(\n availableCodecs,\n calcData.codec,\n handleInputChange,\n 'codec'\n );\n\n const handleFramerateTouch = useDropdownTouch(\n availableFramerates,\n calcData.framerate,\n handleInputChange,\n 'framerate'\n );\n\n // Add the calculateBitrate function inside the component\n const calculateBitrate = (data = calcData) => {\n try {\n // Get resolution dimensions\n let width, height;\n const resolutionMatch = data.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (resolutionMatch) {\n [, width, height] = resolutionMatch;\n } else {\n throw new Error('Invalid resolution format');\n }\n\n // Get codec datarate\n const selectedCodec = codecs.find(codec => codec.name === data.codec);\n if (!selectedCodec) {\n throw new Error('Invalid codec');\n }\n const datarate = selectedCodec.datarate;\n\n // Calculate bitrate\n const framerate = parseFloat(data.framerate);\n const bitrateInBytes = (datarate * width * height * framerate) * 1024 * 1024;\n \n return formatBitrate(bitrateInBytes);\n } catch (error) {\n console.error('Error calculating bitrate:', error);\n return '0 MB/s';\n }\n };\n\n\n\n const logResult = () => {\n const logEntry = `AR: ${selectedRatio} - ${width}x${height}`;\n addLog(logEntry);\n setLogButtonText();\n setTimeout(() => setLogButtonText(), 500);\n };\n\n const handleCopy = () => {\n setCopyButtonText();\n setTimeout(() => setCopyButtonText(), 500);\n };\n\n\n useEffect(() => {\n const checkMobile = () => {\n setIsMobile(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));\n };\n checkMobile();\n window.addEventListener('resize', checkMobile);\n\n return () => window.removeEventListener('resize', checkMobile);\n }, []);\n\n useEffect(() => {\n if (isMobile) {\n disableScroll();\n return () => enableScroll();\n }\n }, [isMobile]);\n \n // Add this helper function to calculate GCD\n const getGCD = (a, b) => {\n a = Math.abs(a);\n b = Math.abs(b);\n while (b) {\n const temp = b;\n b = a % b;\n a = temp;\n }\n return a;\n };\n\n const formatRatio = (ratio) => {\n // Check if the input ratio matches any of the original custom ratios\n const matchingCustomRatio = customRatios.find(r => {\n const parsed = parseRatio(r);\n return Math.abs(parsed - ratio) < 0.0001;\n });\n \n if (matchingCustomRatio) {\n return matchingCustomRatio;\n }\n\n // For decimal inputs like 2.35, preserve as \"2.35:1\"\n if (Number.isFinite(ratio) && !Number.isInteger(ratio)) {\n return `${ratio.toFixed(2)}:1`;\n }\n\n // For integer ratios, use the GCD reduction\n const tolerance = 0.0001;\n for (let denominator = 1; denominator <= 16; denominator++) {\n const numerator = ratio * denominator;\n if (Math.abs(numerator - Math.round(numerator)) < tolerance) {\n let n = Math.round(numerator);\n let d = denominator;\n const gcd = getGCD(n, d);\n n = n / gcd;\n d = d / gcd;\n return `${n}:${d}`;\n }\n }\n\n return `${ratio.toFixed(2)}:1`;\n };\n\n\n\n // Update recalculateBasedOnRatio to respect locks\n const recalculateBasedOnRatio = (ratio) => {\n const aspectRatio = parseRatio(ratio);\n if (!isNaN(aspectRatio)) {\n if (lockedField === 'width') {\n // Width is locked - only update height\n const newHeight = roundToEven(width / aspectRatio);\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n } else if (lockedField === 'height') {\n // Height is locked - only update width\n const newWidth = roundToEven(height * aspectRatio);\n setWidth(newWidth);\n setDailiesData(prev => ({ ...prev, width: newWidth }));\n } else {\n // Nothing is locked - maintain width and update height\n const newHeight = roundToEven(width / aspectRatio);\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n }\n }\n };\n \n useEffect(() => {\n if (isMobile) {\n const handleScroll = () => {\n if (window.scrollY > 0) {\n window.scrollTo(0, 0);\n }\n };\n\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }\n }, [isMobile]);\n\n \n \n const handleRatioWheel = (e) => {\n e.preventDefault();\n if (lockedField) return;\n\n // Increase sensitivity for faster response\n const sensitivity = 0.05; // Increased from 0.025\n const scrollAmount = -e.deltaY * sensitivity;\n \n const ratios = [\n \"Match\",\n ...defaultAspectRatios\n .filter(r => r !== \"Match\" && r !== \"Custom\"),\n ...customRatios\n ];\n\n const currentIndex = ratios.indexOf(selectedRatio);\n const delta = Math.sign(scrollAmount);\n let newIndex = currentIndex + delta;\n newIndex = Math.max(0, Math.min(newIndex, ratios.length - 1));\n \n if (newIndex !== currentIndex) {\n const newRatio = ratios[newIndex];\n setSelectedRatio(newRatio);\n updateDimensionsForRatio(newRatio);\n }\n };\n\n // Add new helper function to handle dimension updates\n const updateDimensionsForRatio = (ratio) => {\n if (ratio === 'Match') {\n const resolutionMatch = calcData.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (resolutionMatch) {\n const [, cameraWidth, cameraHeight] = resolutionMatch;\n const cameraAspect = parseInt(cameraWidth) / parseInt(cameraHeight);\n const newHeight = roundToEven(dailiesData.width / cameraAspect);\n \n setHeight(newHeight);\n setDailiesData(prev => ({\n ...prev,\n height: newHeight,\n aspectRatio: 'Match'\n }));\n\n if (!isDailiesFileSizeLocked) {\n calculateDailiesFileSize();\n }\n }\n } else {\n recalculateBasedOnRatio(ratio);\n }\n };\n\n // Update the useEffect for the ratio wheel event listener\n useEffect(() => {\n const ratioElement = ratioRef.current;\n \n if (ratioElement) {\n const wheelHandler = (e) => {\n if (document.activeElement !== ratioElement) {\n handleRatioWheel(e);\n }\n };\n \n ratioElement.addEventListener('wheel', wheelHandler, { passive: false });\n return () => ratioElement.removeEventListener('wheel', wheelHandler);\n }\n }, [selectedRatio, calcData.resolution, width]);\n\n // Add handleCustomRatioKeyDown if it's not already defined\n const handleCustomRatioKeyDown = (e) => {\n if (e.key === 'Tab') {\n e.preventDefault();\n processCustomRatio();\n // Move focus to the next element\n widthRef.current?.focus();\n }\n };\n\n // First, add new state variables near the top with other state declarations\n const [dailiesCodec, setDailiesCodec] = useState('ProRes 422 HQ');\n const [dailiesFileSize, setDailiesFileSize] = useState('');\n const [isDailiesFileSizeLocked, setIsDailiesFileSizeLocked] = useState(false);\n\n // Update the handleDailiesFileSizeLockClick function\n const handleDailiesFileSizeLockClick = () => {\n if (calculationMode === 'dailiesFileSize') {\n // Unlock all if dailies file size is already locked\n setIsDurationLocked(false);\n setIsFileSizeLocked(false);\n setIsDailiesFileSizeLocked(false);\n setCalculationMode(null);\n } else {\n // Lock dailies file size and unlock others\n setIsDurationLocked(false);\n setIsFileSizeLocked(false);\n setIsDailiesFileSizeLocked(true);\n setCalculationMode('dailiesFileSize');\n }\n };\n\n\n // Add state for dailies aspect ratio handling\n const [customDailiesRatio, setCustomDailiesRatio] = useState(\"\");\n const [customDailiesRatios, setCustomDailiesRatios] = useState([]);\n\n // Add dailies-specific state variables\n const [availableDailiesCodecs] = useState(dailiesCodecs.map(codec => codec.name));\n\n // Update handleMatchAspectRatio to use the same logic\n const handleMatchAspectRatio = useCallback(() => {\n if (calcData.resolution) {\n const resolutionMatch = calcData.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (resolutionMatch) {\n const [, cameraWidth, cameraHeight] = resolutionMatch;\n const cameraAspect = parseInt(cameraWidth) / parseInt(cameraHeight);\n \n if (lockedField === 'width') {\n // Width is locked - update height\n const newHeight = roundToEven(width / cameraAspect);\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n } else if (lockedField === 'height') {\n // Height is locked - update width\n const newWidth = roundToEven(height * cameraAspect);\n setWidth(newWidth);\n setDailiesData(prev => ({ ...prev, width: newWidth }));\n } else {\n // Nothing is locked - maintain width and update height\n const newHeight = roundToEven(width / cameraAspect);\n setHeight(newHeight);\n setDailiesData(prev => ({ ...prev, height: newHeight }));\n }\n\n // Update dailies file size calculations\n if (!isDailiesFileSizeLocked) {\n calculateDailiesFileSize(footagePerDay, true);\n const totalFrames = Timecode.parse(footagePerDay, parseFloat(calcData.framerate)).totalFrames() * shootDays;\n const totalDuration = Timecode.fromFrames(totalFrames, parseFloat(calcData.framerate)).toString();\n calculateDailiesFileSize(totalDuration, false);\n }\n }\n }\n }, [calcData.resolution, width, height, lockedField, footagePerDay, shootDays, calcData.framerate, isDailiesFileSizeLocked]);\n\n // Add effect to handle aspect ratio matching when camera resolution changes\n useEffect(() => {\n handleMatchAspectRatio();\n }, [calcData.resolution, handleMatchAspectRatio]);\n\n\n // Add an effect to trigger dailies file size calculation when relevant values change\n useEffect(() => {\n if (!isDailiesFileSizeLocked) {\n calculateDailiesFileSize();\n }\n }, [\n calcData.duration,\n calcData.framerate,\n dailiesData.width,\n dailiesData.height,\n dailiesData.codec,\n isDailiesFileSizeLocked,\n calculateDailiesFileSize\n ]);\n\n // Update the useEffect for camera resolution changes\n useEffect(() => {\n if (calcData.camera) {\n const resolutions = getResolutionsForCamera(calcData.camera);\n setAvailableResolutions(resolutions);\n \n if (!resolutions.includes(calcData.resolution)) {\n const newResolution = resolutions[0] || '';\n const newCalcData = { \n ...calcData, \n resolution: newResolution,\n codec: '',\n framerate: ''\n };\n setCalcData(newCalcData);\n recalculateFileSizes(newCalcData);\n }\n\n // Update dailies dimensions based on camera resolution\n if (dailiesData.aspectRatio === 'Match') {\n const resolutionMatch = calcData.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (resolutionMatch) {\n const [, cameraWidth, cameraHeight] = resolutionMatch;\n const cameraAspect = parseInt(cameraWidth) / parseInt(cameraHeight);\n \n // Keep the dailies width and adjust height to match camera aspect ratio\n const newHeight = roundToEven(dailiesData.width / cameraAspect);\n setDailiesData(prev => ({\n ...prev,\n height: newHeight\n }));\n setHeight(newHeight); // Also update the height state\n\n // Recalculate dailies file size with new dimensions\n if (!isDailiesFileSizeLocked) {\n calculateDailiesFileSize();\n }\n }\n }\n }\n }, [calcData.camera, calcData.resolution, dailiesData.width, dailiesData.aspectRatio, isDailiesFileSizeLocked]);\n\n\n\n // Add these new handlers\n const handleDailiesCodecWheel = (e) => {\n handleWheel(\n e,\n availableDailiesCodecs,\n dailiesData.codec,\n (newCodec) => {\n setDailiesData(prev => ({ ...prev, codec: newCodec }));\n \n // Calculate dailies per day with new codec\n calculateDailiesFileSize(footagePerDay, true);\n \n // Calculate total dailies based on shoot days\n const totalFrames = Timecode.parse(footagePerDay, parseFloat(calcData.framerate)).totalFrames() * shootDays;\n const totalDuration = Timecode.fromFrames(totalFrames, parseFloat(calcData.framerate)).toString();\n calculateDailiesFileSize(totalDuration, false);\n }\n );\n };\n\n // Add handler for dailies ratio wheel\n const handleDailiesRatioWheel = (e) => {\n if (lockedField) return;\n\n // Create ratios array without Custom, and ensure Match is at the top\n const ratios = [\n \"Match\",\n ...defaultAspectRatios\n .filter(r => r !== \"Match\" && r !== \"Custom\")\n .sort(compareRatios),\n ...customRatios.sort(compareRatios)\n ];\n\n const currentIndex = ratios.indexOf(selectedRatio);\n const delta = Math.sign(-e.deltaY);\n let newIndex = currentIndex + delta;\n newIndex = Math.max(0, Math.min(newIndex, ratios.length - 1));\n \n if (newIndex !== currentIndex) {\n const newRatio = ratios[newIndex];\n setSelectedRatio(newRatio);\n recalculateBasedOnRatio(newRatio);\n }\n };\n\n // Update the handleDailiesFileSizeWheel function\n const handleDailiesFileSizeWheel = (e) => {\n e.preventDefault();\n if (isDailiesFileSizeLocked) return;\n\n const delta = Math.sign(-e.deltaY);\n const changeFactor = 1.1;\n\n let parsed = parseFileSize(dailiesFileSize);\n if (!parsed) return;\n let { size, unit } = parsed;\n let newSize = size;\n\n if (delta > 0) {\n newSize *= changeFactor;\n } else {\n newSize /= changeFactor;\n }\n\n const unitsOrder = ['KB', 'MB', 'GB', 'TB', 'PB'];\n let currentIndex = unitsOrder.indexOf(unit);\n\n while (newSize >= 1000 && currentIndex < unitsOrder.length - 1) {\n newSize /= 1000;\n currentIndex++;\n unit = unitsOrder[currentIndex];\n }\n\n while (newSize < 1 && currentIndex > 0) {\n newSize *= 1000;\n currentIndex--;\n unit = unitsOrder[currentIndex];\n }\n\n newSize = unit === 'KB' ? Math.round(newSize) : parseFloat(newSize.toFixed(2));\n const newDailiesFileSize = `${newSize} ${unit}`;\n setDailiesFileSize(newDailiesFileSize);\n setDailiesData(prev => ({\n ...prev,\n fileSize: newDailiesFileSize\n }));\n\n // Recalculate camera file size and duration based on dailies size\n recalculateFromDailiesSize(newSize, unit);\n };\n\n // Add new function to handle recalculation from dailies size\n const recalculateFromDailiesSize = (dailiesSize, dailiesUnit) => {\n if (isDurationLocked || isFileSizeLocked) return;\n\n // Convert dailies size to bytes\n const unitMultiplier = {\n 'KB': 1024,\n 'MB': 1024 * 1024,\n 'GB': 1024 * 1024 * 1024,\n 'TB': 1024 * 1024 * 1024 * 1024,\n 'PB': 1024 * 1024 * 1024 * 1024 * 1024\n };\n \n const dailiesSizeInBytes = dailiesSize * unitMultiplier[dailiesUnit];\n\n // Get dailies codec datarate\n const dailiesCodecData = dailiesCodecs.find(codec => codec.name === dailiesData.codec);\n if (!dailiesCodecData) return;\n\n // Calculate frames based on dailies size\n const framerate = parseFloat(calcData.framerate);\n const dailiesPixels = width * height;\n \n // Convert codec datarate from Mbps to bytes per frame\n const mbitsPerSecond = dailiesCodecData.datarate;\n const bytesPerSecond = (mbitsPerSecond * 1024 * 1024) / 8;\n const bytesPerFrame = bytesPerSecond / framerate;\n \n // Calculate total frames\n const totalFrames = Math.round(dailiesSizeInBytes / bytesPerFrame);\n \n // Convert frames to timecode\n const newDuration = Timecode.fromFrames(totalFrames, framerate).toString();\n\n // Update duration\n setDurationInput(newDuration);\n setCalcData(prev => ({\n ...prev,\n duration: newDuration\n }));\n\n // Calculate camera file size based on new duration\n const { size: cameraSize, unit: cameraUnit } = calculateFileSize({\n ...calcData,\n duration: newDuration\n });\n\n // Update camera file size\n setFileSizeInput(`${cameraSize} ${cameraUnit}`);\n setFileSizeUnit(cameraUnit);\n };\n\n // Update the dailies file size input handler\n const handleDailiesFileSizeChange = (e) => {\n const newValue = e.target.value;\n setDailiesFileSize(newValue);\n \n // Parse and validate the new value\n const parsed = parseFileSize(newValue);\n if (parsed) {\n setDailiesData(prev => ({\n ...prev,\n fileSize: `${parsed.size} ${parsed.unit}`\n }));\n recalculateFromDailiesSize(parsed.size, parsed.unit);\n }\n };\n\n // Add blur handler for dailies file size input\n const handleDailiesFileSizeBlur = () => {\n const parsed = parseFileSize(dailiesFileSize);\n if (parsed) {\n const formattedSize = `${parsed.size} ${parsed.unit}`;\n setDailiesFileSize(formattedSize);\n setDailiesData(prev => ({\n ...prev,\n fileSize: formattedSize\n }));\n recalculateFromDailiesSize(parsed.size, parsed.unit);\n }\n };\n\n // Add touch handlers for mobile scrolling\n const handleDailiesWidthTouch = (e) => {\n if (lockedField) return;\n \n e.preventDefault();\n const touch = e.touches[0];\n const startY = touch.clientY;\n const rect = e.target.getBoundingClientRect();\n const touchX = touch.clientX - rect.left;\n const fieldWidth = rect.width;\n let lastY = startY;\n \n const handleTouchMove = (e) => {\n e.preventDefault();\n const touch = e.touches[0];\n const currentY = touch.clientY;\n const diffY = lastY - currentY;\n const isLeftHalf = touchX < fieldWidth / 2;\n const baseChange = isLeftHalf ? 20 : 2;\n const changeAmount = Math.abs(diffY) > 5 \n ? baseChange * Math.abs(diffY / 5) \n : baseChange;\n \n const delta = Math.sign(diffY);\n const newWidth = roundToEven(Math.max(2, dailiesData.width + delta * changeAmount));\n handleWidthChange({ target: { value: newWidth } });\n lastY = currentY;\n };\n\n const handleTouchEnd = () => {\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n };\n\n const handleDailiesHeightTouch = (e) => {\n if (lockedField) return;\n \n e.preventDefault();\n const touch = e.touches[0];\n const startY = touch.clientY;\n const rect = e.target.getBoundingClientRect();\n const touchX = touch.clientX - rect.left;\n const fieldWidth = rect.width;\n let lastY = startY;\n \n const handleTouchMove = (e) => {\n e.preventDefault();\n const touch = e.touches[0];\n const currentY = touch.clientY;\n const diffY = lastY - currentY;\n const isLeftHalf = touchX < fieldWidth / 2;\n const baseChange = isLeftHalf ? 20 : 2;\n const changeAmount = Math.abs(diffY) > 5 \n ? baseChange * Math.abs(diffY / 5) \n : baseChange;\n \n const delta = Math.sign(diffY);\n const newHeight = roundToEven(Math.max(2, dailiesData.height + delta * changeAmount));\n handleHeightChange({ target: { value: newHeight } });\n lastY = currentY;\n };\n\n const handleTouchEnd = () => {\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n };\n\n // Add useEffect for wheel event listeners\n useEffect(() => {\n const elements = [\n { ref: ratioRef, handler: handleDailiesRatioWheel },\n { ref: dailiesCodecRef, handler: handleDailiesCodecWheel },\n { ref: dailiesFileSizeRef, handler: handleDailiesFileSizeWheel }\n ];\n\n elements.forEach(({ ref, handler }) => {\n if (ref?.current) {\n ref.current.addEventListener('wheel', handler, { passive: false });\n return () => ref.current?.removeEventListener('wheel', handler);\n }\n });\n }, [selectedRatio, dailiesData.codec, dailiesFileSize]); // Add missing dependency array and closing bracket\n\n // Add this effect to ensure calculator stays at top after keyboard appears/disappears on mobile\n useEffect(() => {\n if (isMobile) {\n const handleResize = () => {\n window.scrollTo(0, 0);\n };\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }\n }, [isMobile]);\n\n const handleDailiesCodecTouch = useDropdownTouch(\n dailiesCodecs.map(codec => codec.name),\n dailiesData.codec,\n (e) => {\n const newCodec = e.target.value;\n setDailiesData(prev => ({ ...prev, codec: newCodec }));\n \n // Calculate dailies per day with new codec\n calculateDailiesFileSize(footagePerDay, true);\n \n // Calculate total dailies based on shoot days\n const totalFrames = Timecode.parse(footagePerDay, parseFloat(calcData.framerate)).totalFrames() * shootDays;\n const totalDuration = Timecode.fromFrames(totalFrames, parseFloat(calcData.framerate)).toString();\n calculateDailiesFileSize(totalDuration, false);\n },\n 'dailiesCodec'\n );\n\n const handleDailiesRatioTouch = useDropdownTouch(\n [...defaultAspectRatios.filter(r => r !== \"Custom\"), ...customRatios],\n selectedRatio,\n handleRatioChange,\n 'ratio'\n );\n\n \n\n // Move handleShootDaysChange before handleTouchStart and wrap it in useCallback\n const handleShootDaysChange = useCallback((e) => {\n const value = Math.max(1, parseInt(e.target.value) || 1);\n setShootDays(value);\n recalculateFileSizes(calcData, footagePerDay, value);\n }, [calcData, footagePerDay, recalculateFileSizes]);\n\n // Add wheel handler for shoot days\n const handleShootDaysWheel = useCallback((e) => {\n e.preventDefault();\n const delta = Math.sign(-e.deltaY);\n const newValue = Math.max(1, shootDays + delta);\n if (newValue !== shootDays) {\n setShootDays(newValue);\n handleShootDaysChange({ target: { value: newValue } });\n }\n }, [shootDays, handleShootDaysChange]);\n\n // Update handleTouchStart to use a ref for handleShootDaysChange\n useEffect(() => {\n handleShootDaysChangeRef.current = handleShootDaysChange;\n }, [handleShootDaysChange]);\n\n // Add useEffect to calculate initial values\n useEffect(() => {\n // Calculate initial values when component mounts\n const initialCalculation = () => {\n // Calculate total footage\n const totalFrames = Timecode.parse(footagePerDay, parseFloat(calcData.framerate)).totalFrames() * shootDays;\n const totalDuration = Timecode.fromFrames(totalFrames, parseFloat(calcData.framerate)).toString();\n setDurationInput(totalDuration);\n \n // Calculate file size per day\n const { size: perDaySize, unit: perDayUnit } = calculateFileSize({ \n ...calcData, \n duration: footagePerDay \n });\n setFileSizePerDay(`${perDaySize} ${perDayUnit}`);\n \n // Calculate total OCF file size\n const { size, unit } = calculateFileSize({ \n ...calcData, \n duration: totalDuration \n });\n setFileSizeInput(`${size} ${unit}`);\n setFileSizeUnit(unit);\n\n // Calculate dailies sizes\n calculateDailiesFileSize(footagePerDay, true);\n calculateDailiesFileSize(totalDuration, false);\n };\n\n initialCalculation();\n }, []); // Run once on mount\n\n // const handleFootagePerDayChange = (e) => {\n // const newFootagePerDay = e.target.value;\n // setFootagePerDay(newFootagePerDay);\n // recalculateFileSizes(calcData, newFootagePerDay, shootDays);\n // };\n\n const currentSpacing = isMobile ? spacing.mobile : spacing.desktop;\n\n // Use global styles\n const commonInputClass = commonStyles.commonInputClass;\n const textCenterImportant = commonStyles.textCenterImportant;\n const getInputStyle = (field, mode) => {\n return commonStyles.getInputStyle(field, mode);\n };\n\n // Add these handlers\n const handleWidthFocus = (e) => {\n if (lockedField !== 'width') {\n e.target.value = '';\n }\n };\n\n const handleHeightFocus = (e) => {\n if (lockedField !== 'height') {\n e.target.value = '';\n }\n };\n\n // Add state for tracking focus\n const [focusedField, setFocusedField] = useState(null);\n\n // Update handleFootagePerDayChange to match handleInputChange from DurationToFileSize\n const handleFootagePerDayChange = (e) => {\n const { value } = e.target;\n setFootagePerDay(value);\n };\n\n // Add handleFootagePerDayBlur to match handleDurationBlur from DurationToFileSize\n const handleFootagePerDayBlur = () => {\n if (footagePerDay.trim() === '') {\n setFootagePerDay('');\n if (!isDurationLocked) {\n setCalcData(prevData => ({ ...prevData, duration: '' }));\n }\n } else {\n try {\n const parsedDuration = parseDuration(footagePerDay, parseFloat(calcData.framerate));\n setFootagePerDay(parsedDuration);\n if (!isDurationLocked) {\n setCalcData(prevData => ({\n ...prevData,\n duration: parsedDuration\n }));\n // Recalculate file sizes\n recalculateFileSizes(calcData, parsedDuration, shootDays);\n }\n } catch (error) {\n console.error(\"Invalid duration format\");\n setFootagePerDay('');\n if (!isDurationLocked) {\n setCalcData(prevData => ({ ...prevData, duration: '' }));\n }\n }\n }\n };\n\n // Add handleFootagePerDayKeyPress to match handleDurationKeyPress from DurationToFileSize\n const handleFootagePerDayKeyPress = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n if (!isDurationLocked) {\n try {\n const parsedDuration = parseDuration(footagePerDay, parseFloat(calcData.framerate));\n setFootagePerDay(parsedDuration);\n setCalcData(prev => ({\n ...prev,\n duration: parsedDuration\n }));\n // Recalculate file sizes based on the parsed duration\n recalculateFileSizes(calcData, parsedDuration, shootDays);\n // Blur the input field\n e.target.blur();\n } catch (error) {\n console.error(\"Invalid duration format\");\n }\n }\n }\n };\n\n // Add wheel handler for footage per day\n const handleFootagePerDayWheel = useCallback((e) => {\n e.preventDefault();\n \n // If footagePerDay is undefined or empty, set a default value\n if (!footagePerDay || footagePerDay.trim() === '') {\n const defaultFootagePerDay = '04:00:00:00';\n setFootagePerDay(defaultFootagePerDay);\n recalculateFileSizes(calcData, defaultFootagePerDay, shootDays);\n return;\n }\n \n const sensitivity = 0.025;\n const scrollAmount = -e.deltaY * sensitivity; // Note the negative sign here\n \n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const width = rect.width;\n \n // Parse the current footagePerDay value\n let hours = 0, minutes = 0, seconds = 0, frames = 0;\n \n try {\n const parts = footagePerDay.split(':').map(Number);\n hours = isNaN(parts[0]) ? 0 : parts[0];\n minutes = isNaN(parts[1]) ? 0 : parts[1];\n seconds = isNaN(parts[2]) ? 0 : parts[2];\n frames = isNaN(parts[3]) ? 0 : parts[3];\n } catch (error) {\n console.error('Error parsing footagePerDay:', error);\n hours = 4;\n minutes = 0;\n seconds = 0;\n frames = 0;\n }\n \n const framerate = parseFloat(calcData.framerate) || 24;\n \n if (isMobile) {\n // Mobile: Two sections - left half for hours, right half for minutes in 5-minute increments\n if (x < width * 0.5) {\n // Left zone - adjust hours\n hours += Math.sign(scrollAmount);\n hours = Math.max(0, hours);\n } else {\n // Right zone - adjust minutes in 5-minute increments\n const minuteChange = Math.sign(scrollAmount) * 5; // 5-minute increments\n minutes += minuteChange;\n \n // Handle rollover\n while (minutes < 0) {\n if (hours > 0) {\n hours--;\n minutes += 60;\n } else {\n minutes = 0;\n }\n }\n \n while (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n } else {\n // Desktop: Four sections - hours, minutes, seconds, frames\n if (x < width * 0.25) {\n // Scrolling hours\n hours += Math.sign(scrollAmount);\n hours = Math.max(0, hours);\n } else if (x < width * 0.5) {\n // Scrolling minutes\n minutes += Math.sign(scrollAmount);\n if (minutes < 0) {\n if (hours > 0) {\n hours--;\n minutes = 59;\n } else {\n minutes = 0;\n }\n } else if (minutes >= 60) {\n hours++;\n minutes = 0;\n }\n } else if (x < width * 0.75) {\n // Scrolling seconds\n seconds += Math.sign(scrollAmount);\n if (seconds < 0) {\n if (minutes > 0) {\n minutes--;\n seconds = 59;\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds = 59;\n } else {\n seconds = 0;\n }\n } else if (seconds >= 60) {\n minutes++;\n seconds = 0;\n if (minutes >= 60) {\n hours++;\n minutes = 0;\n }\n }\n } else {\n // Scrolling frames\n frames += Math.sign(scrollAmount);\n if (frames < 0) {\n if (seconds > 0) {\n seconds--;\n frames = Math.floor(framerate) - 1;\n } else if (minutes > 0) {\n minutes--;\n seconds = 59;\n frames = Math.floor(framerate) - 1;\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds = 59;\n frames = Math.floor(framerate) - 1;\n } else {\n frames = 0;\n }\n } else if (frames >= framerate) {\n seconds++;\n frames = 0;\n if (seconds >= 60) {\n minutes++;\n seconds = 0;\n if (minutes >= 60) {\n hours++;\n minutes = 0;\n }\n }\n }\n }\n }\n \n const newFootagePerDay = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n \n setFootagePerDay(newFootagePerDay);\n recalculateFileSizes(calcData, newFootagePerDay, shootDays);\n }, [footagePerDay, calcData, shootDays, recalculateFileSizes, isMobile]);\n\n return (\n
\n
\n {/* Row 1 - Shoot Days, Footage per Day, Total Footage */}\n
\n
\n \n handleTouchStart(e, 'footagePerDay')}\n placeholder=\"ex: 01:00:00:00 or 16 hrs\"\n className={getInputStyle('duration')}\n />\n
\n
\n \n handleTouchStart(e, 'shootDays')}\n className={commonStyles.commonInputClass}\n />\n
\n
\n \n \n
\n
\n\n {/* Row 2 - Brand and Camera */}\n
\n
\n \n \n {brands.map(brand => (\n \n ))}\n \n
\n
\n \n \n {availableCameras.map(camera => (\n \n ))}\n \n
\n
\n\n {/* Row 3 - Resolution and Framerate */}\n
\n
\n \n \n {availableResolutions.map(resolution => (\n \n ))}\n \n
\n
\n \n \n {availableFramerates.map(framerate => (\n \n ))}\n \n
\n
\n\n {/* Row 4 - Codec and Bitrate */}\n
\n
\n \n \n {availableCodecs.map(codec => (\n \n ))}\n \n
\n
\n \n \n
\n
\n\n {/* Row 5 - File Sizes */}\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n {/* Row 6 - Dailies Aspect, Width, Lock, Height */}\n
\n
\n \n \n {[...defaultAspectRatios.filter(r => r !== \"Custom\"), ...customRatios]\n .map(ratio => (\n \n ))}\n \n
\n
\n \n {\n setFocusedField(null);\n handleWidthBlur(e);\n }}\n onFocus={(e) => {\n setFocusedField('width');\n if (lockedField === 'height') {\n e.target.select();\n }\n }}\n onKeyPress={handleWidthKeyPress}\n onWheel={handleWidthWheel}\n onClick={(e) => {\n e.target.select();\n setFocusedField('width');\n }}\n placeholder={lockedField === 'height' && focusedField === 'width' ? 'Enter width to set ratio' : ''}\n className={commonStyles.getInputStyle('width', lockedField)}\n disabled={lockedField === 'width'}\n onTouchStart={(e) => handleTouchStart(e, 'width')}\n onTouchMove={(e) => handleTouchMove(e, 'width')}\n />\n
\n
\n \n \n {lockedField ? (\n \n ) : (\n \n )}\n {lockedField === 'width' && (\n \n )}\n {lockedField === 'height' && (\n \n )}\n \n
\n
\n \n {\n setFocusedField(null);\n handleHeightBlur(e);\n }}\n onFocus={(e) => {\n setFocusedField('height');\n if (lockedField === 'width') {\n e.target.select();\n }\n }}\n onKeyPress={handleHeightKeyPress}\n onWheel={handleHeightWheel}\n onClick={(e) => {\n e.target.select();\n setFocusedField('height');\n }}\n placeholder={lockedField === 'width' && focusedField === 'height' ? 'Enter height to set ratio' : ''}\n className={commonStyles.getInputStyle('height', lockedField)}\n disabled={lockedField === 'height'}\n onTouchStart={(e) => handleTouchStart(e, 'height')}\n onTouchMove={(e) => handleTouchMove(e, 'height')}\n />\n
\n
\n\n {/* Row 7 - Dailies Codec and File Sizes */}\n
\n
\n \n \n {dailiesCodecs.map(codec => (\n \n ))}\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n {/* Action Buttons */}\n \n
\n
\n );\n};\n\nexport default dailiesCalculator;","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { SlDocs, SlNote, SlRefresh, SlLike, SlPaperPlane } from \"react-icons/sl\";\nimport { FaShareSquare, FaLock, FaUnlockAlt, FaAngleLeft, FaAngleRight } from 'react-icons/fa';\nimport { durationCodecs } from '../data/codecData';\nimport { resolutions } from '../data/resolutionData';\nimport { disableScroll, enableScroll } from '../utils/utils';\nimport { useCalculator } from '../context/CalculatorContext';\nimport { useDropdownTouch } from '../hooks/useDropdownTouch';\nimport { colors, spacing, commonStyles, layout } from '../styles/globalStyles';\nimport CalculatorButtons from './CalculatorButtons';\nimport { handleShareOnDevice } from '../utils/shareUtils';\n\n\n\n// Timecode class for handling timecode operations\nclass Timecode {\n constructor(hours = 0, minutes = 0, seconds = 0, frames = 0, frameRate = 24) {\n this.hours = Math.floor(hours);\n this.minutes = Math.floor(minutes);\n this.seconds = Math.floor(seconds);\n this.frames = Math.floor(frames);\n this.frameRate = frameRate;\n }\n\n // Parse a timecode string into a Timecode object\n static parse(timecodeString, frameRate = 24) {\n const parts = timecodeString.split(/[:.]/).map(Number);\n while (parts.length < 4) parts.unshift(0);\n const [hours, minutes, seconds, frames] = parts;\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n \n // Convert Timecode object to string\n toString() {\n return `${this.hours.toString().padStart(2, '0')}:${this.minutes.toString().padStart(2, '0')}:${this.seconds.toString().padStart(2, '0')}:${this.frames.toString().padStart(2, '0')}`;\n }\n\n // Calculate total frames\n totalFrames() {\n return this.hours * 3600 * this.frameRate + \n this.minutes * 60 * this.frameRate + \n this.seconds * this.frameRate + \n this.frames;\n }\n\n // Create a Timecode object from total frames\n static fromFrames(totalFrames, frameRate = 24) {\n const hours = Math.floor(totalFrames / (3600 * frameRate));\n totalFrames %= 3600 * frameRate;\n const minutes = Math.floor(totalFrames / (60 * frameRate));\n totalFrames %= 60 * frameRate;\n const seconds = Math.floor(totalFrames / frameRate);\n const frames = Math.floor(totalFrames % frameRate);\n\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n}\n\n// Define default framerates and resolutions\nconst defaultFramerates = [\"1\", \"12\", \"24\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"];\nconst defaultResolutions = Object.keys(resolutions);\n\n// Add this helper function near the top of the file\nconst formatBitrate = (bitrateInBytes) => {\n if (bitrateInBytes >= 1024 * 1024 * 1024) {\n return `${(bitrateInBytes / (1024 * 1024 * 1024)).toFixed(2)} GB/s`;\n } else if (bitrateInBytes >= 1024 * 1024) {\n return `${(bitrateInBytes / (1024 * 1024)).toFixed(2)} MB/s`;\n } else if (bitrateInBytes >= 1024) {\n return `${(bitrateInBytes / 1024).toFixed(2)} KB/s`;\n } else {\n return `${bitrateInBytes.toFixed(2)} B/s`;\n }\n};\n\nconst DurationToFileSize = ({ addLog }) => {\n // Get context\n const { durationCalcState, setDurationCalcState } = useCalculator();\n\n // Initialize state from context or defaults\n const [calcData, setCalcData] = useState(durationCalcState.calcData || {\n duration: \"01:00:00:00\",\n resolution: \"UHD (3840 x 2160)\",\n codec: \"Apple ProRes 422 HQ\",\n framerate: \"24\",\n fileSize: \"310.328\"\n });\n \n const [durationInput, setDurationInput] = useState(durationCalcState.durationInput || \"01:00:00:00\");\n const [fileSizeInput, setFileSizeInput] = useState(durationCalcState.fileSizeInput || \"310.328 GB\");\n const [fileSizeUnit, setFileSizeUnit] = useState(durationCalcState.fileSizeUnit || \"GB\");\n const [isDurationLocked, setIsDurationLocked] = useState(durationCalcState.isDurationLocked || false);\n const [isFileSizeLocked, setIsFileSizeLocked] = useState(durationCalcState.isFileSizeLocked || false);\n const [calculationMode, setCalculationMode] = useState(durationCalcState.calculationMode || null);\n\n // Add effect to save state to context when it changes\n useEffect(() => {\n setDurationCalcState({\n calcData,\n durationInput,\n fileSizeInput,\n fileSizeUnit,\n isDurationLocked,\n isFileSizeLocked,\n calculationMode\n });\n }, [\n calcData,\n durationInput,\n fileSizeInput,\n fileSizeUnit,\n isDurationLocked,\n isFileSizeLocked,\n calculationMode,\n setDurationCalcState\n ]);\n\n // Add effect to handle URL parameters\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n if (params.has('duration')) {\n const newCalcData = {\n duration: params.get('duration') || \"01:00:00:00\",\n resolution: params.get('resolution') || \"UHD (3840 x 2160)\",\n codec: params.get('codec') || \"Apple ProRes 422 HQ\",\n framerate: params.get('framerate') || \"24\",\n fileSize: params.get('fileSize') || \"310.328\"\n };\n setCalcData(newCalcData);\n setDurationInput(params.get('duration') || \"01:00:00:00\");\n setFileSizeInput(params.get('fileSize') ? `${params.get('fileSize')} GB` : \"310.328 GB\");\n }\n }, []);\n\n // Update handleReset to also clear context\n const handleReset = () => {\n const defaultValues = {\n duration: \"01:00:00:00\",\n resolution: \"UHD (3840 x 2160)\",\n codec: \"Apple ProRes 422 HQ\",\n framerate: \"24\",\n fileSize: \"310.328\"\n };\n\n setCalcData(defaultValues);\n setDurationInput(defaultValues.duration);\n setFileSizeInput(`${defaultValues.fileSize} GB`);\n setFileSizeUnit(\"GB\");\n setIsDurationLocked(false);\n setIsFileSizeLocked(false);\n setCalculationMode(null);\n\n // Reset context state\n setDurationCalcState({\n calcData: defaultValues,\n durationInput: defaultValues.duration,\n fileSizeInput: `${defaultValues.fileSize} GB`,\n fileSizeUnit: \"GB\",\n isDurationLocked: false,\n isFileSizeLocked: false,\n calculationMode: null\n });\n\n setResetButtonText();\n setTimeout(() => setResetButtonText(), 500);\n };\n\n // Function to calculate bitrate\n const calculateBitrate = (data = calcData) => {\n try {\n // Get resolution dimensions\n let width, height;\n if (data.resolution.startsWith('Custom')) {\n const match = data.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (match) {\n [, width, height] = match;\n } else {\n throw new Error('Invalid custom resolution format');\n }\n } else {\n const resolutionData = resolutions[data.resolution];\n if (!resolutionData || !resolutionData.dimensions) {\n throw new Error('Invalid resolution');\n }\n [width, height] = resolutionData.dimensions;\n }\n\n // Get codec datarate\n const selectedCodec = durationCodecs.find(codec => codec.name === data.codec);\n if (!selectedCodec) {\n throw new Error('Invalid codec');\n }\n const datarate = selectedCodec.datarate;\n\n // Calculate bitrate\n const framerate = parseFloat(data.framerate);\n const bitrateInBytes = (datarate * width * height * framerate) * 1024 * 1024;\n \n return formatBitrate(bitrateInBytes);\n } catch (error) {\n console.error('Error calculating bitrate:', error);\n return '0 MB/s';\n }\n };\n\n // State variables\n const [copyStatus, setCopyStatus] = useState(\"\");\n const [isMobile, setIsMobile] = useState(false);\n const [customResolutions, setCustomResolutions] = useState([]);\n const [customFramerates, setCustomFramerates] = useState([]);\n const [logs, setLogs] = useState([]);\n const [copiedLogIndex, setCopiedLogIndex] = useState(null);\n const [copyDurationText, setCopyDurationText] = useState();\n const [copyFileSizeText, setCopyFileSizeText] = useState();\n const [logButtonText, setLogButtonText] = useState();\n const [lockedField, setLockedField] = useState(null); // 'duration', 'fileSize', or null\n const [shareButtonText, setShareButtonText] = useState();\n const [resetButtonText, setResetButtonText] = useState();\n const [previousResolution, setPreviousResolution] = useState(\"UHD (3840 x 2160)\");\n const [isCustomResolution, setIsCustomResolution] = useState(false);\n const [isCustomFramerate, setIsCustomFramerate] = useState(false);\n\n // Refs for DOM elements\n const resolutionRef = useRef(null);\n const codecRef = useRef(null);\n const durationRef = useRef(null);\n const framerateRef = useRef(null);\n const fileSizeRef = useRef(null);\n const customResolutionRef = useRef(null);\n const customFramerateRef = useRef(null);\n const logRef = useRef(null);\n\n const commonFramerates = [\n \"1\", \"12\", \"24\", \"24\", \"25\", \"29.97\", \"30\", \"50\", \"59.94\", \"60\", \"120\"];\n\n // Convert resolutions object to array for select options\n const resolutionOptions = Object.keys(resolutions);\n\n // Get resolution string for display\n let resolutionString;\n if (calcData.resolution === 'Custom') {\n resolutionString = calcData.customResolution;\n } else {\n const match = calcData.resolution.match(/\\((\\d+\\s*x\\s*\\d+)\\)/);\n resolutionString = match ? match[1].replace(/\\s+/g, '') : calcData.resolution;\n }\n\n // Ref for previous calcData\n const prevCalcData = useRef(calcData);\n\n\n // Effect to check if the device is mobile\n useEffect(() => {\n const checkMobile = () => {\n setIsMobile(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));\n };\n\n checkMobile();\n window.addEventListener('resize', checkMobile);\n\n return () => window.removeEventListener('resize', checkMobile);\n }, []);\n\n\n\n\n // Handler for input changes\n const handleInputChange = (e) => {\n const { name, value } = e.target;\n if (name === 'duration') {\n setDurationInput(value);\n } else if (name === 'fileSize') {\n setFileSizeInput(value);\n } else if (['resolution', 'codec', 'framerate'].includes(name)) {\n setCalcData(prevData => ({\n ...prevData,\n [name]: value\n }));\n \n // Only recalculate if file size is NOT locked\n if (calculationMode !== 'fileSize') {\n // If file size is not locked, recalculate file size based on current duration\n const { size, unit } = calculateFileSize();\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size,\n [name]: value\n }));\n setFileSizeUnit(unit);\n } else {\n // If file size is locked, recalculate duration instead\n const duration = calculateDuration({ ...calcData, [name]: value }, fileSizeInput);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration,\n [name]: value\n }));\n }\n }\n };\n\n\n\n // Handler for duration focus\n const handleDurationFocus = () => {\n if (!isDurationLocked) {\n setDurationInput('');\n }\n };\n\n // Function to parse duration input\n const parseDuration = (input, framerate) => {\n if (!input || input.trim() === '') {\n return new Timecode(0, 0, 0, 0, framerate).toString();\n }\n\n input = input.trim().toLowerCase();\n\n // Helper function to handle rollovers\n const handleRollover = (hours, minutes, seconds, frames) => {\n // Handle frame rollover\n if (frames >= framerate) {\n seconds += Math.floor(frames / framerate);\n frames %= framerate;\n }\n // Handle seconds rollover\n if (seconds >= 60) {\n minutes += Math.floor(seconds / 60);\n seconds %= 60;\n }\n // Handle minutes rollover\n if (minutes >= 60) {\n hours += Math.floor(minutes / 60);\n minutes %= 60;\n }\n return [hours, minutes, seconds, frames];\n };\n\n // Handle special period patterns first\n if (input.includes('.')) {\n const parts = input.split('.');\n switch (parts.length) {\n case 2: // 1.12 -> 00:01:00:12\n let [minutes, frames1] = [parseInt(parts[0]) || 0, parseInt(parts[1]) || 0];\n return new Timecode(...handleRollover(0, minutes, 0, frames1), framerate).toString();\n case 3: // 1..12 -> 01:00:00:12 or 11..1 -> 11:00:00:01\n let [hours, , frames2] = [parseInt(parts[0]) || 0, 0, parseInt(parts[2]) || 0];\n return new Timecode(...handleRollover(hours, 0, 0, frames2), framerate).toString();\n default:\n // For any other number of periods, treat each as 00\n return new Timecode(...Array(input.match(/\\./g).length).fill(0), framerate).toString();\n }\n }\n\n // Handle colon patterns (e.g., 1:12 -> 00:00:01:12)\n if (input.includes(':')) {\n const parts = input.split(':').map(num => parseInt(num) || 0);\n while (parts.length < 4) parts.unshift(0);\n return new Timecode(...handleRollover(...parts), framerate).toString();\n }\n\n // Handle continuous digit input with patterns\n if (/^\\d+$/.test(input)) {\n let parts = [];\n \n switch (input.length) {\n case 8: // HH:MM:SS:FF\n parts = [\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n parseInt(input.slice(4, 6)) || 0,\n parseInt(input.slice(6, 8)) || 0\n ];\n break;\n case 7: // 0H:MM:SS:FF\n parts = [\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n parseInt(input.slice(3, 5)) || 0,\n parseInt(input.slice(5, 7)) || 0\n ];\n break;\n case 6: // HH:MM:SS:00\n parts = [\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n parseInt(input.slice(4, 6)) || 0,\n 0\n ];\n break;\n case 5: // 0H:MM:SS:00\n parts = [\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n parseInt(input.slice(3, 5)) || 0,\n 0\n ];\n break;\n case 4: // 00:MM:SS:00\n parts = [\n 0,\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n 0\n ];\n break;\n case 3: // 00:0M:SS:00\n parts = [\n 0,\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n 0\n ];\n break;\n case 2: // 00:00:SS:00\n parts = [0, 0, parseInt(input.slice(0, 2)) || 0, 0];\n break;\n case 1: // 00:00:0S:00\n parts = [0, 0, parseInt('0' + input) || 0, 0];\n break;\n default:\n // For any other length, treat as seconds\n const seconds = parseInt(input, 10);\n return new Timecode(...handleRollover(0, 0, seconds, 0), framerate).toString();\n }\n\n return new Timecode(...handleRollover(...parts), framerate).toString();\n }\n\n // Handle text-based duration inputs (e.g., \"1h 30m\")\n const patterns = {\n week: /(\\d+)\\s*(?:w|wk|wks|week|weeks)/i,\n day: /(\\d+)\\s*(?:d|dy|dys|day|days)/i,\n hour: /(\\d+)\\s*(?:h|hr|hrs|hour|hours)/i,\n minute: /(\\d+)\\s*(?:m|min|mins|minute|minutes)/i,\n second: /(\\d+)\\s*(?:s|sec|secs|second|seconds)/i,\n frame: /(\\d+)\\s*(?:f|fr|frm|frms|frame|frames)/i\n };\n\n let totalFrames = 0;\n\n Object.entries(patterns).forEach(([unit, pattern]) => {\n const match = input.match(pattern);\n if (match) {\n const value = parseInt(match[1]);\n switch (unit) {\n case 'week': totalFrames += value * 7 * 24 * 3600 * framerate; break;\n case 'day': totalFrames += value * 24 * 3600 * framerate; break;\n case 'hour': totalFrames += value * 3600 * framerate; break;\n case 'minute': totalFrames += value * 60 * framerate; break;\n case 'second': totalFrames += value * framerate; break;\n case 'frame': totalFrames += value; break;\n }\n }\n });\n\n if (totalFrames === 0) {\n // If no valid time units were found, try parsing as a single number (assume seconds)\n const totalSeconds = parseFloat(input);\n if (!isNaN(totalSeconds)) {\n totalFrames = Math.round(totalSeconds * framerate);\n } else {\n throw new Error(\"Invalid duration format\");\n }\n }\n\n return Timecode.fromFrames(totalFrames, framerate).toString();\n };\n\n const handleShare = async () => {\n const shareUrl = new URL(window.location.href);\n shareUrl.searchParams.set('duration', durationInput);\n shareUrl.searchParams.set('resolution', calcData.resolution);\n shareUrl.searchParams.set('codec', calcData.codec);\n shareUrl.searchParams.set('framerate', calcData.framerate);\n shareUrl.searchParams.set('fileSize', fileSizeInput);\n if (calculationMode) {\n shareUrl.searchParams.set('mode', calculationMode);\n }\n\n const resolutionString = calcData.resolution.match(/\\((\\d+\\s*x\\s*\\d+)\\)/)?.[1].replace(/\\s+/g, '') || calcData.resolution;\n const shareButtonText = `${resolutionString} ${calcData.codec} @ ${calcData.framerate}fps (${calculateBitrate()}) \\n${durationInput} = ${fileSizeInput}`;\n \n try {\n const result = await handleShareOnDevice(\n 'TBD Post DataCalc',\n `Check out this duration calculation: ${shareButtonText}`,\n shareUrl.toString()\n );\n\n if (result?.success) {\n setShareButtonText();\n setTimeout(() => setShareButtonText(), 500);\n }\n return result;\n } catch (error) {\n console.error('Share failed:', error);\n return { success: false, method: 'none' };\n }\n };\n\n const handleShareLog = () => {\n const shareUrl = generateShareUrl();\n handleShare(isMobile, 'Duration to File Size', `${resolutionString} ${calcData.codec} @ ${calcData.framerate}fps ${calcData.duration} = ${fileSizeInput}`, shareUrl, () => {\n setShareButtonText();\n setTimeout(() => setShareButtonText(), 500);\n });\n };\n\n const handleShareLogError = (error) => {\n console.error('Failed to copy or share: ', error);\n };\n\n const generateShareUrl = () => {\n const params = new URLSearchParams({\n duration: calcData.duration,\n resolution: calcData.resolution,\n codec: calcData.codec,\n framerate: calcData.framerate,\n fileSize: fileSizeInput,\n calculationMode: calculationMode || '',\n lockedField: lockedField || ''\n });\n return `${window.location.origin}${window.location.pathname}?${params.toString()}`;\n };\n\n\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n if (params.has('duration')) {\n setCalcData({\n duration: params.get('duration'),\n resolution: params.get('resolution'),\n codec: params.get('codec'),\n framerate: params.get('framerate'),\n fileSize: params.get('fileSize'),\n });\n setDurationInput(params.get('duration'));\n setFileSizeInput(`${params.get('fileSize')} GB`);\n }\n }, []);\n\n // Handler for duration blur event\n const handleDurationBlur = () => {\n if (durationInput.trim() === '') {\n setDurationInput('');\n if (!isDurationLocked) {\n setCalcData(prevData => ({ ...prevData, duration: '' }));\n }\n } else {\n try {\n const parsedDuration = parseDuration(durationInput, parseFloat(calcData.framerate));\n setDurationInput(parsedDuration);\n if (!isDurationLocked) {\n setCalcData(prevData => ({\n ...prevData,\n duration: parsedDuration\n }));\n // Recalculate file size if needed\n if (!isFileSizeLocked) {\n const { size, unit } = calculateFileSize();\n setFileSizeInput(`${size} ${unit}`);\n setFileSizeUnit(unit);\n }\n }\n } catch (error) {\n console.error(\"Invalid duration format\");\n setDurationInput('');\n if (!isDurationLocked) {\n setCalcData(prevData => ({ ...prevData, duration: '' }));\n }\n }\n }\n };\n\n // Handler for duration key press\n const handleDurationKeyPress = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n if (!isDurationLocked) {\n try {\n const parsedDuration = parseDuration(durationInput, parseFloat(calcData.framerate));\n setDurationInput(parsedDuration);\n setCalcData(prev => ({\n ...prev,\n duration: parsedDuration\n }));\n // Recalculate file size based on the parsed duration\n if (!isFileSizeLocked) {\n const { size, unit } = calculateFileSize({ ...calcData, duration: parsedDuration });\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prev => ({\n ...prev,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n }\n // Blur the input field\n e.target.blur();\n } catch (error) {\n console.error(\"Invalid duration format\");\n // Optionally, notify the user or revert to the previous valid duration\n }\n }\n }\n };\n\n // Update the handleWheel function to handle all dropdown types\n const handleWheel = (e, options, currentValue, setterFunction, fieldType) => {\n e.preventDefault();\n const index = options.indexOf(currentValue);\n const sensitivity = 0.025;\n const scrollAmount = -e.deltaY * sensitivity;\n \n let newIndex = index + Math.sign(scrollAmount);\n newIndex = Math.max(0, Math.min(newIndex, options.length - 1));\n \n if (newIndex !== index) {\n const newValue = options[newIndex];\n \n // Recalculate based on lock state\n if (calculationMode === 'fileSize') {\n // If file size is locked, only update duration\n const duration = calculateDuration({ \n ...calcData, \n [fieldType]: newValue \n }, fileSizeInput);\n \n setDurationInput(duration);\n setCalcData(prev => ({\n ...prev,\n [fieldType]: newValue,\n duration: duration\n }));\n } else {\n // If duration is locked or nothing is locked, update file size\n const { size, unit } = calculateFileSize({ \n ...calcData, \n [fieldType]: newValue \n });\n \n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prev => ({\n ...prev,\n [fieldType]: newValue,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n }\n }\n };\n\n // Update the wheel handlers to pass the field type\n const handleResolutionWheel = (e) => {\n handleWheel(\n e, \n [...resolutionOptions, ...customResolutions], \n calcData.resolution,\n () => {}, // We don't need the setter function anymore\n 'resolution'\n );\n };\n\n const handleFramerateWheel = (e) => {\n handleWheel(\n e, \n [...defaultFramerates, ...customFramerates], \n calcData.framerate,\n () => {}, // We don't need the setter function anymore\n 'framerate'\n );\n };\n\n const handleCodecWheel = (e) => {\n handleWheel(\n e, \n durationCodecs.map(codec => codec.name), \n calcData.codec,\n () => {}, // We don't need the setter function anymore\n 'codec'\n );\n };\n\n const handleDurationWheel = (e) => {\n e.preventDefault();\n if (isDurationLocked) return; // Immediately return if duration is locked\n\n const sensitivity = 0.025;\n const scrollAmount = -e.deltaY * sensitivity; // Note the negative sign here\n \n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const width = rect.width;\n \n let [hours, minutes, seconds, frames] = calcData.duration.split(':').map(Number);\n const framerate = parseFloat(calcData.framerate);\n \n if (x < width * 0.25) {\n // Scrolling hours\n hours += Math.sign(scrollAmount);\n hours = Math.max(0, hours);\n } else if (x < width * 0.5) {\n // Scrolling minutes\n minutes += Math.sign(scrollAmount);\n if (minutes < 0) {\n if (hours > 0) {\n hours--;\n minutes = 59;\n } else {\n minutes = 0;\n }\n } else if (minutes >= 60) {\n hours++;\n minutes = 0;\n }\n } else if (x < width * 0.75) {\n // Scrolling seconds\n seconds += Math.sign(scrollAmount);\n if (seconds < 0) {\n if (minutes > 0) {\n minutes--;\n seconds += 60;\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds += 60;\n } else {\n seconds = 0;\n }\n }\n while (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n } else {\n // Scrolling frames\n frames += Math.sign(scrollAmount);\n if (frames < 0) {\n if (seconds > 0) {\n seconds--;\n frames += Math.floor(framerate);\n } else if (minutes > 0) {\n minutes--;\n seconds = 59;\n frames += Math.floor(framerate);\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds = 59;\n frames += Math.floor(framerate);\n } else {\n frames = 0;\n }\n } else if (frames >= Math.floor(framerate)) {\n seconds++;\n frames -= Math.floor(framerate);\n if (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n }\n }\n\n const newDuration = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n setDurationInput(newDuration);\n setCalcData(prevData => ({ ...prevData, duration: newDuration }));\n\n // Recalculate file size\n const { size, unit } = calculateFileSize();\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n };\n\n const calculateFileSize = (data = calcData) => {\n try {\n console.log(\"Starting file size calculation with data:\", data);\n\n const [hours, minutes, seconds, frames] = data.duration.split(':').map(Number);\n const totalFrames = (hours * 3600 + minutes * 60 + seconds) * parseFloat(data.framerate) + frames;\n console.log(\"Total frames:\", totalFrames);\n\n let resolutionValue;\n if (data.resolution.startsWith('Custom')) {\n const match = data.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (match) {\n const [, width, height] = match;\n resolutionValue = parseInt(width) * parseInt(height);\n console.log(\"Custom resolution parsed:\", width, \"x\", height);\n } else {\n throw new Error(`Invalid custom resolution format: ${data.resolution}`);\n }\n } else {\n const resolutionData = resolutions[data.resolution];\n console.log(\"Resolution data:\", resolutionData);\n if (!resolutionData || !resolutionData.dimensions) {\n throw new Error(`Invalid resolution: ${data.resolution}`);\n }\n const [width, height] = resolutionData.dimensions;\n resolutionValue = width * height;\n }\n console.log(\"Resolution value:\", resolutionValue);\n\n const selectedCodec = durationCodecs.find(codec => codec.name === data.codec);\n console.log(\"Selected codec:\", selectedCodec);\n if (!selectedCodec) {\n throw new Error(`Invalid codec: ${data.codec}`);\n }\n\n const megapixels = resolutionValue;\n const datarate = selectedCodec.datarate;\n const fileSizeGB = (totalFrames * megapixels * datarate) / 8 / 1024;\n console.log(\"Calculated file size in GB:\", fileSizeGB);\n\n const { size, unit } = formatFileSize(fileSizeGB);\n console.log(\"Formatted file size:\", size, unit);\n\n return { size, unit };\n } catch (error) {\n console.error(\"Error calculating file size:\", error.message);\n return { size: '0', unit: 'B' };\n }\n };\n\n // Helper function to format file size\n const formatFileSize = (sizeInGB) => {\n const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];\n let size = sizeInGB * 1024 * 1024 * 1024; // Convert GB to bytes\n let unitIndex = 0;\n\n while (size >= 1024 && unitIndex < units.length - 1) {\n size /= 1024;\n unitIndex++;\n }\n\n return {\n size: size.toFixed(3),\n unit: units[unitIndex]\n };\n };\n\n // 8. Modify useEffect to handle recalculations based on calculationMode\n useEffect(() => {\n // Skip calculations if the resolution is set to 'Custom' and the custom resolution is not yet confirmed\n if (calcData.resolution === 'Custom' && !calcData.customResolution) {\n return;\n }\n\n recalculateBasedOnLockState();\n }, [\n calcData.resolution,\n calcData.codec,\n calcData.framerate,\n calcData.duration,\n calcData.fileSize,\n isDurationLocked,\n isFileSizeLocked,\n calculationMode\n ]);\n\n useEffect(() => {\n const durationElement = durationRef.current;\n\n const wheelHandler = (e) => {\n if (!isDurationLocked) {\n handleDurationWheel(e);\n }\n };\n\n if (durationElement) {\n durationElement.addEventListener('wheel', wheelHandler, { passive: false });\n }\n\n return () => {\n if (durationElement) {\n durationElement.removeEventListener('wheel', wheelHandler);\n }\n };\n }, [calcData.duration, calcData.framerate, isDurationLocked]);\n\n const handleFileSizeClick = () => {\n if (isMobile) return;\n\n const fileSizeText = `${calcData.fileSize} ${fileSizeUnit}`;\n navigator.clipboard.writeText(fileSizeText).then(() => {\n }).catch(err => {\n console.error('Failed to copy: ', err);\n });\n };\n\n const handleLogClick = () => {\n const logEntry = `${resolutionString} ${calcData.codec} @ ${calcData.framerate}fps (${calculateBitrate()}) \\n${calcData.duration} = ${calcData.fileSize} ${fileSizeUnit}`;\n addLog(logEntry);\n\n const copyToClipboard = (text) => {\n // Try using the Clipboard API first\n if (navigator.clipboard && window.isSecureContext) {\n navigator.clipboard.writeText(text)\n .then(() => {\n setLogButtonText(<>\n \n );\n setTimeout(() => setLogButtonText(<>\n \n ), 500);\n })\n .catch(() => {\n // Fallback to execCommand\n fallbackCopyToClipboard(text);\n });\n } else {\n // Use execCommand as fallback\n fallbackCopyToClipboard(text);\n }\n };\n\n const fallbackCopyToClipboard = (text) => {\n try {\n const textArea = document.createElement(\"textarea\");\n textArea.value = text;\n textArea.style.position = 'fixed'; // Avoid scrolling to bottom\n textArea.style.opacity = '0';\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n \n try {\n document.execCommand('copy');\n setLogButtonText(<>\n \n );\n } catch (err) {\n console.error('Failed to copy: ', err);\n setLogButtonText(<>\n \n );\n }\n document.body.removeChild(textArea);\n } catch (err) {\n console.error('Fallback copy failed: ', err);\n }\n \n setTimeout(() => setLogButtonText(<>\n \n ), 500);\n };\n\n copyToClipboard(logEntry);\n };\n\n const copyLogToClipboard = (log, index) => {\n if (isMobile) return; \n\n const logWithLineBreak = `${log}\\n`; // Add line break\n\n navigator.clipboard.writeText(logWithLineBreak).then(() => {\n setCopiedLogIndex(index);\n setTimeout(() => setCopiedLogIndex(null), 3000);\n }).catch(err => {\n console.error('Failed to copy log: ', err);\n setCopiedLogIndex(null);\n });\n };\n\n /**\n * Parses and validates the custom resolution input.\n * Allows any non-digit character as a separator.\n * @param {string} value - The custom resolution input string.\n * @returns {string|null} - Returns the formatted resolution string or null if invalid.\n */\n const parseCustomResolution = (value) => {\n // Split the input by ' x ' or any non-digit characters\n const numbers = value.split(/\\s*x\\s*|\\D+/).map(Number).filter(num => !isNaN(num));\n \n if (numbers.length >= 2) {\n const [width, height] = numbers;\n if (Number.isInteger(width) && Number.isInteger(height) && width > 0 && height > 0) {\n return `${width} x ${height}`;\n }\n }\n \n return null;\n };\n\n const handleResolutionChange = (e) => {\n const { value } = e.target;\n if (value === 'Custom') {\n setIsCustomResolution(true);\n setCalcData(prevData => ({\n ...prevData,\n resolution: ''\n }));\n } else {\n setIsCustomResolution(false);\n setCalcData(prevData => ({\n ...prevData,\n resolution: value\n }));\n recalculateBasedOnLockState(value);\n }\n };\n\n const handleFramerateChange = (e) => {\n const { value } = e.target;\n if (value === 'Custom') {\n setIsCustomFramerate(true);\n setCalcData(prevData => ({\n ...prevData,\n framerate: ''\n }));\n } else {\n setIsCustomFramerate(false);\n setCalcData(prevData => ({\n ...prevData,\n framerate: value\n }));\n recalculateBasedOnLockState();\n }\n };\n\n const handleCustomFramerateChange = (e) => {\n const value = e.target.value.replace(/[^0-9.]/g, '');\n if (value.split('.').length <= 2) {\n setCalcData(prevData => ({\n ...prevData,\n framerate: value\n }));\n }\n };\n\n const handleCustomFramerateBlur = () => {\n const parsedFramerate = parseFloat(calcData.framerate);\n if (!isNaN(parsedFramerate) && parsedFramerate > 0) {\n const newFramerate = parsedFramerate.toString();\n if (!defaultFramerates.includes(newFramerate) && !customFramerates.includes(newFramerate)) {\n setCustomFramerates(prev => [...prev, newFramerate].sort((a, b) => parseFloat(a) - parseFloat(b)));\n }\n setCalcData(prevData => ({\n ...prevData,\n framerate: newFramerate\n }));\n setIsCustomFramerate(false);\n recalculateBasedOnLockState();\n } else if (calcData.framerate.trim() === '') {\n setCalcData(prevData => ({\n ...prevData,\n framerate: '24' // or any default value\n }));\n setIsCustomFramerate(false);\n }\n };\n\n const formatCustomResolution = (value) => {\n // Remove any non-digit characters and split into parts\n const parts = value.split(/[^\\d]+/).filter(part => part !== '');\n \n if (parts.length >= 2) {\n // If we have at least two number parts, join the first two with ' x '\n return `${parts[0]} x ${parts[1]}`;\n } else if (parts.length === 1) {\n // If we only have one number part, add the ' x ' at the end\n return `${parts[0]} x `;\n } else {\n // If we don't have any number parts, return an empty string\n return '';\n }\n };\n\n const handleCustomResolutionChange = (e) => {\n let value = e.target.value;\n value = value.replace(/[^0-9\\s,:';+=*x./\\-]/g, '');\n setCalcData(prevData => ({\n ...prevData,\n resolution: value\n }));\n };\n\n const handleCustomResolutionBlur = () => {\n const formattedValue = formatCustomResolution(calcData.resolution);\n const [width, height] = formattedValue.split(' x ').map(Number);\n if (!isNaN(width) && !isNaN(height) && width > 0 && height > 0) {\n const newCustomResolution = `Custom (${width} x ${height})`;\n \n // Check if a resolution with the same dimensions already exists\n const existingResolution = [...defaultResolutions, ...customResolutions].find(res => {\n const match = res.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (match) {\n const [, existingWidth, existingHeight] = match;\n return parseInt(existingWidth) === width && parseInt(existingHeight) === height;\n }\n return false;\n });\n\n if (existingResolution) {\n // Use the existing resolution instead of creating a new custom one\n setCalcData(prevData => ({\n ...prevData,\n resolution: existingResolution\n }));\n } else {\n // Add the new custom resolution\n setCustomResolutions(prev => [...prev, newCustomResolution].sort((a, b) => {\n const [aWidth, aHeight] = a.match(/\\d+/g).map(Number);\n const [bWidth, bHeight] = b.match(/\\d+/g).map(Number);\n return bWidth * bHeight - aWidth * aHeight;\n }));\n setCalcData(prevData => ({\n ...prevData,\n resolution: newCustomResolution\n }));\n }\n\n setIsCustomResolution(false);\n recalculateBasedOnLockState(existingResolution || newCustomResolution);\n } else if (calcData.resolution.trim() === '') {\n setCalcData(prevData => ({\n ...prevData,\n resolution: previousResolution\n }));\n setIsCustomResolution(false);\n }\n };\n\n\n\n // 1. Update handleCopyDuration to remove navigator.clipboard.writeText\n const handleCopyDuration = (text, result) => {\n if (result) {\n setCopyDurationText();\n } else {\n setCopyDurationText('Error');\n }\n setTimeout(() => setCopyDurationText(), 500);\n };\n\n\n const handleTouchStart = useCallback((e, field) => {\n if ((field === 'fileSize' && isFileSizeLocked) || (field === 'duration' && isDurationLocked)) return;\n \n e.preventDefault();\n const touch = e.touches[0];\n const startY = touch.clientY;\n const rect = e.target.getBoundingClientRect();\n const touchX = touch.clientX - rect.left;\n const fieldWidth = rect.width;\n let startValue;\n\n if (field === 'fileSize') {\n const parsedSize = parseFileSize(fileSizeInput);\n startValue = parsedSize ? parseFloat(parsedSize.size) : 0;\n } else if (field === 'duration') {\n const [hours, minutes, seconds, frames] = durationInput.split(':').map(Number);\n startValue = {\n hours,\n minutes,\n seconds,\n frames\n };\n }\n\n const handleTouchMove = (e) => {\n e.preventDefault();\n const touch = e.touches[0];\n const currentY = touch.clientY;\n const diffY = startY - currentY;\n const sensitivity = 0.1;\n\n if (field === 'fileSize') {\n // ... existing fileSize handling ...\n } else if (field === 'duration') {\n const segment = Math.floor(touchX / (fieldWidth / 4)); // Split into 4 segments\n const framerate = parseFloat(calcData.framerate);\n \n // Calculate change based on segment\n let change = Math.round(diffY * sensitivity);\n let { hours, minutes, seconds, frames } = startValue;\n \n switch(segment) {\n case 0: // Hours\n hours = Math.max(0, hours - change);\n break;\n case 1: // Minutes\n minutes -= change;\n while (minutes < 0) {\n if (hours > 0) {\n hours--;\n minutes += 60;\n } else {\n minutes = 0;\n }\n }\n while (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n break;\n case 2: // Seconds\n seconds -= change;\n while (seconds < 0) {\n if (minutes > 0) {\n minutes--;\n seconds += 60;\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds += 60;\n } else {\n seconds = 0;\n }\n }\n while (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n break;\n case 3: // Frames\n frames -= change;\n while (frames < 0) {\n if (seconds > 0) {\n seconds--;\n frames += Math.floor(framerate);\n } else if (minutes > 0) {\n minutes--;\n seconds = 59;\n frames += Math.floor(framerate);\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds = 59;\n frames += Math.floor(framerate);\n } else {\n frames = 0;\n }\n }\n while (frames >= framerate) {\n seconds++;\n frames -= Math.floor(framerate);\n if (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n }\n break;\n }\n\n const newDuration = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n\n setDurationInput(newDuration);\n setCalcData(prevData => ({\n ...prevData,\n duration: newDuration\n }));\n\n // Recalculate file size\n const { size, unit } = calculateFileSize({ ...calcData, duration: newDuration });\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n }\n };\n\n const handleTouchEnd = () => {\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n }, [calcData, fileSizeInput, durationInput, isFileSizeLocked, isDurationLocked, calculateFileSize, fileSizeUnit]);\n\n // Updated parseFileSize function to handle more input permutations\n const parseFileSize = (input) => {\n // Remove any whitespace and convert to lowercase\n const cleanInput = input.replace(/\\s+/g, '').toLowerCase();\n \n // Define unit patterns\n const unitPatterns = {\n 'pb': ['p', 'ps', 'pb', 'pbs', 'pe', 'pet', 'pets', 'peta', 'petas', 'petabyte', 'petabytes'],\n 'tb': ['t', 'ts', 'tb', 'tbs', 'te', 'ter', 'ters', 'tera', 'teras', 'terabyte', 'terabytes'],\n 'gb': ['g', 'gs', 'gb', 'gbs', 'gi', 'gig', 'gigs', 'giga', 'gigas', 'gigabyte', 'gigabytes'],\n 'mb': ['m', 'ms', 'mb', 'mbs', 'me', 'meg', 'megs', 'mega', 'megas', 'megabyte', 'megabytes'],\n 'kb': ['k', 'ks', 'kb', 'kbs', 'ki', 'kil', 'kils', 'kilo', 'kilos', 'kilobyte', 'kilobytes'],\n 'b': ['b', 'bs', 'bi', 'by', 'byte', 'bytes']\n };\n \n // Create a regex pattern that matches any of the unit patterns\n const unitRegexPattern = Object.values(unitPatterns).flat().join('|');\n \n // Match the input against the pattern\n const match = cleanInput.match(new RegExp(`^(\\\\d+(?:\\\\.\\\\d+)?)(${unitRegexPattern})$`));\n \n if (match) {\n const size = parseFloat(match[1]);\n const unitLower = match[2];\n \n // Determine the standardized unit\n for (const [standardUnit, patterns] of Object.entries(unitPatterns)) {\n if (patterns.includes(unitLower)) {\n return { size, unit: standardUnit.toUpperCase() };\n }\n }\n }\n \n return null;\n };\n\n // Update handleFileSizeFocus to clear the input and show placeholder text\n const handleFileSizeFocus = () => {\n if (!isFileSizeLocked) {\n setFileSizeInput('');\n }\n };\n\n // Updated handleFileSizeBlur function to parse input and calculate duration\n const handleFileSizeBlur = () => {\n if (fileSizeInput.trim() === '') {\n setFileSizeInput('');\n if (!isFileSizeLocked) {\n setCalcData(prevData => ({ ...prevData, fileSize: '' }));\n }\n } else {\n const parsedSize = parseFileSize(fileSizeInput);\n if (parsedSize !== null) {\n const formattedSize = `${parsedSize.size} ${parsedSize.unit}`;\n setFileSizeInput(formattedSize);\n if (!isFileSizeLocked) {\n setCalcData(prevData => ({\n ...prevData,\n fileSize: parsedSize.size\n }));\n setFileSizeUnit(parsedSize.unit);\n \n // Calculate duration based on the parsed file size\n if (!isDurationLocked) {\n const duration = calculateDuration({ \n ...calcData, \n fileSize: parsedSize.size, \n fileSizeUnit: parsedSize.unit \n }, formattedSize);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration\n }));\n }\n }\n }\n }\n };\n\n // Updated handleFileSizeKeyPress to trigger blur on Enter key\n const handleFileSizeKeyPress = (e) => {\n if (e.key === 'Enter' || e.key === 'Tab') {\n e.preventDefault();\n if (!isFileSizeLocked) {\n const parsedSize = parseFileSize(fileSizeInput);\n if (parsedSize !== null) {\n const formattedSize = `${parsedSize.size} ${parsedSize.unit}`;\n setFileSizeInput(formattedSize);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: parsedSize.size\n }));\n setFileSizeUnit(parsedSize.unit);\n \n // Calculate duration based on the parsed file size\n if (!isDurationLocked) {\n const duration = calculateDuration({ \n ...calcData, \n fileSize: parsedSize.size, \n fileSizeUnit: parsedSize.unit \n }, formattedSize);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration\n }));\n }\n }\n e.target.blur(); // Remove focus from the input\n }\n }\n };\n\n // Helper function to recalculate based on lock state\n const recalculateBasedOnLockState = (updatedResolution = calcData.resolution) => {\n const updatedCalcData = { ...calcData, resolution: updatedResolution };\n \n if (calculationMode === 'duration' && isDurationLocked) {\n // If duration is locked, recalculate file size based on duration\n const { size, unit } = calculateFileSize(updatedCalcData);\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n } else if (calculationMode === 'fileSize' && isFileSizeLocked) {\n // If file size is locked, recalculate duration based on file size\n const duration = calculateDuration(updatedCalcData, fileSizeInput);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration\n }));\n } else {\n // If nothing is locked, default to recalculating file size based on duration\n const { size, unit } = calculateFileSize(updatedCalcData);\n setFileSizeInput(`${size} ${unit}`);\n setCalcData(prevData => ({\n ...prevData,\n fileSize: size\n }));\n setFileSizeUnit(unit);\n }\n };\n\n // Updated handleFileSizeWheel to implement proportional scrolling across all units\n const handleFileSizeWheel = (e) => {\n e.preventDefault();\n if (isFileSizeLocked || isDurationLocked) return;\n\n const delta = Math.sign(-e.deltaY); // Positive for scroll up, negative for scroll down\n const changeFactor = 1.1; // 10% change per scroll\n\n let parsed = parseFileSize(fileSizeInput);\n if (!parsed) return;\n let { size, unit } = parsed;\n let newSize = size;\n\n // Apply proportional change based on scroll direction\n if (delta > 0) {\n newSize *= changeFactor;\n } else {\n newSize /= changeFactor;\n }\n\n // Define the order of units\n const unitsOrder = ['KB', 'MB', 'GB', 'TB', 'PB'];\n let currentIndex = unitsOrder.indexOf(unit);\n\n // Adjust unit if size exceeds current unit's boundaries\n while (newSize >= 1000 && currentIndex < unitsOrder.length - 1) {\n newSize /= 1000;\n currentIndex++;\n unit = unitsOrder[currentIndex];\n }\n\n while (newSize < 1 && currentIndex > 0) {\n newSize *= 1000;\n currentIndex--;\n unit = unitsOrder[currentIndex];\n }\n\n // Format the new size based on unit for consistency\n newSize = unit === 'KB' ? Math.round(newSize) : parseFloat(newSize.toFixed(2));\n\n const newFileSizeInput = `${newSize} ${unit}`;\n setFileSizeInput(newFileSizeInput);\n\n // Update calcData immediately\n const updatedCalcData = {\n ...calcData,\n fileSize: newSize.toString(),\n fileSizeUnit: unit\n };\n setCalcData(updatedCalcData);\n\n // Recalculate duration based on the new file size\n const duration = calculateDuration(updatedCalcData, newFileSizeInput);\n setDurationInput(duration);\n setCalcData(prevData => ({\n ...prevData,\n duration: duration\n }));\n };\n\n // Ensure handleFileSizeWheel is correctly referenced in useEffect\n useEffect(() => {\n const fileSizeElement = fileSizeRef.current;\n\n const wheelHandler = (e) => {\n if (!isFileSizeLocked) {\n handleFileSizeWheel(e);\n }\n };\n\n if (fileSizeElement) {\n fileSizeElement.addEventListener('wheel', wheelHandler, { passive: false });\n fileSizeElement.addEventListener('touchmove', wheelHandler, { passive: false });\n }\n\n return () => {\n if (fileSizeElement) {\n fileSizeElement.removeEventListener('wheel', wheelHandler);\n fileSizeElement.removeEventListener('touchmove', wheelHandler);\n }\n };\n }, [isFileSizeLocked, handleFileSizeWheel]);\n\n \n const handleCustomResolutionKeyPress = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n handleCustomResolutionBlur();\n }\n };\n \n const handleCustomFramerateKeyPress = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n handleCustomFramerateBlur();\n }\n };\n\n // Add this new handler near the other touch handlers\n const handleDropdownTouch = useCallback((e, options, currentValue, fieldName) => {\n if (!e.touches || !e.touches[0]) return;\n \n const touch = e.touches[0];\n const startY = touch.clientY;\n let lastY = startY;\n let isSwilockg = false;\n let touchTimeout;\n \n // Filter out 'Custom' option for scrolling\n const scrollableOptions = options.filter(option => option !== 'Custom');\n let currentIndex = scrollableOptions.indexOf(currentValue);\n let accumulatedDelta = 0;\n \n touchTimeout = setTimeout(() => {\n if (!isSwilockg) {\n e.target.click();\n }\n }, 100);\n \n const handleTouchMove = (e) => {\n if (!e.touches || !e.touches[0]) return;\n \n clearTimeout(touchTimeout);\n \n const touch = e.touches[0];\n const currentY = touch.clientY;\n const totalMove = Math.abs(currentY - startY);\n \n if (totalMove > 5) {\n e.preventDefault();\n isSwilockg = true;\n \n const diffY = lastY - currentY;\n lastY = currentY;\n \n accumulatedDelta += diffY * 0.6;\n \n const itemsToMove = Math.floor(Math.abs(accumulatedDelta) / 10);\n \n if (itemsToMove >= 1) {\n const direction = Math.sign(accumulatedDelta);\n let newIndex = currentIndex + (direction * itemsToMove);\n \n // Ensure newIndex stays within bounds of scrollable options\n newIndex = Math.max(0, Math.min(newIndex, scrollableOptions.length - 1));\n \n if (newIndex !== currentIndex) {\n const newValue = scrollableOptions[newIndex];\n setCalcData(prev => ({\n ...prev,\n [fieldName]: newValue\n }));\n currentIndex = newIndex;\n recalculateBasedOnLockState();\n }\n \n accumulatedDelta = accumulatedDelta % 10;\n }\n }\n };\n\n const handleTouchEnd = () => {\n clearTimeout(touchTimeout);\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n \n if (!isSwilockg) {\n e.target.click();\n }\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n }, [recalculateBasedOnLockState]);\n\n const handleResolutionTouch = useDropdownTouch(\n resolutionOptions,\n calcData.resolution,\n handleResolutionChange,\n 'resolution'\n );\n\n const handleCodecTouch = useDropdownTouch(\n durationCodecs.map(codec => codec.name),\n calcData.codec,\n handleInputChange,\n 'codec'\n );\n\n const handleFramerateTouch = useDropdownTouch(\n defaultFramerates,\n calcData.framerate,\n handleFramerateChange,\n 'framerate'\n );\n\n // Function to calculate duration based on file size and other parameters\n const calculateDuration = (data = calcData, fileSizeInput) => {\n if (!data) {\n console.error('Invalid data for duration calculation');\n return \"00:00:00:01\"; // Ensure at least 1 frame\n }\n\n // Constants for time calculations\n const SECONDS_PER_MINUTE = 60;\n const MINUTES_PER_HOUR = 60;\n const HOURS_PER_DAY = 24;\n \n // Find the selected codec\n const selectedCodec = durationCodecs.find(codec => codec.name === data.codec);\n if (!selectedCodec) {\n console.error('Invalid codec');\n return \"00:00:00:01\"; // Ensure at least 1 frame\n }\n const datarate = selectedCodec.datarate;\n\n // Calculate resolution value\n let resolutionValue;\n if (data.resolution.startsWith('Custom')) {\n const match = data.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (match) {\n const [, width, height] = match;\n resolutionValue = parseInt(width) * parseInt(height);\n } else {\n console.error('Invalid custom resolution format');\n return \"00:00:00:01\"; // Ensure at least 1 frame\n }\n } else {\n const resolutionData = resolutions[data.resolution];\n if (!resolutionData || !resolutionData.dimensions) {\n console.error('Invalid resolution');\n return \"00:00:00:01\"; // Ensure at least 1 frame\n }\n const [width, height] = resolutionData.dimensions;\n resolutionValue = width * height;\n }\n\n const fps = parseFloat(data.framerate);\n const parsedSize = parseFileSize(fileSizeInput || `${data.fileSize} ${data.fileSizeUnit}`);\n if (!parsedSize) {\n console.error('Invalid file size');\n return \"00:00:00:01\"; // Ensure at least 1 frame\n }\n\n // Unit multipliers for file size calculations\n const unitMultiplier = {\n 'B': 1,\n 'KB': 1024,\n 'MB': 1024 * 1024,\n 'GB': 1024 * 1024 * 1024,\n 'TB': 1024 * 1024 * 1024 * 1024,\n 'PB': 1024 * 1024 * 1024 * 1024 * 1024\n };\n\n const size_in_bytes = parseFloat(parsedSize.size) * unitMultiplier[parsedSize.unit];\n\n const bytes_per_second = datarate * resolutionValue * fps;\n\n let total_seconds = size_in_bytes / (bytes_per_second * 1024 * 1024 / 8);\n\n // Calculate hours, minutes, seconds, and frames\n let frames = Math.floor((total_seconds % 1) * fps);\n total_seconds = Math.floor(total_seconds);\n const seconds = total_seconds % SECONDS_PER_MINUTE;\n total_seconds = Math.floor(total_seconds / SECONDS_PER_MINUTE);\n const minutes = total_seconds % MINUTES_PER_HOUR;\n total_seconds = Math.floor(total_seconds / MINUTES_PER_HOUR);\n const hours = total_seconds; // Allow hours to exceed 24\n\n // Ensure at least 1 frame\n if (hours === 0 && minutes === 0 && seconds === 0 && frames === 0) {\n frames = 1;\n }\n\n // Format the result, allowing for hours to exceed 24\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n };\n\n // Add this useEffect for mobile scroll prevention\n useEffect(() => {\n if (isMobile) {\n disableScroll();\n return () => enableScroll();\n }\n }, [isMobile]);\n\n const currentSpacing = isMobile ? spacing.mobile : spacing.desktop;\n\n // Use global styles\n const commonInputClass = commonStyles.commonInputClass;\n const textCenterImportant = commonStyles.textCenterImportant;\n const getInputStyle = (field) => commonStyles.getInputStyle(field, calculationMode);\n\n return (\n
\n
\n {/* Duration and File Size row */}\n
\n
\n \n handleTouchStart(e, 'duration')}\n placeholder={isDurationLocked ? '' : \"ex: 01:00:00:00 or 16 hrs\"}\n className={`${getInputStyle('duration')} text-sm md:text-base`}\n disabled={isDurationLocked}\n />\n
\n\n
\n {\n if (calculationMode === null) {\n setIsDurationLocked(true);\n setIsFileSizeLocked(false);\n setCalculationMode('duration');\n } else if (calculationMode === 'duration') {\n setIsDurationLocked(false);\n setIsFileSizeLocked(true);\n setCalculationMode('fileSize');\n } else {\n setIsDurationLocked(false);\n setIsFileSizeLocked(false);\n setCalculationMode(null);\n }\n }}\n className={`${commonStyles.lockButtonStyle(calculationMode)} relative`}\n >\n {calculationMode ? (\n \n ) : (\n \n )}\n {calculationMode === 'duration' && (\n \n )}\n {calculationMode === 'fileSize' && (\n \n )}\n \n
\n\n
\n \n handleTouchStart(e, 'fileSize')}\n placeholder={isFileSizeLocked ? '' : \"ex: 512 GB\"}\n className={`${getInputStyle('fileSize')} text-sm md:text-base`}\n disabled={isFileSizeLocked}\n />\n
\n
\n\n {/* Resolution and Framerate row */}\n
\n
\n \n {isCustomResolution ? (\n \n ) : (\n \n {[...defaultResolutions, ...customResolutions, 'Custom'].map(res => (\n \n ))}\n \n )}\n
\n
\n \n {isCustomFramerate ? (\n \n ) : (\n \n {[...defaultFramerates, ...customFramerates, 'Custom'].map(fps => (\n \n ))}\n \n )}\n
\n
\n\n {/* Codec and Bitrate row */}\n
\n
\n \n \n {durationCodecs.map(codec => (\n \n ))}\n \n
\n
\n \n \n
\n
\n\n {/* Action Buttons */}\n \n
\n
\n );\n};\n\nexport default DurationToFileSize;","import React, { useState, useEffect } from 'react';\nimport { SlDocs, SlLike, SlNote, SlPaperPlane, SlRefresh } from \"react-icons/sl\";\nimport { FaShareSquare, FaLock, FaUnlockAlt, FaAngleLeft, FaAngleRight, FaAngleUp } from 'react-icons/fa';\nimport { TbLetterCase, TbLetterCaseUpper, TbLetterCaseLower } from \"react-icons/tb\";\nimport { deliverableCodecs, codecAbbreviations } from '../data/codecData';\nimport { resolutions } from '../data/resolutionData';\nimport { netflixTemplates, netflixFields } from '../data/netflixData';\nimport { colors, spacing, commonStyles, layout } from '../styles/globalStyles';\nimport CalculatorButtons from './CalculatorButtons';\nimport { handleShareOnDevice } from '../utils/shareUtils';\n\n// Move these constants to the top of the file, before the component definition\nconst availableTags = [\n 'TITLE', 'TEXTED', 'COLORSPACE', 'GAMMA', 'CODEC', 'RESOLUTION', 'FRAMERATE', 'AUDIO',\n 'DATE', 'TIME', 'INITIALS', 'JOB', 'BRAND', 'CAMPAIGN', 'LENGTH', 'VERSION',\n 'DESCRIPTORS', 'ADID', 'RATIO'\n];\n\nconst filenameTemplates = [\n {\n name: \"Long Form Export\",\n template: \"[TITLE]_[TEXTED]_[COLORSPACE]_[GAMMA]_[CODEC]_[RESOLUTION]_[FRAMERATE]_[AUDIO]_[DATE]_[TIME]\"\n },\n {\n name: \"Short Form Deliverable\",\n template: \"[ADID]_[TITLE]_[LENGTH]_[RATIO]_[TEXTED]_[CODEC]_[RESOLUTION]_[FRAMERATE]_[AUDIO]_[DATE]\"\n },\n {\n name: \"Color Render\",\n template: \"[TITLE]_[COLORSPACE]_[GAMMA]_[CODEC]_[DATE]_[TIME]_[INITIALS]\"\n },\n {\n name: \"Short Form Audio Mix Final\",\n template: \"[JOB]_[BRAND]_[CAMPAIGN]_[LENGTH]_v[VERSION]_MASTER_[DESCRIPTORS]_[DATE]_[TIME]_[INITIALS]\"\n },\n {\n name: \"Custom\",\n template: \"\"\n }\n];\n\n// Add this before the FileNameGenerator component definition\nconst sampleContent = {\n PROJECT_TITLE: 'Stranger Things',\n SEASON_EPISODE: 'Season 01 Episode 01',\n SEGMENT: 'Reel 1',\n ASSET_TYPE: 'Non-Graded Archival Master',\n BIT_DEPTH: '16 bit',\n DYNAMIC_RANGE: 'HDR',\n ACES_VERSION: 'ACES v1.1',\n COLOR_SPACE: 'P3D65',\n TRANSFER_FUNCTION: 'Linear',\n DATE: new Date().toISOString().slice(0, 10).replace(/-/g, ''),\n ASPECT_RATIO: '2.39:1',\n RESOLUTION: '3840x2160',\n FRAME: '000001',\n EXT: 'exr'\n};\n\nconst FileNameGenerator = ({ addLog }) => {\n // Initialize with the first template from filenameTemplates instead of netflixTemplates\n const [selectedTemplate, setSelectedTemplate] = useState(filenameTemplates[0]);\n \n // Initialize formData with sampleContent\n const [formData, setFormData] = useState(sampleContent);\n const [copyButtonText, setCopyButtonText] = useState();\n const [logButtonText, setLogButtonText] = useState();\n const [shareButtonText, setShareButtonText] = useState();\n const [resetButtonText, setResetButtonText] = useState();\n const [isMobile, setIsMobile] = useState(false);\n\n // Effect to detect mobile devices\n useEffect(() => {\n const checkMobile = () => {\n setIsMobile(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));\n };\n checkMobile();\n window.addEventListener('resize', checkMobile);\n return () => window.removeEventListener('resize', checkMobile);\n }, []);\n\n const currentSpacing = isMobile ? spacing.mobile : spacing.desktop;\n\n // Use global styles\n const commonInputClass = commonStyles.commonInputClass;\n const textCenterImportant = commonStyles.textCenterImportant;\n const getInputStyle = (field) => commonStyles.getInputStyle(field, calculationMode);\n\n // Add missing handler functions\n const handleTemplateChange = (e) => {\n const selected = filenameTemplates.find(template => template.name === e.target.value);\n setSelectedTemplate(selected || filenameTemplates[0]);\n };\n\n const handleCopy = () => {\n const filename = generateFileName();\n navigator.clipboard.writeText(filename);\n setCopyButtonText();\n setTimeout(() => setCopyButtonText(), 500);\n };\n\n const handleShare = async () => {\n const shareUrl = new URL(window.location.href);\n // Add all form data to URL\n Object.entries(formData).forEach(([key, value]) => {\n shareUrl.searchParams.set(key, value);\n });\n shareUrl.searchParams.set('template', selectedTemplate.name);\n\n const shareButtonText = `${generateFileName()}\\n` +\n `Template: ${selectedTemplate.name}\\n` +\n `Path: ${generateFolderPath()}`;\n \n try {\n const result = await handleShareOnDevice(\n 'TBD Post DataCalc',\n `Check out this filename format: ${shareButtonText}`,\n shareUrl.toString()\n );\n\n if (result?.success) {\n setShareButtonText();\n setTimeout(() => setShareButtonText(), 500);\n }\n return result;\n } catch (error) {\n console.error('Share failed:', error);\n return { success: false, method: 'none' };\n }\n };\n\n const handleReset = () => {\n setFormData(sampleContent);\n setResetButtonText();\n setTimeout(() => setResetButtonText(), 500);\n };\n\n const handleLogClick = () => {\n if (addLog) {\n addLog({\n type: 'filename',\n content: generateFileName(),\n timestamp: new Date().toISOString()\n });\n }\n setLogButtonText();\n setTimeout(() => setLogButtonText(), 500);\n };\n\n const generateFileName = () => {\n // Implement filename generation based on selectedTemplate and formData\n return selectedTemplate.template.replace(/\\[(\\w+)\\]/g, (match, field) => {\n return formData[field] || match;\n });\n };\n\n const generateFolderPath = () => {\n // Implement folder path generation\n return `/${formData.PROJECT_TITLE}/${formData.SEASON_EPISODE}/${formData.SEGMENT}`;\n };\n\n const renderFields = () => {\n const templateFields = selectedTemplate.template\n .match(/\\[(\\w+)\\]/g)\n ?.map(field => field.replace(/[\\[\\]]/g, '')) || [];\n\n return (\n
\n {templateFields.map(fieldName => (\n
\n \n setFormData({...formData, [fieldName]: e.target.value})}\n className={commonInputClass}\n />\n
\n ))}\n
\n );\n };\n\n return (\n
\n
\n {/* Template Selector */}\n
\n \n \n {filenameTemplates.map(template => (\n \n ))}\n \n
\n\n {/* Form Fields */}\n {renderFields()}\n\n {/* Preview Section */}\n
\n {/* Folder Path */}\n
\n \n \n \n \n {generateFolderPath()}\n \n
\n \n {/* Filename */}\n
\n \n \n \n \n {generateFileName()}\n \n
\n
\n\n {/* Action Buttons */}\n {generateFileName()}}\n logButtonIcon={logButtonText}\n copyButtonIcon={copyButtonText}\n shareButtonIcon={shareButtonText}\n resetButtonIcon={resetButtonText}\n />\n
\n
\n );\n};\n\nexport default FileNameGenerator; ","export const netflixTemplates = {\n \"Netflix Episodic\": {\n name: \"Netflix Episodic\",\n template: \"[PROJECT_TITLE]_[SEASON_EPISODE]_[ASSET_TYPE]_[BIT_DEPTH]_[DYNAMIC_RANGE]_[ACES_VERSION]_[COLOR_SPACE]_[TRANSFER_FUNCTION]_[DATE]_[ASPECT_RATIO]_[RESOLUTION]\",\n folderStructure: \"[PROJECT_TITLE]/[SEASON_EPISODE]/[ASSET_TYPE]/\",\n requiredTags: ['PROJECT_TITLE', 'SEASON_EPISODE', 'ASSET_TYPE', 'BIT_DEPTH', 'DYNAMIC_RANGE', 'ACES_VERSION', 'COLOR_SPACE', 'TRANSFER_FUNCTION', 'DATE', 'ASPECT_RATIO', 'RESOLUTION', 'EXT']\n },\n \"Netflix Non-Episodic Longplay\": {\n name: \"Netflix Non-Episodic Longplay\",\n template: \"[PROJECT_TITLE]_[SEGMENT]_[ASSET_TYPE]_[BIT_DEPTH]_[DYNAMIC_RANGE]_[ACES_VERSION]_[COLOR_SPACE]_[TRANSFER_FUNCTION]_[DATE]_[ASPECT_RATIO]_[RESOLUTION]\",\n folderStructure: \"[PROJECT_TITLE]/[ASSET_TYPE]/\",\n requiredTags: ['PROJECT_TITLE', 'SEGMENT', 'ASSET_TYPE', 'BIT_DEPTH', 'DYNAMIC_RANGE', 'ACES_VERSION', 'COLOR_SPACE', 'TRANSFER_FUNCTION', 'DATE', 'ASPECT_RATIO', 'RESOLUTION', 'EXT']\n },\n \"Netflix Non-Episodic Segmented\": {\n name: \"Netflix Non-Episodic Segmented\",\n template: \"[PROJECT_TITLE]_[SEGMENT]_[ASSET_TYPE]_[BIT_DEPTH]_[DYNAMIC_RANGE]_[ACES_VERSION]_[COLOR_SPACE]_[TRANSFER_FUNCTION]_[DATE]_[ASPECT_RATIO]_[RESOLUTION]\",\n folderStructure: \"[PROJECT_TITLE]/[ASSET_TYPE]/[SEGMENT]/\",\n requiredTags: ['PROJECT_TITLE', 'SEGMENT', 'ASSET_TYPE', 'BIT_DEPTH', 'DYNAMIC_RANGE', 'ACES_VERSION', 'COLOR_SPACE', 'TRANSFER_FUNCTION', 'DATE', 'ASPECT_RATIO', 'RESOLUTION', 'EXT']\n }\n};\n\nexport const netflixFields = {\n PROJECT_TITLE: {\n type: 'text',\n label: 'Project Title',\n placeholder: 'PROJECT_TITLE',\n pattern: '[A-Z0-9_-]+',\n help: 'All caps, substitute spaces with underscores',\n width: 2 // Takes up 2 columns\n },\n SEASON_EPISODE: {\n type: 'text',\n label: 'Season & Episode',\n placeholder: 'S01E01',\n pattern: 'S[0-9]{2}E[0-9]{2}',\n help: 'Format: S##E## (e.g., S01E01)',\n width: 1\n },\n SEGMENT: {\n type: 'select',\n label: 'Segment',\n options: ['LP', ...Array.from({length: 20}, (_, i) => `R${String(i + 1).padStart(2, '0')}`)],\n help: 'LP for longplay, R## for segments/reels',\n width: 1\n },\n ASSET_TYPE: {\n type: 'select',\n label: 'Asset Type',\n options: ['nam', 'nam-txtls', 'dcdm', 'dcdm-txtls'],\n help: 'NAM (Non-Graded Archival Master), DCDM (Digital Cinema Distribution Master)',\n width: 1\n },\n BIT_DEPTH: {\n type: 'select',\n label: 'Bit Depth',\n options: ['10b', '16b'],\n help: 'Format: ##b (e.g., 16b)',\n width: 1\n },\n DYNAMIC_RANGE: {\n type: 'select',\n label: 'Dynamic Range',\n options: ['hdr', 'sdr'],\n help: 'HDR (High Dynamic Range), SDR (Standard Dynamic Range)',\n width: 1\n },\n ACES_VERSION: {\n type: 'select',\n label: 'ACES Version',\n options: ['aces110', 'aces103'],\n help: 'Format: aces### (e.g., aces110 for ACES 1.1)',\n width: 1\n },\n COLOR_SPACE: {\n type: 'select',\n label: 'Color Space',\n options: [\n 'ap0', 'adx', 'arriwg', 'bmdfilm', 'bmdfilm46k', 'canonp3dci', 'canoncine',\n 'cfcolor', 'cineonpd', 'dwg', 'p3dci', 'dragonc', 'dragonc2', 'egamut',\n 'rec2020', 'rec709', 'p3d65', 'vgamut', 'redc', 'redc2', 'redc3', 'redc4',\n 'redspace', 'rwg', 'sgamut', 'sgamut3', 'sgamut3-cine', 'srgb', 'xyz'\n ],\n help: 'Color space abbreviation',\n width: 1\n },\n TRANSFER_FUNCTION: {\n type: 'select',\n label: 'Transfer Function',\n options: [\n 'ap0', 'adx', 'bmdlog', 'bmdlog46k', 'canonlog2', 'canonlog3', 'cflog',\n 'cineon', 'dint', 'g26', 'tlog', 'g24', 'lin', 'logc', 'vlog', 'log3g10',\n 'redlogfilm', 'slog2', 'slog3', 'pq', 'g22'\n ],\n help: 'Transfer function abbreviation',\n width: 1\n },\n DATE: {\n type: 'text',\n label: 'Date',\n placeholder: 'YYYYMMDD',\n pattern: '[0-9]{8}',\n help: 'Format: YYYYMMDD',\n width: 1,\n autoFill: true\n },\n ASPECT_RATIO: {\n type: 'text',\n label: 'Aspect Ratio',\n placeholder: '178',\n pattern: '[0-9]{3}',\n help: 'Format: ### (e.g., 178 for 1.78:1)',\n width: 1\n },\n RESOLUTION: {\n type: 'select',\n label: 'Resolution',\n options: ['1920x1080', '2048x1080', '3840x2160', '4096x2160'],\n help: 'Format: ####x#### (full resolution)',\n width: 1\n },\n EXT: {\n type: 'select',\n label: 'Extension',\n options: ['dpx', 'exr', 'tif'],\n help: 'File extension without dot',\n width: 1\n }\n}; ","// Film formats (simplified without aspect ratios)\nexport const filmFormats = [\n \"Super 8mm\",\n \"16mm / Super 16mm\", // Combined format\n \"35mm 2-perf\",\n \"35mm 3-perf\",\n \"35mm 4-perf\",\n \"65mm 5-perf\",\n \"70mm 15-perf\"\n];\n\n// Define stocks once per format\nexport const filmStocks = {\n \"8mm\": [\n \"7219 VISION3 500T Color Neg\",\n \"7213 VISION3 200T Color Neg\",\n \"7203 VISION3 50D Color Neg\",\n \"7294 EKTACHROME 100D Color Rev\",\n \"7266 TRI-X B&W Rev\"\n ],\n \n \"16mm\": [\n \"7219 VISION3 500T Color Neg\",\n \"7213 VISION3 200T Color Neg\",\n \"7207 VISION3 250D Color Neg\",\n \"7203 VISION3 50D Color Neg\",\n \"7294 EKTACHROME 100D Color Rev\",\n \"7266 TRI-X B&W Rev\",\n \"7222 DOUBLE-X B&W Neg\"\n ],\n\n \"35mm\": [\n \"5219 VISION3 500T Color Neg\",\n \"5213 VISION3 200T Color Neg\",\n \"5207 VISION3 250D Color Neg\",\n \"5203 VISION3 50D Color Neg\",\n \"5294 EKTACHROME 100D Color Rev\",\n \"5222 DOUBLE-X B&W Neg\"\n ],\n\n \"65mm\": [\n \"5219 VISION3 500T Color Neg\",\n \"5213 VISION3 200T Color Neg\",\n \"5207 VISION3 250D Color Neg\",\n \"5203 VISION3 50D Color Neg\"\n ]\n};\n\n// Define available lengths and prices for each stock\nexport const stockOptions = {\n \"7219 VISION3 500T Color Neg\": {\n \"8mm\": [\n { length: \"50\", price: \"31.99\" }\n ],\n \"16mm\": [\n { length: \"100\", price: \"55.00\" },\n { length: \"400\", price: \"220.00\" },\n { length: \"400 (2R)\", price: \"250.80\" }\n ]\n },\n \"5219 VISION3 500T Color Neg\": {\n \"35mm\": [\n { length: \"200\", price: \"172.25\" },\n { length: \"400\", price: \"316.56\" },\n { length: \"1000\", price: \"791.40\" }\n ],\n \"65mm\": [\n { length: \"400\", price: \"618.80\" },\n { length: \"500\", price: \"773.50\" },\n { length: \"1000\", price: \"1509.27\" }\n ]\n },\n \"7207 VISION3 250D Color Neg\": {\n \"16mm\": [\n { length: \"100\", price: \"55.00\" },\n { length: \"400\", price: \"220.00\" }\n ],\n },\n \"5207 VISION3 250D Color Neg\": {\n \"35mm\": [\n { length: \"200\", price: \"172.25\" },\n { length: \"400\", price: \"316.56\" },\n { length: \"1000\", price: \"791.40\" }\n ],\n \"65mm\": [\n { length: \"400\", price: \"618.80\" },\n { length: \"500\", price: \"773.50\" },\n { length: \"1000\", price: \"1509.27\" }\n ]\n },\n \"7213 VISION3 200T Color Neg\": {\n \"8mm\": [\n { length: \"50\", price: \"31.99\" }\n ],\n \"16mm\": [\n { length: \"100\", price: \"55.00\" },\n { length: \"400\", price: \"220.00\" }\n ],\n},\n\"5213 VISION3 200T Color Neg\": {\n \"35mm\": [\n { length: \"400\", price: \"316.59\" },\n { length: \"1000\", price: \"791.40\" }\n ],\n \"65mm\": [\n { length: \"500\", price: \"773.50\" },\n { length: \"1000\", price: \"1509.27\" }\n ]\n },\n \"7203 VISION3 50D Color Neg\": {\n \"8mm\": [\n { length: \"50\", price: \"31.99\" }\n ],\n \"16mm\": [\n { length: \"100\", price: \"55.00\" },\n { length: \"400\", price: \"220.00\" }\n ],\n},\n\"5203 VISION3 50D Color Neg\": {\n \"35mm\": [\n { length: \"400\", price: \"316.56\" },\n { length: \"1000\", price: \"791.40\" }\n ],\n \"65mm\": [\n { length: \"500\", price: \"773.50\" },\n { length: \"1000\", price: \"1509.27\" }\n ]\n },\n \"7294 EKTACHROME 100D Color Rev\": {\n \"8mm\": [\n { length: \"50\", price: \"42.99\" }\n ],\n \"16mm\": [\n { length: \"100\", price: \"65.00\" },\n { length: \"400\", price: \"260.00\" },\n { length: \"400 (2R)\", price: \"296.31\" }\n ],\n },\n \"5294 EKTACHROME 100D Color Rev\": {\n \"35mm\": [\n { length: \"400\", price: \"520.00\" },\n { length: \"1000\", price: \"1300.00\" }\n ]\n },\n \"7222 DOUBLE-X B&W Neg\": {\n \"16mm\": [\n { length: \"100\", price: \"55.00\" },\n { length: \"400\", price: \"220.00\" }\n ],\n },\n \"5222 DOUBLE-X B&W Neg\": {\n \"35mm\": [\n { length: \"400\", price: \"316.56\" },\n { length: \"1000\", price: \"791.40\" }\n ]\n },\n \"7266 TRI-X B&W Rev\": {\n \"8mm\": [\n { length: \"50\", price: \"31.99\" }\n ],\n \"16mm\": [\n { length: \"100\", price: \"55.00\" },\n { length: \"400\", price: \"220.00\" }\n ]\n }\n};\n\n// Frames per foot for each format\nexport const framesPerFoot = {\n \"Super 8mm\": 72,\n \"16mm / Super 16mm\": 40,\n \"35mm 2-perf\": 32,\n \"35mm 3-perf\": 21.33,\n \"35mm 4-perf\": 16,\n \"65mm 5-perf\": 12.8,\n \"70mm 15-perf\": 4.3\n};\n\n// Helper functions\nexport const getBaseFormat = (format) => {\n const formatMap = {\n \"Super 8mm\": \"8mm\",\n \"16mm / Super 16mm\": \"16mm\",\n \"35mm 2-perf\": \"35mm\",\n \"35mm 3-perf\": \"35mm\",\n \"35mm 4-perf\": \"35mm\",\n \"65mm 5-perf\": \"65mm\",\n \"70mm 15-perf\": \"65mm\"\n };\n return formatMap[format] || format;\n};\n\nexport const getStockLengths = (stockName, format) => {\n const baseFormat = getBaseFormat(format);\n console.log('Getting lengths for:', { stockName, format, baseFormat }); // Debug log\n const lengths = stockOptions[stockName]?.[baseFormat] || [];\n console.log('Available lengths:', lengths); // Debug log\n return lengths;\n};\n\nexport const getStockPrice = (stockName, length, format) => {\n const baseFormat = getBaseFormat(format);\n const lengths = stockOptions[stockName]?.[baseFormat] || [];\n return lengths.find(option => option.length === length)?.price;\n};\n","import React, { useRef, useEffect, useCallback, useState } from 'react';\nimport { SlDocs, SlNote, SlRefresh, SlLike, SlPaperPlane } from \"react-icons/sl\";\nimport { FaShareSquare, FaLock, FaUnlockAlt, FaAngleLeft, FaAngleRight, FaAngleUp } from 'react-icons/fa';\nimport { filmFormats, filmStocks, framesPerFoot, getBaseFormat, getStockLengths, getStockPrice } from '../data/filmData';\nimport { disableScroll, enableScroll } from '../utils/utils';\nimport { useCalculator } from '../context/CalculatorContext';\nimport { useDropdownTouch } from '../hooks/useDropdownTouch';\nimport { colors, spacing, commonStyles, layout } from '../styles/globalStyles';\nimport CalculatorButtons from './CalculatorButtons';\nimport { handleShareOnDevice } from '../utils/shareUtils';\n\n\n// Add this class near the top with other imports\nclass Timecode {\n constructor(hours = 0, minutes = 0, seconds = 0, frames = 0, frameRate = 24) {\n this.hours = Math.floor(hours);\n this.minutes = Math.floor(minutes);\n this.seconds = Math.floor(seconds);\n this.frames = Math.floor(frames);\n this.frameRate = frameRate;\n }\n\n static parse(timecodeString, frameRate = 24) {\n const parts = timecodeString.split(/[:.]/).map(Number);\n while (parts.length < 4) parts.unshift(0);\n const [hours, minutes, seconds, frames] = parts;\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n \n toString() {\n return `${this.hours.toString().padStart(2, '0')}:${this.minutes.toString().padStart(2, '0')}:${this.seconds.toString().padStart(2, '0')}:${this.frames.toString().padStart(2, '0')}`;\n }\n\n totalFrames() {\n return this.hours * 3600 * this.frameRate + \n this.minutes * 60 * this.frameRate + \n this.seconds * this.frameRate + \n this.frames;\n }\n\n static fromFrames(totalFrames, frameRate = 24) {\n const hours = Math.floor(totalFrames / (3600 * frameRate));\n totalFrames %= 3600 * frameRate;\n const minutes = Math.floor(totalFrames / (60 * frameRate));\n totalFrames %= 60 * frameRate;\n const seconds = Math.floor(totalFrames / frameRate);\n const frames = Math.floor(totalFrames % frameRate);\n\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n}\n\n// Add these functions after the existing helper functions\nconst parseDuration = (input, framerate) => {\n if (!input || input.trim() === '') {\n return new Timecode(0, 0, 0, 0, framerate).toString();\n }\n\n input = input.trim().toLowerCase();\n\n // Helper function to handle rollovers\n const handleRollover = (hours, minutes, seconds, frames) => {\n // Handle frame rollover\n if (frames >= framerate) {\n seconds += Math.floor(frames / framerate);\n frames %= framerate;\n }\n // Handle seconds rollover\n if (seconds >= 60) {\n minutes += Math.floor(seconds / 60);\n seconds %= 60;\n }\n // Handle minutes rollover\n if (minutes >= 60) {\n hours += Math.floor(minutes / 60);\n minutes %= 60;\n }\n return [hours, minutes, seconds, frames];\n };\n\n // Handle special period patterns first\n if (input.includes('.')) {\n const parts = input.split('.');\n switch (parts.length) {\n case 2: // 1.12 -> 00:01:00:12\n let [minutes, frames1] = [parseInt(parts[0]) || 0, parseInt(parts[1]) || 0];\n return new Timecode(...handleRollover(0, minutes, 0, frames1), framerate).toString();\n case 3: // 1..12 -> 01:00:00:12 or 11..1 -> 11:00:00:01\n let [hours, , frames2] = [parseInt(parts[0]) || 0, 0, parseInt(parts[2]) || 0];\n return new Timecode(...handleRollover(hours, 0, 0, frames2), framerate).toString();\n default:\n // For any other number of periods, treat each as 00\n return new Timecode(...Array(input.match(/\\./g).length).fill(0), framerate).toString();\n }\n }\n\n // Handle colon patterns (e.g., 1:12 -> 00:00:01:12)\n if (input.includes(':')) {\n const parts = input.split(':').map(num => parseInt(num) || 0);\n while (parts.length < 4) parts.unshift(0);\n return new Timecode(...handleRollover(...parts), framerate).toString();\n }\n\n // Handle continuous digit input with patterns\n if (/^\\d+$/.test(input)) {\n let parts = [];\n \n switch (input.length) {\n case 8: // HH:MM:SS:FF\n parts = [\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n parseInt(input.slice(4, 6)) || 0,\n parseInt(input.slice(6, 8)) || 0\n ];\n break;\n case 7: // 0H:MM:SS:FF\n parts = [\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n parseInt(input.slice(3, 5)) || 0,\n parseInt(input.slice(5, 7)) || 0\n ];\n break;\n case 6: // HH:MM:SS:00\n parts = [\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n parseInt(input.slice(4, 6)) || 0,\n 0\n ];\n break;\n case 5: // 0H:MM:SS:00\n parts = [\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n parseInt(input.slice(3, 5)) || 0,\n 0\n ];\n break;\n case 4: // 00:MM:SS:00\n parts = [\n 0,\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n 0\n ];\n break;\n case 3: // 00:0M:SS:00\n parts = [\n 0,\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n 0\n ];\n break;\n case 2: // 00:00:SS:00\n parts = [0, 0, parseInt(input.slice(0, 2)) || 0, 0];\n break;\n case 1: // 00:00:0S:00\n parts = [0, 0, parseInt('0' + input) || 0, 0];\n break;\n default:\n // For any other length, treat as seconds\n const seconds = parseInt(input, 10);\n return new Timecode(...handleRollover(0, 0, seconds, 0), framerate).toString();\n }\n\n return new Timecode(...handleRollover(...parts), framerate).toString();\n }\n\n // Handle text-based duration inputs (e.g., \"1h 30m\")\n const patterns = {\n week: /(\\d+)\\s*(?:w|wk|wks|week|weeks)/i,\n day: /(\\d+)\\s*(?:d|dy|dys|day|days)/i,\n hour: /(\\d+)\\s*(?:h|hr|hrs|hour|hours)/i,\n minute: /(\\d+)\\s*(?:m|min|mins|minute|minutes)/i,\n second: /(\\d+)\\s*(?:s|sec|secs|second|seconds)/i,\n frame: /(\\d+)\\s*(?:f|fr|frm|frms|frame|frames)/i\n };\n\n let totalFrames = 0;\n\n Object.entries(patterns).forEach(([unit, pattern]) => {\n const match = input.match(pattern);\n if (match) {\n const value = parseInt(match[1]);\n switch (unit) {\n case 'week': totalFrames += value * 7 * 24 * 3600 * framerate; break;\n case 'day': totalFrames += value * 24 * 3600 * framerate; break;\n case 'hour': totalFrames += value * 3600 * framerate; break;\n case 'minute': totalFrames += value * 60 * framerate; break;\n case 'second': totalFrames += value * framerate; break;\n case 'frame': totalFrames += value; break;\n }\n }\n });\n\n if (totalFrames === 0) {\n // If no valid time units were found, try parsing as a single number (assume seconds)\n const totalSeconds = parseFloat(input);\n if (!isNaN(totalSeconds)) {\n totalFrames = Math.round(totalSeconds * framerate);\n } else {\n throw new Error(\"Invalid duration format\");\n }\n }\n\n return Timecode.fromFrames(totalFrames, framerate).toString();\n};\n\n\n// Update the formatDurationFromFrames function to accept isMobile parameter\nconst formatDurationFromFrames = (totalFrames, fps, isMobile) => {\n const totalSeconds = totalFrames / fps;\n const hours = Math.floor(totalSeconds / 3600);\n const minutes = Math.floor((totalSeconds % 3600) / 60);\n const seconds = Math.floor(totalSeconds % 60);\n \n let parts = [];\n if (hours > 0) {\n // If hours exist, don't show seconds and use abbreviated units\n parts.push(`${hours}h`);\n if (minutes > 0) parts.push(`${minutes}m`);\n } else {\n // If no hours, show all units\n if (minutes > 0) parts.push(`${minutes}${isMobile ? 'm' : minutes === 1 ? ' minute' : ' minutes'}`);\n if (seconds > 0 || parts.length === 0) {\n parts.push(`${seconds}${isMobile ? 's' : seconds === 1 ? ' second' : ' seconds'}`);\n }\n }\n \n return `${parts.join(' ')} = ${totalFrames.toLocaleString()} frms`;\n};\n\nconst FilmCalculator = ({ addLog }) => {\n // Get context\n const { filmCalcState, setFilmCalcState } = useCalculator();\n\n // Initialize state from context or defaults\n const [calcData, setCalcData] = useState(filmCalcState.calcData || {\n filmFormat: \"35mm 4-perf\",\n fps: \"24\",\n stock: \"5219 VISION3 500T Color Negative\",\n rollsCount: \"1\",\n rollLength: \"1000\",\n duration: \"01:00:00:00\",\n unitPrice: \"$791.40\",\n price: \"$791.40\"\n });\n \n const [isMobile, setIsMobile] = useState(filmCalcState.isMobile || false);\n const [isCustomFramerate, setIsCustomFramerate] = useState(false);\n const [customFramerates, setCustomFramerates] = useState([]);\n const [logButtonText, setLogButtonText] = useState();\n const [copyButtonText, setCopyButtonText] = useState();\n const [shareButtonText, setShareButtonText] = useState();\n const [resetButtonText, setResetButtonText] = useState();\n\n // Add effect to save state to context when it changes\n useEffect(() => {\n setFilmCalcState({\n calcData,\n isMobile\n });\n }, [calcData, isMobile, setFilmCalcState]);\n\n // Effect to check if the device is mobile\n useEffect(() => {\n const checkMobile = () => {\n setIsMobile(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));\n };\n\n checkMobile();\n window.addEventListener('resize', checkMobile);\n\n return () => window.removeEventListener('resize', checkMobile);\n }, []);\n\n // Add effect for mobile scroll prevention\n useEffect(() => {\n if (isMobile) {\n disableScroll();\n return () => enableScroll();\n }\n }, [isMobile]);\n\n const currentSpacing = isMobile ? spacing.mobile : spacing.desktop;\n\n// Refs\nconst filmFormatRef = useRef(null);\nconst fpsRef = useRef(null);\nconst stockRef = useRef(null);\nconst rollsCountRef = useRef(null);\nconst rollLengthRef = useRef(null);\n\n// Constants\nconst filmFramerates = [\"1\", \"2\", \"3\", \"4\", \"6\", \"8\", \"12\", \"15\", \"16\", \"18\", \"20\", \"24\", \"25\", \"30\", \"32\", \"40\", \"48\", \"50\", \"60\", \"72\", \"75\", \"90\", \"96\", \"120\", \"150\"];\nconst sensitivity = 0.0125;\n\n// Helper functions\nconst updateStockOptions = () => {\n const baseFormat = getBaseFormat(calcData.filmFormat);\n return filmStocks[baseFormat] || [];\n};\n\nconst updateRollLengthOptions = () => {\n const lengths = getStockLengths(calcData.stock, calcData.filmFormat) || [];\n return lengths.map(option => option.length);\n};\n\n// Calculation functions\nconst calculateDuration = () => {\n try {\n const rollsCount = parseInt(calcData.rollsCount);\n const rollLength = parseInt(calcData.rollLength);\n const fps = parseFloat(calcData.fps);\n const format = calcData.filmFormat;\n\n const feet = rollLength * rollsCount;\n const framesPerFt = framesPerFoot[format] || 16;\n const totalFrames = feet * framesPerFt;\n\n return formatDurationFromFrames(totalFrames, fps, isMobile);\n } catch (error) {\n console.error(\"Error calculating duration:\", error);\n return \"0 seconds = 0 frames\";\n }\n};\n\nconst calculatePrice = () => {\n try {\n const unitPrice = getStockPrice(calcData.stock, calcData.rollLength, calcData.filmFormat);\n if (unitPrice) {\n const totalPrice = parseFloat(unitPrice) * parseInt(calcData.rollsCount);\n setCalcData(prev => ({\n ...prev,\n unitPrice: `$${parseFloat(unitPrice).toLocaleString(\"en-US\", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`,\n price: `$${totalPrice.toLocaleString(\"en-US\", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`\n }));\n } else {\n setCalcData(prev => ({ \n ...prev, \n unitPrice: \"Price not found\",\n price: \"Price not found\" \n }));\n }\n } catch (error) {\n console.error(\"Error calculating price:\", error);\n setCalcData(prev => ({ \n ...prev, \n unitPrice: \"Invalid Input\",\n price: \"Invalid Input\" \n }));\n }\n};\n\n// Event handlers\nconst handleInputChange = (e) => {\n const { name, value } = e.target;\n setCalcData(prev => ({ ...prev, [name]: value }));\n};\n\n// Add this near the top with other handlers\nconst handleRollsTouch = useCallback((e) => {\n if (!e.touches || !e.touches[0]) return;\n \n const touch = e.touches[0];\n const rect = e.currentTarget.getBoundingClientRect();\n const touchX = touch.clientX - rect.left;\n const startY = touch.clientY;\n const fieldWidth = rect.width;\n let startValue = parseInt(calcData.rollsCount) || 1;\n let lastY = startY;\n let isSwiping = false;\n let touchTimeout;\n \n // Start a short timeout to detect if this is a tap or scroll\n touchTimeout = setTimeout(() => {\n // If we reach the timeout and haven't started swiping, it's a tap\n if (!isSwiping) {\n e.target.focus();\n }\n }, 100); // Short delay to detect intent\n \n const handleTouchMove = (e) => {\n if (!e.touches || !e.touches[0]) return;\n \n clearTimeout(touchTimeout);\n \n const touch = e.touches[0];\n const currentY = touch.clientY;\n const totalMove = Math.abs(currentY - startY);\n \n if (totalMove > 5) {\n e.preventDefault();\n isSwiping = true;\n \n const diffY = lastY - currentY;\n lastY = currentY;\n \n const sensitivity = 0.375;\n const isLeftHalf = touchX < fieldWidth / 2;\n const changeAmount = isLeftHalf ? 10 : 1;\n \n let change = Math.sign(diffY) * changeAmount;\n let newValue = Math.max(1, startValue + change);\n startValue = newValue;\n \n setCalcData(prev => ({\n ...prev,\n rollsCount: newValue.toString()\n }));\n }\n };\n\n const handleTouchEnd = () => {\n clearTimeout(touchTimeout);\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n \n // If we never started swiping, treat as a tap\n if (!isSwiping) {\n e.target.focus();\n }\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n}, [calcData.rollsCount]);\n\nconst handleLog = async () => {\n const logEntry = `${calcData.filmFormat} ${calcData.stock}\\n` +\n `${calcData.rollsCount} x ${calcData.rollLength}' @ ${calcData.fps} fps\\n` +\n `${calcData.duration}\\n` +\n `${calcData.unitPrice} per roll = ${calcData.price} total`;\n \n // Add to log\n addLog(logEntry);\n \n // Show success icon\n setLogButtonText();\n setTimeout(() => setLogButtonText(), 500);\n};\n\nconst handleCopy = () => {\n setCopyButtonText();\n setTimeout(() => setCopyButtonText(), 500);\n};\n\nconst handleShare = async () => {\n const shareUrl = new URL(window.location.href);\n shareUrl.searchParams.set('filmFormat', calcData.filmFormat);\n shareUrl.searchParams.set('fps', calcData.fps);\n shareUrl.searchParams.set('stock', calcData.stock);\n shareUrl.searchParams.set('rollsCount', calcData.rollsCount);\n shareUrl.searchParams.set('rollLength', calcData.rollLength);\n shareUrl.searchParams.set('duration', calcData.duration);\n shareUrl.searchParams.set('price', calcData.price);\n\n const shareButtonText = `${calcData.filmFormat} ${calcData.stock}\\n` +\n `${calcData.rollsCount} x ${calcData.rollLength}' @ ${calcData.fps} fps\\n` +\n `${calcData.duration}\\n` +\n `${calcData.unitPrice} per roll = ${calcData.price} total`;\n \n try {\n const result = await handleShareOnDevice(\n 'TBD Post DataCalc',\n `Check out this film calculation: ${shareButtonText}`,\n shareUrl.toString()\n );\n\n if (result?.success) {\n setShareButtonText();\n setTimeout(() => setShareButtonText(), 500);\n }\n return result;\n } catch (error) {\n console.error('Share failed:', error);\n return { success: false, method: 'none' };\n }\n};\n\nconst handleReset = () => {\n const defaultValues = {\n filmFormat: \"35mm 4-perf\",\n fps: \"24\",\n stock: \"5219 VISION3 500T Color Negative\",\n rollsCount: \"1\",\n rollLength: \"1000\",\n duration: \"01:00:00:00\",\n unitPrice: \"$791.40\",\n price: \"$791.40\"\n };\n\n setCalcData(defaultValues);\n setIsCustomFramerate(false);\n setCustomFramerates([]);\n\n // Reset context state\n setFilmCalcState({\n calcData: defaultValues,\n isMobile\n });\n\n setResetButtonText();\n setTimeout(() => setResetButtonText(), 500);\n};\n\n// Effects\nuseEffect(() => {\n const newDuration = calculateDuration();\n setCalcData(prev => ({\n ...prev,\n duration: newDuration\n }));\n calculatePrice();\n}, [calcData.filmFormat, calcData.fps, calcData.rollsCount, calcData.rollLength]);\n\nuseEffect(() => {\n if (isMobile) {\n disableScroll();\n return () => enableScroll();\n }\n}, [isMobile]);\n\n// Add wheel handlers\nconst handleWheel = (e, options, currentValue, setterFunction) => {\n e.preventDefault();\n const index = options.indexOf(currentValue);\n const scrollAmount = -e.deltaY * sensitivity;\n \n let newIndex = index + Math.sign(scrollAmount);\n newIndex = Math.max(0, Math.min(newIndex, options.length - 1));\n \n if (newIndex !== index) {\n setterFunction(options[newIndex]);\n }\n};\n\n// Add these handler functions\nconst handleFilmFormatWheel = (e) => {\n handleWheel(e, filmFormats, calcData.filmFormat, (newValue) => {\n setCalcData(prev => ({ ...prev, filmFormat: newValue }));\n });\n};\n\nconst handleFPSWheel = (e) => {\n handleWheel(\n e, \n [...filmFramerates, ...customFramerates], \n calcData.fps,\n (newValue) => {\n setCalcData(prev => ({ ...prev, fps: newValue }));\n calculateDuration();\n calculatePrice();\n }\n );\n};\n\nconst handleStockWheel = (e) => {\n const stockOptions = updateStockOptions();\n handleWheel(e, stockOptions, calcData.stock, (newValue) => {\n // Calculate price immediately\n const unitPrice = getStockPrice(newValue, calcData.rollLength, calcData.filmFormat);\n if (unitPrice) {\n const totalPrice = parseFloat(unitPrice) * parseInt(calcData.rollsCount);\n setCalcData(prev => ({\n ...prev,\n stock: newValue,\n unitPrice: `$${parseFloat(unitPrice).toLocaleString(\"en-US\", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`,\n price: `$${totalPrice.toLocaleString(\"en-US\", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`\n }));\n } else {\n setCalcData(prev => ({\n ...prev,\n stock: newValue,\n unitPrice: \"Price not found\",\n price: \"Price not found\"\n }));\n }\n });\n};\n\nconst handleRollLengthWheel = (e) => {\n const rollLengthOptions = updateRollLengthOptions();\n handleWheel(e, rollLengthOptions, calcData.rollLength, (newValue) => {\n setCalcData(prev => ({ ...prev, rollLength: newValue }));\n });\n};\n\n// Add this handler function with the other handlers\nconst handleRollsCountWheel = (e) => {\n e.preventDefault();\n const currentValue = parseInt(calcData.rollsCount) || 1;\n \n // Get click position relative to input element\n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const isLeftHalf = x < rect.width / 2;\n \n // Calculate scroll amount based on which half was clicked\n const scrollAmount = -e.deltaY * sensitivity;\n const delta = Math.sign(scrollAmount);\n const changeAmount = isLeftHalf ? 10 : 1; // +10 on left, +1 on right\n \n // Calculate new value\n let newValue = currentValue + (delta * changeAmount);\n \n // Ensure value stays at 1 or above\n newValue = Math.max(1, newValue);\n \n setCalcData(prev => ({ ...prev, rollsCount: newValue.toString() }));\n};\n\n// Add these handlers near the top with other handlers\nconst handleRollsFocus = () => {\n // Disable scrolling on mobile when focused\n if (isMobile) {\n disableScroll();\n }\n \n // Only clear the input if it wasn't triggered by a scroll\n if (!document.documentElement.style.touchAction) {\n const currentValue = calcData.rollsCount;\n setCalcData(prev => ({ \n ...prev, \n rollsCount: '',\n previousRollsCount: currentValue\n }));\n }\n};\n\nconst handleRollsBlur = () => {\n // Re-enable scrolling on mobile when blurred\n if (isMobile) {\n enableScroll();\n }\n\n const value = calcData.rollsCount.trim();\n if (value === '') {\n // If empty, revert to previous value or 1\n setCalcData(prev => ({ \n ...prev, \n rollsCount: prev.previousRollsCount || '1'\n }));\n } else {\n // Ensure the value is at least 1\n const validValue = Math.max(1, parseInt(value) || 1).toString();\n setCalcData(prev => ({ \n ...prev, \n rollsCount: validValue,\n previousRollsCount: validValue\n }));\n }\n};\n\n// Move these handlers up, right after the other handler definitions and before any useEffects\n\n// Add this handler function with the other handlers\nconst handleDurationWheel = (e) => {\n e.preventDefault();\n \n // Get click position relative to input element\n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const isLeftHalf = x < rect.width / 2;\n \n const fps = parseFloat(calcData.fps);\n const format = calcData.filmFormat;\n const framesPerFt = framesPerFoot[format] || 16;\n \n // Get current frames count from duration string\n let currentFrames;\n try {\n const matches = calcData.duration.match(/=\\s*([\\d,]+)\\s*frames/);\n currentFrames = matches ? parseInt(matches[1].replace(/,/g, '')) : 0;\n \n if (isNaN(currentFrames) || currentFrames === 0) {\n const feet = parseInt(calcData.rollLength) * parseInt(calcData.rollsCount);\n currentFrames = feet * framesPerFt;\n }\n } catch (error) {\n const feet = parseInt(calcData.rollLength) * parseInt(calcData.rollsCount);\n currentFrames = feet * framesPerFt;\n }\n \n // Calculate frame change based on scroll direction and position\n const scrollAmount = -e.deltaY * sensitivity;\n const changeAmount = isLeftHalf ? fps * 3600 : fps * 60; // One hour on left, one minute on right\n const frameDelta = Math.sign(scrollAmount) * changeAmount;\n \n // Calculate new total frames\n const newTotalFrames = Math.max(1, currentFrames + frameDelta);\n \n // Update duration and rolls count\n const newDuration = formatDurationFromFrames(newTotalFrames, fps, isMobile);\n const requiredFeet = Math.ceil(newTotalFrames / framesPerFt);\n const requiredRolls = Math.ceil(requiredFeet / parseInt(calcData.rollLength));\n \n setCalcData(prev => ({\n ...prev,\n duration: newDuration,\n rollsCount: requiredRolls.toString()\n }));\n \n // Recalculate price with new roll count\n calculatePrice();\n};\n\n// Add this handler function for touch events\nconst handleDurationTouch = useCallback((e) => {\n if (!e.touches || !e.touches[0]) return;\n \n const touch = e.touches[0];\n const rect = e.currentTarget.getBoundingClientRect();\n const touchX = touch.clientX - rect.left;\n const width = rect.width;\n const startY = touch.clientY;\n let lastY = startY;\n let isSwiping = false;\n let touchTimeout;\n \n // Start a short timeout to detect if this is a tap or scroll\n touchTimeout = setTimeout(() => {\n // If we reach the timeout and haven't started swiping, it's a tap\n if (!isSwiping) {\n e.target.focus();\n }\n }, 100);\n \n // Determine which section was touched (hours, minutes, or seconds)\n const section = touchX < width/3 ? 'hours' : \n touchX < 2*width/3 ? 'minutes' : 'seconds';\n \n const fps = parseFloat(calcData.fps);\n const format = calcData.filmFormat;\n const framesPerFt = framesPerFoot[format] || 16;\n \n // Get initial frames count\n let currentFrames;\n try {\n const matches = calcData.duration.match(/=\\s*([\\d,]+)\\s*frames/);\n currentFrames = matches ? parseInt(matches[1].replace(/,/g, '')) : 0;\n \n if (isNaN(currentFrames) || currentFrames === 0) {\n const feet = parseInt(calcData.rollLength) * parseInt(calcData.rollsCount);\n currentFrames = feet * framesPerFt;\n }\n } catch (error) {\n const feet = parseInt(calcData.rollLength) * parseInt(calcData.rollsCount);\n currentFrames = feet * framesPerFt;\n }\n \n const handleTouchMove = (e) => {\n if (!e.touches || !e.touches[0]) return;\n \n clearTimeout(touchTimeout);\n \n const touch = e.touches[0];\n const currentY = touch.clientY;\n const totalMove = Math.abs(currentY - startY);\n \n if (totalMove > 5) {\n e.preventDefault();\n isSwiping = true;\n \n const diffY = lastY - currentY;\n lastY = currentY;\n \n // Calculate frame change based on section\n let changeAmount;\n switch(section) {\n case 'hours':\n changeAmount = fps * 3600; // One hour\n break;\n case 'minutes':\n changeAmount = fps * 60; // One minute\n break;\n case 'seconds':\n changeAmount = fps; // One second\n break;\n }\n \n const frameDelta = Math.sign(diffY) * changeAmount;\n currentFrames = Math.max(1, currentFrames + frameDelta);\n \n // Update duration and rolls count\n const newDuration = formatDurationFromFrames(currentFrames, fps, isMobile);\n const requiredFeet = Math.ceil(currentFrames / framesPerFt);\n const requiredRolls = Math.ceil(requiredFeet / parseInt(calcData.rollLength));\n \n setCalcData(prev => ({\n ...prev,\n duration: newDuration,\n rollsCount: requiredRolls.toString()\n }));\n \n calculatePrice();\n }\n };\n\n const handleTouchEnd = () => {\n clearTimeout(touchTimeout);\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n \n // If we never started swiping, treat as a tap\n if (!isSwiping) {\n e.target.focus();\n }\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n}, [calcData.fps, calcData.filmFormat, calcData.rollLength, calcData.duration, calculatePrice]);\n\n// Add these handler functions\nconst handleLogClick = () => {\n const logEntry = `${calcData.filmFormat} ${calcData.stock}\\n` +\n `${calcData.rollsCount} x ${calcData.rollLength}' @ ${calcData.fps} fps\\n` +\n `${calcData.duration}\\n` +\n `${calcData.unitPrice} per roll = ${calcData.price} total`;\n \n if (addLog) {\n addLog(logEntry);\n }\n \n setCalcData(prev => ({ ...prev, logButtonText: }));\n setTimeout(() => setCalcData(prev => ({ ...prev, logButtonText: })), 500);\n};\n\n// Then keep the useEffect as is...\nuseEffect(() => {\n const elements = [\n { ref: filmFormatRef, handler: handleFilmFormatWheel },\n { ref: fpsRef, handler: handleFPSWheel },\n { ref: stockRef, handler: handleStockWheel },\n { ref: rollLengthRef, handler: handleRollLengthWheel },\n { ref: rollsCountRef, handler: handleRollsCountWheel }\n ];\n\n elements.forEach(({ ref, handler }) => {\n if (ref.current) {\n ref.current.addEventListener('wheel', handler, { passive: false });\n }\n });\n\n // Add touch event for rolls count\n if (rollsCountRef.current) {\n rollsCountRef.current.addEventListener('touchstart', handleRollsTouch, { passive: false });\n }\n\n // Add duration handlers\n const durationInput = document.querySelector('input[placeholder*=\"hour\"]');\n if (durationInput) {\n durationInput.addEventListener('wheel', handleDurationWheel, { passive: false });\n durationInput.addEventListener('touchstart', handleDurationTouch, { passive: false });\n }\n\n return () => {\n elements.forEach(({ ref, handler }) => {\n if (ref.current) {\n ref.current.removeEventListener('wheel', handler);\n }\n });\n\n if (rollsCountRef.current) {\n rollsCountRef.current.removeEventListener('touchstart', handleRollsTouch);\n }\n\n if (durationInput) {\n durationInput.removeEventListener('wheel', handleDurationWheel);\n durationInput.removeEventListener('touchstart', handleDurationTouch);\n }\n };\n}, [calcData, handleRollsTouch, handleDurationTouch]);\n\n// Add this useEffect near the other effects\nuseEffect(() => {\n // When format changes, update stock and roll length\n const stockOptions = updateStockOptions();\n if (stockOptions.length > 0 && !stockOptions.includes(calcData.stock)) {\n // If current stock isn't available for this format, set to first available stock\n setCalcData(prev => ({ ...prev, stock: stockOptions[0] }));\n } else {\n // If current stock is valid, just update roll lengths\n const rollLengthOptions = updateRollLengthOptions();\n if (rollLengthOptions.length > 0 && !rollLengthOptions.includes(calcData.rollLength)) {\n // If current roll length isn't available for this stock, set to longest available\n const longestRoll = Math.max(...rollLengthOptions.map(l => parseInt(l))).toString();\n setCalcData(prev => ({ ...prev, rollLength: longestRoll }));\n }\n }\n}, [calcData.filmFormat]); // Trigger when format changes\n\nuseEffect(() => {\n // When stock changes, update roll length\n const rollLengthOptions = updateRollLengthOptions();\n if (rollLengthOptions.length > 0 && !rollLengthOptions.includes(calcData.rollLength)) {\n // Set to longest available roll length\n const longestRoll = Math.max(...rollLengthOptions.map(l => parseInt(l))).toString();\n setCalcData(prev => ({ ...prev, rollLength: longestRoll }));\n }\n}, [calcData.stock]); // Trigger when stock changes\n\n// Add this useEffect near the top with other effects\nuseEffect(() => {\n // Parse URL parameters when component loads\n const params = new URLSearchParams(window.location.search);\n if (params.has('filmFormat')) {\n const fps = params.get('fps') || \"24\";\n const frames = parseInt(params.get('frames') || \"16000\");\n const duration = formatDurationFromFrames(frames, parseFloat(fps), isMobile);\n \n setCalcData({\n filmFormat: params.get('filmFormat') || \"35mm 4-perf\",\n fps: fps,\n stock: params.get('stock') || \"5219 VISION3 500T Color Negative\",\n rollsCount: params.get('rollsCount') || \"1\",\n rollLength: params.get('rollLength') || \"1000\",\n duration: duration,\n unitPrice: \"$791.40\",\n price: params.get('price') || \"$791.40\",\n logButtonText: ,\n shareButtonText: ,\n resetButtonText: ,\n copyButtonText: ,\n previousDuration: duration,\n previousRollsCount: \"1\",\n copyStatus: \"\",\n isMobile: false\n });\n } else {\n // Calculate initial duration if no URL parameters\n const initialDuration = calculateDuration();\n setCalcData(prev => ({\n ...prev,\n duration: initialDuration,\n previousDuration: initialDuration\n }));\n }\n}, []); // Empty dependency array so it only runs once on mount\n\n\n // Add this new handler near the other touch handlers\n const handleDropdownTouch = useCallback((e, options, currentValue, fieldName) => {\n if (!e.touches || !e.touches[0]) return;\n \n const touch = e.touches[0];\n const startY = touch.clientY;\n let lastY = startY;\n let isSwiping = false;\n let touchTimeout;\n let currentIndex = options.indexOf(currentValue);\n let accumulatedDelta = 0;\n \n touchTimeout = setTimeout(() => {\n if (!isSwiping) {\n e.target.click();\n }\n }, 100);\n \n const handleTouchMove = (e) => {\n if (!e.touches || !e.touches[0]) return;\n \n clearTimeout(touchTimeout);\n \n const touch = e.touches[0];\n const currentY = touch.clientY;\n const totalMove = Math.abs(currentY - startY);\n \n if (totalMove > 5) {\n e.preventDefault();\n isSwiping = true;\n \n const diffY = lastY - currentY;\n lastY = currentY;\n \n // Accumulate the delta and adjust sensitivity\n accumulatedDelta += diffY * 0.33; // Increased sensitivity\n \n // Calculate how many items to move based on accumulated delta\n const itemsToMove = Math.floor(Math.abs(accumulatedDelta) / 10);\n \n if (itemsToMove >= 1) {\n const direction = Math.sign(accumulatedDelta);\n let newIndex = currentIndex + (direction * itemsToMove);\n \n // Ensure newIndex stays within bounds\n newIndex = Math.max(0, Math.min(newIndex, options.length - 1));\n \n if (newIndex !== currentIndex) {\n const newValue = options[newIndex];\n setCalcData(prev => ({\n ...prev,\n [fieldName]: newValue\n }));\n currentIndex = newIndex;\n \n // Trigger calculations immediately for responsive feedback\n if (fieldName === 'filmFormat' || fieldName === 'fps' || \n fieldName === 'stock' || fieldName === 'rollLength') {\n calculateDuration();\n calculatePrice();\n }\n }\n \n // Reset accumulated delta after applying the move\n accumulatedDelta = accumulatedDelta % 10;\n }\n }\n };\n\n const handleTouchEnd = () => {\n clearTimeout(touchTimeout);\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n \n if (!isSwiping) {\n e.target.click();\n }\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n }, [calculateDuration, calculatePrice]);\n\n const handleFilmFormatTouch = useDropdownTouch(\n filmFormats,\n calcData.filmFormat,\n handleInputChange,\n 'filmFormat'\n );\n // Add these new handler functions\n const handleFramerateChange = (e) => {\n const { value } = e.target;\n if (value === 'Custom') {\n setIsCustomFramerate(true);\n setCalcData(prev => ({\n ...prev,\n fps: ''\n }));\n } else {\n setIsCustomFramerate(false);\n setCalcData(prev => ({\n ...prev,\n fps: value\n }));\n calculateDuration();\n calculatePrice();\n }\n };\n \n const handleFPSTouch = useDropdownTouch(\n [...filmFramerates, ...customFramerates],\n calcData.fps,\n handleFramerateChange,\n 'fps'\n );\n\n const handleStockTouch = useDropdownTouch(\n updateStockOptions(),\n calcData.stock,\n (e) => {\n const newValue = e.target.value;\n setCalcData(prev => ({ \n ...prev, \n stock: newValue \n }));\n \n // Calculate price immediately\n const unitPrice = getStockPrice(newValue, calcData.rollLength, calcData.filmFormat);\n if (unitPrice) {\n const totalPrice = parseFloat(unitPrice) * parseInt(calcData.rollsCount);\n setCalcData(prev => ({\n ...prev,\n unitPrice: `$${parseFloat(unitPrice).toLocaleString(\"en-US\", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`,\n price: `$${totalPrice.toLocaleString(\"en-US\", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`\n }));\n }\n },\n 'stock'\n );\n\n const handleRollLengthTouch = useDropdownTouch(\n updateRollLengthOptions(),\n calcData.rollLength,\n handleInputChange,\n 'rollLength'\n );\n\n\n\n const handleCustomFramerateChange = (e) => {\n const value = e.target.value.replace(/[^0-9.]/g, '');\n if (value.split('.').length <= 2) {\n setCalcData(prev => ({\n ...prev,\n fps: value\n }));\n }\n };\n\n const handleCustomFramerateBlur = () => {\n const parsedFramerate = parseFloat(calcData.fps);\n if (!isNaN(parsedFramerate) && parsedFramerate > 0) {\n const newFramerate = parsedFramerate.toString();\n if (!filmFramerates.includes(newFramerate) && !customFramerates.includes(newFramerate)) {\n setCustomFramerates(prev => [...prev, newFramerate].sort((a, b) => parseFloat(a) - parseFloat(b)));\n }\n setCalcData(prev => ({\n ...prev,\n fps: newFramerate\n }));\n setIsCustomFramerate(false);\n calculateDuration();\n calculatePrice();\n } else if (calcData.fps.trim() === '') {\n setCalcData(prev => ({\n ...prev,\n fps: '24' // Default value\n }));\n setIsCustomFramerate(false);\n }\n };\n\n const commonInputClass = commonStyles.commonInputClass;\n const textCenterImportant = commonStyles.textCenterImportant;\n const getInputStyle = (field) => commonStyles.getInputStyle(field, calculationMode);\n\n // ... rest of your state and refs ...\n\n // Add this before the return statement\n const copyText = `${calcData.filmFormat} ${calcData.stock}\n${calcData.rollsCount} x ${calcData.rollLength}' @ ${calcData.fps} fps\n${calcData.duration}\n${calcData.unitPrice} per roll = ${calcData.price} total`;\n\n return (\n
\n
\n {/* Format, FPS, and Stock row */}\n
\n
\n \n \n {filmFormats.map(format => (\n \n ))}\n \n
\n
\n \n {isCustomFramerate ? (\n \n ) : (\n \n {[...filmFramerates, ...customFramerates, 'Custom'].map(fps => (\n \n ))}\n \n )}\n
\n
\n \n \n {updateStockOptions().map(stock => (\n \n ))}\n \n
\n
\n\n {/* Rolls, Length, and Price per Roll row */}\n
\n
\n \n {\n if (e.key === 'Enter') {\n e.target.blur();\n }\n }}\n min=\"1\"\n className={`${commonInputClass} text-sm md:text-base`}\n style={{ touchAction: 'none' }}\n onTouchStart={handleRollsTouch}\n />\n
\n
\n \n \n {updateRollLengthOptions().map(length => (\n \n ))}\n \n
\n
\n \n \n
\n
\n\n {/* Duration and Total Price row */}\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n {/* Action buttons */}\n \n
\n
\n );\n};\n\nexport default FilmCalculator;","// Interface speed data\nexport const interfaces = [\n // USB\n { name: 'USB 4', speed: 40 },\n { name: 'USB 3.2 Gen 2x2', speed: 20 },\n { name: 'USB 3.2 Gen 2', speed: 10 },\n { name: 'USB 3.1/3.2 Gen 1', speed: 5 },\n { name: 'USB 2.0', speed: 0.48 },\n { name: 'USB 1.1', speed: 0.012 },\n \n // Thunderbolt\n { name: 'Thunderbolt 5', speed: 120 },\n { name: 'Thunderbolt 4', speed: 40 },\n { name: 'Thunderbolt 3', speed: 40 },\n { name: 'Thunderbolt 2', speed: 20 },\n { name: 'Thunderbolt 1', speed: 10 },\n\n // PCIe\n { name: 'PCIe 5.0 x16', speed: 64 },\n { name: 'PCIe 5.0 x4', speed: 16 },\n { name: 'PCIe 5.0 x8', speed: 32 },\n { name: 'PCIe 4.0 x16', speed: 32 },\n { name: 'PCIe 4.0 x8', speed: 16 },\n { name: 'PCIe 4.0 x4', speed: 8 },\n { name: 'PCIe 3.0 x16', speed: 16 },\n { name: 'PCIe 3.0 x8', speed: 8 },\n { name: 'PCIe 3.0 x4', speed: 4 },\n { name: 'PCIe 3.0 x2', speed: 2 },\n\n // Ethernet\n { name: 'Ethernet 100G', speed: 100 },\n { name: 'Ethernet 40G', speed: 40 },\n { name: 'Ethernet 25G', speed: 25 },\n { name: 'Ethernet 10G', speed: 10 },\n { name: 'Ethernet 1G', speed: 1 },\n { name: 'Ethernet 500 Mbps', speed: 0.5 },\n { name: 'Ethernet 300 Mbps', speed: 0.3 },\n { name: 'Ethernet 100 Mbps', speed: 0.1 },\n\n // Wi-Fi\n { name: 'Wi-Fi (802.11ax)', speed: 9.6 },\n { name: 'Wi-Fi (802.11ac)', speed: 3.5 },\n { name: 'Wi-Fi (802.11n)', speed: 0.6 },\n { name: 'Wi-Fi (802.11g)', speed: 0.3 },\n { name: 'Wi-Fi (802.11b)', speed: 0.11 },\n { name: 'Wi-Fi (802.11a)', speed: 0.06 },\n\n // SATA\n { name: 'SATA III', speed: 0.6 },\n { name: 'SATA II', speed: 0.3 },\n { name: 'SATA I', speed: 0.15 },\n\n // FireWire\n { name: 'FireWire 800', speed: 0.8 },\n { name: 'FireWire 400', speed: 0.4 }\n];\n\n// Storage device speed data\nexport const storageDevices = [\n // SSDs\n { name: 'NVMe SSD (PCIe 5.0)', speed: 14 },\n { name: 'NVMe SSD (PCIe 4.0)', speed: 7 },\n { name: 'NVMe SSD (PCIe 3.0)', speed: 3.5 },\n { name: 'Thunderbolt 3 SSD', speed: 2.5 },\n { name: 'SATA SSD (High-end)', speed: 0.6 },\n { name: 'SATA SSD (Budget)', speed: 0.4 },\n // External Drives\n { name: 'USB 3 SSD', speed: 0.5 }, //USB 3.2\n { name: 'USB 3 HDD', speed: 0.12 }, //USB 3.2\n // HDDs\n { name: 'HDD (15000 RPM)', speed: 0.3 },\n { name: 'HDD (7200 RPM)', speed: 0.15 },\n { name: 'HDD (5400 RPM)', speed: 0.1 },\n // Memory Cards\n { name: 'CFexpress Type B', speed: 2 },\n { name: 'SD Card (UHS-III)', speed: 0.624 },\n { name: 'SD Card (UHS-II)', speed: 0.312 },\n { name: 'SD Card (UHS-I)', speed: 0.104 },\n // RAID Arrays\n { name: 'RAID 0 (4x NVMe SSD)', speed: 56 },\n { name: 'RAID 0 (4x SATA SSD)', speed: 2.4 },\n { name: 'RAID 0 (4x 7200 RPM HDD)', speed: 0.6 },\n \n // Tape Drives\n { name: 'LTO-8', speed: 0.36 },\n { name: 'LTO-7', speed: 0.3 },\n { name: 'LTO-6', speed: 0.2 },\n { name: 'LTO-5', speed: 0.15 },\n { name: 'LTO-9', speed: 0.4 },\n\n\n]; ","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { SlPaperPlane, SlDocs, SlNote, SlRefresh, SlLike } from \"react-icons/sl\";\nimport { FaShareSquare, FaLock, FaUnlockAlt, FaAngleLeft, FaAngleRight, FaAngleUp } from 'react-icons/fa';\nimport { useCalculator } from '../context/CalculatorContext';\nimport { colors, spacing, commonStyles, layout } from '../styles/globalStyles';\nimport { interfaces, storageDevices } from '../data/transferData';\nimport CalculatorButtons from './CalculatorButtons';\nimport { handleShareOnDevice } from '../utils/shareUtils';\n\nconst formatTime = (seconds) => {\n if (seconds < 60) {\n return `${seconds.toFixed(1)} seconds`;\n } else if (seconds < 3600) {\n return `${(seconds / 60).toFixed(1)} minutes`;\n } else if (seconds < 86400) { // 24 hours\n return `${(seconds / 3600).toFixed(1)} hours`;\n } else {\n const days = Math.floor(seconds / 86400);\n const remainingHours = (seconds % 86400) / 3600;\n if (remainingHours < 0.1) {\n return `${days} days`;\n }\n return `${days} days, ${remainingHours.toFixed(1)} hours`;\n }\n};\n\nconst TransferTimeCalculator = ({ addLog }) => {\n const { transferCalcState, setTransferCalcState } = useCalculator();\n\n // Initialize state\n const [selectedInterface, setSelectedInterface] = useState(interfaces[0]);\n const [sourceStorage, setSourceStorage] = useState(storageDevices[0]);\n const [destStorage, setDestStorage] = useState(storageDevices[0]);\n const [dataSize, setDataSize] = useState('1.00 TB');\n const [transferTime, setTransferTime] = useState('');\n const [throughput, setThroughput] = useState('');\n const [lockedField, setLockedField] = useState(null);\n const [copyText, setCopyText] = useState();\n const [logButtonText, setLogButtonText] = useState();\n const [shareButtonText, setShareButtonText] = useState();\n const [resetButtonText, setResetButtonText] = useState();\n const [isMobile, setIsMobile] = useState(false);\n\n // Add refs\n const dataSizeRef = useRef(null);\n const interfaceRef = useRef(null);\n const storageRef = useRef(null);\n\n useEffect(() => {\n const checkMobile = () => {\n setIsMobile(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));\n };\n\n checkMobile();\n window.addEventListener('resize', checkMobile);\n\n return () => window.removeEventListener('resize', checkMobile);\n }, []);\n\n const currentSpacing = isMobile ? spacing.mobile : spacing.desktop;\n\n // Update calculate transfer time to use parseFileSize\n const calculateTransferTime = () => {\n const parsed = parseFileSize(dataSize);\n if (!parsed) return;\n\n const { size, unit } = parsed;\n const multipliers = {\n 'KB': 1/1024/1024,\n 'MB': 1/1024,\n 'GB': 1,\n 'TB': 1024,\n 'PB': 1024 * 1024\n };\n \n const dataSizeInGb = (size * multipliers[unit]) * 8;\n const effectiveSpeed = Math.min(\n sourceStorage.speed,\n destStorage.speed,\n selectedInterface.speed\n );\n const timeInSeconds = dataSizeInGb / effectiveSpeed;\n \n setTransferTime(formatTime(timeInSeconds));\n setThroughput(`${effectiveSpeed.toFixed(1)} Gbps`);\n };\n\n useEffect(() => {\n calculateTransferTime();\n }, [selectedInterface, sourceStorage, destStorage, dataSize]);\n\n // Add parseFileSize from BitrateCalculator\n const parseFileSize = (input) => {\n const cleanInput = input.replace(/\\s+/g, '').toLowerCase();\n const unitPatterns = {\n 'pb': ['p', 'ps', 'pb', 'pbs', 'pe', 'pet', 'pets', 'peta', 'petas', 'petabyte', 'petabytes'],\n 'tb': ['t', 'ts', 'tb', 'tbs', 'te', 'ter', 'ters', 'tera', 'teras', 'terabyte', 'terabytes'],\n 'gb': ['g', 'gs', 'gb', 'gbs', 'gi', 'gig', 'gigs', 'giga', 'gigas', 'gigabyte', 'gigabytes'],\n 'mb': ['m', 'ms', 'mb', 'mbs', 'me', 'meg', 'megs', 'mega', 'megas', 'megabyte', 'megabytes'],\n 'kb': ['k', 'ks', 'kb', 'kbs', 'ki', 'kil', 'kils', 'kilo', 'kilos', 'kilobyte', 'kilobytes'],\n 'b': ['b', 'bs', 'bi', 'by', 'byte', 'bytes']\n };\n \n const unitRegexPattern = Object.values(unitPatterns).flat().join('|');\n const match = cleanInput.match(new RegExp(`^(\\\\d+(?:\\\\.\\\\d+)?)(${unitRegexPattern})$`));\n \n if (match) {\n const size = parseFloat(match[1]);\n const unitLower = match[2];\n \n for (const [standardUnit, patterns] of Object.entries(unitPatterns)) {\n if (patterns.includes(unitLower)) {\n return { size, unit: standardUnit.toUpperCase() };\n }\n }\n }\n return null;\n };\n\n // Update handleDataSizeWheel\n const handleDataSizeWheel = (e) => {\n e.preventDefault();\n if (lockedField === 'dataSize') return;\n\n const parsed = parseFileSize(dataSize);\n if (!parsed) return;\n \n let { size, unit } = parsed;\n const delta = -e.deltaY;\n const changeFactor = Math.abs(delta) > 50 ? 1.5 : 1.1;\n \n if (delta > 0) {\n size *= changeFactor;\n } else {\n size /= changeFactor;\n }\n\n const unitsOrder = ['KB', 'MB', 'GB', 'TB', 'PB'];\n let currentIndex = unitsOrder.indexOf(unit);\n\n while (size >= 1000 && currentIndex < unitsOrder.length - 1) {\n size /= 1000;\n currentIndex++;\n unit = unitsOrder[currentIndex];\n }\n\n while (size < 1 && currentIndex > 0) {\n size *= 1000;\n currentIndex--;\n unit = unitsOrder[currentIndex];\n }\n\n size = unit === 'KB' ? Math.round(size) : parseFloat(size.toFixed(2));\n setDataSize(`${size} ${unit}`);\n calculateTransferTime();\n };\n\n // Update the wheel handlers\n const handleWheel = (e, options, currentValue, setterFunction) => {\n e.preventDefault();\n const delta = Math.sign(-e.deltaY);\n const currentIndex = options.indexOf(currentValue);\n const newIndex = Math.max(0, Math.min(currentIndex + delta, options.length - 1));\n \n if (newIndex !== currentIndex) {\n setterFunction(options[newIndex]);\n }\n };\n\n const handleInterfaceWheel = (e) => {\n const interfaceNames = interfaces.map(i => i.name);\n handleWheel(\n e,\n interfaceNames,\n selectedInterface.name,\n (name) => setSelectedInterface(interfaces.find(i => i.name === name) || interfaces[0])\n );\n };\n\n const handleSourceStorageWheel = (e) => {\n const storageNames = storageDevices.map(s => s.name);\n handleWheel(\n e,\n storageNames,\n sourceStorage.name,\n (name) => setSourceStorage(storageDevices.find(s => s.name === name) || storageDevices[0])\n );\n };\n\n const handleDestStorageWheel = (e) => {\n const storageNames = storageDevices.map(s => s.name);\n handleWheel(\n e,\n storageNames,\n destStorage.name,\n (name) => setDestStorage(storageDevices.find(s => s.name === name) || storageDevices[0])\n );\n };\n\n // Update the handleTouchStart function\n const handleTouchStart = useCallback((e, field) => {\n if (lockedField === field) return;\n \n let lastY = e.touches[0].clientY;\n const touchX = e.touches[0].clientX;\n const element = e.target;\n const rect = element.getBoundingClientRect();\n const isLeftHalf = touchX < (rect.left + rect.width / 2);\n let lastTime = Date.now();\n \n const handleTouchMove = (moveEvent) => {\n moveEvent.preventDefault();\n const currentY = moveEvent.touches[0].clientY;\n const currentTime = Date.now();\n \n // Only process if enough time has passed (throttle updates)\n if (currentTime - lastTime > 16) { // ~60fps\n const deltaY = lastY - currentY;\n const sensitivity = isLeftHalf ? 0.5 : 0.05; // Adjusted sensitivity\n \n if (Math.abs(deltaY) > 0) {\n const simulatedWheelEvent = {\n deltaY: deltaY * sensitivity,\n preventDefault: () => {}\n };\n handleDataSizeWheel(simulatedWheelEvent);\n \n lastY = currentY;\n lastTime = currentTime;\n }\n }\n };\n \n const handleTouchEnd = () => {\n element.removeEventListener('touchmove', handleTouchMove);\n element.removeEventListener('touchend', handleTouchEnd);\n element.removeEventListener('touchcancel', handleTouchEnd);\n };\n \n element.addEventListener('touchmove', handleTouchMove, { passive: false });\n element.addEventListener('touchend', handleTouchEnd);\n element.addEventListener('touchcancel', handleTouchEnd);\n }, [lockedField, handleDataSizeWheel]);\n\n // Add this new function after handleTouchStart\n const getDataSizeInputClass = () => {\n if (isMobile) {\n return `${commonStyles.commonInputClass} relative after:content-['×10'] after:absolute after:left-4 \n after:top-1/2 after:-translate-y-1/2 after:text-gray-400 after:pointer-events-none \n after:opacity-70 after:text-sm after:bg-black/20 after:px-2 after:py-1 after:rounded \n before:content-['×1'] before:absolute before:right-4 before:top-1/2 \n before:-translate-y-1/2 before:text-gray-400 before:pointer-events-none \n before:opacity-70 before:text-sm before:bg-black/20 before:px-2 before:py-1 before:rounded`;\n }\n return commonStyles.commonInputClass;\n };\n\n // Update handleShare to use native share when available\n const handleShare = async () => {\n const shareUrl = new URL(window.location.href);\n shareUrl.searchParams.set('interface', selectedInterface.name);\n shareUrl.searchParams.set('sourceStorage', sourceStorage.name);\n shareUrl.searchParams.set('destStorage', destStorage.name);\n shareUrl.searchParams.set('dataSize', dataSize);\n\n const shareButtonText = `${dataSize} transfer via ${selectedInterface.name}\\n` +\n `From: ${sourceStorage.name} (${sourceStorage.speed} Gbps)\\n` +\n `To: ${destStorage.name} (${destStorage.speed} Gbps)\\n` +\n `Time: ${transferTime}`;\n \n try {\n const result = await handleShareOnDevice(\n 'TBD Post DataCalc',\n `Check out this transfer time calculation: ${shareButtonText}`,\n shareUrl.toString()\n );\n\n if (result?.success) {\n setShareButtonText();\n setTimeout(() => setShareButtonText(), 500);\n }\n return result;\n } catch (error) {\n console.error('Share failed:', error);\n return { success: false, method: 'none' };\n }\n };\n\n const handleLogClick = () => {\n if (addLog) {\n addLog(`${dataSize} via ${selectedInterface.name} to ${destStorage.name}: ${transferTime}`);\n }\n setLogButtonText();\n setTimeout(() => setLogButtonText(), 500);\n };\n\n const handleReset = () => {\n setSelectedInterface(interfaces[0]);\n setSourceStorage(storageDevices[0]);\n setDestStorage(storageDevices[0]);\n setDataSize('1.00 TB');\n setLockedField(null);\n setResetButtonText();\n setTimeout(() => setResetButtonText(), 500);\n };\n\n // Add these handlers after the other handlers\n\n const handleDataSizeFocus = () => {\n if (!lockedField) {\n setDataSize('');\n }\n };\n\n const handleDataSizeBlur = () => {\n if (dataSize.trim() === '') {\n setDataSize('');\n return;\n }\n\n const parsed = parseFileSize(dataSize);\n if (parsed) {\n const formattedSize = `${parsed.size} ${parsed.unit}`;\n setDataSize(formattedSize);\n calculateTransferTime();\n }\n };\n\n const handleDataSizeKeyPress = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.target.blur();\n }\n };\n\n // Add useEffect for mobile scroll prevention\n useEffect(() => {\n if (isMobile) {\n const handleScroll = () => {\n if (window.scrollY > 0) {\n window.scrollTo(0, 0);\n }\n };\n\n window.addEventListener('scroll', handleScroll);\n return () => window.removeEventListener('scroll', handleScroll);\n }\n }, [isMobile]);\n\n return (\n
\n
\n {/* Source Storage Device selection */}\n
\n \n setSourceStorage(storageDevices.find(s => s.name === e.target.value) || storageDevices[0])}\n onWheel={handleSourceStorageWheel}\n className={commonStyles.commonInputClass}\n disabled={lockedField === 'sourceStorage'}\n >\n {storageDevices.map((s) => (\n \n ))}\n \n
\n\n {/* Interface selection */}\n
\n \n setSelectedInterface(interfaces.find(i => i.name === e.target.value) || interfaces[0])}\n onWheel={handleInterfaceWheel}\n className={commonStyles.commonInputClass}\n disabled={lockedField === 'interface'}\n >\n {interfaces.map((i) => (\n \n ))}\n \n
\n\n {/* Destination Storage Device selection */}\n
\n \n setDestStorage(storageDevices.find(s => s.name === e.target.value) || storageDevices[0])}\n onWheel={handleDestStorageWheel}\n className={commonStyles.commonInputClass}\n disabled={lockedField === 'destStorage'}\n >\n {storageDevices.map((s) => (\n \n ))}\n \n
\n
\n\n {/* Data Size and Transfer Time - now in a separate div */}\n
\n {/* Data size input */}\n
\n \n setDataSize(e.target.value)}\n onFocus={handleDataSizeFocus}\n onBlur={handleDataSizeBlur}\n onKeyPress={handleDataSizeKeyPress}\n onWheel={handleDataSizeWheel}\n onTouchStart={(e) => handleTouchStart(e, 'dataSize')}\n placeholder={lockedField === 'dataSize' ? '' : \"ex: 5 TB or 500GB\"}\n className={getDataSizeInputClass()}\n disabled={lockedField === 'dataSize'}\n />\n
\n\n {/* Throughput display */}\n
\n \n
\n {throughput}\n
\n
\n\n {/* Transfer time display */}\n
\n \n
\n {transferTime}\n
\n
\n
\n\n {/* Action buttons */}\n {`${dataSize} transfer time: ${transferTime}`}}\n logButtonIcon={logButtonText}\n shareButtonIcon={shareButtonText}\n resetButtonIcon={resetButtonText}\n />\n
\n );\n};\n\nexport default TransferTimeCalculator; ","import React, { useState, useEffect, useCallback, useRef } from 'react';\nimport { SlDocs, SlNote, SlRefresh, SlLike, SlPaperPlane } from \"react-icons/sl\";\nimport { FaShareSquare, FaLock, FaUnlockAlt, FaAngleLeft, FaAngleRight, FaAngleUp } from 'react-icons/fa';\nimport { useCalculator } from '../context/CalculatorContext';\nimport { colors, spacing, commonStyles, layout } from '../styles/globalStyles';\nimport CalculatorButtons from './CalculatorButtons';\nimport { handleShareOnDevice } from '../utils/shareUtils';\nimport { filmFormats, framesPerFoot } from '../data/filmData';\n\n// Define default framerates\nconst defaultFramerates = {\n timecode: [\"24\", \"24\", \"25\", \"29.97\", \"30\", \"47.952\", \"48\", \"50\", \"59.94\", \"60\"],\n footage: [\"16\", \"24\", \"25\", \"30\", \"48\", \"50\", \"60\"]\n};\n\n// Timecode class for handling timecode operations\nclass Timecode {\n constructor(hours = 0, minutes = 0, seconds = 0, frames = 0, frameRate = 24) {\n this.hours = Math.floor(hours);\n this.minutes = Math.floor(minutes);\n this.seconds = Math.floor(seconds);\n this.frames = Math.floor(frames);\n this.frameRate = frameRate;\n }\n\n // Parse a timecode string into a Timecode object\n static parse(timecodeString, frameRate = 24) {\n const parts = timecodeString.split(/[:.]/).map(Number);\n while (parts.length < 4) parts.unshift(0);\n const [hours, minutes, seconds, frames] = parts;\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n \n // Convert Timecode object to string\n toString() {\n return `${this.hours.toString().padStart(2, '0')}:${this.minutes.toString().padStart(2, '0')}:${this.seconds.toString().padStart(2, '0')}:${this.frames.toString().padStart(2, '0')}`;\n }\n\n // Calculate total frames\n totalFrames() {\n return this.hours * 3600 * this.frameRate + \n this.minutes * 60 * this.frameRate + \n this.seconds * this.frameRate + \n this.frames;\n }\n\n // Create a Timecode object from total frames\n static fromFrames(totalFrames, frameRate = 24) {\n const hours = Math.floor(totalFrames / (3600 * frameRate));\n totalFrames %= 3600 * frameRate;\n const minutes = Math.floor(totalFrames / (60 * frameRate));\n totalFrames %= 60 * frameRate;\n const seconds = Math.floor(totalFrames / frameRate);\n const frames = Math.floor(totalFrames % frameRate);\n\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n\n // Convert timecode to keycode format (KK+FFFF)\n toKeycode() {\n const totalFrames = this.totalFrames();\n const key = Math.floor(totalFrames / 16);\n const frame = totalFrames % 16;\n return `${key.toString().padStart(2, '0')}+${frame.toString().padStart(4, '0')}`;\n }\n\n // Convert timecode to feet+frames format (FFF+FF)\n toFootage(format = '35mm 4-perf') {\n const framesPerFt = framesPerFoot[format];\n if (!framesPerFt) {\n console.warn(`Unknown film format: ${format}, defaulting to 35mm 4-perf`);\n return this.toFootage('35mm 4-perf');\n }\n const totalFrames = this.totalFrames();\n const feet = Math.floor(totalFrames / framesPerFt);\n const frame = Math.floor(totalFrames % framesPerFt);\n return `${feet.toString().padStart(3, '0')}+${frame.toString().padStart(2, '0')}`;\n }\n\n // Parse keycode format (KK+FFFF) to Timecode\n static fromKeycode(keycodeString, frameRate = 24) {\n const [key, frame] = keycodeString.split('+').map(Number);\n const totalFrames = key * 16 + frame;\n return Timecode.fromFrames(totalFrames, frameRate);\n }\n\n // Parse footage format (FFF+FF) to Timecode\n static fromFootage(footageString, frameRate = 24, format = '35mm 4-perf') {\n const framesPerFt = framesPerFoot[format];\n if (!framesPerFt) {\n console.warn(`Unknown film format: ${format}, defaulting to 35mm 4-perf`);\n return Timecode.fromFootage(footageString, frameRate, '35mm 4-perf');\n }\n const [feet, frame] = footageString.split('+').map(Number);\n const totalFrames = Math.floor(feet * framesPerFt + frame);\n return Timecode.fromFrames(totalFrames, frameRate);\n }\n\n // Basic arithmetic operations\n add(other) {\n const totalFrames = this.totalFrames() + other.totalFrames();\n return Timecode.fromFrames(totalFrames, this.frameRate);\n }\n\n subtract(other) {\n const totalFrames = Math.max(0, this.totalFrames() - other.totalFrames());\n return Timecode.fromFrames(totalFrames, this.frameRate);\n }\n\n multiply(factor) {\n const totalFrames = Math.floor(this.totalFrames() * factor);\n return Timecode.fromFrames(totalFrames, this.frameRate);\n }\n\n divide(factor) {\n if (factor === 0) return this;\n const totalFrames = Math.floor(this.totalFrames() / factor);\n return Timecode.fromFrames(totalFrames, this.frameRate);\n }\n}\n\nconst TimecodeGenerator = ({ addLog }) => {\n const { timecodeCalcState, setTimecodeCalcState } = useCalculator();\n\n // State initialization\n const [mode, setMode] = useState(timecodeCalcState.mode || 'timecode');\n const [frameRate, setFrameRate] = useState(timecodeCalcState.frameRate || '24');\n const [timecode1, setTimecode1] = useState(timecodeCalcState.timecode1 || '00:00:00:00');\n const [timecodecalculator, setTimecode2] = useState(timecodeCalcState.timecodecalculator || '00:00:00:00');\n const [operation, setOperation] = useState(timecodeCalcState.operation || 'add');\n const [result, setResult] = useState(timecodeCalcState.result || '00:00:00:00');\n const [isMobile, setIsMobile] = useState(timecodeCalcState.isMobile || false);\n const [filmFormat, setFilmFormat] = useState(timecodeCalcState.filmFormat || '35mm 4-perf');\n const [isCustomFramerate, setIsCustomFramerate] = useState(false);\n const [customFramerates, setCustomFramerates] = useState([]);\n const [logButtonText, setLogButtonText] = useState();\n const [shareButtonText, setShareButtonText] = useState();\n const [resetButtonText, setResetButtonText] = useState();\n const [focusedField, setFocusedField] = useState(null);\n\n // NEW: Create refs for the two input fields\n const timecode1Ref = useRef(null);\n const timecodecalculatorRef = useRef(null);\n\n // Add this constant at the top of the component, after state declarations\n const HANDLE_LOG_CLICK = {\n title: `Timecode Calculator`,\n getDetails: () => {\n const operationSymbols = {\n add: '+',\n subtract: '-',\n multiply: '×',\n divide: '÷'\n };\n return [\n `Mode: ${mode.toUpperCase()}`,\n `Frame Rate: ${frameRate} fps`,\n `${timecode1} ${operationSymbols[operation]} ${timecodecalculator}`,\n `Result: ${result}`,\n `Total Frames: ${getTotalFrames(result)}`\n ].join('\\n');\n }\n };\n\n // Get available frame rates based on current mode\n const getAvailableFrameRates = () => {\n const rates = mode === 'timecode' ? defaultFramerates.timecode : defaultFramerates.footage;\n return [...rates, ...customFramerates].sort((a, b) => parseFloat(a) - parseFloat(b));\n };\n\n // Handle frame rate change\n const handleFramerateChange = (e) => {\n const { value } = e.target;\n if (value === 'Custom') {\n setIsCustomFramerate(true);\n setFrameRate('');\n } else {\n setIsCustomFramerate(false);\n setFrameRate(value);\n }\n };\n\n const handleCustomFramerateChange = (e) => {\n const value = e.target.value.replace(/[^0-9.]/g, '');\n if (value.split('.').length <= 2) {\n setFrameRate(value);\n }\n };\n\n const handleCustomFramerateBlur = () => {\n const parsedFramerate = parseFloat(frameRate);\n if (!isNaN(parsedFramerate) && parsedFramerate > 0) {\n const newFramerate = formatNumber(parsedFramerate);\n if (!defaultFramerates[mode].includes(newFramerate) && !customFramerates.includes(newFramerate)) {\n setCustomFramerates(prev => [...prev, newFramerate].sort((a, b) => parseFloat(a) - parseFloat(b)));\n }\n setFrameRate(newFramerate);\n setIsCustomFramerate(false);\n } else if (frameRate.trim() === '') {\n setFrameRate('24');\n setIsCustomFramerate(false);\n }\n };\n\n // Effect to detect mobile devices\n useEffect(() => {\n const checkMobile = () => {\n setIsMobile(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));\n };\n checkMobile();\n window.addEventListener('resize', checkMobile);\n return () => window.removeEventListener('resize', checkMobile);\n }, []);\n\n // Effect to save state to context\n useEffect(() => {\n setTimecodeCalcState({\n mode,\n frameRate,\n timecode1,\n timecodecalculator,\n operation,\n result,\n isMobile\n });\n }, [mode, frameRate, timecode1, timecodecalculator, operation, result, isMobile, setTimecodeCalcState]);\n\n // Input validation patterns\n const getValidationPattern = () => {\n switch (mode) {\n case 'timecode':\n return /^[0-9:]*$/;\n case 'footage':\n return /^[0-9+]*$/;\n case 'frames':\n return /^[0-9]*$/;\n default:\n return /^[0-9:]*$/;\n }\n };\n\n // Placeholder text based on mode\n const getPlaceholder = () => {\n switch (mode) {\n case 'timecode':\n return 'HH:MM:SS:FF';\n case 'footage':\n return 'FFF+FF';\n case 'frames':\n return 'Total Frames';\n default:\n return 'HH:MM:SS:FF';\n }\n };\n\n // Parse input based on mode\n const parseInput = (input, fr, format = '35mm 4-perf') => {\n try {\n // Replace all periods with ':00' to ensure they become two zeros\n input = input.replace(/\\./g, ':00');\n\n if (!input || input.trim() === '') {\n return new Timecode(0, 0, 0, 0, fr);\n }\n\n const cleanInput = input.trim().toLowerCase();\n const frameRate = parseFloat(fr);\n\n // Handle footage format first if in footage mode\n if (mode === 'footage') {\n // Handle feet+frames format\n const footageMatch = cleanInput.match(/^(\\d+)(?:\\+|f)(\\d+)?$/i);\n if (footageMatch) {\n const feet = parseInt(footageMatch[1]) || 0;\n const frames = parseInt(footageMatch[2]) || 0;\n return Timecode.fromFootage(`${feet}+${frames}`, frameRate, format);\n }\n\n // Try to parse as pure number (assume feet)\n const feet = parseInt(cleanInput);\n if (!isNaN(feet)) {\n return Timecode.fromFootage(`${feet}+0`, frameRate, format);\n }\n }\n\n // Handle single number input - interpret as seconds by default\n if (/^\\d+$/.test(cleanInput)) {\n if (mode === 'frames') {\n return Timecode.fromFrames(parseInt(cleanInput, 10), frameRate);\n }\n const seconds = parseInt(cleanInput, 10);\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const remainingSeconds = seconds % 60;\n \n return new Timecode(hours, minutes, remainingSeconds, 0, frameRate);\n }\n\n // Handle input with colons after replacing periods\n if (/^\\d+([:]\\d+)*$/.test(cleanInput)) {\n const parts = cleanInput.split(':').map(Number);\n while (parts.length < 4) parts.unshift(0);\n let [hours, minutes, seconds, frames] = parts;\n\n // Adjust for overflow\n if (frames >= frameRate) {\n seconds += Math.floor(frames / frameRate);\n frames %= frameRate;\n }\n if (seconds >= 60) {\n minutes += Math.floor(seconds / 60);\n seconds %= 60;\n }\n if (minutes >= 60) {\n hours += Math.floor(minutes / 60);\n minutes %= 60;\n }\n\n // Ensure at least 1 frame\n const totalFrames = Math.max(1, (hours * 3600 + minutes * 60 + seconds) * frameRate + frames);\n return Timecode.fromFrames(totalFrames, frameRate);\n }\n\n // Define regex patterns for different time units\n const patterns = {\n week: /(\\d+)\\s*(?:w|wk|wks|week|weeks)/i,\n day: /(\\d+)\\s*(?:d|dy|dys|day|days)/i,\n hour: /(\\d+)\\s*(?:h|hr|hrs|hour|hours)/i,\n minute: /(\\d+)\\s*(?:m|min|mins|minute|minutes)/i,\n second: /(\\d+)\\s*(?:s|sec|secs|second|seconds)/i,\n frame: /(\\d+)\\s*(?:f|fr|frm|frms|frame|frames)/i,\n foot: /(\\d+)\\s*(?:ft|foot|feet)/i\n };\n\n let totalFrames = 0;\n let foundMatch = false;\n\n // Process all matches in the input string\n Object.entries(patterns).forEach(([unit, pattern]) => {\n const matches = cleanInput.matchAll(new RegExp(pattern, 'gi'));\n for (const match of matches) {\n foundMatch = true;\n const value = parseInt(match[1]);\n switch (unit) {\n case 'week': totalFrames += value * 7 * 24 * 3600 * frameRate; break;\n case 'day': totalFrames += value * 24 * 3600 * frameRate; break;\n case 'hour': totalFrames += value * 3600 * frameRate; break;\n case 'minute': totalFrames += value * 60 * frameRate; break;\n case 'second': totalFrames += value * frameRate; break;\n case 'frame': totalFrames += value; break;\n case 'foot': \n if (mode === 'footage') {\n const framesPerFt = framesPerFoot[format];\n totalFrames += value * framesPerFt;\n }\n break;\n }\n }\n });\n\n if (foundMatch) {\n const tc = Timecode.fromFrames(totalFrames, frameRate);\n return mode === 'footage' ? Timecode.fromFootage(tc.toFootage(format), frameRate, format) : tc;\n }\n\n // If no other patterns match, try parsing as seconds\n const seconds = parseFloat(cleanInput);\n if (!isNaN(seconds)) {\n return Timecode.fromFrames(Math.round(seconds * frameRate), frameRate);\n }\n\n // If all parsing attempts fail, return default\n return new Timecode(0, 0, 0, 0, frameRate);\n } catch (error) {\n console.error('Error parsing input:', error);\n return new Timecode(0, 0, 0, 0, frameRate);\n }\n };\n\n // Format output based on mode\n const formatOutput = (timecode) => {\n switch (mode) {\n case 'timecode':\n return timecode.toString();\n case 'footage':\n return timecode.toFootage(filmFormat);\n case 'frames':\n return timecode.totalFrames().toString();\n default:\n return timecode.toString();\n }\n };\n\n // Format number with minimum decimals\n const formatNumber = (num) => {\n if (Number.isInteger(num)) return num.toString();\n const fixed = num.toFixed(3);\n return parseFloat(fixed).toString(); // Removes trailing zeros\n };\n\n // Add this helper function after the formatOutput function\n const getTotalFrames = (value) => {\n try {\n const tc = parseInput(value, frameRate, filmFormat);\n const frames = tc.totalFrames();\n if (mode === 'frames' || mode === 'footage') {\n return Math.round(frames).toString();\n }\n return formatNumber(frames);\n } catch (error) {\n return \"0\";\n }\n };\n\n // Calculate result\n const calculate = useCallback(() => {\n try {\n // Always convert first input to frames, regardless of input format\n const tc1 = parseInput(timecode1, frameRate, filmFormat);\n const tc2 = parseInput(timecodecalculator, frameRate, filmFormat);\n const frames1 = tc1.totalFrames();\n const frames2 = tc2.totalFrames();\n\n let resultFrames;\n if (operation === 'add') {\n resultFrames = frames1 + frames2;\n } else {\n // subtract\n resultFrames = Math.max(0, frames1 - frames2);\n }\n\n // Create new Timecode object from result frames\n const resultTC = Timecode.fromFrames(resultFrames, frameRate);\n \n // Format output based on current mode\n let formattedResult;\n switch (mode) {\n case 'timecode':\n formattedResult = resultTC.toString();\n break;\n case 'frames':\n formattedResult = resultFrames.toString();\n break;\n case 'footage':\n formattedResult = resultTC.toFootage(filmFormat);\n break;\n default:\n formattedResult = resultTC.toString();\n }\n \n setResult(formattedResult);\n } catch (error) {\n console.error('Error calculating result:', error);\n setResult(formatOutput(new Timecode(0, 0, 0, 0, parseFloat(frameRate))));\n }\n }, [timecode1, timecodecalculator, operation, frameRate, mode, filmFormat]);\n\n // Effect to recalculate when inputs change\n useEffect(() => {\n calculate();\n }, [calculate]);\n\n // Handle input changes\n const handleInputChange = (e, setter) => {\n const { value } = e.target;\n setter(value);\n };\n\n // Update the handleModeChange function\n const handleModeChange = (newMode) => {\n // Store current frame rate\n const currentFrameRate = frameRate;\n \n // Parse both current values to get their frame counts\n const tc1 = parseInput(timecode1, frameRate, filmFormat);\n const tc2 = parseInput(timecodecalculator, frameRate, filmFormat);\n const resultTC = tc1.add(tc2);\n \n setMode(newMode);\n \n // Format frame rate based on new mode\n setFrameRate(getFormattedFrameRate(currentFrameRate, newMode));\n \n // Convert both values based on new mode, maintaining duration for each\n switch (newMode) {\n case 'timecode':\n setTimecode1(tc1.toString());\n setTimecode2(tc2.toString());\n setResult(resultTC.toString());\n // Restore original frame rate if switching back to timecode\n setFrameRate(currentFrameRate);\n break;\n case 'frames':\n setTimecode1(Math.round(tc1.totalFrames()).toString());\n setTimecode2(Math.round(tc2.totalFrames()).toString());\n setResult(Math.round(resultTC.totalFrames()).toString());\n break;\n case 'footage':\n setTimecode1(tc1.toFootage(filmFormat));\n setTimecode2(tc2.toFootage(filmFormat));\n setResult(resultTC.toFootage(filmFormat));\n break;\n }\n \n // Set default film format for footage mode if needed\n if (newMode === 'footage' && filmFormat !== '35mm 4-perf') {\n setFilmFormat('35mm 4-perf');\n }\n };\n\n // Update the initial state useEffect\n useEffect(() => {\n if (!timecodeCalcState.timecode1) {\n const oneHour = new Timecode(1, 0, 0, 0, 24);\n const thirtyMinutes = new Timecode(0, 30, 0, 0, 24);\n const result = oneHour.add(thirtyMinutes);\n \n switch (mode) {\n case 'timecode':\n setTimecode1(oneHour.toString());\n setTimecode2(thirtyMinutes.toString());\n setResult(result.toString());\n break;\n case 'frames':\n setTimecode1(Math.round(oneHour.totalFrames()).toString());\n setTimecode2(Math.round(thirtyMinutes.totalFrames()).toString());\n setResult(Math.round(result.totalFrames()).toString());\n break;\n case 'footage':\n setTimecode1(oneHour.toFootage(filmFormat));\n setTimecode2(thirtyMinutes.toFootage(filmFormat));\n setResult(result.toFootage(filmFormat));\n break;\n }\n \n setFrameRate('24');\n setFilmFormat('35mm 4-perf');\n }\n }, []);\n\n // Update the handleReset function\n const handleReset = () => {\n const oneHour = new Timecode(1, 0, 0, 0, 24);\n const thirtyMinutes = new Timecode(0, 30, 0, 0, 24);\n const result = oneHour.add(thirtyMinutes);\n \n switch (mode) {\n case 'timecode':\n setTimecode1(oneHour.toString());\n setTimecode2(thirtyMinutes.toString());\n setResult(result.toString());\n break;\n case 'frames':\n setTimecode1(Math.round(oneHour.totalFrames()).toString());\n setTimecode2(Math.round(thirtyMinutes.totalFrames()).toString());\n setResult(Math.round(result.totalFrames()).toString());\n break;\n case 'footage':\n setTimecode1(oneHour.toFootage(filmFormat));\n setTimecode2(thirtyMinutes.toFootage(filmFormat));\n setResult(result.toFootage(filmFormat));\n break;\n }\n \n setOperation('add');\n setResetButtonText();\n setTimeout(() => setResetButtonText(), 500);\n };\n\n // Update the handleLog function\n const handleLog = () => {\n const logEntry = HANDLE_LOG_CLICK.getDetails();\n addLog(logEntry);\n\n if (navigator.clipboard && window.isSecureContext) {\n navigator.clipboard.writeText(logEntry)\n .then(() => {\n setLogButtonText();\n setTimeout(() => setLogButtonText(), 500);\n })\n .catch(() => {\n const textArea = document.createElement(\"textarea\");\n textArea.value = logEntry;\n document.body.appendChild(textArea);\n textArea.select();\n try {\n document.execCommand('copy');\n setLogButtonText(<>\n \n );\n } catch (err) {\n console.error('Failed to copy: ', err);\n }\n document.body.removeChild(textArea);\n setTimeout(() => setLogButtonText(), 500);\n });\n } else {\n const textArea = document.createElement(\"textarea\");\n textArea.value = logEntry;\n document.body.appendChild(textArea);\n textArea.select();\n try {\n document.execCommand('copy');\n setLogButtonText(<>\n \n );\n } catch (err) {\n console.error('Failed to copy: ', err);\n }\n document.body.removeChild(textArea);\n setTimeout(() => setLogButtonText(), 500);\n }\n };\n\n // Update the handleShare function\n const handleShare = async () => {\n try {\n const result = await handleShareOnDevice(\n HANDLE_LOG_CLICK.title,\n HANDLE_LOG_CLICK.getDetails(),\n window.location.href\n );\n\n if (result?.success) {\n setShareButtonText(<>\n Share\n );\n setTimeout(() => setShareButtonText(<>\n Share\n ), 500);\n }\n } catch (error) {\n console.error('Share failed:', error);\n }\n };\n\n // Helper function to get properly capitalized mode name\n const getCapitalizedMode = () => {\n switch (mode) {\n case 'timecode':\n return 'Timecode';\n case 'footage':\n return 'Footage';\n case 'frames':\n return 'Frames';\n default:\n return mode.charAt(0).toUpperCase() + mode.slice(1);\n }\n };\n\n // Update the handleCopy function\n const handleCopy = () => {\n const copyText = HANDLE_LOG_CLICK.getDetails();\n navigator.clipboard.writeText(copyText);\n setCopyButtonText( );\n setTimeout(() => setCopyButtonText(), 500);\n };\n\n const currentSpacing = isMobile ? spacing.mobile : spacing.desktop;\n\n // Format input value based on mode\n const formatInputValue = (value) => {\n switch (mode) {\n case 'keycode':\n const [kk = '', ff = ''] = value.split('+');\n return `${kk.padStart(2, '0')}+${ff.padStart(4, '0')}`;\n case 'footage':\n const [feet = '', frames = ''] = value.split('+');\n return `${feet.padStart(3, '0')}+${frames.padStart(2, '0')}`;\n default:\n const parts = value.split(':').map(part => part.padStart(2, '0'));\n while (parts.length < 4) parts.unshift('00');\n return parts.join(':');\n }\n };\n\n // Update the input fields to handle enter/return key\n const handleKeyDown = (e, setter) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.target.blur();\n }\n };\n\n // Update handleInputBlur to properly handle the second input for multiply/divide\n const handleInputBlur = (e, setter) => {\n const { value } = e.target;\n if (!value.trim()) {\n setter(getPlaceholder());\n return;\n }\n\n try {\n // For multiply/divide operations on second input, keep as scalar\n if (setter === setTimecode2 && (operation === 'multiply' || operation === 'divide')) {\n const numValue = parseFloat(value);\n if (!isNaN(numValue)) {\n setter(numValue.toString());\n return;\n }\n }\n\n // For all other cases, parse and format according to mode\n const tc = parseInput(value, frameRate, filmFormat);\n \n switch (mode) {\n case 'timecode':\n setter(tc.toString());\n break;\n case 'frames':\n setter(tc.totalFrames().toString());\n break;\n case 'footage':\n setter(tc.toFootage(filmFormat));\n break;\n default:\n setter(tc.toString());\n }\n } catch (error) {\n console.error('Error formatting input:', error);\n setter(getPlaceholder());\n }\n };\n\n // Add this new function near the other frame rate related functions\n const getFormattedFrameRate = (rate, currentMode) => {\n const parsedRate = parseFloat(rate);\n if (isNaN(parsedRate)) return '24';\n \n // For timecode mode, keep fractional frame rates\n if (currentMode === 'timecode') {\n return rate;\n }\n \n // For frames and footage modes, round to whole number\n return Math.round(parsedRate).toString();\n };\n\n // Handle wheel events for inputs\n const handleInputWheel = (e, value, setter) => {\n e.preventDefault();\n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const width = rect.width;\n const delta = Math.sign(-e.deltaY);\n\n if (mode === 'footage') {\n const [feet, frames] = value.split('+').map(Number);\n let newFeet = feet;\n let newFrames = frames;\n\n if (x < width / 3) {\n // Left third: 10x increment for feet\n newFeet = Math.max(0, feet + (delta * 10));\n } else if (x < (width * 2) / 3) {\n // Middle third: normal increment for feet\n newFeet = Math.max(0, feet + delta);\n } else {\n // Right third: frame increment\n newFrames = frames + delta;\n if (newFrames >= 16) {\n newFeet += Math.floor(newFrames / 16);\n newFrames %= 16;\n } else if (newFrames < 0 && newFeet > 0) {\n newFeet--;\n newFrames = 15;\n } else if (newFrames < 0) {\n newFrames = 0;\n }\n }\n setter(formatInputValue(`${newFeet}+${newFrames}`));\n } else if (mode === 'frames') {\n const frames = parseInt(value) || 0;\n const increment = x < width / 3 ? 100 : x < (width * 2) / 3 ? 10 : 1;\n setter(Math.max(0, frames + (delta * increment)).toString());\n } else {\n // New integrated wheel handling for timecode mode\n const sensitivity = 0.025;\n const scrollAmount = -e.deltaY * sensitivity; // Negative because scrolling direction is inverted\n const sgn = Math.sign(scrollAmount);\n let [hours, minutes, seconds, frames] = value.split(':').map(Number);\n const framerate = parseFloat(frameRate);\n \n if (x < width * 0.25) {\n // Scrolling hours\n hours += sgn;\n hours = Math.max(0, hours);\n } else if (x < width * 0.5) {\n // Scrolling minutes\n minutes += sgn;\n if (minutes < 0) {\n if (hours > 0) {\n hours--;\n minutes = 59;\n } else {\n minutes = 0;\n }\n } else if (minutes >= 60) {\n hours++;\n minutes = 0;\n }\n } else if (x < width * 0.75) {\n // Scrolling seconds\n seconds += sgn;\n if (seconds < 0) {\n if (minutes > 0) {\n minutes--;\n seconds += 60;\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds += 60;\n } else {\n seconds = 0;\n }\n }\n while (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n } else {\n // Scrolling frames\n frames += sgn;\n if (frames < 0) {\n if (seconds > 0) {\n seconds--;\n frames += Math.floor(framerate);\n } else if (minutes > 0) {\n minutes--;\n seconds = 59;\n frames += Math.floor(framerate);\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds = 59;\n frames += Math.floor(framerate);\n } else {\n frames = 0;\n }\n } else if (frames >= Math.floor(framerate)) {\n seconds++;\n frames -= Math.floor(framerate);\n if (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n }\n }\n \n const newTimecode = `${hours.toString().padStart(2, '0')}:` +\n `${minutes.toString().padStart(2, '0')}:` +\n `${seconds.toString().padStart(2, '0')}:` +\n `${frames.toString().padStart(2, '0')}`;\n setter(newTimecode);\n }\n };\n\n // Handle touch events\n const [touchState, setTouchState] = useState({\n startY: 0,\n touchX: 0,\n fieldWidth: 0,\n startValue: null,\n field: null\n });\n\n const handleTouchMove = useCallback((e) => {\n e.preventDefault();\n if (!touchState.startValue) return;\n\n const touch = e.touches[0];\n const currentY = touch.clientY;\n const diffY = touchState.startY - currentY;\n const sensitivity = 0.5; // Increased sensitivity to match DurationToFileSize\n \n const segment = Math.floor(touchState.touchX / (touchState.fieldWidth / 4));\n const fr = parseFloat(frameRate);\n let change = Math.round(diffY * sensitivity);\n let { hours, minutes, seconds, frames } = touchState.startValue;\n let newValue;\n\n if (mode === 'frames') {\n // For frames mode, adjust total frames based on position\n const totalFrames = parseInt(touchState.startValue.frames);\n const increment = touchState.touchX < touchState.fieldWidth / 2 ? 100 : 1;\n const newFrames = Math.max(0, totalFrames - (change * increment));\n newValue = newFrames.toString();\n } else if (mode === 'footage') {\n // For footage mode, adjust feet or frames based on position\n const [feet, frms] = [hours, frames]; // Using hours for feet in footage mode\n const framesPerFt = framesPerFoot[filmFormat];\n \n if (touchState.touchX < touchState.fieldWidth / 2) {\n // Adjust feet with increased sensitivity for larger numbers\n const newFeet = Math.max(0, feet - change * (Math.abs(change) > 1 ? 10 : 1));\n newValue = `${newFeet.toString().padStart(3, '0')}+${frms.toString().padStart(2, '0')}`;\n } else {\n // Adjust frames\n let newFrames = frms - change;\n let newFeet = feet;\n \n while (newFrames < 0 && newFeet > 0) {\n newFeet--;\n newFrames += framesPerFt;\n }\n while (newFrames >= framesPerFt) {\n newFeet++;\n newFrames -= framesPerFt;\n }\n \n newFrames = Math.max(0, newFrames);\n newValue = `${newFeet.toString().padStart(3, '0')}+${newFrames.toString().padStart(2, '0')}`;\n }\n } else {\n // Timecode mode with improved segment handling\n const segmentSize = touchState.fieldWidth / 4;\n const segmentPosition = touchState.touchX % segmentSize;\n const segmentMultiplier = segmentPosition < segmentSize / 2 ? 10 : 1;\n \n switch(segment) {\n case 0: // Hours\n hours = Math.max(0, hours - (change * segmentMultiplier));\n break;\n case 1: // Minutes\n minutes -= change * segmentMultiplier;\n while (minutes < 0) {\n if (hours > 0) {\n hours--;\n minutes += 60;\n } else {\n minutes = 0;\n }\n }\n while (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n break;\n case 2: // Seconds\n seconds -= change * segmentMultiplier;\n while (seconds < 0) {\n if (minutes > 0) {\n minutes--;\n seconds += 60;\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds += 60;\n } else {\n seconds = 0;\n }\n }\n while (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n break;\n case 3: // Frames\n frames -= change;\n while (frames < 0) {\n if (seconds > 0) {\n seconds--;\n frames += Math.floor(fr);\n } else if (minutes > 0) {\n minutes--;\n seconds = 59;\n frames += Math.floor(fr);\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds = 59;\n frames += Math.floor(fr);\n } else {\n frames = 0;\n }\n }\n while (frames >= fr) {\n seconds++;\n frames -= Math.floor(fr);\n if (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n }\n break;\n }\n \n if (mode === 'timecode') {\n newValue = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n }\n }\n \n if (touchState.field === 'timecode1') {\n setTimecode1(newValue);\n } else if (touchState.field === 'timecodecalculator') {\n setTimecode2(newValue);\n }\n }, [touchState, frameRate, mode, filmFormat]);\n\n const handleTouchStart = (e, field) => {\n e.preventDefault();\n const touch = e.touches[0];\n const rect = e.target.getBoundingClientRect();\n let startValue;\n\n if (mode === 'frames') {\n // For frames mode, store the total frames in the frames field\n startValue = {\n hours: 0,\n minutes: 0,\n seconds: 0,\n frames: parseInt(e.target.value) || 0\n };\n } else if (mode === 'footage') {\n // For footage mode, store feet in hours and frames in frames\n const [feet, frames] = e.target.value.split('+').map(num => parseInt(num) || 0);\n startValue = {\n hours: feet,\n minutes: 0,\n seconds: 0,\n frames: frames\n };\n } else {\n // Timecode mode\n const [hours, minutes, seconds, frames] = e.target.value.split(':').map(num => parseInt(num) || 0);\n startValue = { hours, minutes, seconds, frames };\n }\n\n setTouchState({\n startY: touch.clientY,\n touchX: touch.clientX - rect.left,\n fieldWidth: rect.width,\n startValue,\n field\n });\n\n const handleTouchEnd = () => {\n setTouchState(prev => ({ ...prev, startValue: null }));\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n };\n\n // First define the wheel handlers\n const handleFrameRateWheel = (e) => {\n e.preventDefault();\n const rates = getAvailableFrameRates();\n const currentIndex = rates.indexOf(frameRate);\n const delta = Math.sign(-e.deltaY);\n \n if (delta > 0) {\n // Scroll up, go to next frame rate\n const nextIndex = currentIndex < rates.length - 1 ? currentIndex + 1 : currentIndex;\n setFrameRate(rates[nextIndex]);\n } else {\n // Scroll down, go to previous frame rate\n const prevIndex = currentIndex > 0 ? currentIndex - 1 : currentIndex;\n setFrameRate(rates[prevIndex]);\n }\n };\n\n const handleOperationWheel = (e) => {\n e.preventDefault();\n const operations = ['add', 'subtract'];\n const currentIndex = operations.indexOf(operation);\n const delta = Math.sign(-e.deltaY);\n \n if (delta > 0) {\n // Scroll up, go to next operation\n const nextIndex = currentIndex < operations.length - 1 ? currentIndex + 1 : currentIndex;\n setOperation(operations[nextIndex]);\n } else {\n // Scroll down, go to previous operation\n const prevIndex = currentIndex > 0 ? currentIndex - 1 : currentIndex;\n setOperation(operations[prevIndex]);\n }\n };\n\n // Define the handlers before the JSX return\n const handleDropdownTouch = useCallback((e, options, currentValue, fieldName) => {\n if (!e.touches || !e.touches[0] || !options) return;\n \n const touch = e.touches[0];\n const startY = touch.clientY;\n let lastY = startY;\n let isSwiping = false;\n let touchTimeout;\n \n const scrollableOptions = Array.isArray(options) ? options.filter(option => option !== 'Custom') : [];\n let currentIndex = scrollableOptions.indexOf(currentValue);\n let accumulatedDelta = 0;\n \n touchTimeout = setTimeout(() => {\n if (!isSwiping) {\n e.target.click();\n }\n }, 100);\n \n const handleTouchMove = (e) => {\n if (!e.touches || !e.touches[0]) return;\n \n clearTimeout(touchTimeout);\n \n const touch = e.touches[0];\n const currentY = touch.clientY;\n const totalMove = Math.abs(currentY - startY);\n \n if (totalMove > 5) {\n e.preventDefault();\n isSwiping = true;\n \n const diffY = lastY - currentY;\n lastY = currentY;\n \n accumulatedDelta += diffY * 0.6;\n \n const itemsToMove = Math.floor(Math.abs(accumulatedDelta) / 10);\n \n if (itemsToMove >= 1) {\n const direction = Math.sign(accumulatedDelta);\n let newIndex = currentIndex + (direction * itemsToMove);\n newIndex = Math.max(0, Math.min(newIndex, scrollableOptions.length - 1));\n \n if (newIndex !== currentIndex) {\n const newValue = scrollableOptions[newIndex];\n switch (fieldName) {\n case 'mode':\n handleModeChange(newValue);\n break;\n case 'framerate':\n setFrameRate(newValue);\n break;\n case 'operation':\n setOperation(newValue);\n break;\n case 'filmFormat':\n setFilmFormat(newValue);\n break;\n }\n currentIndex = newIndex;\n }\n \n accumulatedDelta = accumulatedDelta % 10;\n }\n }\n };\n\n const handleTouchEnd = () => {\n clearTimeout(touchTimeout);\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n \n if (!isSwiping) {\n e.target.click();\n }\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n }, [handleModeChange, setFrameRate, setOperation, setFilmFormat]);\n\n const handleModeTouchStart = useCallback((e) => {\n handleDropdownTouch(e, ['timecode', 'frames', 'footage'], mode, 'mode');\n }, [handleDropdownTouch, mode]);\n\n const handleFramerateTouchStart = useCallback((e) => {\n handleDropdownTouch(e, getAvailableFrameRates(), frameRate, 'framerate');\n }, [handleDropdownTouch, getAvailableFrameRates, frameRate]);\n\n const handleOperationTouchStart = useCallback((e) => {\n handleDropdownTouch(e, ['add', 'subtract'], operation, 'operation');\n }, [handleDropdownTouch, operation]);\n\n const handleFilmFormatTouchStart = useCallback((e) => {\n handleDropdownTouch(e, filmFormats, filmFormat, 'filmFormat');\n }, [handleDropdownTouch, filmFormat]);\n\n // Add these handler functions\n const handleFilmFormatWheel = (e) => {\n e.preventDefault();\n const formats = filmFormats;\n const currentIndex = formats.indexOf(filmFormat);\n const delta = Math.sign(-e.deltaY);\n \n if (delta > 0) {\n const nextIndex = currentIndex < formats.length - 1 ? currentIndex + 1 : currentIndex;\n setFilmFormat(formats[nextIndex]);\n } else {\n const prevIndex = currentIndex > 0 ? currentIndex - 1 : currentIndex;\n setFilmFormat(formats[prevIndex]);\n }\n };\n\n const handleModeWheel = (e) => {\n e.preventDefault();\n const modes = ['timecode', 'frames', 'footage']; // Updated order\n const currentIndex = modes.indexOf(mode);\n const delta = Math.sign(-e.deltaY);\n \n const nextIndex = (currentIndex + (delta > 0 ? 1 : -1) + modes.length) % modes.length;\n handleModeChange(modes[nextIndex]);\n };\n\n const handleModeTouchMove = (e) => {\n e.preventDefault();\n const touch = e.touches[0];\n const lastY = parseFloat(e.currentTarget.dataset.lastTouchY);\n const deltaY = lastY - touch.clientY;\n \n if (Math.abs(deltaY) > 10) {\n handleModeWheel({ preventDefault: () => {}, deltaY });\n e.currentTarget.dataset.lastTouchY = touch.clientY;\n }\n };\n\n const handleFilmFormatTouchMove = (e) => {\n e.preventDefault();\n const touch = e.touches[0];\n const lastY = parseFloat(e.currentTarget.dataset.lastTouchY);\n const deltaY = lastY - touch.clientY;\n \n if (Math.abs(deltaY) > 10) {\n handleFilmFormatWheel({ preventDefault: () => {}, deltaY });\n e.currentTarget.dataset.lastTouchY = touch.clientY;\n }\n };\n\n // Add these handler functions for footage operators\n const handleFootageWheel = (e, value, setter) => {\n e.preventDefault();\n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const width = rect.width;\n const delta = Math.sign(-e.deltaY);\n\n const [feet, frames] = value.split('+').map(Number);\n let newFeet = feet;\n let newFrames = frames;\n\n if (x < width * 0.5) {\n // Adjust feet\n newFeet = Math.max(0, feet + (delta * (e.shiftKey ? 10 : 1)));\n } else {\n // Adjust frames\n newFrames = frames + delta;\n if (newFrames >= 16) {\n newFeet += Math.floor(newFrames / 16);\n newFrames %= 16;\n } else if (newFrames < 0 && newFeet > 0) {\n newFeet--;\n newFrames = 15;\n } else if (newFrames < 0) {\n newFrames = 0;\n }\n }\n\n setter(formatInputValue(`${newFeet}+${newFrames}`));\n };\n\n const handleFootageTouchStart = (e, field) => {\n const touch = e.touches[0];\n const rect = e.currentTarget.getBoundingClientRect();\n const x = touch.clientX - rect.left;\n \n e.currentTarget.dataset.touchStartX = x;\n e.currentTarget.dataset.touchStartY = touch.clientY;\n e.currentTarget.dataset.lastTouchY = touch.clientY;\n e.currentTarget.dataset.touchField = field;\n };\n\n const handleFootageTouchMove = (e, value, setter) => {\n e.preventDefault();\n const touch = e.touches[0];\n const rect = e.currentTarget.getBoundingClientRect();\n const startX = parseFloat(e.currentTarget.dataset.touchStartX);\n const lastY = parseFloat(e.currentTarget.dataset.lastTouchY);\n const deltaY = lastY - touch.clientY;\n const width = rect.width;\n \n const [feet, frames] = value.split('+').map(Number);\n let newFeet = feet;\n let newFrames = frames;\n \n if (Math.abs(deltaY) > 2) { // More sensitive for touch\n if (startX < width * 0.5) {\n // Adjust feet with increased sensitivity for touch\n newFeet = Math.max(0, feet + Math.sign(-deltaY) * (Math.abs(deltaY) > 10 ? 10 : 1));\n } else {\n // Adjust frames\n newFrames = frames + Math.sign(-deltaY);\n if (newFrames >= 16) {\n newFeet += Math.floor(newFrames / 16);\n newFrames %= 16;\n } else if (newFrames < 0 && newFeet > 0) {\n newFeet--;\n newFrames = 15;\n } else if (newFrames < 0) {\n newFrames = 0;\n }\n }\n \n setter(formatInputValue(`${newFeet}+${newFrames}`));\n e.currentTarget.dataset.lastTouchY = touch.clientY;\n }\n };\n\n // NEW: New touch start handler for timecode fields that mimics DurationToFileSize.js\n const handleTouchStartForTimecode = useCallback((e, field) => {\n e.preventDefault();\n const touch = e.touches[0];\n const rect = e.target.getBoundingClientRect();\n const touchX = touch.clientX - rect.left;\n const fieldWidth = rect.width;\n const startY = touch.clientY;\n\n // Get current value based on mode\n const currentValue = e.target.value;\n let startValue;\n\n if (mode === 'frames') {\n startValue = parseInt(currentValue, 10) || 0;\n } else if (mode === 'footage') {\n const [feet, frames] = currentValue.split('+').map(num => parseInt(num, 10));\n startValue = { feet: feet || 0, frames: frames || 0 };\n } else { // timecode mode\n const parts = currentValue.split(':').map(num => parseInt(num, 10) || 0);\n while (parts.length < 4) parts.unshift(0);\n startValue = {\n hours: parts[0],\n minutes: parts[1],\n seconds: parts[2],\n frames: parts[3]\n };\n }\n\n const handleTouchMove = (e) => {\n e.preventDefault();\n const touchCurrent = e.touches[0];\n const diffY = startY - touchCurrent.clientY;\n const sensitivity = 0.1;\n const change = Math.round(diffY * sensitivity);\n\n let newValue;\n\n if (mode === 'frames') {\n // Four zones for frames mode: 1000x, 100x, 10x, 1x\n let multiplier;\n if (touchX < fieldWidth * 0.25) {\n multiplier = 1000; // Left zone: 1000x\n } else if (touchX < fieldWidth * 0.5) {\n multiplier = 100; // Second zone: 100x\n } else if (touchX < fieldWidth * 0.75) {\n multiplier = 10; // Third zone: 10x\n } else {\n multiplier = 1; // Right zone: 1x\n }\n newValue = Math.max(0, startValue - (change * multiplier));\n newValue = newValue.toString();\n } else if (mode === 'footage') {\n const framesPerFt = framesPerFoot[filmFormat];\n let { feet, frames } = startValue;\n \n if (touchX < fieldWidth * 0.25) {\n // Left zone: 100 feet at a time\n feet = Math.max(0, feet - (change * 100));\n } else if (touchX < fieldWidth * 0.5) {\n // Second zone: 10 feet at a time\n feet = Math.max(0, feet - (change * 10));\n } else if (touchX < fieldWidth * 0.75) {\n // Third zone: 1 foot at a time\n feet = Math.max(0, feet - change);\n } else {\n // Right zone: frames\n frames -= change;\n while (frames < 0) {\n if (feet > 0) {\n feet--;\n frames += framesPerFt;\n } else {\n frames = 0;\n break;\n }\n }\n while (frames >= framesPerFt) {\n feet++;\n frames -= framesPerFt;\n }\n }\n newValue = `${feet.toString().padStart(3, '0')}+${frames.toString().padStart(2, '0')}`;\n } else { // timecode mode\n const segment = Math.floor(touchX / (fieldWidth / 4));\n const framerate = parseFloat(frameRate);\n let { hours, minutes, seconds, frames } = startValue;\n\n switch(segment) {\n case 0: // Hours\n hours = Math.max(0, hours - change);\n break;\n case 1: // Minutes\n minutes -= change;\n while (minutes < 0) {\n if (hours > 0) {\n hours--;\n minutes += 60;\n } else {\n minutes = 0;\n }\n }\n while (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n break;\n case 2: // Seconds\n seconds -= change;\n while (seconds < 0) {\n if (minutes > 0) {\n minutes--;\n seconds += 60;\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds += 60;\n } else {\n seconds = 0;\n }\n }\n while (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n break;\n case 3: // Frames\n frames -= change;\n while (frames < 0) {\n if (seconds > 0) {\n seconds--;\n frames += Math.floor(framerate);\n } else if (minutes > 0) {\n minutes--;\n seconds = 59;\n frames += Math.floor(framerate);\n } else if (hours > 0) {\n hours--;\n minutes = 59;\n seconds = 59;\n frames += Math.floor(framerate);\n } else {\n frames = 0;\n }\n }\n while (frames >= framerate) {\n seconds++;\n frames -= Math.floor(framerate);\n if (seconds >= 60) {\n minutes++;\n seconds -= 60;\n if (minutes >= 60) {\n hours++;\n minutes -= 60;\n }\n }\n }\n break;\n }\n newValue = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}:${frames.toString().padStart(2, '0')}`;\n }\n\n // Update the appropriate field\n if (field === 'timecode1') {\n setTimecode1(newValue);\n } else if (field === 'timecodecalculator') {\n setTimecode2(newValue);\n }\n };\n\n const handleTouchEnd = () => {\n document.removeEventListener('touchmove', handleTouchMove);\n document.removeEventListener('touchend', handleTouchEnd);\n };\n\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd);\n }, [mode, frameRate, filmFormat]);\n\n return (\n
\n
\n {/* Main Calculator Layout */}\n
\n {/* Timecode Values and Operation Row */}\n
\n
\n \n handleInputChange(e, setTimecode1)}\n onBlur={(e) => handleInputBlur(e, setTimecode1)}\n onKeyDown={(e) => handleKeyDown(e, setTimecode1)}\n onFocus={(e) => {\n setFocusedField('timecode1');\n e.target.select();\n }}\n onWheel={(e) => handleInputWheel(e, timecode1, setTimecode1)}\n onTouchStart={(e) => handleTouchStartForTimecode(e, 'timecode1')}\n placeholder={getPlaceholder()}\n className={`${commonStyles.commonInputClass} text-sm md:text-base text-center`}\n style={{ touchAction: 'none' }}\n />\n
\n\n
\n \n setOperation(e.target.value)}\n onWheel={handleOperationWheel}\n onTouchStart={handleOperationTouchStart}\n className={`${commonStyles.commonInputClass} text-sm md:text-base text-center`}\n >\n \n \n \n
\n\n
\n \n handleInputChange(e, setTimecode2)}\n onBlur={(e) => handleInputBlur(e, setTimecode2)}\n onKeyDown={(e) => handleKeyDown(e, setTimecode2)}\n onFocus={(e) => {\n setFocusedField('timecodecalculator');\n e.target.select();\n }}\n onWheel={(e) => handleInputWheel(e, timecodecalculator, setTimecode2)}\n onTouchStart={(e) => handleTouchStartForTimecode(e, 'timecodecalculator')}\n placeholder={getPlaceholder()}\n className={`${commonStyles.commonInputClass} text-sm md:text-base text-center`}\n style={{ touchAction: 'none' }}\n />\n
\n
\n\n {/* Mode and Frame Rate Row */}\n
\n
\n \n handleModeChange(e.target.value)}\n onWheel={handleModeWheel}\n onTouchStart={handleModeTouchStart}\n className={`${commonStyles.commonInputClass} text-sm md:text-base text-center`}\n >\n \n \n \n \n
\n {mode === 'footage' && (\n
\n \n setFilmFormat(e.target.value)}\n onWheel={handleFilmFormatWheel}\n onTouchStart={handleFilmFormatTouchStart}\n className={`${commonStyles.commonInputClass} text-sm md:text-base text-center`}\n >\n {filmFormats.map(format => (\n \n ))}\n \n
\n )}\n
\n \n {isCustomFramerate ? (\n {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.target.blur();\n }\n }}\n placeholder=\"Enter frame rate\"\n className={`${commonStyles.commonInputClass} text-sm md:text-base text-center`}\n />\n ) : (\n \n {getAvailableFrameRates().map(rate => (\n \n ))}\n \n \n )}\n
\n
\n\n {/* Total Results Row */}\n
\n
\n \n
\n {mode === 'timecode' ? result : parseInput(result, frameRate, filmFormat).toString()}\n |\n {getTotalFrames(result)} frames\n |\n {mode === 'footage' ? result : parseInput(result, frameRate, filmFormat).toFootage(filmFormat)}\n
\n
\n
\n
\n\n {/* Calculator Buttons */}\n \n
\n
\n );\n};\n\nexport default TimecodeGenerator; ","import React, { useState, useEffect, useCallback, useRef } from 'react';\nimport { SlNote, SlRefresh, SlLike, SlPaperPlane, SlTrash } from \"react-icons/sl\";\nimport { FaShareSquare, FaCog, FaSave, FaPlus, FaMinus, FaTimes, FaDivide, FaEquals, FaBackspace } from 'react-icons/fa';\nimport { useCalculator } from '../context/CalculatorContext';\nimport { colors, spacing, commonStyles, layout } from '../styles/globalStyles';\nimport PaperTape from './PaperTape';\nimport { handleShareOnDevice } from '../utils/shareUtils';\nimport { filmFormats, framesPerFoot } from '../data/filmData';\n\n// Define default framerates\nconst defaultFramerates = {\n timecode: [\"24\", \"24\", \"25\", \"29.97\", \"30\", \"47.952\", \"48\", \"50\", \"59.94\", \"60\"],\n footage: [\"16\", \"24\", \"25\", \"30\", \"48\", \"50\", \"60\"]\n};\n\n// Timecode class for handling timecode operations\nclass Timecode {\n constructor(hours = 0, minutes = 0, seconds = 0, frames = 0, frameRate = 24) {\n this.hours = Math.floor(hours);\n this.minutes = Math.floor(minutes);\n this.seconds = Math.floor(seconds);\n this.frames = Math.floor(frames);\n this.frameRate = frameRate;\n }\n\n // Parse a timecode string into a Timecode object\n static parse(timecodeString, frameRate = 24) {\n const parts = timecodeString.split(/[:.]/).map(Number);\n while (parts.length < 4) parts.unshift(0);\n const [hours, minutes, seconds, frames] = parts;\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n \n // Convert Timecode object to string\n toString() {\n return `${this.hours.toString().padStart(2, '0')}:${this.minutes.toString().padStart(2, '0')}:${this.seconds.toString().padStart(2, '0')}:${this.frames.toString().padStart(2, '0')}`;\n }\n\n // Calculate total frames\n totalFrames() {\n return this.hours * 3600 * this.frameRate + \n this.minutes * 60 * this.frameRate + \n this.seconds * this.frameRate + \n this.frames;\n }\n\n // Create a Timecode object from total frames\n static fromFrames(totalFrames, frameRate = 24) {\n const hours = Math.floor(totalFrames / (3600 * frameRate));\n totalFrames %= 3600 * frameRate;\n const minutes = Math.floor(totalFrames / (60 * frameRate));\n totalFrames %= 60 * frameRate;\n const seconds = Math.floor(totalFrames / frameRate);\n const frames = Math.floor(totalFrames % frameRate);\n\n return new Timecode(hours, minutes, seconds, frames, frameRate);\n }\n\n // Convert timecode to keycode format (KK+FFFF)\n toKeycode() {\n const totalFrames = this.totalFrames();\n const key = Math.floor(totalFrames / 16);\n const frame = totalFrames % 16;\n return `${key.toString().padStart(2, '0')}+${frame.toString().padStart(4, '0')}`;\n }\n\n // Convert timecode to feet+frames format (FFF+FF)\n toFootage(format = '35mm 4-perf') {\n const framesPerFt = framesPerFoot[format];\n if (!framesPerFt) {\n console.warn(`Unknown film format: ${format}, defaulting to 35mm 4-perf`);\n return this.toFootage('35mm 4-perf');\n }\n const totalFrames = this.totalFrames();\n const feet = Math.floor(totalFrames / framesPerFt);\n const frame = Math.floor(totalFrames % framesPerFt);\n return `${feet.toString().padStart(3, '0')}+${frame.toString().padStart(2, '0')}`;\n }\n\n // Parse keycode format (KK+FFFF) to Timecode\n static fromKeycode(keycodeString, frameRate = 24) {\n const [key, frame] = keycodeString.split('+').map(Number);\n const totalFrames = key * 16 + frame;\n return Timecode.fromFrames(totalFrames, frameRate);\n }\n\n // Parse footage format (FFF+FF) to Timecode\n static fromFootage(footageString, frameRate = 24, format = '35mm 4-perf') {\n const framesPerFt = framesPerFoot[format];\n if (!framesPerFt) {\n console.warn(`Unknown film format: ${format}, defaulting to 35mm 4-perf`);\n return Timecode.fromFootage(footageString, frameRate, '35mm 4-perf');\n }\n const [feet, frame] = footageString.split('+').map(Number);\n const totalFrames = Math.floor(feet * framesPerFt + frame);\n return Timecode.fromFrames(totalFrames, frameRate);\n }\n\n // Basic arithmetic operations\n add(other) {\n const totalFrames = this.totalFrames() + other.totalFrames();\n return Timecode.fromFrames(totalFrames, this.frameRate);\n }\n\n subtract(other) {\n const totalFrames = Math.max(0, this.totalFrames() - other.totalFrames());\n return Timecode.fromFrames(totalFrames, this.frameRate);\n }\n\n multiply(factor) {\n const totalFrames = Math.floor(this.totalFrames() * factor);\n return Timecode.fromFrames(totalFrames, this.frameRate);\n }\n\n divide(factor) {\n if (factor === 0) return this;\n const totalFrames = Math.floor(this.totalFrames() / factor);\n return Timecode.fromFrames(totalFrames, this.frameRate);\n }\n}\n\nconst TimecodeGraphingCalculator = ({ addLog }) => {\n const { timecodeCalcState, setTimecodeCalcState } = useCalculator();\n\n // Basic state\n const [mode, setMode] = useState('timecode'); // Always default to timecode mode\n const [frameRate, setFrameRate] = useState(timecodeCalcState.frameRate || '24');\n const [filmFormat, setFilmFormat] = useState(timecodeCalcState.filmFormat || '35mm 4-perf');\n const [isMobile, setIsMobile] = useState(timecodeCalcState.isMobile || false);\n \n // Calculator-specific state\n const [currentInput, setCurrentInput] = useState('');\n const [previousInput, setPreviousInput] = useState('');\n const [currentOperation, setCurrentOperation] = useState(null);\n const [isDisplayActive, setIsDisplayActive] = useState(false);\n const [calculations, setCalculations] = useState([]);\n const [isCustomFramerate, setIsCustomFramerate] = useState(false);\n const [customFramerates, setCustomFramerates] = useState([]);\n const [logButtonText, setLogButtonText] = useState();\n const [shareButtonText, setShareButtonText] = useState();\n const [resetButtonText, setResetButtonText] = useState();\n\n // Add ref for keyboard focus\n const calculatorRef = useRef(null);\n const inputRef = useRef(null);\n\n // Check if we're on a mobile device\n useEffect(() => {\n const checkMobile = () => {\n setIsMobile(/iPhone|iPad|iPod|Android/i.test(navigator.userAgent));\n };\n \n checkMobile();\n window.addEventListener('resize', checkMobile);\n return () => window.removeEventListener('resize', checkMobile);\n }, []);\n\n // Calculate spacing based on device type\n const currentSpacing = isMobile ? spacing.mobile : spacing.desktop;\n\n // Get available frame rates based on current mode\n const getAvailableFrameRates = () => {\n if (customFramerates.length > 0) return [...customFramerates];\n return defaultFramerates[mode === 'footage' ? 'footage' : 'timecode'];\n };\n\n // Handle frame rate change\n const handleFramerateChange = (e) => {\n const newFrameRate = e.target.value;\n if (newFrameRate === 'Custom') {\n setIsCustomFramerate(true);\n } else {\n setFrameRate(newFrameRate);\n setTimecodeCalcState(prev => ({ ...prev, frameRate: newFrameRate }));\n }\n };\n\n // Handle custom frame rate change\n const handleCustomFramerateChange = (e) => {\n setFrameRate(e.target.value);\n };\n\n // Validate custom frame rate on blur\n const handleCustomFramerateBlur = () => {\n const fr = parseFloat(frameRate);\n if (isNaN(fr) || fr <= 0) {\n setFrameRate('24');\n setIsCustomFramerate(false);\n } else {\n // Add to custom framerates if not already there\n if (!customFramerates.includes(frameRate.toString())) {\n setCustomFramerates(prev => [...prev, frameRate.toString()]);\n }\n }\n setTimecodeCalcState(prev => ({ ...prev, frameRate }));\n };\n\n // Handle mode change\n const handleModeChange = (newMode) => {\n // Store current mode for conversion\n const oldMode = mode;\n \n // Set the new mode\n setMode(newMode);\n \n // Clear inputs when changing modes\n setCurrentInput('');\n setPreviousInput('');\n setCurrentOperation(null);\n \n // Update all calculations to the new mode format\n const updatedCalculations = calculations.map(calc => {\n // Create a new calculation object to avoid mutation\n const newCalc = { ...calc };\n \n // Try to convert each value\n try {\n // Only convert if we have values\n if (newCalc.value1) {\n // First, parse according to old mode\n const tc1 = parseInput(newCalc.value1, frameRate, filmFormat);\n \n // Then format for new mode\n if (newMode === 'timecode') {\n newCalc.value1 = tc1.toString();\n } else if (newMode === 'frames') {\n newCalc.value1 = tc1.totalFrames().toString();\n } else if (newMode === 'footage') {\n newCalc.value1 = tc1.toFootage(filmFormat);\n }\n }\n \n // Do the same for value2\n if (newCalc.value2) {\n const tc2 = parseInput(newCalc.value2, frameRate, filmFormat);\n \n if (newMode === 'timecode') {\n newCalc.value2 = tc2.toString();\n } else if (newMode === 'frames') {\n newCalc.value2 = tc2.totalFrames().toString();\n } else if (newMode === 'footage') {\n newCalc.value2 = tc2.toFootage(filmFormat);\n }\n }\n \n // And for result\n if (newCalc.result) {\n const tcResult = parseInput(newCalc.result, frameRate, filmFormat);\n \n if (newMode === 'timecode') {\n newCalc.result = tcResult.toString();\n } else if (newMode === 'frames') {\n newCalc.result = tcResult.totalFrames().toString();\n } else if (newMode === 'footage') {\n newCalc.result = tcResult.toFootage(filmFormat);\n }\n }\n } catch (error) {\n console.error(\"Error converting calculation:\", error);\n }\n \n return newCalc;\n });\n \n // Update the calculations state with converted values\n setCalculations(updatedCalculations);\n \n // Update context\n setTimecodeCalcState(prev => ({ ...prev, mode: newMode }));\n };\n\n // Handle film format change\n const handleFilmFormatChange = (newFormat) => {\n setFilmFormat(newFormat);\n setTimecodeCalcState(prev => ({ ...prev, filmFormat: newFormat }));\n };\n\n // Advanced timecode parsing similar to DurationToFileSize's parseDuration\n const parseTimecode = (input, framerate) => {\n if (!input || input.trim() === '') {\n return new Timecode(0, 0, 0, 0, framerate);\n }\n\n input = input.trim().toLowerCase();\n\n // Helper function to handle rollovers\n const handleRollover = (hours, minutes, seconds, frames) => {\n // Make sure we're working with numbers\n hours = parseInt(hours) || 0;\n minutes = parseInt(minutes) || 0;\n seconds = parseInt(seconds) || 0;\n frames = parseInt(frames) || 0;\n \n // Handle frame rollover\n if (frames >= framerate) {\n seconds += Math.floor(frames / framerate);\n frames %= framerate;\n }\n // Handle seconds rollover\n if (seconds >= 60) {\n minutes += Math.floor(seconds / 60);\n seconds %= 60;\n }\n // Handle minutes rollover\n if (minutes >= 60) {\n hours += Math.floor(minutes / 60);\n minutes %= 60;\n }\n return [hours, minutes, seconds, frames];\n };\n\n // Handle special period patterns first\n if (input.includes('.')) {\n const parts = input.split('.');\n switch (parts.length) {\n case 2: // 1.12 -> 00:01:00:12\n let [minutes, frames1] = [parseInt(parts[0]) || 0, parseInt(parts[1]) || 0];\n return new Timecode(...handleRollover(0, minutes, 0, frames1), framerate);\n case 3: // 1..12 -> 01:00:00:12 or 11..1 -> 11:00:00:01\n let [hours, , frames2] = [parseInt(parts[0]) || 0, 0, parseInt(parts[2]) || 0];\n return new Timecode(...handleRollover(hours, 0, 0, frames2), framerate);\n default:\n // For any other number of periods, treat each as 00\n return new Timecode(...Array(input.match(/\\./g).length).fill(0), framerate);\n }\n }\n\n // Handle colon patterns (e.g., 1:12 -> 00:00:01:12)\n if (input.includes(':')) {\n const parts = input.split(':').map(num => parseInt(num) || 0);\n while (parts.length < 4) parts.unshift(0);\n return new Timecode(...handleRollover(...parts), framerate);\n }\n\n // Handle continuous digit input with patterns\n if (/^\\d+$/.test(input)) {\n let parts = [];\n \n // First try to interpret as frames if the mode is frames\n if (mode === 'frames') {\n const frames = parseInt(input);\n return Timecode.fromFrames(frames, framerate);\n }\n \n switch (input.length) {\n case 8: // HH:MM:SS:FF\n parts = [\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n parseInt(input.slice(4, 6)) || 0,\n parseInt(input.slice(6, 8)) || 0\n ];\n break;\n case 7: // 0H:MM:SS:FF\n parts = [\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n parseInt(input.slice(3, 5)) || 0,\n parseInt(input.slice(5, 7)) || 0\n ];\n break;\n case 6: // HH:MM:SS:00\n parts = [\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n parseInt(input.slice(4, 6)) || 0,\n 0\n ];\n break;\n case 5: // 0H:MM:SS:00\n parts = [\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n parseInt(input.slice(3, 5)) || 0,\n 0\n ];\n break;\n case 4: // 00:MM:SS:00\n parts = [\n 0,\n parseInt(input.slice(0, 2)) || 0,\n parseInt(input.slice(2, 4)) || 0,\n 0\n ];\n break;\n case 3: // 00:0M:SS:00\n parts = [\n 0,\n parseInt('0' + input.slice(0, 1)) || 0,\n parseInt(input.slice(1, 3)) || 0,\n 0\n ];\n break;\n case 2: // 00:00:SS:00\n parts = [0, 0, parseInt(input.slice(0, 2)) || 0, 0];\n break;\n case 1: // 00:00:0S:00\n parts = [0, 0, parseInt('0' + input) || 0, 0];\n break;\n default:\n // For any other length, treat as seconds\n const seconds = parseInt(input, 10);\n return new Timecode(...handleRollover(0, 0, seconds, 0), framerate);\n }\n\n return new Timecode(...handleRollover(...parts), framerate);\n }\n\n // Handle text-based duration inputs (e.g., \"1h 30m\")\n const patterns = {\n week: /(\\d+)\\s*(?:w|wk|wks|week|weeks)/i,\n day: /(\\d+)\\s*(?:d|dy|dys|day|days)/i,\n hour: /(\\d+)\\s*(?:h|hr|hrs|hour|hours)/i,\n minute: /(\\d+)\\s*(?:m|min|mins|minute|minutes)/i,\n second: /(\\d+)\\s*(?:s|sec|secs|second|seconds)/i,\n frame: /(\\d+)\\s*(?:f|fr|frm|frms|frame|frames)/i\n };\n\n let totalFrames = 0;\n\n Object.entries(patterns).forEach(([unit, pattern]) => {\n const match = input.match(pattern);\n if (match) {\n const value = parseInt(match[1]);\n switch (unit) {\n case 'week': totalFrames += value * 7 * 24 * 3600 * framerate; break;\n case 'day': totalFrames += value * 24 * 3600 * framerate; break;\n case 'hour': totalFrames += value * 3600 * framerate; break;\n case 'minute': totalFrames += value * 60 * framerate; break;\n case 'second': totalFrames += value * framerate; break;\n case 'frame': totalFrames += value; break;\n default: break;\n }\n }\n });\n\n if (totalFrames === 0) {\n // If no valid time units were found, try parsing as a single number (assume seconds)\n const totalSeconds = parseFloat(input);\n if (!isNaN(totalSeconds)) {\n totalFrames = Math.round(totalSeconds * framerate);\n } else {\n // If we can't parse it, return empty timecode\n return new Timecode(0, 0, 0, 0, framerate);\n }\n }\n\n return Timecode.fromFrames(totalFrames, framerate);\n };\n\n // Parse input based on mode\n const parseInput = (input, fr, format = '35mm 4-perf') => {\n if (!input) return new Timecode(0, 0, 0, 0, parseFloat(fr));\n \n if (mode === 'timecode') {\n // Use the enhanced timecode parser for more flexible input formats\n return parseTimecode(input, parseFloat(fr));\n } else if (mode === 'frames') {\n return Timecode.fromFrames(parseInt(input), parseFloat(fr));\n } else if (mode === 'footage') {\n return Timecode.fromFootage(input, parseFloat(fr), format);\n }\n \n return new Timecode(0, 0, 0, 0, parseFloat(fr));\n };\n\n // Format a value according to the current mode\n const formatValueForCurrentMode = (value) => {\n if (!value) return '';\n \n try {\n const tc = parseInput(value, frameRate, filmFormat);\n \n if (mode === 'timecode') {\n return tc.toString();\n } else if (mode === 'frames') {\n return tc.totalFrames().toString();\n } else if (mode === 'footage') {\n return tc.toFootage(filmFormat);\n }\n \n return value;\n } catch (error) {\n console.error(\"Error formatting value:\", error);\n return value;\n }\n };\n\n // Handle number button click\n const handleNumberClick = (num) => {\n setIsDisplayActive(true);\n \n if (mode === 'timecode') {\n // For timecode, we need to handle the format HH:MM:SS:FF\n if (currentInput.length >= 11) return; // Maximum timecode length with colons (11 chars)\n \n // If we're starting fresh, add colons as needed\n if (currentInput === '') {\n if (num === 0) {\n setCurrentInput('00:00:00:0');\n } else {\n setCurrentInput(`00:00:00:${num}`);\n }\n return;\n }\n \n // Otherwise, append the digit and format\n const parts = currentInput.split(':');\n if (parts.length !== 4) {\n // Invalid format, start over\n setCurrentInput(`00:00:00:${num}`);\n return;\n }\n \n // Move digits left as we add new ones\n let [hours, minutes, seconds, frames] = parts;\n frames = frames + num.toString();\n if (frames.length > 2) {\n seconds = seconds + frames[0];\n frames = frames.slice(1);\n }\n if (seconds.length > 2) {\n minutes = minutes + seconds[0];\n seconds = seconds.slice(1);\n }\n if (minutes.length > 2) {\n hours = hours + minutes[0];\n minutes = minutes.slice(1);\n }\n if (hours.length > 2) {\n hours = hours.slice(1);\n }\n \n setCurrentInput(`${hours}:${minutes}:${seconds}:${frames}`);\n } else {\n // For frames and footage, just append the digit\n if (currentInput === '0') {\n setCurrentInput(num.toString());\n } else {\n setCurrentInput(currentInput + num.toString());\n }\n }\n };\n\n // Handle double zero input (for . shortcut)\n const handleDoubleZeroInput = () => {\n setIsDisplayActive(true);\n \n if (mode === 'timecode') {\n // For timecode, add 00 to frames, handling overflow\n if (currentInput === '') {\n setCurrentInput('00:00:00:00');\n return;\n }\n \n const parts = currentInput.split(':');\n if (parts.length !== 4) {\n // Invalid format, start over\n setCurrentInput('00:00:00:00');\n return;\n }\n \n // First add a zero\n let [hours, minutes, seconds, frames] = parts;\n frames = frames + '0';\n if (frames.length > 2) {\n seconds = seconds + frames[0];\n frames = frames.slice(1);\n }\n if (seconds.length > 2) {\n minutes = minutes + seconds[0];\n seconds = seconds.slice(1);\n }\n if (minutes.length > 2) {\n hours = hours + minutes[0];\n minutes = minutes.slice(1);\n }\n if (hours.length > 2) {\n hours = hours.slice(1);\n }\n \n // Then add another zero\n frames = frames + '0';\n if (frames.length > 2) {\n seconds = seconds + frames[0];\n frames = frames.slice(1);\n }\n if (seconds.length > 2) {\n minutes = minutes + seconds[0];\n seconds = seconds.slice(1);\n }\n if (minutes.length > 2) {\n hours = hours + minutes[0];\n minutes = minutes.slice(1);\n }\n if (hours.length > 2) {\n hours = hours.slice(1);\n }\n \n setCurrentInput(`${hours}:${minutes}:${seconds}:${frames}`);\n } else {\n // For frames and footage modes, just append 00\n if (currentInput === '0') {\n setCurrentInput('00');\n } else {\n setCurrentInput(currentInput + '00');\n }\n }\n };\n\n // Handle colon button click (for timecode entry)\n const handleColonClick = () => {\n if (mode !== 'timecode') return;\n \n if (currentInput === '') {\n setCurrentInput('00:00:00:00');\n return;\n }\n \n // Add colons if needed\n const parts = currentInput.split(':');\n if (parts.length === 1) {\n setCurrentInput(`00:00:${currentInput.padStart(2, '0')}:00`);\n } else if (parts.length === 2) {\n setCurrentInput(`00:${parts[0].padStart(2, '0')}:${parts[1].padStart(2, '0')}:00`);\n } else if (parts.length === 3) {\n setCurrentInput(`${parts[0].padStart(2, '0')}:${parts[1].padStart(2, '0')}:${parts[2].padStart(2, '0')}:00`);\n }\n };\n\n // Handle backspace button click\n const handleBackspace = () => {\n if (currentInput === '') return;\n \n if (mode === 'timecode') {\n // For timecode, handle format HH:MM:SS:FF\n const parts = currentInput.split(':');\n if (parts.length !== 4) {\n setCurrentInput('');\n return;\n }\n \n let [hours, minutes, seconds, frames] = parts;\n \n if (frames.length > 0) {\n frames = frames.slice(0, -1);\n if (frames.length === 0) frames = '00';\n } else if (seconds.length > 0) {\n seconds = seconds.slice(0, -1);\n if (seconds.length === 0) seconds = '00';\n } else if (minutes.length > 0) {\n minutes = minutes.slice(0, -1);\n if (minutes.length === 0) minutes = '00';\n } else if (hours.length > 0) {\n hours = hours.slice(0, -1);\n if (hours.length === 0) hours = '00';\n }\n \n setCurrentInput(`${hours}:${minutes}:${seconds}:${frames}`);\n } else {\n // For frames and footage, just remove the last digit\n setCurrentInput(currentInput.slice(0, -1) || '0');\n }\n };\n\n // Handle operator button click\n const handleOperatorClick = (op) => {\n if (!currentInput && !previousInput) return;\n \n if (currentInput && previousInput && currentOperation) {\n // If we have both inputs and an operation, calculate first\n handleCalculate();\n setCurrentOperation(op);\n } else {\n // Otherwise, just set the operation and move current to previous\n if (currentInput) {\n setPreviousInput(currentInput);\n setCurrentInput('');\n }\n setCurrentOperation(op);\n }\n };\n\n // Handle equals button click\n const handleCalculate = () => {\n // Allow direct input of a formula in the current input field\n if (currentInput && currentInput.includes('=')) {\n try {\n // Split by equals sign and parse the right side\n const parts = currentInput.split('=');\n const result = parseTimecode(parts[parts.length - 1].trim(), parseFloat(frameRate));\n \n // Format result based on mode\n const formattedResult = formatValueForCurrentMode(result.toString());\n \n // Add to calculations history\n const newCalculation = {\n id: Date.now(),\n value1: 'Direct Input',\n result: formattedResult\n };\n setCalculations(prevCalculations => [...prevCalculations, newCalculation]);\n \n // Update display\n setCurrentInput(formattedResult);\n setPreviousInput('');\n setCurrentOperation(null);\n \n return;\n } catch (error) {\n console.error('Error parsing direct input:', error);\n return;\n }\n }\n \n if (!currentInput && !previousInput) return;\n \n if (currentInput && !previousInput) {\n // If we just have current, set it as previous and clear current\n setPreviousInput(currentInput);\n setCurrentInput('');\n return;\n }\n \n if (!currentOperation) return;\n \n try {\n // Parse inputs based on current mode\n const input1 = parseInput(previousInput, frameRate, filmFormat);\n const input2 = parseInput(currentInput, frameRate, filmFormat);\n \n // Perform calculation based on operation\n let result;\n switch (currentOperation) {\n case '+':\n result = input1.add(input2);\n break;\n case '-':\n result = input1.subtract(input2);\n break;\n case '*':\n result = input1.multiply(parseFloat(currentInput));\n break;\n case '/':\n result = input1.divide(parseFloat(currentInput));\n break;\n default:\n result = input1;\n }\n \n // Format result based on mode\n const formattedResult = formatValueForCurrentMode(result.toString());\n \n // Add to calculations history\n const newCalculation = {\n id: Date.now(),\n value1: previousInput,\n value2: currentInput,\n operation: currentOperation,\n result: formattedResult\n };\n setCalculations(prevCalculations => [...prevCalculations, newCalculation]);\n \n // Update display for continued calculations\n setPreviousInput(formattedResult);\n setCurrentInput('');\n setCurrentOperation(null);\n \n } catch (error) {\n console.error('Error performing calculation:', error);\n setCurrentInput('Error');\n }\n };\n\n // Handle clear button click\n const handleClear = () => {\n setCurrentInput('');\n setPreviousInput('');\n setCurrentOperation(null);\n setIsDisplayActive(false);\n };\n\n // Handle paper tape actions\n const handleRemoveCalculation = (index) => {\n setCalculations(prev => prev.filter((_, i) => i !== index));\n };\n\n const handleReorderCalculations = (dragIndex, hoverIndex) => {\n setCalculations(prev => {\n const newCalculations = [...prev];\n const draggedItem = newCalculations[dragIndex];\n newCalculations.splice(dragIndex, 1);\n newCalculations.splice(hoverIndex, 0, draggedItem);\n return newCalculations;\n });\n };\n\n const handleClearCalculations = () => {\n setCalculations([]);\n };\n\n // Handle logging\n const handleLog = () => {\n if (!currentInput) return;\n \n // Format log entry\n const logEntry = `${mode.toUpperCase()}: ${currentInput} @ ${frameRate}fps`;\n addLog(logEntry);\n \n // Attempt to copy to clipboard\n if (navigator.clipboard && window.isSecureContext) {\n navigator.clipboard.writeText(logEntry)\n .then(() => {\n setLogButtonText();\n setTimeout(() => setLogButtonText(), 500);\n })\n .catch(() => {\n const textArea = document.createElement(\"textarea\");\n textArea.value = logEntry;\n document.body.appendChild(textArea);\n textArea.select();\n try {\n document.execCommand('copy');\n setLogButtonText();\n setTimeout(() => setLogButtonText(), 500);\n } catch (err) {\n console.error('Failed to copy: ', err);\n }\n document.body.removeChild(textArea);\n });\n }\n };\n\n // Handle sharing\n const handleShare = async () => {\n const shareText = `\n Timecode Calculator 2 Result\n Mode: ${mode}\n Input: ${currentInput}\n Frame Rate: ${frameRate}fps\n ${calculations.length > 0 ? `\\nCalculation History:\\n${calculations.map((calc, i) => \n `${i+1}. ${calc.value1} ${calc.operation === 'add' ? '+' : \n calc.operation === 'subtract' ? '-' :\n calc.operation === 'multiply' ? '×' : '÷'} ${calc.value2} = ${calc.result}`\n ).join('\\n')}` : ''}\n `;\n \n try {\n const shareResult = await handleShareOnDevice(shareText);\n \n if (shareResult.success) {\n setShareButtonText();\n setTimeout(() => setShareButtonText(), 500);\n }\n \n return shareResult;\n } catch (error) {\n console.error(\"Sharing failed:\", error);\n return { success: false, error };\n }\n };\n\n // Handle reset\n const handleReset = () => {\n // Clear current state\n setCurrentInput('');\n setPreviousInput('');\n setCurrentOperation(null);\n \n // Optionally clear calculations history\n if (confirm(\"Clear calculation history as well?\")) {\n setCalculations([]);\n }\n \n setResetButtonText();\n setTimeout(() => setResetButtonText(), 500);\n };\n\n // Get operation icon based on the operation\n const getOperationIcon = (op) => {\n switch (op) {\n case '+': return ;\n case '-': return ;\n case '*': return ;\n case '/': return ;\n default: return op;\n }\n };\n\n // Format raw digit input like \"12121212\" to \"12:12:12:12\" for display purposes only\n const formatTimecodeDigits = (input) => {\n // Return if input is not all digits\n if (!/^\\d+$/.test(input)) return input;\n \n let formatted = input;\n \n // Format based on length of input\n if (input.length === 8) {\n // Format as HH:MM:SS:FF\n formatted = `${input.slice(0, 2)}:${input.slice(2, 4)}:${input.slice(4, 6)}:${input.slice(6, 8)}`;\n } else if (input.length === 7) {\n // Format as H:MM:SS:FF\n formatted = `${input.slice(0, 1)}:${input.slice(1, 3)}:${input.slice(3, 5)}:${input.slice(5, 7)}`;\n } else if (input.length === 6) {\n // Format as MM:SS:FF\n formatted = `00:${input.slice(0, 2)}:${input.slice(2, 4)}:${input.slice(4, 6)}`;\n } else if (input.length === 5) {\n // Format as M:SS:FF\n formatted = `00:0${input.slice(0, 1)}:${input.slice(1, 3)}:${input.slice(3, 5)}`;\n } else if (input.length === 4) {\n // Format as SS:FF\n formatted = `00:00:${input.slice(0, 2)}:${input.slice(2, 4)}`;\n }\n \n return formatted;\n };\n\n // Is operator active\n const isOperatorActive = (op) => currentOperation === op ? 'ring-2 ring-white' : '';\n\n // Update timecode calc state in context\n useEffect(() => {\n setTimecodeCalcState({\n mode,\n frameRate,\n filmFormat,\n isMobile\n });\n }, [mode, frameRate, filmFormat, isMobile, setTimecodeCalcState]);\n\n // Button style classes\n const buttonClass = \"flex items-center justify-center p-4 text-lg font-semibold rounded-lg transition duration-150 hover:brightness-110 active:brightness-90 shadow-md\";\n const numberButtonClass = `${buttonClass} bg-gray-700 text-white`;\n const functionButtonClass = `${buttonClass} bg-gray-800 text-white`;\n const operatorButtonClass = `${buttonClass} bg-blue-600 text-white`;\n const equalsButtonClass = `${buttonClass} bg-green-600 text-white`;\n const clearButtonClass = `${buttonClass} bg-red-600 text-white`;\n const specialButtonClass = `${buttonClass} bg-gray-600 text-white`;\n\n // Focus the calculator on mount\n useEffect(() => {\n if (calculatorRef.current) {\n calculatorRef.current.focus();\n }\n }, []);\n\n // Keyboard event handler\n useEffect(() => {\n const handleKeyDown = (e) => {\n // Skip when direct input field is active\n if (isDisplayActive) {\n return;\n }\n \n // Numbers\n if (e.key >= '0' && e.key <= '9') {\n handleNumberClick(parseInt(e.key));\n e.preventDefault();\n }\n // Period for double zero\n else if (e.key === '.') {\n handleDoubleZeroInput();\n e.preventDefault();\n }\n // Operations\n else if (['+', '-', '*', '/'].includes(e.key)) {\n // Format the timecode if we're in timecode mode and have raw digits\n if (mode === 'timecode' && /^\\d+$/.test(currentInput) && currentInput.length >= 4) {\n const tc = parseTimecode(currentInput, parseFloat(frameRate));\n setCurrentInput(tc.toString());\n }\n handleOperatorClick(e.key);\n e.preventDefault();\n }\n // Enter for equals\n else if (e.key === 'Enter') {\n // Format the timecode if we're in timecode mode and have raw digits\n if (mode === 'timecode' && /^\\d+$/.test(currentInput) && currentInput.length >= 4) {\n const tc = parseTimecode(currentInput, parseFloat(frameRate));\n setCurrentInput(tc.toString());\n }\n handleCalculate();\n e.preventDefault();\n }\n // Backspace\n else if (e.key === 'Backspace') {\n handleBackspace();\n e.preventDefault();\n }\n // Clear\n else if (e.key === 'Escape') {\n handleClear();\n e.preventDefault();\n }\n // Colon for timecode\n else if (e.key === ':' || e.key === ';') {\n handleColonClick();\n e.preventDefault();\n }\n };\n\n // Timer to format timecode after a pause in typing\n const formatTimecodeAfterPause = () => {\n if (mode === 'timecode' && /^\\d+$/.test(currentInput) && currentInput.length >= 4) {\n const tc = parseTimecode(currentInput, parseFloat(frameRate));\n setCurrentInput(tc.toString());\n }\n };\n\n // Set up a timer to format timecode after a pause in typing\n const timerId = setTimeout(formatTimecodeAfterPause, 1500);\n\n window.addEventListener('keydown', handleKeyDown);\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n clearTimeout(timerId);\n };\n }, [currentInput, previousInput, currentOperation, mode, isDisplayActive]); // Added isDisplayActive as dependency\n\n // Function to get total duration from all calculations\n const getTotalDuration = () => {\n if (calculations.length === 0) {\n return mode === 'timecode' ? '00:00:00:00' : '0';\n }\n\n // Sum up all results if they exist\n if (mode === 'timecode') {\n let totalTimecode = new Timecode(0, 0, 0, 0, parseFloat(frameRate));\n calculations.forEach(calc => {\n if (calc.result) {\n const tc = parseInput(calc.result, frameRate, filmFormat);\n totalTimecode = totalTimecode.add(tc);\n }\n });\n return totalTimecode.toString();\n } else if (mode === 'frames') {\n let totalFrames = 0;\n calculations.forEach(calc => {\n if (calc.result) {\n totalFrames += parseInt(calc.result);\n }\n });\n return totalFrames.toString();\n } else if (mode === 'footage') {\n let totalFrames = 0;\n calculations.forEach(calc => {\n if (calc.result) {\n const tc = parseInput(calc.result, frameRate, filmFormat);\n totalFrames += tc.totalFrames();\n }\n });\n const result = Timecode.fromFrames(totalFrames, parseFloat(frameRate));\n return result.toFootage(filmFormat);\n }\n \n return mode === 'timecode' ? '00:00:00:00' : '0';\n };\n\n // Utility function for testing timecode parsing (not exposed in UI)\n const testParsing = (input) => {\n console.log(`Testing parsing of \"${input}\"`);\n try {\n const tc = parseTimecode(input, parseFloat(frameRate));\n console.log(`Result: ${tc.toString()}`);\n console.log(`Total frames: ${tc.totalFrames()}`);\n return tc;\n } catch (error) {\n console.error(`Error parsing \"${input}\":`, error);\n return null;\n }\n };\n\n // Include some test cases to validate in the console\n useEffect(() => {\n if (process.env.NODE_ENV === 'development') {\n console.log('===== Testing Timecode Parser =====');\n testParsing('24'); // Should interpret as 24 frames\n testParsing('1.5'); // 1 minute, 5 frames\n testParsing('1:30'); // 1 minute, 30 seconds\n testParsing('01:30:00'); // 1 hour, 30 minutes\n testParsing('1h30m'); // 1 hour, 30 minutes\n testParsing('1m30s'); // 1 minute, 30 seconds\n testParsing('90s'); // 90 seconds\n testParsing('24f'); // 24 frames\n console.log('==================================');\n }\n }, [frameRate]); // Run once when frameRate changes\n\n return (\n
\n
\n {/* Calculator Display */}\n
{\n setIsDisplayActive(true);\n calculatorRef.current.focus();\n }}\n >\n {/* Previous input and operation */}\n {previousInput && (\n
\n {previousInput}\n {currentOperation && (\n {getOperationIcon(currentOperation)}\n )}\n
\n )}\n \n {/* Current input with direct input support */}\n
\n
\n {isDisplayActive || !currentInput ? \n (currentInput ? currentInput : mode === 'timecode' ? '00:00:00:00' : '0') :\n (mode === 'timecode' && /^\\d+$/.test(currentInput) && currentInput.length >= 4 ? \n formatTimecodeDigits(currentInput) : currentInput)\n }\n
\n {isDisplayActive && (\n setCurrentInput(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleCalculate();\n e.preventDefault();\n } else if (e.key === 'Escape') {\n setIsDisplayActive(false);\n e.preventDefault();\n }\n }}\n onBlur={() => setIsDisplayActive(false)}\n autoFocus\n />\n )}\n
\n \n {/* Help text for direct input */}\n
\n Click to edit directly or type with keyboard shortcuts\n
\n \n {/* Mode, Format and FPS controls */}\n
\n {/* Mode dropdown - always visible */}\n
\n Mode:\n handleModeChange(e.target.value)}\n className=\"bg-gray-800 text-white rounded p-1 text-xs border border-gray-700\"\n onClick={(e) => e.stopPropagation()}\n >\n \n \n \n \n
\n \n {/* Film Format (only for footage mode) - in the middle */}\n {mode === 'footage' ? (\n
\n Format:\n handleFilmFormatChange(e.target.value)}\n className=\"bg-gray-800 text-white rounded p-1 text-xs border border-gray-700\"\n onClick={(e) => e.stopPropagation()}\n >\n {filmFormats.map(format => (\n \n ))}\n \n
\n ) : (\n /* Empty div to maintain spacing */\n
\n )}\n \n {/* FPS always in bottom right */}\n
\n FPS:\n {isCustomFramerate ? (\n e.stopPropagation()}\n />\n ) : (\n e.stopPropagation()}\n >\n {getAvailableFrameRates().map(rate => (\n \n ))}\n \n \n )}\n
\n
\n
\n\n {/* Main Calculator Layout - Grid with Keypad and History */}\n
\n {/* Left Side - Calculator Keypad */}\n
\n
\n {/* Top row - Clear, Backspace */}\n
\n \n \n
\n\n {/* Number pad with timecode separators */}\n
\n {/* Row 1 */}\n \n \n \n \n\n {/* Row 2 */}\n \n \n \n \n\n {/* Row 3 */}\n \n \n \n \n\n {/* Row 4 */}\n \n \n \n \n \n {/* Bottom row - equals */}\n \n
\n
\n
\n\n {/* Right Side - Paper Tape History - Always visible */}\n
\n
\n
\n

\n Calculation History\n

\n \n
\n \n
\n {calculations.length === 0 ? (\n
\n No calculations yet. Use the calculator to add items.\n
\n ) : (\n
\n {calculations.map((calc, index) => (\n
\n
\n {index + 1}.\n {calc.operation && (\n \n {calc.operation === 'add' ? : \n calc.operation === 'subtract' ? : \n calc.operation === 'multiply' ? : \n }\n \n )}\n {formatValueForCurrentMode(calc.value1)}\n \n {calc.value2 && (\n <>\n \n {calc.operation === 'add' ? : \n calc.operation === 'subtract' ? : \n calc.operation === 'multiply' ? : \n }\n \n {formatValueForCurrentMode(calc.value2)}\n \n )}\n \n {calc.result && (\n <>\n \n {calc.result}\n \n )}\n
\n \n \n
\n ))}\n
\n )}\n
\n \n {calculations.length > 0 && (\n
\n
\n Total Duration:\n {getTotalDuration()}\n
\n
\n )}\n
\n
\n
\n \n {/* Bottom function buttons row - Now spans full width under both calculator and history */}\n
\n \n \n \n
\n
\n
\n );\n};\n\nexport default TimecodeGraphingCalculator; ","import React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\nimport { SlDocs, SlMinus, SlLike, SlPaperPlane } from \"react-icons/sl\";\nimport { FaShareSquare, FaLock, FaUnlockAlt, FaAngleLeft, FaAngleRight, FaAngleUp } from 'react-icons/fa';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { getCalculatorName } from '../config/features';\n\nconst Log = forwardRef(({ log = [], onDelete, onShare, isMobile, previousCalculator }, ref) => {\n const [copiedIndex, setCopiedIndex] = useState(null);\n const [sharedIndices, setSharedIndices] = useState({});\n const logContainerRef = useRef(null);\n const isFullPage = window.location.pathname === '/logs';\n const navigate = useNavigate();\n const location = useLocation();\n\n // Get the display name for the previous calculator\n const getPreviousCalculatorName = () => {\n if (location.state?.calculatorName) {\n return location.state.calculatorName;\n }\n if (location.state?.from) {\n return getCalculatorName(location.state.from);\n }\n return getCalculatorName(previousCalculator) || 'Calculator';\n };\n\n useImperativeHandle(ref, () => ({\n scrollToTop: () => {\n if (logContainerRef.current) {\n logContainerRef.current.scrollTop = 0;\n }\n }\n }));\n\n const handleShareLog = (entry, index) => {\n const shareUrl = window.location.href;\n const title = 'Calculator Log Entry';\n \n if (isMobile && navigator.share) {\n navigator.share({\n title,\n text: entry,\n url: shareUrl\n })\n .then(() => {\n setSharedIndices(prev => ({ ...prev, [index]: true }));\n setTimeout(() => setSharedIndices(prev => ({ ...prev, [index]: false })), 500);\n })\n .catch(err => console.error('Error sharing:', err));\n } else {\n navigator.clipboard.writeText(entry)\n .then(() => {\n setSharedIndices(prev => ({ ...prev, [index]: true }));\n setTimeout(() => setSharedIndices(prev => ({ ...prev, [index]: false })), 500);\n })\n .catch(err => console.error('Error copying to clipboard:', err));\n }\n };\n\n const handleBack = () => {\n if (location.state?.from) {\n navigate(location.state.from);\n } else {\n navigate(-1);\n }\n };\n\n if (!log || log.length === 0) {\n return (\n
\n
\n
\n No entries yet\n
\n {/* */}\n \n \n
\n
\n
\n
\n );\n }\n\n return (\n
\n {log.map((entry, index) => (\n
\n
\n

{entry}

\n
\n {/* {\n setCopiedIndex(index);\n setTimeout(() => setCopiedIndex(null), 500);\n }}>\n \n */}\n {(isMobile || true) && (\n handleShareLog(entry, index)}\n className=\"px-2 py-2 text-xs bg-blue-600 text-white rounded hover:bg-blue-500\"\n >\n {sharedIndices[index] ? : }\n \n )}\n onDelete(index)}\n className=\"px-2 py-2 text-xs bg-red-600 text-white rounded hover:bg-red-500\"\n >\n \n \n
\n
\n
\n ))}\n
\n );\n});\n\nLog.displayName = 'Log';\n\nexport default Log;","import React from 'react';\nimport { Link, useLocation } from 'react-router-dom';\nimport { \n calculatorConfig, \n isCalculatorAccessible, \n shouldShowBetaPill,\n shouldShowComingSoonPill,\n isInBetaEnvironment \n} from '../config/features';\n\nconst SideMenu = ({ isMobile }) => {\n const location = useLocation();\n\n const renderMenuItem = (calc) => {\n const isActive = location.pathname === calc.path;\n const isAccessible = isCalculatorAccessible(calc);\n const baseClasses = `flex items-center justify-between px-2 py-2 rounded-md transition-colors`;\n \n // Skip hidden items in production\n if (!isInBetaEnvironment() && calc.hide === true) {\n return null;\n }\n\n const iconGroup = (\n
\n {calc.icon}\n {calc.secondaryIcon}\n
\n );\n\n // If not accessible (coming soon in production), render as disabled\n if (!isAccessible) {\n return (\n
\n
\n {iconGroup}\n {calc.sideMenu}\n
\n \n SOON\n \n
\n );\n }\n\n // For accessible items\n return (\n \n
\n {iconGroup}\n {calc.sideMenu}\n
\n
\n {shouldShowBetaPill(calc) && (\n \n BETA\n \n )}\n {shouldShowComingSoonPill(calc) && (\n \n SOON\n \n )}\n
\n \n );\n };\n\n return (\n
\n \n
\n );\n};\n\nexport default SideMenu;","import React, { useState, useEffect } from 'react';\nimport { Link } from 'react-router-dom';\nimport { SlArrowUp, SlArrowDown } from \"react-icons/sl\";\nimport { FaInstagram } from \"react-icons/fa\";\nimport { isInBetaEnvironment } from '../config/features';\n\nconst APP_VERSION = 'v0.93.02';\n\nconst Footer = ({ setShowPrivacyPolicy, isMobile }) => {\n const [isExpanded, setIsExpanded] = useState(true);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setIsExpanded(false);\n }, 1000);\n\n return () => clearTimeout(timer);\n }, []);\n\n return (\n
\n
\n
\n {/* Common Footer for both Mobile and Desktop */}\n
\n
setIsExpanded(!isExpanded)}\n >\n \n Made by your friends at {isExpanded ? (\n TBD Post\n ) : (\n 'TBD Post'\n )}\n \n {isExpanded ? : }\n
\n
\n \n \n
\n ©{new Date().getFullYear()} | {APP_VERSION}{isInBetaEnvironment() && ' BETA'} |{' '}\n \n data_calc\n \n
\n \n
\n \n
\n
\n
\n
\n
\n
\n );\n}\n\nexport default Footer;","import React from 'react';\n\nconst PrivacyPolicy = ({ onClose }) => {\n return (\n
\n
\n \n ✕\n \n\n

Privacy Policy

\n \n

Information We Collect

\n

We collect minimal, non-identifiable information to enhance your experience and improve our Service. The types of information we may collect include:

\n
    \n
  • Usage Data: Information about how you interact with our Service, such as pages visited and features used.
  • \n
  • Technical Data: Non-identifiable data like your IP address, browser type, operating system, and device information.
  • \n
\n\n

How We Use Your Information

\n

We use the collected information for the following purposes:

\n
    \n
  • To operate and maintain our Service.
  • \n
  • To improve user experience and functionality.
  • \n
  • To analyze usage patterns to enhance our Service.
  • \n
\n\n

Legal Basis for Processing (For EU Users)

\n

Under the General Data Protection Regulation (GDPR), our legal bases for processing your information are:

\n

Legitimate Interests: We process non-identifiable information to improve our Service.

\n\n

Cookies and Similar Technologies

\n

We may use cookies and similar tracking technologies to collect and store information. Cookies are small data files placed on your device. You can instruct your browser to refuse all cookies or indicate when a cookie is being sent.

\n\n

Data Retention

\n

We retain collected information only for as long as necessary to fulfill the purposes outlined in this Privacy Policy, unless a longer retention period is required or permitted by law.

\n\n

Data Security

\n

We implement appropriate technical and organizational measures to protect your information against unauthorized access, alteration, disclosure, or destruction.

\n\n

Your Rights

\n

EU/EEA Residents

\n

Under the GDPR, you have the following rights:

\n
    \n
  • Access: Request access to your personal data.
  • \n
  • Rectification: Request correction of any inaccurate data.
  • \n
  • Erasure: Request deletion of your personal data.
  • \n
  • Restriction: Request restriction of processing your data.
  • \n
  • Objection: Object to processing based on legitimate interests.
  • \n
  • Data Portability: Request transfer of your data to you or a third party.
  • \n
\n

California Residents

\n

Under the California Consumer Privacy Act (CCPA), you have the right to:

\n
    \n
  • Know: Request disclosure of the categories and specific pieces of personal information collected.
  • \n
  • Delete: Request deletion of personal information we have collected.
  • \n
  • Non-Discrimination: Not be discriminated against for exercising your privacy rights.
  • \n
\n

Note: Since we do not collect personal information that identifies you individually, certain rights may not be applicable.

\n\n

Children's Privacy

\n

Our Service is not intended for individuals under the age of 16. We do not knowingly collect personal information from children.

\n\n

International Data Transfers

\n

Your information may be transferred to and processed in countries other than your country of residence. We ensure that appropriate safeguards are in place to protect your data.

\n\n

Changes to This Privacy Policy

\n

We may update this Privacy Policy from time to time. Any changes will be posted on this page with an updated effective date.

\n\n

Trademark Disclaimer

\n

\n All names, brand names, logos, and trademarks used on this website are the property of their respective owners. We do not claim any rights, title, or interest in or to any of these trademarks.\n

\n\n

Contact Us

\n

If you have any questions or concerns about these policies or our data practices, please contact us:

\n

TBD Post

\n

2815 Manor Rd, Ste 202

\n

Austin, TX 78722 USA

\n

datacalc@tbdpost.com

\n\n \n Close\n \n
\n
\n );\n};\n\nexport default PrivacyPolicy;\n","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib';\nexport function LuAccessibility (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"4\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 19 1-7-6 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 8 3-3 5.5 3-2.36 3.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.24 14.5a5 5 0 0 0 6.88 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.76 17.5a5 5 0 0 0-6.88-6\"}}]})(props);\n};\nexport function LuActivitySquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 12h-2l-2 5-2-10-2 5H7\"}}]})(props);\n};\nexport function LuActivity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12h-4l-3 9L9 3l-3 9H2\"}}]})(props);\n};\nexport function LuAirVent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.3 17.7a2.5 2.5 0 0 1-3.16 3.83 2.53 2.53 0 0 1-1.14-2V12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.6 15.6A2 2 0 1 0 10 17v-5\"}}]})(props);\n};\nexport function LuAirplay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"12 15 17 21 7 21 12 15\"}}]})(props);\n};\nexport function LuAlarmCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"13\",\"r\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3 2 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 6-3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.38 18.7 4 21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.64 18.67 20 21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 13 2 2 4-4\"}}]})(props);\n};\nexport function LuAlarmClockOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.87 6.87a8 8 0 1 0 11.26 11.26\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.9 14.25a8 8 0 0 0-9.15-9.15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 6-3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.26 18.67 4 21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 20 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4 2 6\"}}]})(props);\n};\nexport function LuAlarmClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"13\",\"r\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9v4l2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3 2 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 6-3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.38 18.7 4 21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.64 18.67 20 21\"}}]})(props);\n};\nexport function LuAlarmMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"13\",\"r\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3 2 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 6-3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.38 18.7 4 21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.64 18.67 20 21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13h6\"}}]})(props);\n};\nexport function LuAlarmPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"13\",\"r\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3 2 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 6-3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.38 18.7 4 21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.64 18.67 20 21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13h6\"}}]})(props);\n};\nexport function LuAlbum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"11 3 11 11 14 8 17 11 17 3\"}}]})(props);\n};\nexport function LuAlertCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"8\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12.01\",\"y1\":\"16\",\"y2\":\"16\"}}]})(props);\n};\nexport function LuAlertOctagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"8\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12.01\",\"y1\":\"16\",\"y2\":\"16\"}}]})(props);\n};\nexport function LuAlertTriangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17h.01\"}}]})(props);\n};\nexport function LuAlignCenterHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1\"}}]})(props);\n};\nexport function LuAlignCenterVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1\"}}]})(props);\n};\nexport function LuAlignCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"3\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"x2\":\"7\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"5\",\"y1\":\"18\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuAlignEndHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"16\",\"x\":\"4\",\"y\":\"2\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"9\",\"x\":\"14\",\"y\":\"9\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 22H2\"}}]})(props);\n};\nexport function LuAlignEndVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"6\",\"x\":\"2\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"9\",\"height\":\"6\",\"x\":\"9\",\"y\":\"14\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 22V2\"}}]})(props);\n};\nexport function LuAlignHorizontalDistributeCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"14\",\"x\":\"4\",\"y\":\"5\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"10\",\"x\":\"14\",\"y\":\"7\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 22v-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 7V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 22v-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5V2\"}}]})(props);\n};\nexport function LuAlignHorizontalDistributeEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"14\",\"x\":\"4\",\"y\":\"5\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"10\",\"x\":\"14\",\"y\":\"7\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2v20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2v20\"}}]})(props);\n};\nexport function LuAlignHorizontalDistributeStart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"14\",\"x\":\"4\",\"y\":\"5\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"10\",\"x\":\"14\",\"y\":\"7\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2v20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2v20\"}}]})(props);\n};\nexport function LuAlignHorizontalJustifyCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"14\",\"x\":\"2\",\"y\":\"5\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"10\",\"x\":\"16\",\"y\":\"7\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v20\"}}]})(props);\n};\nexport function LuAlignHorizontalJustifyEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"14\",\"x\":\"2\",\"y\":\"5\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"10\",\"x\":\"12\",\"y\":\"7\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 2v20\"}}]})(props);\n};\nexport function LuAlignHorizontalJustifyStart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"14\",\"x\":\"6\",\"y\":\"5\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"10\",\"x\":\"16\",\"y\":\"7\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2v20\"}}]})(props);\n};\nexport function LuAlignHorizontalSpaceAround (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"10\",\"x\":\"9\",\"y\":\"7\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22V2\"}}]})(props);\n};\nexport function LuAlignHorizontalSpaceBetween (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"14\",\"x\":\"3\",\"y\":\"5\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"10\",\"x\":\"15\",\"y\":\"7\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2v20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2v20\"}}]})(props);\n};\nexport function LuAlignJustify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"18\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuAlignLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"3\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"3\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"x2\":\"3\",\"y1\":\"18\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuAlignRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"3\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"9\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"7\",\"y1\":\"18\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuAlignStartHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"16\",\"x\":\"4\",\"y\":\"6\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"9\",\"x\":\"14\",\"y\":\"6\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 2H2\"}}]})(props);\n};\nexport function LuAlignStartVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"9\",\"height\":\"6\",\"x\":\"6\",\"y\":\"14\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"6\",\"x\":\"6\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2v20\"}}]})(props);\n};\nexport function LuAlignVerticalDistributeCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"6\",\"x\":\"5\",\"y\":\"14\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"10\",\"height\":\"6\",\"x\":\"7\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 7h-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7H1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 17h-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 17H2\"}}]})(props);\n};\nexport function LuAlignVerticalDistributeEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"6\",\"x\":\"5\",\"y\":\"14\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"10\",\"height\":\"6\",\"x\":\"7\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10h20\"}}]})(props);\n};\nexport function LuAlignVerticalDistributeStart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"6\",\"x\":\"5\",\"y\":\"14\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"10\",\"height\":\"6\",\"x\":\"7\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 14h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4h20\"}}]})(props);\n};\nexport function LuAlignVerticalJustifyCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"6\",\"x\":\"5\",\"y\":\"16\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"10\",\"height\":\"6\",\"x\":\"7\",\"y\":\"2\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12h20\"}}]})(props);\n};\nexport function LuAlignVerticalJustifyEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"6\",\"x\":\"5\",\"y\":\"12\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"10\",\"height\":\"6\",\"x\":\"7\",\"y\":\"2\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 22h20\"}}]})(props);\n};\nexport function LuAlignVerticalJustifyStart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"6\",\"x\":\"5\",\"y\":\"16\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"10\",\"height\":\"6\",\"x\":\"7\",\"y\":\"6\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2h20\"}}]})(props);\n};\nexport function LuAlignVerticalSpaceAround (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"10\",\"height\":\"6\",\"x\":\"7\",\"y\":\"9\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 20H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 4H2\"}}]})(props);\n};\nexport function LuAlignVerticalSpaceBetween (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"6\",\"x\":\"5\",\"y\":\"15\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"10\",\"height\":\"6\",\"x\":\"7\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 21h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3h20\"}}]})(props);\n};\nexport function LuAmpersand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 12c0 4.4-3.6 8-8 8A4.5 4.5 0 0 1 5 15.5c0-6 8-4 8-8.5a3 3 0 1 0-6 0c0 3 2.5 8.5 12 13\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12h3\"}}]})(props);\n};\nexport function LuAmpersands (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5\"}}]})(props);\n};\nexport function LuAnchor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"5\",\"r\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"22\",\"y2\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12H2a10 10 0 0 0 20 0h-3\"}}]})(props);\n};\nexport function LuAngry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16s-1.5-2-4-2-4 2-4 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 8 10 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 9 2.5-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 10h0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 10h0\"}}]})(props);\n};\nexport function LuAnnoyed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 9h2\"}}]})(props);\n};\nexport function LuAntenna (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12 7 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 12 5-10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 12 5-10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 12 5-10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 7h15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16v6\"}}]})(props);\n};\nexport function LuAperture (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14.31\",\"x2\":\"20.05\",\"y1\":\"8\",\"y2\":\"17.94\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9.69\",\"x2\":\"21.17\",\"y1\":\"8\",\"y2\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"7.38\",\"x2\":\"13.12\",\"y1\":\"12\",\"y2\":\"2.06\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9.69\",\"x2\":\"3.95\",\"y1\":\"16\",\"y2\":\"6.06\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14.31\",\"x2\":\"2.83\",\"y1\":\"16\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16.62\",\"x2\":\"10.88\",\"y1\":\"12\",\"y2\":\"21.94\"}}]})(props);\n};\nexport function LuAppWindow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"4\",\"width\":\"20\",\"height\":\"16\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 4v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4v4\"}}]})(props);\n};\nexport function LuApple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2c1 .5 2 2 2 5\"}}]})(props);\n};\nexport function LuArchiveRestore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"5\",\"x\":\"2\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13v7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 16 3-3 3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9v9a2 2 0 0 0 2 2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 9v9a2 2 0 0 1-2 2h-2\"}}]})(props);\n};\nexport function LuArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"5\",\"x\":\"2\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 13h4\"}}]})(props);\n};\nexport function LuAreaChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v18h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12v5h12V8l-5 5-4-4Z\"}}]})(props);\n};\nexport function LuArmchair (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11v5a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v2H7v-2a2 2 0 0 0-4 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 18v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 18v2\"}}]})(props);\n};\nexport function LuArrowBigDownDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 5H9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9v3h4l-7 7-7-7h4V9h6z\"}}]})(props);\n};\nexport function LuArrowBigDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 6v6h4l-7 7-7-7h4V6h6z\"}}]})(props);\n};\nexport function LuArrowBigLeftDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 15V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 15h-3v4l-7-7 7-7v4h3v6z\"}}]})(props);\n};\nexport function LuArrowBigLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 15h-6v4l-7-7 7-7v4h6v6z\"}}]})(props);\n};\nexport function LuArrowBigRightDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 9v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9h3V5l7 7-7 7v-4H9V9z\"}}]})(props);\n};\nexport function LuArrowBigRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 9h6V5l7 7-7 7v-4H6V9z\"}}]})(props);\n};\nexport function LuArrowBigUpDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 19h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15v-3H5l7-7 7 7h-4v3H9z\"}}]})(props);\n};\nexport function LuArrowBigUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 18v-6H5l7-7 7 7h-4v6H9z\"}}]})(props);\n};\nexport function LuArrowDown01 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 16 4 4 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20V4\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"15\",\"y\":\"4\",\"width\":\"4\",\"height\":\"6\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 20v-6h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 20h4\"}}]})(props);\n};\nexport function LuArrowDown10 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 16 4 4 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20V4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 10V4h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 10h4\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"15\",\"y\":\"14\",\"width\":\"4\",\"height\":\"6\",\"ry\":\"2\"}}]})(props);\n};\nexport function LuArrowDownAZ (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 16 4 4 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20V4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 8h-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 10V6.5a2.5 2.5 0 0 1 5 0V10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 14h5l-5 6h5\"}}]})(props);\n};\nexport function LuArrowDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 12 4 4 4-4\"}}]})(props);\n};\nexport function LuArrowDownFromLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3H5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 21V7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6 15 6 6 6-6\"}}]})(props);\n};\nexport function LuArrowDownLeftFromCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12a10 10 0 1 1 10 10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 22 10-10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 22H2v-6\"}}]})(props);\n};\nexport function LuArrowDownLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 8-8 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16H8V8\"}}]})(props);\n};\nexport function LuArrowDownLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 7 7 17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 17H7V7\"}}]})(props);\n};\nexport function LuArrowDownNarrowWide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 16 4 4 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20V4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 12h10\"}}]})(props);\n};\nexport function LuArrowDownRightFromCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22a10 10 0 1 1 10-10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 22 12 12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16v6h-6\"}}]})(props);\n};\nexport function LuArrowDownRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 8 8 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8v8H8\"}}]})(props);\n};\nexport function LuArrowDownRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7 7 10 10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 7v10H7\"}}]})(props);\n};\nexport function LuArrowDownSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 12 4 4 4-4\"}}]})(props);\n};\nexport function LuArrowDownToDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 9-7 7-7-7\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"21\",\"r\":\"1\"}}]})(props);\n};\nexport function LuArrowDownToLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17V3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6 11 6 6 6-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21H5\"}}]})(props);\n};\nexport function LuArrowDownUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 16 4 4 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20V4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 8-4-4-4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 4v16\"}}]})(props);\n};\nexport function LuArrowDownWideNarrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 16 4 4 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20V4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 12h4\"}}]})(props);\n};\nexport function LuArrowDownZA (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 16 4 4 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4h5l-5 6h5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 20v-3.5a2.5 2.5 0 0 1 5 0V20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 18h-5\"}}]})(props);\n};\nexport function LuArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5v14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 12-7 7-7-7\"}}]})(props);\n};\nexport function LuArrowLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 8-4 4 4 4\"}}]})(props);\n};\nexport function LuArrowLeftFromLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9 6-6 6 6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19V5\"}}]})(props);\n};\nexport function LuArrowLeftRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3 4 7l4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 7h16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 21 4-4-4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 17H4\"}}]})(props);\n};\nexport function LuArrowLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 8-4 4 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12H8\"}}]})(props);\n};\nexport function LuArrowLeftToLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19V5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 6-6 6 6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12h14\"}}]})(props);\n};\nexport function LuArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 19-7-7 7-7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 12H5\"}}]})(props);\n};\nexport function LuArrowRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 16 4-4-4-4\"}}]})(props);\n};\nexport function LuArrowRightFromLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5v14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12H7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 18 6-6-6-6\"}}]})(props);\n};\nexport function LuArrowRightLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16 3 4 4-4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7H4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 21-4-4 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 17h16\"}}]})(props);\n};\nexport function LuArrowRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 16 4-4-4-4\"}}]})(props);\n};\nexport function LuArrowRightToLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 12H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11 18 6-6-6-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 5v14\"}}]})(props);\n};\nexport function LuArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 5 7 7-7 7\"}}]})(props);\n};\nexport function LuArrowUp01 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 8 4-4 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4v16\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"15\",\"y\":\"4\",\"width\":\"4\",\"height\":\"6\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 20v-6h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 20h4\"}}]})(props);\n};\nexport function LuArrowUp10 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 8 4-4 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 10V4h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 10h4\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"15\",\"y\":\"14\",\"width\":\"4\",\"height\":\"6\",\"ry\":\"2\"}}]})(props);\n};\nexport function LuArrowUpAZ (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 8 4-4 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 8h-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 10V6.5a2.5 2.5 0 0 1 5 0V10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 14h5l-5 6h5\"}}]})(props);\n};\nexport function LuArrowUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 12-4-4-4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16V8\"}}]})(props);\n};\nexport function LuArrowUpDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21 16-4 4-4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 20V4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 8 4-4 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4v16\"}}]})(props);\n};\nexport function LuArrowUpFromDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m5 9 7-7 7 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16V2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"21\",\"r\":\"1\"}}]})(props);\n};\nexport function LuArrowUpFromLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m18 9-6-6-6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14\"}}]})(props);\n};\nexport function LuArrowUpLeftFromCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8V2h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 10 10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2A10 10 0 1 1 2 12\"}}]})(props);\n};\nexport function LuArrowUpLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16V8h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16 8 8\"}}]})(props);\n};\nexport function LuArrowUpLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 17V7h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 17 7 7\"}}]})(props);\n};\nexport function LuArrowUpNarrowWide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 8 4-4 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 12h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 16h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 20h10\"}}]})(props);\n};\nexport function LuArrowUpRightFromCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12A10 10 0 1 1 12 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 2 12 12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2h6v6\"}}]})(props);\n};\nexport function LuArrowUpRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8h8v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 16 8-8\"}}]})(props);\n};\nexport function LuArrowUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7h10v10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 17 17 7\"}}]})(props);\n};\nexport function LuArrowUpSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 12-4-4-4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16V8\"}}]})(props);\n};\nexport function LuArrowUpToLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 13-6-6-6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7v14\"}}]})(props);\n};\nexport function LuArrowUpWideNarrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 8 4-4 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 12h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 16h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 20h4\"}}]})(props);\n};\nexport function LuArrowUpZA (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 8 4-4 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4h5l-5 6h5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 20v-3.5a2.5 2.5 0 0 1 5 0V20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 18h-5\"}}]})(props);\n};\nexport function LuArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m5 12 7-7 7 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19V5\"}}]})(props);\n};\nexport function LuArrowsUpFromLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m4 6 3-3 3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 17V3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 6 3-3 3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 17V3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 21h16\"}}]})(props);\n};\nexport function LuAsterisk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6v12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.196 9 6.804 15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.804 9 10.392 6\"}}]})(props);\n};\nexport function LuAtSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8\"}}]})(props);\n};\nexport function LuAtom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z\"}}]})(props);\n};\nexport function LuAward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"8\",\"r\":\"6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.477 12.89 17 22l-5-3-5 3 1.523-9.11\"}}]})(props);\n};\nexport function LuAxe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m14 12-8.5 8.5a2.12 2.12 0 1 1-3-3L11 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 13 9 7l4-4 6 6h3a8 8 0 0 1-7 7z\"}}]})(props);\n};\nexport function LuAxis3D (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v16h16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4 20 7-7\"}}]})(props);\n};\nexport function LuBaby (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 12h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 12h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 6.3a9 9 0 0 1 1.8 3.9 2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1\"}}]})(props);\n};\nexport function LuBackpack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20V10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21v-5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 18h8\"}}]})(props);\n};\nexport function LuBadgeAlert (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"8\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12.01\",\"y1\":\"16\",\"y2\":\"16\"}}]})(props);\n};\nexport function LuBadgeCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 12 2 2 4-4\"}}]})(props);\n};\nexport function LuBadgeDollarSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18V6\"}}]})(props);\n};\nexport function LuBadgeHelp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12.01\",\"y1\":\"17\",\"y2\":\"17\"}}]})(props);\n};\nexport function LuBadgeInfo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"16\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12.01\",\"y1\":\"8\",\"y2\":\"8\"}}]})(props);\n};\nexport function LuBadgeMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"16\",\"y1\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuBadgePercent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 9-6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 15h.01\"}}]})(props);\n};\nexport function LuBadgePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"8\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"16\",\"y1\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuBadgeX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"9\",\"y1\":\"9\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"15\",\"y1\":\"9\",\"y2\":\"15\"}}]})(props);\n};\nexport function LuBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"}}]})(props);\n};\nexport function LuBaggageClaim (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 18H6a2 2 0 0 1-2-2V7a2 2 0 0 0-2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 14V4a2 2 0 0 0-2-2h-1a2 2 0 0 0-2 2v10\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"13\",\"height\":\"8\",\"x\":\"8\",\"y\":\"6\",\"rx\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"20\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"20\",\"r\":\"2\"}}]})(props);\n};\nexport function LuBan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.9 4.9 14.2 14.2\"}}]})(props);\n};\nexport function LuBanana (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13c3.5-2 8-2 10 2a5.5 5.5 0 0 1 8 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.15 17.89c5.52-1.52 8.65-6.89 7-12C11.55 4 11.5 2 13 2c3.22 0 5 5.5 5 8 0 6.5-4.2 12-10.49 12C5.11 22 2 22 2 20c0-1.5 1.14-1.55 3.15-2.11Z\"}}]})(props);\n};\nexport function LuBanknote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"12\",\"x\":\"2\",\"y\":\"6\",\"rx\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12h.01M18 12h.01\"}}]})(props);\n};\nexport function LuBarChart2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"x2\":\"18\",\"y1\":\"20\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"20\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6\",\"y1\":\"20\",\"y2\":\"14\"}}]})(props);\n};\nexport function LuBarChart3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v18h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 17V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 17V5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 17v-3\"}}]})(props);\n};\nexport function LuBarChart4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v18h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 17V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 17V5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 17v-3\"}}]})(props);\n};\nexport function LuBarChartBig (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v18h18\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"7\",\"x\":\"7\",\"y\":\"10\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"12\",\"x\":\"15\",\"y\":\"5\",\"rx\":\"1\"}}]})(props);\n};\nexport function LuBarChartHorizontalBig (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v18h18\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"12\",\"height\":\"4\",\"x\":\"7\",\"y\":\"5\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"4\",\"x\":\"7\",\"y\":\"13\",\"rx\":\"1\"}}]})(props);\n};\nexport function LuBarChartHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v18h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6h3\"}}]})(props);\n};\nexport function LuBarChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"20\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"x2\":\"18\",\"y1\":\"20\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6\",\"y1\":\"20\",\"y2\":\"16\"}}]})(props);\n};\nexport function LuBaseline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6 16 6-12 6 12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h8\"}}]})(props);\n};\nexport function LuBath (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6 6.5 3.5a1.5 1.5 0 0 0-1-.5C4.683 3 4 3.683 4 4.5V17a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"8\",\"y1\":\"5\",\"y2\":\"7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"7\",\"x2\":\"7\",\"y1\":\"19\",\"y2\":\"21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"x2\":\"17\",\"y1\":\"19\",\"y2\":\"21\"}}]})(props);\n};\nexport function LuBatteryCharging (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11 7-3 5h4l-3 5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"22\",\"y1\":\"11\",\"y2\":\"13\"}}]})(props);\n};\nexport function LuBatteryFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"10\",\"x\":\"2\",\"y\":\"7\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"22\",\"y1\":\"11\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6\",\"y1\":\"11\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"10\",\"y1\":\"11\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"x2\":\"14\",\"y1\":\"11\",\"y2\":\"13\"}}]})(props);\n};\nexport function LuBatteryLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"10\",\"x\":\"2\",\"y\":\"7\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"22\",\"y1\":\"11\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6\",\"y1\":\"11\",\"y2\":\"13\"}}]})(props);\n};\nexport function LuBatteryMedium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"10\",\"x\":\"2\",\"y\":\"7\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"22\",\"y1\":\"11\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6\",\"y1\":\"11\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"10\",\"y1\":\"11\",\"y2\":\"13\"}}]})(props);\n};\nexport function LuBatteryWarning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 7h2a2 2 0 0 1 2 2v6c0 1-1 2-2 2h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7H4a2 2 0 0 0-2 2v6c0 1 1 2 2 2h2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"22\",\"y1\":\"11\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"10\",\"y1\":\"7\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"10\",\"y1\":\"17\",\"y2\":\"17.01\"}}]})(props);\n};\nexport function LuBattery (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"10\",\"x\":\"2\",\"y\":\"7\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"22\",\"y1\":\"11\",\"y2\":\"13\"}}]})(props);\n};\nexport function LuBeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 3h15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 14h12\"}}]})(props);\n};\nexport function LuBeanOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22a13.96 13.96 0 0 0 9.9-4.1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.75 5.093A6 6 0 0 1 22 8c0 2.411-.61 4.68-1.683 6.66\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.341 10.62a4 4 0 0 0 6.487 1.208M10.62 5.341a4.015 4.015 0 0 1 2.039 2.04\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuBean (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.165 6.598C9.954 7.478 9.64 8.36 9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22c7.732 0 14-6.268 14-14a6 6 0 0 0-11.835-1.402Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.341 10.62a4 4 0 1 0 5.279-5.28\"}}]})(props);\n};\nexport function LuBedDouble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18h20\"}}]})(props);\n};\nexport function LuBedSingle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 20v-8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 18h18\"}}]})(props);\n};\nexport function LuBed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8h18a2 2 0 0 1 2 2v10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 17h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8v9\"}}]})(props);\n};\nexport function LuBeef (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12.5\",\"cy\":\"8.5\",\"r\":\"2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 2a6.5 6.5 0 0 0-6.22 4.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3A6.5 6.5 0 0 0 12.5 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18.5 6 2.19 4.5a6.48 6.48 0 0 1 .31 2 6.49 6.49 0 0 1-2.6 5.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5\"}}]})(props);\n};\nexport function LuBeer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 11h1a3 3 0 0 1 0 6h-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 12v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 12v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8\"}}]})(props);\n};\nexport function LuBellDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.4 14.9C20.2 16.4 21 17 21 17H3s3-2 3-9c0-3.3 2.7-6 6-6 .7 0 1.3.1 1.9.3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.3 21a1.94 1.94 0 0 0 3.4 0\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"8\",\"r\":\"3\"}}]})(props);\n};\nexport function LuBellMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.4 12c.8 3.8 2.6 5 2.6 5H3s3-2 3-9c0-3.3 2.7-6 6-6 1.8 0 3.4.8 4.5 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.3 21a1.94 1.94 0 0 0 3.4 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 8h6\"}}]})(props);\n};\nexport function LuBellOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.7 3A6 6 0 0 1 18 8a21.3 21.3 0 0 0 .6 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 17H3s3-2 3-9a4.67 4.67 0 0 1 .3-1.7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.3 21a1.94 1.94 0 0 0 3.4 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 20 20\"}}]})(props);\n};\nexport function LuBellPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.3 14.8C20.1 16.4 21 17 21 17H3s3-2 3-9c0-3.3 2.7-6 6-6 1 0 1.9.2 2.8.7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.3 21a1.94 1.94 0 0 0 3.4 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 8h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 5v6\"}}]})(props);\n};\nexport function LuBellRing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.3 21a1.94 1.94 0 0 0 3.4 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2C2.8 3.7 2 5.7 2 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 8c0-2.3-.8-4.3-2-6\"}}]})(props);\n};\nexport function LuBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.3 21a1.94 1.94 0 0 0 3.4 0\"}}]})(props);\n};\nexport function LuBike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18.5\",\"cy\":\"17.5\",\"r\":\"3.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5.5\",\"cy\":\"17.5\",\"r\":\"3.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"5\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17.5V14l-3-3 4-3 2 3h2\"}}]})(props);\n};\nexport function LuBinary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"14\",\"y\":\"14\",\"width\":\"4\",\"height\":\"6\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"6\",\"y\":\"4\",\"width\":\"4\",\"height\":\"6\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 20h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 14h2v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4h2v6\"}}]})(props);\n};\nexport function LuBiohazard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"11.9\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.7 3.4c-.9 2.5 0 5.2 2.2 6.7C6.5 9 3.7 9.6 2 11.6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.9 10.1 1.4.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.3 3.4c.9 2.5 0 5.2-2.2 6.7 2.4-1.2 5.2-.6 6.9 1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15.1 10.1-1.4.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.7 20.8c-2.6-.4-4.6-2.6-4.7-5.3-.2 2.6-2.1 4.8-4.7 5.2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.9v1.6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 5.4c-1-.2-2-.2-3 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 16.4c.7-.7 1.2-1.6 1.5-2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 13.9c.3.9.8 1.8 1.5 2.5\"}}]})(props);\n};\nexport function LuBird (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m20 7 2 .5-2 .5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 17.75V21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 18a6 6 0 0 0 3.84-10.61\"}}]})(props);\n};\nexport function LuBitcoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727\"}}]})(props);\n};\nexport function LuBlinds (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 19h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3v14\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"4\",\"cy\":\"19\",\"r\":\"2\"}}]})(props);\n};\nexport function LuBluetoothConnected (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7 7 10 10-5 5V2l5 5L7 17\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"x2\":\"21\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"6\",\"y1\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuBluetoothOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m17 17-5 5V12l-5 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 20 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 9.5 17 7l-5-5v4.5\"}}]})(props);\n};\nexport function LuBluetoothSearching (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7 7 10 10-5 5V2l5 5L7 17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.83 14.83a4 4 0 0 0 0-5.66\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 12h.01\"}}]})(props);\n};\nexport function LuBluetooth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7 7 10 10-5 5V2l5 5L7 17\"}}]})(props);\n};\nexport function LuBold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12a4 4 0 0 0 0-8H6v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 20a4 4 0 0 0 0-8H6v8Z\"}}]})(props);\n};\nexport function LuBomb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"13\",\"r\":\"9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19.5 9.5 1.8-1.8a2.4 2.4 0 0 0 0-3.4l-1.6-1.6a2.41 2.41 0 0 0-3.4 0l-1.8 1.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 2-1.5 1.5\"}}]})(props);\n};\nexport function LuBone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z\"}}]})(props);\n};\nexport function LuBookCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16V4a2 2 0 0 1 2-2h11\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 14H4a2 2 0 1 0 0 4h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 18H11a2 2 0 1 0 0 4h11V6H11a2 2 0 0 0-2 2v12\"}}]})(props);\n};\nexport function LuBookDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13V7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 10 3 3 3-3\"}}]})(props);\n};\nexport function LuBookKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 8v14H6.5a2.5 2.5 0 0 1 0-5H20\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"14\",\"cy\":\"8\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m20 2-4.5 4.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 3 1 1\"}}]})(props);\n};\nexport function LuBookLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 15v7H6.5a2.5 2.5 0 0 1 0-5H20\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"5\",\"x\":\"12\",\"y\":\"6\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6V4a2 2 0 1 0-4 0v2\"}}]})(props);\n};\nexport function LuBookMarked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"10 2 10 10 13 7 16 10 16 2\"}}]})(props);\n};\nexport function LuBookMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 10h6\"}}]})(props);\n};\nexport function LuBookOpenCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3H2v15h7c1.7 0 3 1.3 3 3V7c0-2.2-1.8-4-4-4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 12 2 2 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 6V3h-6c-2.2 0-4 1.8-4 4v14c0-1.7 1.3-3 3-3h7v-2.3\"}}]})(props);\n};\nexport function LuBookOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\"}}]})(props);\n};\nexport function LuBookPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 10h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7v6\"}}]})(props);\n};\nexport function LuBookTemplate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 15v2h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19.5V15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 8v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2h2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 22H6.5a2.5 2.5 0 0 1 0-5H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5v-.5A2.5 2.5 0 0 1 6.5 2H8\"}}]})(props);\n};\nexport function LuBookUp2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2h2v20H6.5a2.5 2.5 0 0 1 0-5H20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13V7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 10 3-3 3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 5 3-3 3 3\"}}]})(props);\n};\nexport function LuBookUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13V7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 10 3-3 3 3\"}}]})(props);\n};\nexport function LuBookX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.5 7-5 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9.5 7 5 5\"}}]})(props);\n};\nexport function LuBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20\"}}]})(props);\n};\nexport function LuBookmarkMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"9\",\"y1\":\"10\",\"y2\":\"10\"}}]})(props);\n};\nexport function LuBookmarkPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"7\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"9\",\"y1\":\"10\",\"y2\":\"10\"}}]})(props);\n};\nexport function LuBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z\"}}]})(props);\n};\nexport function LuBoomBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8v1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"12\",\"x\":\"2\",\"y\":\"9\",\"rx\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"15\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"15\",\"r\":\"2\"}}]})(props);\n};\nexport function LuBot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"10\",\"x\":\"3\",\"y\":\"11\",\"rx\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"5\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7v4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"16\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"16\",\"y2\":\"16\"}}]})(props);\n};\nexport function LuBoxSelect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a2 2 0 0 0-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3a2 2 0 0 1 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19a2 2 0 0 1-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21a2 2 0 0 1-2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 21h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 21h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 9v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 14v1\"}}]})(props);\n};\nexport function LuBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"3.29 7 12 12 20.71 7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"22\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuBoxes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 16.5-4.74-2.85\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 16.5 5-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16.5v5.17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 16.5-5-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 16.5 4.74-2.85\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 16.5v5.17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8 7.26 5.15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 8 4.74-2.85\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.5V8\"}}]})(props);\n};\nexport function LuBraces (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\"}}]})(props);\n};\nexport function LuBrackets (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3h3v18h-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21H5V3h3\"}}]})(props);\n};\nexport function LuBrainCircuit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4.5a2.5 2.5 0 0 0-4.96-.46 2.5 2.5 0 0 0-1.98 3 2.5 2.5 0 0 0-1.32 4.24 3 3 0 0 0 .34 5.58 2.5 2.5 0 0 0 2.96 3.08 2.5 2.5 0 0 0 4.91.05L12 20V4.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8V5c0-1.1.9-2 2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18h6a2 2 0 0 1 2 2v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.5 8a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 13a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.5 21a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function LuBrainCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4.5a2.5 2.5 0 0 0-4.96-.46 2.5 2.5 0 0 0-1.98 3 2.5 2.5 0 0 0-1.32 4.24 3 3 0 0 0 .34 5.58 2.5 2.5 0 0 0 2.96 3.08A2.5 2.5 0 0 0 9.5 22c1.21 0 2.5-.74 2.5-2.5m0-15a2.5 2.5 0 0 1 4.96-.46 2.5 2.5 0 0 1 1.98 3 2.5 2.5 0 0 1 1.32 4.24 3 3 0 0 1-.34 5.58 2.5 2.5 0 0 1-2.96 3.08A2.5 2.5 0 0 1 14.5 22c-1.21 0-2.5-.74-2.5-2.5m0-15V5m0 14.5V19\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.6 10.5-.87.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.27 13-.87.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.6 13.5-.87-.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.27 11-.87-.5\"}}]})(props);\n};\nexport function LuBrain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 2A2.5 2.5 0 0 1 12 4.5v15a2.5 2.5 0 0 1-4.96.44 2.5 2.5 0 0 1-2.96-3.08 3 3 0 0 1-.34-5.58 2.5 2.5 0 0 1 1.32-4.24 2.5 2.5 0 0 1 1.98-3A2.5 2.5 0 0 1 9.5 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2A2.5 2.5 0 0 0 12 4.5v15a2.5 2.5 0 0 0 4.96.44 2.5 2.5 0 0 0 2.96-3.08 3 3 0 0 0 .34-5.58 2.5 2.5 0 0 0-1.32-4.24 2.5 2.5 0 0 0-1.98-3A2.5 2.5 0 0 0 14.5 2Z\"}}]})(props);\n};\nexport function LuBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"7\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"}}]})(props);\n};\nexport function LuBringToFront (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"8\",\"y\":\"8\",\"width\":\"8\",\"height\":\"8\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2\"}}]})(props);\n};\nexport function LuBrush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9.06 11.9 8.07-8.06a2.85 2.85 0 1 1 4.03 4.03l-8.06 8.08\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.07 14.94c-1.66 0-3 1.35-3 3.02 0 1.33-2.5 1.52-2 2.02 1.08 1.1 2.49 2.02 4 2.02 2.2 0 4-1.8 4-4.04a3.01 3.01 0 0 0-3-3.02z\"}}]})(props);\n};\nexport function LuBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"14\",\"x\":\"8\",\"y\":\"6\",\"rx\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 7-3 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 7 3 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 19-3-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 19 3-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 13h-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 4 1 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 4-1 2\"}}]})(props);\n};\nexport function LuBuilding2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 6h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 14h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18h4\"}}]})(props);\n};\nexport function LuBuilding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"20\",\"x\":\"4\",\"y\":\"2\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 22v-4h6v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14h.01\"}}]})(props);\n};\nexport function LuBus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 17h2l.64-2.54c.24-.959.24-1.962 0-2.92l-1.07-4.27A3 3 0 0 0 17.66 5H4a2 2 0 0 0-2 2v10h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 17H9\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6.5\",\"cy\":\"17.5\",\"r\":\"2.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16.5\",\"cy\":\"17.5\",\"r\":\"2.5\"}}]})(props);\n};\nexport function LuCable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9a2 2 0 0 1-2-2V5h6v2a2 2 0 0 1-2 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5V3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5V3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 15V6.5a3.5 3.5 0 0 0-7 0v11a3.5 3.5 0 0 1-7 0V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 21v-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 21v-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 19h-6v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2Z\"}}]})(props);\n};\nexport function LuCakeSlice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"7\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.2 7.9 3 11v9c0 .6.4 1 1 1h16c.6 0 1-.4 1-1v-9c0-2-3-6-7-8l-3.6 2.6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 13H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 17H3\"}}]})(props);\n};\nexport function LuCake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 21h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 8v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 4h.01\"}}]})(props);\n};\nexport function LuCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"20\",\"x\":\"4\",\"y\":\"2\",\"rx\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"16\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"14\",\"y2\":\"18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 18h.01\"}}]})(props);\n};\nexport function LuCalendarCheck2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 14V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"10\",\"y2\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 20 2 2 4-4\"}}]})(props);\n};\nexport function LuCalendarCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"4\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"10\",\"y2\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 16 2 2 4-4\"}}]})(props);\n};\nexport function LuCalendarClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 10h5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 17.5 16 16.25V14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z\"}}]})(props);\n};\nexport function LuCalendarDays (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"4\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"10\",\"y2\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 18h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18h.01\"}}]})(props);\n};\nexport function LuCalendarHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 10h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.29 14.7a2.43 2.43 0 0 0-2.65-.52c-.3.12-.57.3-.8.53l-.34.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L17.5 22l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z\"}}]})(props);\n};\nexport function LuCalendarMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"10\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"22\",\"y1\":\"19\",\"y2\":\"19\"}}]})(props);\n};\nexport function LuCalendarOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.18 4.18A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15.5V6a2 2 0 0 0-2-2H9.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 10h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10h-5.5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuCalendarPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"10\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"19\",\"y1\":\"16\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"22\",\"y1\":\"19\",\"y2\":\"19\"}}]})(props);\n};\nexport function LuCalendarRange (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"4\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"10\",\"y2\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 14h-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 18H7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 18h.01\"}}]})(props);\n};\nexport function LuCalendarSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h7.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 10h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6v0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 22-1.5-1.5\"}}]})(props);\n};\nexport function LuCalendarX2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"10\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"x2\":\"22\",\"y1\":\"17\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"x2\":\"22\",\"y1\":\"22\",\"y2\":\"17\"}}]})(props);\n};\nexport function LuCalendarX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"4\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"10\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"14\",\"y1\":\"14\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"x2\":\"10\",\"y1\":\"14\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"4\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"10\",\"y2\":\"10\"}}]})(props);\n};\nexport function LuCameraOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 4h5L17 7h3a2 2 0 0 1 2 2v7.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.121 15.121A3 3 0 1 1 9.88 10.88\"}}]})(props);\n};\nexport function LuCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"13\",\"r\":\"3\"}}]})(props);\n};\nexport function LuCandlestickChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5v4\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"6\",\"x\":\"7\",\"y\":\"9\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3v2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"8\",\"x\":\"15\",\"y\":\"5\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 13v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v18h18\"}}]})(props);\n};\nexport function LuCandyCane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.7 21a2 2 0 0 1-3.5-2l8.6-14a6 6 0 0 1 10.4 6 2 2 0 1 1-3.464-2 2 2 0 1 0-3.464-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.75 7 15 2.1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.9 4.8 13 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7.9 9.7 2 4.4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.9 14.7 7 18.9\"}}]})(props);\n};\nexport function LuCandyOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8.5 8.5-1 1a4.95 4.95 0 0 0 7 7l1-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.843 6.187A4.947 4.947 0 0 1 16.5 7.5a4.947 4.947 0 0 1 1.313 4.657\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 16.5V14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 6.5v1.843\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10v7.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 7 1-5 1.367.683A3 3 0 0 0 19.708 3H21v1.292a3 3 0 0 0 .317 1.341L22 7l-5 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 17-1 5-1.367-.683A3 3 0 0 0 4.292 21H3v-1.292a3 3 0 0 0-.317-1.341L2 17l5-1\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuCandy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9.5 7.5-2 2a4.95 4.95 0 1 0 7 7l2-2a4.95 4.95 0 1 0-7-7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 6.5v10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7.5v10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 7 1-5 1.37.68A3 3 0 0 0 19.7 3H21v1.3c0 .46.1.92.32 1.33L22 7l-5 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 17-1 5-1.37-.68A3 3 0 0 0 4.3 21H3v-1.3a3 3 0 0 0-.32-1.33L2 17l5-1\"}}]})(props);\n};\nexport function LuCar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 16H9m10 0h3v-3.15a1 1 0 0 0-.84-.99L16 11l-2.7-3.6a1 1 0 0 0-.8-.4H5.24a2 2 0 0 0-1.8 1.1l-.8 1.63A6 6 0 0 0 2 12.42V16h2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6.5\",\"cy\":\"16.5\",\"r\":\"2.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16.5\",\"cy\":\"16.5\",\"r\":\"2.5\"}}]})(props);\n};\nexport function LuCarrot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.27 21.7s9.87-3.5 12.73-6.36a4.5 4.5 0 0 0-6.36-6.37C5.77 11.84 2.27 21.7 2.27 21.7zM8.64 14l-2.05-2.04M15.34 15l-2.46-2.46\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 9s-1.33-2-3.5-2C16.86 7 15 9 15 9s1.33 2 3.5 2S22 9 22 9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2s-2 1.33-2 3.5S15 9 15 9s2-1.84 2-3.5C17 3.33 15 2 15 2z\"}}]})(props);\n};\nexport function LuCaseLower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"7\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 9v6\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 7v8\"}}]})(props);\n};\nexport function LuCaseSensitive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 15 4-8 4 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13h6\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 9v6\"}}]})(props);\n};\nexport function LuCaseUpper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 15 4-8 4 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 11h4.5a2 2 0 0 1 0 4H15V7h4a2 2 0 0 1 0 4\"}}]})(props);\n};\nexport function LuCassetteTape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"16\",\"x\":\"2\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"10\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"10\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6 20 .7-2.9A1.4 1.4 0 0 1 8.1 16h7.8a1.4 1.4 0 0 1 1.4 1l.7 3\"}}]})(props);\n};\nexport function LuCast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12a9 9 0 0 1 8 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16a5 5 0 0 1 4 4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"2.01\",\"y1\":\"20\",\"y2\":\"20\"}}]})(props);\n};\nexport function LuCastle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 20v-9H2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11V4H6v7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 22v-4a3 3 0 0 0-3-3v0a3 3 0 0 0-3 3v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 11V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 4V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 4V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4V2\"}}]})(props);\n};\nexport function LuCat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14v.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14v.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.25 16.25h1.5L12 17l-.75-.75Z\"}}]})(props);\n};\nexport function LuCheckCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6 7 17l-5-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 10-7.5 7.5L13 16\"}}]})(props);\n};\nexport function LuCheckCircle2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 12 2 2 4-4\"}}]})(props);\n};\nexport function LuCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"22 4 12 14.01 9 11.01\"}}]})(props);\n};\nexport function LuCheckSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 11 12 14 22 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11\"}}]})(props);\n};\nexport function LuCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"20 6 9 17 4 12\"}}]})(props);\n};\nexport function LuChefHat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13.87A4 4 0 0 1 7.41 6a5.11 5.11 0 0 1 1.05-1.54 5 5 0 0 1 7.08 0A5.11 5.11 0 0 1 16.59 6 4 4 0 0 1 18 13.87V21H6Z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"18\",\"y1\":\"17\",\"y2\":\"17\"}}]})(props);\n};\nexport function LuCherry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14c3.22-2.91 4.29-8.75 5-12 1.66 2.38 4.94 9 5 12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 9c-4.29 0-7.14-2.33-10-7 5.71 0 10 4.67 10 7Z\"}}]})(props);\n};\nexport function LuChevronDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 10-4 4-4-4\"}}]})(props);\n};\nexport function LuChevronDownSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 10-4 4-4-4\"}}]})(props);\n};\nexport function LuChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6 9 6 6 6-6\"}}]})(props);\n};\nexport function LuChevronFirst (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m17 18-6-6 6-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6v12\"}}]})(props);\n};\nexport function LuChevronLast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7 18 6-6-6-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 6v12\"}}]})(props);\n};\nexport function LuChevronLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 16-4-4 4-4\"}}]})(props);\n};\nexport function LuChevronLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 16-4-4 4-4\"}}]})(props);\n};\nexport function LuChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m15 18-6-6 6-6\"}}]})(props);\n};\nexport function LuChevronRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 8 4 4-4 4\"}}]})(props);\n};\nexport function LuChevronRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 8 4 4-4 4\"}}]})(props);\n};\nexport function LuChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9 18 6-6-6-6\"}}]})(props);\n};\nexport function LuChevronUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 14 4-4 4 4\"}}]})(props);\n};\nexport function LuChevronUpSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 14 4-4 4 4\"}}]})(props);\n};\nexport function LuChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m18 15-6-6-6 6\"}}]})(props);\n};\nexport function LuChevronsDownUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7 20 5-5 5 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 4 5 5 5-5\"}}]})(props);\n};\nexport function LuChevronsDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7 6 5 5 5-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 13 5 5 5-5\"}}]})(props);\n};\nexport function LuChevronsLeftRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9 7-5 5 5 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 7 5 5-5 5\"}}]})(props);\n};\nexport function LuChevronsLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11 17-5-5 5-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 17-5-5 5-5\"}}]})(props);\n};\nexport function LuChevronsRightLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m20 17-5-5 5-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4 17 5-5-5-5\"}}]})(props);\n};\nexport function LuChevronsRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6 17 5-5-5-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 17 5-5-5-5\"}}]})(props);\n};\nexport function LuChevronsUpDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7 15 5 5 5-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 9 5-5 5 5\"}}]})(props);\n};\nexport function LuChevronsUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m17 11-5-5-5 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 18-5-5-5 5\"}}]})(props);\n};\nexport function LuChrome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21.17\",\"x2\":\"12\",\"y1\":\"8\",\"y2\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3.95\",\"x2\":\"8.54\",\"y1\":\"6.06\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10.88\",\"x2\":\"15.46\",\"y1\":\"21.94\",\"y2\":\"14\"}}]})(props);\n};\nexport function LuChurch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m18 7 4 2v11a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9l4-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 22v-4a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 22V5l-6-3-6 3v17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7v5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 9h4\"}}]})(props);\n};\nexport function LuCigaretteOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12H2v4h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 12h-.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8c0-2.5-2-2.5-2-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 8c0-2.5-2-2.5-2-5\"}}]})(props);\n};\nexport function LuCigarette (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 12H2v4h16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8c0-2.5-2-2.5-2-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 8c0-2.5-2-2.5-2-5\"}}]})(props);\n};\nexport function LuCircleDashed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.1 2.18a9.93 9.93 0 0 1 3.8 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.82 10.1a9.93 9.93 0 0 1 0 3.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.9 21.82a9.94 9.94 0 0 1-3.8 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.18 13.9a9.93 9.93 0 0 1 0-3.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69\"}}]})(props);\n};\nexport function LuCircleDollarSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18V6\"}}]})(props);\n};\nexport function LuCircleDotDashed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.1 2.18a9.93 9.93 0 0 1 3.8 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.82 10.1a9.93 9.93 0 0 1 0 3.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.9 21.82a9.94 9.94 0 0 1-3.8 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.18 13.9a9.93 9.93 0 0 1 0-3.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1\"}}]})(props);\n};\nexport function LuCircleDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1\"}}]})(props);\n};\nexport function LuCircleEllipsis (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 12h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12h.01\"}}]})(props);\n};\nexport function LuCircleEqual (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14h10\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}]})(props);\n};\nexport function LuCircleOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 20 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.35 2.69A10 10 0 0 1 21.3 15.65\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.08 19.08A10 10 0 1 1 4.92 4.92\"}}]})(props);\n};\nexport function LuCircleSlash2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 2 2 22\"}}]})(props);\n};\nexport function LuCircleSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"15\",\"y1\":\"15\",\"y2\":\"9\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}]})(props);\n};\nexport function LuCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}]})(props);\n};\nexport function LuCircuitBoard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 9h4a2 2 0 0 0 2-2V3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"9\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 21v-4a2 2 0 0 1 2-2h4\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"15\",\"r\":\"2\"}}]})(props);\n};\nexport function LuCitrus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.66 17.67a1.08 1.08 0 0 1-.04 1.6A12 12 0 0 1 4.73 2.38a1.1 1.1 0 0 1 1.61-.04z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.65 15.66A8 8 0 0 1 8.35 4.34\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 10-5.5 5.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 17.85V10H6.15\"}}]})(props);\n};\nexport function LuClapperboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8H4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4 11-.88-2.87a2 2 0 0 1 1.33-2.5l11.48-3.5a2 2 0 0 1 2.5 1.32l.87 2.87L4 11.01Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.6 4.99 3.38 4.2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11.86 3.38 3.38 4.2\"}}]})(props);\n};\nexport function LuClipboardCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"4\",\"x\":\"8\",\"y\":\"2\",\"rx\":\"1\",\"ry\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 14 2 2 4-4\"}}]})(props);\n};\nexport function LuClipboardCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"4\",\"x\":\"8\",\"y\":\"2\",\"rx\":\"1\",\"ry\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4h2a2 2 0 0 1 2 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 14H11\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 10-4 4 4 4\"}}]})(props);\n};\nexport function LuClipboardEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"4\",\"x\":\"8\",\"y\":\"2\",\"rx\":\"1\",\"ry\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.42 12.61a2.1 2.1 0 1 1 2.97 2.97L7.95 21 4 22l.99-3.95 5.43-5.44Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13.5V6a2 2 0 0 1 2-2h2\"}}]})(props);\n};\nexport function LuClipboardList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"4\",\"x\":\"8\",\"y\":\"2\",\"rx\":\"1\",\"ry\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16h.01\"}}]})(props);\n};\nexport function LuClipboardPaste (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2H9a1 1 0 0 0-1 1v2c0 .6.4 1 1 1h6c.6 0 1-.4 1-1V3c0-.6-.4-1-1-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2M16 4h2a2 2 0 0 1 2 2v2M11 14h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 10 4 4-4 4\"}}]})(props);\n};\nexport function LuClipboardSignature (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"4\",\"x\":\"8\",\"y\":\"2\",\"rx\":\"1\",\"ry\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4h2a2 2 0 0 1 1.73 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.42 9.61a2.1 2.1 0 1 1 2.97 2.97L16.95 17 13 18l.99-3.95 4.43-4.44Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 18h1\"}}]})(props);\n};\nexport function LuClipboardType (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"4\",\"x\":\"8\",\"y\":\"2\",\"rx\":\"1\",\"ry\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 12v-1h6v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 17h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11v6\"}}]})(props);\n};\nexport function LuClipboardX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"4\",\"x\":\"8\",\"y\":\"2\",\"rx\":\"1\",\"ry\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 11-6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 11 6 6\"}}]})(props);\n};\nexport function LuClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"4\",\"x\":\"8\",\"y\":\"2\",\"rx\":\"1\",\"ry\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"}}]})(props);\n};\nexport function LuClock1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12 14.5 8\"}}]})(props);\n};\nexport function LuClock10 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12 8 10\"}}]})(props);\n};\nexport function LuClock11 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12 9.5 8\"}}]})(props);\n};\nexport function LuClock12 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12\"}}]})(props);\n};\nexport function LuClock2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12 16 10\"}}]})(props);\n};\nexport function LuClock3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12 16.5 12\"}}]})(props);\n};\nexport function LuClock4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12 16 14\"}}]})(props);\n};\nexport function LuClock5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12 14.5 16\"}}]})(props);\n};\nexport function LuClock6 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12 12 16.5\"}}]})(props);\n};\nexport function LuClock7 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12 9.5 16\"}}]})(props);\n};\nexport function LuClock8 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12 8 14\"}}]})(props);\n};\nexport function LuClock9 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12 7.5 12\"}}]})(props);\n};\nexport function LuClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12 16 14\"}}]})(props);\n};\nexport function LuCloudCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 16.2A4.5 4.5 0 0 0 17.5 8h-1.8A7 7 0 1 0 4 14.9\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"17\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 17h-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 17H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 14-.88.88\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.88 19.12 9 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 20-.88-.88\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.88 14.88 9 14\"}}]})(props);\n};\nexport function LuCloudDrizzle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 19v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 19v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 21v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16v1\"}}]})(props);\n};\nexport function LuCloudFog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 17H7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 21H9\"}}]})(props);\n};\nexport function LuCloudHail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 20h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 20h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22h.01\"}}]})(props);\n};\nexport function LuCloudLightning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 16.326A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 .5 8.973\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 12-3 5h4l-3 5\"}}]})(props);\n};\nexport function LuCloudMoonRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.083 9A6.002 6.002 0 0 1 16 4a4.243 4.243 0 0 0 6 6c0 2.22-1.206 4.16-3 5.197\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 20v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 19v2\"}}]})(props);\n};\nexport function LuCloudMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 16a3 3 0 1 1 0 6H7a5 5 0 1 1 4.9-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.1 9A6 6 0 0 1 16 4a4.24 4.24 0 0 0 6 6 6 6 0 0 1-3 5.197\"}}]})(props);\n};\nexport function LuCloudOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 20 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07\"}}]})(props);\n};\nexport function LuCloudRainWind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9.2 22 3-7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 13-3 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 13-3 7\"}}]})(props);\n};\nexport function LuCloudRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16v6\"}}]})(props);\n};\nexport function LuCloudSnow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 19h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 21h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 15h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 19h.01\"}}]})(props);\n};\nexport function LuCloudSunRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.93 4.93 1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19.07 4.93-1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.947 12.65a4 4 0 0 0-5.925-4.128\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 20v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 19v2\"}}]})(props);\n};\nexport function LuCloudSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.93 4.93 1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19.07 4.93-1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.947 12.65a4 4 0 0 0-5.925-4.128\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 22H7a5 5 0 1 1 4.9-6H13a3 3 0 0 1 0 6Z\"}}]})(props);\n};\nexport function LuCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z\"}}]})(props);\n};\nexport function LuCloudy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 21H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 10a3 3 0 0 0-3-3h-2.207a5.502 5.502 0 0 0-10.702.5\"}}]})(props);\n};\nexport function LuClover (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.2 3.8a2.7 2.7 0 0 0-3.81 0l-.4.38-.4-.4a2.7 2.7 0 0 0-3.82 0C6.73 4.85 6.67 6.64 8 8l4 4 4-4c1.33-1.36 1.27-3.15.2-4.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8c-1.36-1.33-3.15-1.27-4.2-.2a2.7 2.7 0 0 0 0 3.81l.38.4-.4.4a2.7 2.7 0 0 0 0 3.82C4.85 17.27 6.64 17.33 8 16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16c1.36 1.33 3.15 1.27 4.2.2a2.7 2.7 0 0 0 0-3.81l-.38-.4.4-.4a2.7 2.7 0 0 0 0-3.82C19.15 6.73 17.36 6.67 16 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.8 20.2a2.7 2.7 0 0 0 3.81 0l.4-.38.4.4a2.7 2.7 0 0 0 3.82 0c1.06-1.06 1.12-2.85-.21-4.21l-4-4-4 4c-1.33 1.36-1.27 3.15-.2 4.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 17-5 5\"}}]})(props);\n};\nexport function LuClub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.28 9.05a5.5 5.5 0 1 0-10.56 0A5.5 5.5 0 1 0 12 17.66a5.5 5.5 0 1 0 5.28-8.6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17.66L12 22\"}}]})(props);\n};\nexport function LuCode2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m18 16 4-4-4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6 8-4 4 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.5 4-5 16\"}}]})(props);\n};\nexport function LuCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 18 22 12 16 6\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 6 2 12 8 18\"}}]})(props);\n};\nexport function LuCodepen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"22\",\"y2\":\"15.5\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"22 8.5 12 15.5 2 8.5\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"2 15.5 12 8.5 22 15.5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"2\",\"y2\":\"8.5\"}}]})(props);\n};\nexport function LuCodesandbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"7.5 4.21 12 6.81 16.5 4.21\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"7.5 19.79 7.5 14.6 3 12\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"21 12 16.5 14.6 16.5 19.79\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"3.27 6.96 12 12.01 20.73 6.96\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"22.08\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuCoffee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 8h1a4 4 0 1 1 0 8h-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8h14v9a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4Z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6\",\"y1\":\"2\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"10\",\"y1\":\"2\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"x2\":\"14\",\"y1\":\"2\",\"y2\":\"4\"}}]})(props);\n};\nexport function LuCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22v-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 20.66-1-1.73\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 10.27 7 3.34\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m20.66 17-1.73-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3.34 7 1.73 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m20.66 7-1.73 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3.34 17 1.73-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 3.34-1 1.73\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11 13.73-4 6.93\"}}]})(props);\n};\nexport function LuCoins (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.09 10.37A6 6 0 1 1 10.34 18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6h1v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16.71 13.88.7.71-2.82 2.82\"}}]})(props);\n};\nexport function LuColumns (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"3\",\"y2\":\"21\"}}]})(props);\n};\nexport function LuCombine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"8\",\"x\":\"2\",\"y\":\"2\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18H5c-1.7 0-3-1.3-3-3v-1\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"7 21 10 18 7 15\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"8\",\"x\":\"14\",\"y\":\"14\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuCommand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3\"}}]})(props);\n};\nexport function LuCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76\"}}]})(props);\n};\nexport function LuComponent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 8.5 9 12l-3.5 3.5L2 12l3.5-3.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 2 3.5 3.5L12 9 8.5 5.5 12 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 8.5 22 12l-3.5 3.5L15 12l3.5-3.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 15 3.5 3.5L12 22l-3.5-3.5L12 15Z\"}}]})(props);\n};\nexport function LuComputer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"8\",\"x\":\"5\",\"y\":\"2\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"8\",\"x\":\"2\",\"y\":\"14\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18h6\"}}]})(props);\n};\nexport function LuConciergeBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2H2v-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 16a8 8 0 1 0-16 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 4h4\"}}]})(props);\n};\nexport function LuConstruction (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"6\",\"width\":\"20\",\"height\":\"8\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 14v7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14v7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 3v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 14 2.3 6.3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 6 7.7 7.7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 6 8 8\"}}]})(props);\n};\nexport function LuContact2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18a4 4 0 0 0-8 0\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"11\",\"r\":\"3\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"2\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"2\",\"y2\":\"4\"}}]})(props);\n};\nexport function LuContact (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 18a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"2\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"2\",\"y2\":\"4\"}}]})(props);\n};\nexport function LuContainer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 21.9V14L2.1 9.1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 14 11.9-6.9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19.8v-8.1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 17.5V9.4\"}}]})(props);\n};\nexport function LuContrast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18a6 6 0 0 0 0-12v12z\"}}]})(props);\n};\nexport function LuCookie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 8.5v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 15.5v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 17v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14v.01\"}}]})(props);\n};\nexport function LuCopyCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 15 2 2 4-4\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"14\",\"x\":\"8\",\"y\":\"8\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"}}]})(props);\n};\nexport function LuCopyMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"18\",\"y1\":\"15\",\"y2\":\"15\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"14\",\"x\":\"8\",\"y\":\"8\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"}}]})(props);\n};\nexport function LuCopyPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15\",\"y1\":\"12\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"18\",\"y1\":\"15\",\"y2\":\"15\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"14\",\"x\":\"8\",\"y\":\"8\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"}}]})(props);\n};\nexport function LuCopySlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"18\",\"y1\":\"18\",\"y2\":\"12\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"14\",\"x\":\"8\",\"y\":\"8\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"}}]})(props);\n};\nexport function LuCopyX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"18\",\"y1\":\"12\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"18\",\"y1\":\"18\",\"y2\":\"12\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"14\",\"x\":\"8\",\"y\":\"8\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"}}]})(props);\n};\nexport function LuCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"14\",\"x\":\"8\",\"y\":\"8\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"}}]})(props);\n};\nexport function LuCopyleft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9.35a4 4 0 1 1 0 5.3\"}}]})(props);\n};\nexport function LuCopyright (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9.354a4 4 0 1 0 0 5.292\"}}]})(props);\n};\nexport function LuCornerDownLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 10 4 15 9 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4v7a4 4 0 0 1-4 4H4\"}}]})(props);\n};\nexport function LuCornerDownRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"15 10 20 15 15 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v7a4 4 0 0 0 4 4h12\"}}]})(props);\n};\nexport function LuCornerLeftDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 15 9 20 4 15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4h-7a4 4 0 0 0-4 4v12\"}}]})(props);\n};\nexport function LuCornerLeftUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 9 9 4 4 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20h-7a4 4 0 0 1-4-4V4\"}}]})(props);\n};\nexport function LuCornerRightDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"10 15 15 20 20 15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4h7a4 4 0 0 1 4 4v12\"}}]})(props);\n};\nexport function LuCornerRightUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"10 9 15 4 20 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h7a4 4 0 0 0 4-4V4\"}}]})(props);\n};\nexport function LuCornerUpLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 14 4 9 9 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20v-7a4 4 0 0 0-4-4H4\"}}]})(props);\n};\nexport function LuCornerUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"15 14 20 9 15 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20v-7a4 4 0 0 1 4-4h12\"}}]})(props);\n};\nexport function LuCpu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"4\",\"y\":\"4\",\"width\":\"16\",\"height\":\"16\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"9\",\"y\":\"9\",\"width\":\"6\",\"height\":\"6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 20v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 15h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 15h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 9h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 20v2\"}}]})(props);\n};\nexport function LuCreativeCommons (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1\"}}]})(props);\n};\nexport function LuCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"5\",\"rx\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"10\",\"y2\":\"10\"}}]})(props);\n};\nexport function LuCroissant (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m4.6 13.11 5.79-3.21c1.89-1.05 4.79 1.78 3.71 3.71l-3.22 5.81C8.8 23.16.79 15.23 4.6 13.11Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.5 9.5-1-2.29C9.2 6.48 8.8 6 8 6H4.5C2.79 6 2 6.5 2 8.5a7.71 7.71 0 0 0 2 4.83\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6c0-1.55.24-4-2-4-2 0-2.5 2.17-2.5 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.5 13.5 2.29 1c.73.3 1.21.7 1.21 1.5v3.5c0 1.71-.5 2.5-2.5 2.5a7.71 7.71 0 0 1-4.83-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 16c1.55 0 4-.24 4 2 0 2-2.17 2.5-4 2.5\"}}]})(props);\n};\nexport function LuCrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2v14a2 2 0 0 0 2 2h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 22V8a2 2 0 0 0-2-2H2\"}}]})(props);\n};\nexport function LuCross (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2a2 2 0 0 0-2 2v5H4a2 2 0 0 0-2 2v2c0 1.1.9 2 2 2h5v5c0 1.1.9 2 2 2h2a2 2 0 0 0 2-2v-5h5a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-5V4a2 2 0 0 0-2-2h-2z\"}}]})(props);\n};\nexport function LuCrosshair (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"18\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"2\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"6\",\"y2\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"22\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuCrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2 4 3 12h14l3-12-6 7-4-7-4 7-6-7zm3 16h14\"}}]})(props);\n};\nexport function LuCupSoda (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6 8 1.75 12.28a2 2 0 0 0 2 1.72h4.54a2 2 0 0 0 2-1.72L18 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 15a6.47 6.47 0 0 1 5 0 6.47 6.47 0 0 0 5 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 8 1-6h2\"}}]})(props);\n};\nexport function LuCurrency (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"6\",\"y1\":\"3\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"18\",\"y1\":\"3\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"6\",\"y1\":\"21\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"18\",\"y1\":\"21\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuDatabaseBackup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"12\",\"cy\":\"5\",\"rx\":\"9\",\"ry\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5v14c0 1.4 3 2.7 7 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12c0 1.2 2 2.5 5 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 5v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12v4h4\"}}]})(props);\n};\nexport function LuDatabase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"12\",\"cy\":\"5\",\"rx\":\"9\",\"ry\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5V19A9 3 0 0 0 21 19V5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12A9 3 0 0 0 21 12\"}}]})(props);\n};\nexport function LuDelete (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"x2\":\"12\",\"y1\":\"9\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"18\",\"y1\":\"9\",\"y2\":\"15\"}}]})(props);\n};\nexport function LuDessert (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"4\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.2 3.2C5.5 4 2 8.1 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4 0c0-4.9-3.5-9-8.2-9.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.2 14.8a9 9 0 0 0 17.6 0\"}}]})(props);\n};\nexport function LuDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z\"}}]})(props);\n};\nexport function LuDice1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12h.01\"}}]})(props);\n};\nexport function LuDice2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15h.01\"}}]})(props);\n};\nexport function LuDice3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16h.01\"}}]})(props);\n};\nexport function LuDice4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16h.01\"}}]})(props);\n};\nexport function LuDice5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12h.01\"}}]})(props);\n};\nexport function LuDice6 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16h.01\"}}]})(props);\n};\nexport function LuDices (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"12\",\"height\":\"12\",\"x\":\"2\",\"y\":\"10\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 14h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 6h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9h.01\"}}]})(props);\n};\nexport function LuDiff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21h14\"}}]})(props);\n};\nexport function LuDisc2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12h.01\"}}]})(props);\n};\nexport function LuDisc3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12c0-1.7.7-3.2 1.8-4.2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 12c0 1.7-.7 3.2-1.8 4.2\"}}]})(props);\n};\nexport function LuDisc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}}]})(props);\n};\nexport function LuDivideCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"16\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"16\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"8\",\"y2\":\"8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}]})(props);\n};\nexport function LuDivideSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"16\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"16\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"8\",\"y2\":\"8\"}}]})(props);\n};\nexport function LuDivide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"6\",\"r\":\"1\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"5\",\"x2\":\"19\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"18\",\"r\":\"1\"}}]})(props);\n};\nexport function LuDnaOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2c-1.35 1.5-2.092 3-2.5 4.5M9 22c1.35-1.5 2.092-3 2.5-4.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 15c3.333-3 6.667-3 10-3m10-3c-1.5 1.35-3 2.092-4.5 2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 6-2.5-2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 8-1.5-1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 18 2.5 2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3.5 14.5.5.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m20 9 .5.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.5 12.5 1 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16.5 10.5 1 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 16 1.5 1.5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuDna (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 15c6.667-6 13.333 0 20-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 22c1.798-1.998 2.518-3.995 2.807-5.993\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2c-1.798 1.998-2.518 3.995-2.807 5.993\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 6-2.5-2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 8-1-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 18 2.5 2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3.5 14.5.5.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m20 9 .5.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.5 12.5 1 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16.5 10.5 1 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 16 1.5 1.5\"}}]})(props);\n};\nexport function LuDog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 5.172C10 3.782 8.423 2.679 6.5 3c-2.823.47-4.113 6.006-4 7 .08.703 1.725 1.722 3.656 1 1.261-.472 1.96-1.45 2.344-2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.267 5.172c0-1.39 1.577-2.493 3.5-2.172 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14v.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14v.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.25 16.25h1.5L12 17l-.75-.75Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444c0-1.061-.162-2.2-.493-3.309m-9.243-6.082A8.801 8.801 0 0 1 12 5c.78 0 1.5.108 2.161.306\"}}]})(props);\n};\nexport function LuDollarSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"2\",\"y2\":\"22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\"}}]})(props);\n};\nexport function LuDonut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.5 10a2.5 2.5 0 0 1-2.4-3H18a2.95 2.95 0 0 1-2.6-4.4 10 10 0 1 0 6.3 7.1c-.3.2-.8.3-1.2.3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}}]})(props);\n};\nexport function LuDoorClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12v.01\"}}]})(props);\n};\nexport function LuDoorOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4h3a2 2 0 0 1 2 2v14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20h3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 20h9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4.562v16.157a1 1 0 0 1-1.242.97L5 20V5.562a2 2 0 0 1 1.515-1.94l4-1A2 2 0 0 1 13 4.561Z\"}}]})(props);\n};\nexport function LuDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12.1\",\"cy\":\"12.1\",\"r\":\"1\"}}]})(props);\n};\nexport function LuDownloadCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12v9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 17 4 4 4-4\"}}]})(props);\n};\nexport function LuDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"7 10 12 15 17 10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"15\",\"y2\":\"3\"}}]})(props);\n};\nexport function LuDribbble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.13 5.09C15.22 9.14 10 10.44 2.25 10.94\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.75 12.84c-6.62-1.41-12.14 1-16.38 6.32\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.56 2.75c4.37 6 6 9.42 8 17.72\"}}]})(props);\n};\nexport function LuDroplet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z\"}}]})(props);\n};\nexport function LuDroplets (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97\"}}]})(props);\n};\nexport function LuDrumstick (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.45 15.4c-2.13.65-4.3.32-5.7-1.1-2.29-2.27-1.76-6.5 1.17-9.42 2.93-2.93 7.15-3.46 9.43-1.18 1.41 1.41 1.74 3.57 1.1 5.71-1.4-.51-3.26-.02-4.64 1.36-1.38 1.38-1.87 3.23-1.36 4.63z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11.25 15.6-2.16 2.16a2.5 2.5 0 1 1-4.56 1.73 2.49 2.49 0 0 1-1.41-4.24 2.5 2.5 0 0 1 3.14-.32l2.16-2.16\"}}]})(props);\n};\nexport function LuDumbbell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6.5 6.5 11 11\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 21-1-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 3 1 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 22 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 6 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 10 7-7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 21 7-7\"}}]})(props);\n};\nexport function LuEarOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18.5a3.5 3.5 0 1 0 7 0c0-1.57.92-2.52 2.04-3.46\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8.5c0-.75.13-1.47.36-2.14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.8 3.15A6.5 6.5 0 0 1 19 8.5c0 1.63-.44 2.81-1.09 3.76\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 6A2.5 2.5 0 0 1 15 8.5M10 13a2 2 0 0 0 1.82-1.18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuEar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4\"}}]})(props);\n};\nexport function LuEggFried (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"11.5\",\"cy\":\"12.5\",\"r\":\"3.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8c0-3.5 2.5-6 6.5-6 5 0 4.83 3 7.5 5s5 2 5 6c0 4.5-2.5 6.5-7 6.5-2.5 0-2.5 2.5-6 2.5s-7-2-7-5.5c0-3 1.5-3 1.5-5C3.5 10 3 9 3 8Z\"}}]})(props);\n};\nexport function LuEggOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.399 6.399C5.362 8.157 4.65 10.189 4.5 12c-.37 4.43 1.27 9.95 7.5 10 3.256-.026 5.259-1.547 6.375-3.625\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.532 13.875A14.07 14.07 0 0 0 19.5 12c-.36-4.34-3.95-9.96-7.5-10-1.04.012-2.082.502-3.046 1.297\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuEgg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c6.23-.05 7.87-5.57 7.5-10-.36-4.34-3.95-9.96-7.5-10-3.55.04-7.14 5.66-7.5 10-.37 4.43 1.27 9.95 7.5 10z\"}}]})(props);\n};\nexport function LuEqualNot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"5\",\"x2\":\"19\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"5\",\"x2\":\"19\",\"y1\":\"15\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"5\",\"y1\":\"5\",\"y2\":\"19\"}}]})(props);\n};\nexport function LuEqual (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"5\",\"x2\":\"19\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"5\",\"x2\":\"19\",\"y1\":\"15\",\"y2\":\"15\"}}]})(props);\n};\nexport function LuEraser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 21H7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 11 9 9\"}}]})(props);\n};\nexport function LuEuro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14h9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2\"}}]})(props);\n};\nexport function LuExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21 21-6-6m6 6v-4.8m0 4.8h-4.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 16.2V21m0 0h4.8M3 21l6-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 7.8V3m0 0h-4.8M21 3l-6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7.8V3m0 0h4.8M3 3l6 6\"}}]})(props);\n};\nexport function LuExternalLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"15 3 21 3 21 9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"21\",\"y1\":\"14\",\"y2\":\"3\"}}]})(props);\n};\nexport function LuEyeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.88 9.88a3 3 0 1 0 4.24 4.24\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}}]})(props);\n};\nexport function LuFacebook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z\"}}]})(props);\n};\nexport function LuFactory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 18h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 18h1\"}}]})(props);\n};\nexport function LuFan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.827 16.379a6.082 6.082 0 0 1-8.618-7.002l5.412 1.45a6.082 6.082 0 0 1 7.002-8.618l-1.45 5.412a6.082 6.082 0 0 1 8.618 7.002l-5.412-1.45a6.082 6.082 0 0 1-7.002 8.618l1.45-5.412Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12v.01\"}}]})(props);\n};\nexport function LuFastForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"13 19 22 12 13 5 13 19\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"2 19 11 12 2 5 2 19\"}}]})(props);\n};\nexport function LuFeather (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"2\",\"y1\":\"8\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17.5\",\"x2\":\"9\",\"y1\":\"15\",\"y2\":\"15\"}}]})(props);\n};\nexport function LuFerrisWheel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.8 15-3.5 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m20.7 7-3.5 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.8 9 3.3 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m20.7 17-3.5-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 22 3-8 3 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 22h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 18.7a9 9 0 1 0-12 0\"}}]})(props);\n};\nexport function LuFigma (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z\"}}]})(props);\n};\nexport function LuFileArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22V4c0-.5.2-1 .6-1.4C5 2.2 5.5 2 6 2h8.5L20 7.5V20c0 .5-.2 1-.6 1.4-.4.4-.9.6-1.4.6h-2\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"10\",\"cy\":\"20\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12v-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18v-2\"}}]})(props);\n};\nexport function LuFileAudio2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v2\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 17v-3a4 4 0 0 1 8 0v3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"17\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"3\",\"cy\":\"17\",\"r\":\"1\"}}]})(props);\n};\nexport function LuFileAudio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 22h.5c.5 0 1-.2 1.4-.6.4-.4.6-.9.6-1.4V7.5L14.5 2H6c-.5 0-1 .2-1.4.6C4.2 3 4 3.5 4 4v3\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 20v-1a2 2 0 1 1 4 0v1a2 2 0 1 1-4 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 20v-1a2 2 0 1 0-4 0v1a2 2 0 1 0 4 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 19v-3a6 6 0 0 1 12 0v3\"}}]})(props);\n};\nexport function LuFileAxis3D (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10v8h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 18 4-4\"}}]})(props);\n};\nexport function LuFileBadge2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 12.5 1 5.5-3-1-3 1 1-5.5\"}}]})(props);\n};\nexport function LuFileBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 7V4a2 2 0 0 1 2-2h8.5L20 7.5V20a2 2 0 0 1-2 2h-6\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 17a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16.5 8 22l-3-1-3 1 1-5.5\"}}]})(props);\n};\nexport function LuFileBarChart2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18v-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 18v-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18v-3\"}}]})(props);\n};\nexport function LuFileBarChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18v-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 18v-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18v-6\"}}]})(props);\n};\nexport function LuFileBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 22H18a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.97 13.12c-.6.36-.97 1.02-.97 1.74v3.28c0 .72.37 1.38.97 1.74l3 1.83c.63.39 1.43.39 2.06 0l3-1.83c.6-.36.97-1.02.97-1.74v-3.28c0-.72-.37-1.38-.97-1.74l-3-1.83a1.97 1.97 0 0 0-2.06 0l-3 1.83Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 17-4.74-2.85\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 17 4.74-2.85\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 17v5\"}}]})(props);\n};\nexport function LuFileCheck2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 15 2 2 4-4\"}}]})(props);\n};\nexport function LuFileCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 15 2 2 4-4\"}}]})(props);\n};\nexport function LuFileClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 22h2c.5 0 1-.2 1.4-.6.4-.4.6-.9.6-1.4V7.5L14.5 2H6c-.5 0-1 .2-1.4.6C4.2 3 4 3.5 4 4v3\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"16\",\"r\":\"6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 17.5 8 16.25V14\"}}]})(props);\n};\nexport function LuFileCode2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 18 3-3-3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 12-3 3 3 3\"}}]})(props);\n};\nexport function LuFileCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 13-2 2 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 17 2-2-2-2\"}}]})(props);\n};\nexport function LuFileCog2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"15\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.6 13.5-.87.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.27 16-.87.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.6 16.5-.87-.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.27 14-.87-.5\"}}]})(props);\n};\nexport function LuFileCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6V4a2 2 0 0 1 2-2h8.5L20 7.5V20a2 2 0 0 1-2 2H4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"14\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 17v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 14H9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 11-.88.88\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.88 16.12 3 17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 17-.88-.88\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.88 11.88 3 11\"}}]})(props);\n};\nexport function LuFileDiff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13V7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 10h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 17h6\"}}]})(props);\n};\nexport function LuFileDigit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"6\",\"x\":\"2\",\"y\":\"12\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2v6h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12h2v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18h4\"}}]})(props);\n};\nexport function LuFileDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18v-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 15 3 3 3-3\"}}]})(props);\n};\nexport function LuFileEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13.5V4a2 2 0 0 1 2-2h8.5L20 7.5V20a2 2 0 0 1-2 2h-5.5\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.42 12.61a2.1 2.1 0 1 1 2.97 2.97L7.95 21 4 22l.99-3.95 5.43-5.44Z\"}}]})(props);\n};\nexport function LuFileHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6V4a2 2 0 0 1 2-2h8.5L20 7.5V20a2 2 0 0 1-2 2H4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.29 10.7a2.43 2.43 0 0 0-2.66-.52c-.29.12-.56.3-.78.53l-.35.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L6.5 18l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z\"}}]})(props);\n};\nexport function LuFileImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"10\",\"cy\":\"13\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m20 17-1.09-1.09a2 2 0 0 0-2.82 0L10 22\"}}]})(props);\n};\nexport function LuFileInput (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 15h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 18 3-3-3-3\"}}]})(props);\n};\nexport function LuFileJson2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1\"}}]})(props);\n};\nexport function LuFileJson (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1\"}}]})(props);\n};\nexport function LuFileKey2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10V4a2 2 0 0 1 2-2h8.5L20 7.5V20a2 2 0 0 1-2 2H4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"4\",\"cy\":\"16\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 10-4.5 4.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 11 1 1\"}}]})(props);\n};\nexport function LuFileKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"10\",\"cy\":\"16\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 10-4.5 4.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 11 1 1\"}}]})(props);\n};\nexport function LuFileLineChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 13-3.5 3.5-2-2L8 17\"}}]})(props);\n};\nexport function LuFileLock2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5V4a2 2 0 0 1 2-2h8.5L20 7.5V20a2 2 0 0 1-2 2H4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"5\",\"x\":\"2\",\"y\":\"13\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13v-2a2 2 0 1 0-4 0v2\"}}]})(props);\n};\nexport function LuFileLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"6\",\"x\":\"8\",\"y\":\"12\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 12v-2a3 3 0 1 0-6 0v2\"}}]})(props);\n};\nexport function LuFileMinus2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 15h6\"}}]})(props);\n};\nexport function LuFileMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"15\",\"y1\":\"15\",\"y2\":\"15\"}}]})(props);\n};\nexport function LuFileOutput (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 15h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 12-3 3 3 3\"}}]})(props);\n};\nexport function LuFilePieChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 22h2a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v3\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.04 11.71a5.84 5.84 0 1 0 8.2 8.29\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.83 16A5.83 5.83 0 0 0 8 10.17V16h5.83Z\"}}]})(props);\n};\nexport function LuFilePlus2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 15h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12v6\"}}]})(props);\n};\nexport function LuFilePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"18\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"15\",\"y1\":\"15\",\"y2\":\"15\"}}]})(props);\n};\nexport function LuFileQuestion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10.3c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17h.01\"}}]})(props);\n};\nexport function LuFileScan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 10V7.5L14.5 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h4.5\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 22a2 2 0 0 1-2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22a2 2 0 0 0 2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 14a2 2 0 0 1 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14a2 2 0 0 0-2 2\"}}]})(props);\n};\nexport function LuFileSearch2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11.5\",\"cy\":\"14.5\",\"r\":\"2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.25 16.25 15 18\"}}]})(props);\n};\nexport function LuFileSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v3\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 17a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 18-1.5-1.5\"}}]})(props);\n};\nexport function LuFileSignature (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 19.5v.5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8.5L18 5.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 18h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.42 9.61a2.1 2.1 0 1 1 2.97 2.97L16.95 17 13 18l.99-3.95 4.43-4.44Z\"}}]})(props);\n};\nexport function LuFileSpreadsheet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 17h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 17h2\"}}]})(props);\n};\nexport function LuFileStack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2v5h5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 6v6.5c0 .8-.7 1.5-1.5 1.5h-7c-.8 0-1.5-.7-1.5-1.5v-9c0-.8.7-1.5 1.5-1.5H17l4 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H11\"}}]})(props);\n};\nexport function LuFileSymlink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v7\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 18 3-3-3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18v-1a2 2 0 0 1 2-2h6\"}}]})(props);\n};\nexport function LuFileTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 16 2-2-2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18h4\"}}]})(props);\n};\nexport function LuFileText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"8\",\"y1\":\"13\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"8\",\"y1\":\"17\",\"y2\":\"17\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"8\",\"y1\":\"9\",\"y2\":\"9\"}}]})(props);\n};\nexport function LuFileType2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13v-1h6v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12v6\"}}]})(props);\n};\nexport function LuFileType (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13v-1h6v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 18h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12v6\"}}]})(props);\n};\nexport function LuFileUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 15-3-3-3 3\"}}]})(props);\n};\nexport function LuFileVideo2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8V4a2 2 0 0 1 2-2h8.5L20 7.5V20a2 2 0 0 1-2 2H4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 15.5 4 2.5v-6l-4 2.5\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"6\",\"x\":\"2\",\"y\":\"12\",\"rx\":\"1\"}}]})(props);\n};\nexport function LuFileVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 11 5 3-5 3v-6Z\"}}]})(props);\n};\nexport function LuFileVolume2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 13.5c.32.4.5.94.5 1.5s-.18 1.1-.5 1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 12c.64.8 1 1.87 1 3s-.36 2.2-1 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15h.01\"}}]})(props);\n};\nexport function LuFileVolume (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v3\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 10-3 2H2v4h2l3 2v-8Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11c.64.8 1 1.87 1 3s-.36 2.2-1 3\"}}]})(props);\n};\nexport function LuFileWarning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17h.01\"}}]})(props);\n};\nexport function LuFileX2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2v6h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 12.5 5 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 12.5-5 5\"}}]})(props);\n};\nexport function LuFileX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9.5\",\"x2\":\"14.5\",\"y1\":\"12.5\",\"y2\":\"17.5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14.5\",\"x2\":\"9.5\",\"y1\":\"12.5\",\"y2\":\"17.5\"}}]})(props);\n};\nexport function LuFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}}]})(props);\n};\nexport function LuFiles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 2H8.6c-.4 0-.8.2-1.1.5-.3.3-.5.7-.5 1.1v12.8c0 .4.2.8.5 1.1.3.3.7.5 1.1.5h9.8c.4 0 .8-.2 1.1-.5.3-.3.5-.7.5-1.1V6.5L15.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7.6v12.8c0 .4.2.8.5 1.1.3.3.7.5 1.1.5h9.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2v5h5\"}}]})(props);\n};\nexport function LuFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"20\",\"x\":\"2\",\"y\":\"2\",\"rx\":\"2.18\",\"ry\":\"2.18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"7\",\"x2\":\"7\",\"y1\":\"2\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"x2\":\"17\",\"y1\":\"2\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"7\",\"y1\":\"7\",\"y2\":\"7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"7\",\"y1\":\"17\",\"y2\":\"17\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"x2\":\"22\",\"y1\":\"17\",\"y2\":\"17\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"x2\":\"22\",\"y1\":\"7\",\"y2\":\"7\"}}]})(props);\n};\nexport function LuFilterX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.013 3H2l8 9.46V19l4 2v-8.54l.9-1.055\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 3-5 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 3 5 5\"}}]})(props);\n};\nexport function LuFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\"}}]})(props);\n};\nexport function LuFingerprint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12C2 6.5 6.5 2 12 2a10 10 0 0 1 8 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 19.5C5.5 18 6 15 6 12c0-.7.12-1.37.34-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.29 21.02c.12-.6.43-2.3.5-3.02\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.65 22c.21-.66.45-1.32.57-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.12c0 2.38 0 6.38-1 8.88\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.8 16c.2-2 .131-5.354 0-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6.8a6 6 0 0 1 9 5.2c0 .47 0 1.17-.02 2\"}}]})(props);\n};\nexport function LuFishOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 12.47v.03m0-.5v.47m-.475 5.056A6.744 6.744 0 0 1 15 18c-3.56 0-7.56-2.53-8.5-6 .348-1.28 1.114-2.433 2.121-3.38m3.444-2.088A8.802 8.802 0 0 1 15 6c3.56 0 6.06 2.54 7 6-.309 1.14-.786 2.177-1.413 3.058\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33m7.48-4.372A9.77 9.77 0 0 1 16 6.07m0 11.86a9.77 9.77 0 0 1-1.728-3.618\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98M8.53 3h5.27a2 2 0 0 1 1.98 1.67l.23 1.4M2 2l20 20\"}}]})(props);\n};\nexport function LuFish (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 12v.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 17.93a9.77 9.77 0 0 1 0-11.86\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98\"}}]})(props);\n};\nexport function LuFlagOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2c3 0 5 2 8 2s4-1 4-1v11\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22V4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15s1-1 4-1 5 2 8 2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuFlagTriangleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 22V2L7 7l10 5\"}}]})(props);\n};\nexport function LuFlagTriangleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 22V2l10 5-10 5\"}}]})(props);\n};\nexport function LuFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"x2\":\"4\",\"y1\":\"22\",\"y2\":\"15\"}}]})(props);\n};\nexport function LuFlame (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z\"}}]})(props);\n};\nexport function LuFlashlightOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2h11v4c0 2-2 2-2 4v1\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"11\",\"x2\":\"18\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuFlashlight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6c0 2-2 2-2 4v10a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4V2h12z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"18\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuFlaskConicalOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10 4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-1.272-2.542\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2v2.343\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2v6.343\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16h9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuFlaskConical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16h10\"}}]})(props);\n};\nexport function LuFlaskRound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2v7.31\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 9.3V1.99\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 9.3a6.5 6.5 0 1 1-4 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.52 16h12.96\"}}]})(props);\n};\nexport function LuFlipHorizontal2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 7 5 5-5 5V7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 7-5 5 5 5V7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v2\"}}]})(props);\n};\nexport function LuFlipHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v2\"}}]})(props);\n};\nexport function LuFlipVertical2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m17 3-5 5-5-5h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 21-5-5-5 5h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12h-2\"}}]})(props);\n};\nexport function LuFlipVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12h-2\"}}]})(props);\n};\nexport function LuFlower2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"8\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10v12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z\"}}]})(props);\n};\nexport function LuFlower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7.5a4.5 4.5 0 1 1 4.5 4.5M12 7.5A4.5 4.5 0 1 0 7.5 12M12 7.5V9m-4.5 3a4.5 4.5 0 1 0 4.5 4.5M7.5 12H9m7.5 0a4.5 4.5 0 1 1-4.5 4.5m4.5-4.5H15m-3 4.5V15\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 16 1.5-1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 9.5 16 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 8 1.5 1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 14.5 16 16\"}}]})(props);\n};\nexport function LuFocus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7V5a2 2 0 0 1 2-2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h2a2 2 0 0 1 2 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 17v2a2 2 0 0 1-2 2h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 21H5a2 2 0 0 1-2-2v-2\"}}]})(props);\n};\nexport function LuFoldHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12h-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 9-3 3 3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 15 3-3-3-3\"}}]})(props);\n};\nexport function LuFoldVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22v-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 19-3-3-3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 5-3 3-3-3\"}}]})(props);\n};\nexport function LuFolderArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 20V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2h6\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"19\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 11v-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 17v-2\"}}]})(props);\n};\nexport function LuFolderCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 13 2 2 4-4\"}}]})(props);\n};\nexport function LuFolderClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H20a2 2 0 0 1 2 2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"16\",\"r\":\"6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14v2l1 1\"}}]})(props);\n};\nexport function LuFolderClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10h20\"}}]})(props);\n};\nexport function LuFolderCog2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"13\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.6 11.5-.87.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.27 14-.87.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.6 14.5-.87-.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.27 12-.87-.5\"}}]})(props);\n};\nexport function LuFolderCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 20H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H20a2 2 0 0 1 2 2v3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 14v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 21v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 18h-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 18h-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 15-.88.88\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.88 20.12 15 21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 21-.88-.88\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.88 15.88 15 15\"}}]})(props);\n};\nexport function LuFolderDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"13\",\"r\":\"1\"}}]})(props);\n};\nexport function LuFolderDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 13-3 3-3-3\"}}]})(props);\n};\nexport function LuFolderEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.42 10.61a2.1 2.1 0 1 1 2.97 2.97L5.95 19 2 20l.99-3.95 5.43-5.44Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11.5V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5\"}}]})(props);\n};\nexport function LuFolderGit2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"13\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 19c-2.8 0-5-2.2-5-5v8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"20\",\"cy\":\"19\",\"r\":\"2\"}}]})(props);\n};\nexport function LuFolderGit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"13\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13h3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 13h3\"}}]})(props);\n};\nexport function LuFolderHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 20H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H20a2 2 0 0 1 2 2v1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.29 13.7a2.43 2.43 0 0 0-2.65-.52c-.3.12-.57.3-.8.53l-.34.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L17.5 21l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z\"}}]})(props);\n};\nexport function LuFolderInput (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 16 3-3-3-3\"}}]})(props);\n};\nexport function LuFolderKanban (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10v6\"}}]})(props);\n};\nexport function LuFolderKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 20H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H20a2 2 0 0 1 2 2v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"20\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 14-4.5 4.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 15 1 1\"}}]})(props);\n};\nexport function LuFolderLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 20H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H20a2 2 0 0 1 2 2v2.5\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"5\",\"x\":\"14\",\"y\":\"17\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 17v-2a2 2 0 1 0-4 0v2\"}}]})(props);\n};\nexport function LuFolderMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"15\",\"y1\":\"13\",\"y2\":\"13\"}}]})(props);\n};\nexport function LuFolderOpenDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6 14 1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"14\",\"cy\":\"15\",\"r\":\"1\"}}]})(props);\n};\nexport function LuFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6 14 1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2\"}}]})(props);\n};\nexport function LuFolderOutput (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7.5V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 10-3 3 3 3\"}}]})(props);\n};\nexport function LuFolderPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"10\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"15\",\"y1\":\"13\",\"y2\":\"13\"}}]})(props);\n};\nexport function LuFolderRoot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"13\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15v5\"}}]})(props);\n};\nexport function LuFolderSearch2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11.5\",\"cy\":\"12.5\",\"r\":\"2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.27 14.27 15 16\"}}]})(props);\n};\nexport function LuFolderSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 20H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H20a2 2 0 0 1 2 2v4\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17\",\"cy\":\"17\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 21-1.5-1.5\"}}]})(props);\n};\nexport function LuFolderSymlink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 16 3-3-3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16v-1a2 2 0 0 1 2-2h6\"}}]})(props);\n};\nexport function LuFolderSync (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10v4h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 14 1.5-1.5c.9-.9 2.2-1.5 3.5-1.5s2.6.6 3.5 1.5c.4.4.8 1 1 1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 22v-4h-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 18-1.5 1.5c-.9.9-2.1 1.5-3.5 1.5s-2.6-.6-3.5-1.5c-.4-.4-.8-1-1-1.5\"}}]})(props);\n};\nexport function LuFolderTree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 10h7a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 21h7a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.88a1 1 0 0 1-.9-.55l-.44-.9a1 1 0 0 0-.9-.55H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v2c0 1.1.9 2 2 2h3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v13c0 1.1.9 2 2 2h3\"}}]})(props);\n};\nexport function LuFolderUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 13 3-3 3 3\"}}]})(props);\n};\nexport function LuFolderX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9.5 10.5 5 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.5 10.5-5 5\"}}]})(props);\n};\nexport function LuFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z\"}}]})(props);\n};\nexport function LuFolders (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 17h12a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3.93a2 2 0 0 1-1.66-.9l-.82-1.2a2 2 0 0 0-1.66-.9H8a2 2 0 0 0-2 2v9c0 1.1.9 2 2 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8v11c0 1.1.9 2 2 2h14\"}}]})(props);\n};\nexport function LuFootprints (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 17h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13h4\"}}]})(props);\n};\nexport function LuForklift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12H5a2 2 0 0 0-2 2v5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"13\",\"cy\":\"19\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"19\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 19h3m5-17v17h6M6 12V7c0-1.1.9-2 2-2h3l5 5\"}}]})(props);\n};\nexport function LuFormInput (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"12\",\"x\":\"2\",\"y\":\"6\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 12h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12h.01\"}}]})(props);\n};\nexport function LuForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"15 17 20 12 15 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18v-2a4 4 0 0 1 4-4h12\"}}]})(props);\n};\nexport function LuFrame (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"2\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"2\",\"y1\":\"18\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6\",\"y1\":\"2\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"x2\":\"18\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuFramer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16V9h14V2H5l14 14h-7m-7 0 7 7v-7m-7 0h7\"}}]})(props);\n};\nexport function LuFrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16s-1.5-2-4-2-4 2-4 2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"9.01\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15.01\",\"y1\":\"9\",\"y2\":\"9\"}}]})(props);\n};\nexport function LuFuel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"15\",\"y1\":\"22\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"x2\":\"14\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 22V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 2 2h0a2 2 0 0 0 2-2V9.83a2 2 0 0 0-.59-1.42L18 5\"}}]})(props);\n};\nexport function LuFunctionSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 11.2h5.7\"}}]})(props);\n};\nexport function LuGalleryHorizontalEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7v10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5v14\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"12\",\"height\":\"18\",\"x\":\"10\",\"y\":\"3\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuGalleryHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3v18\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"12\",\"height\":\"18\",\"x\":\"6\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 3v18\"}}]})(props);\n};\nexport function LuGalleryThumbnails (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"14\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 21h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 21h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 21h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21h1\"}}]})(props);\n};\nexport function LuGalleryVerticalEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6h14\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"12\",\"x\":\"3\",\"y\":\"10\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuGalleryVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2h18\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"12\",\"x\":\"3\",\"y\":\"6\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 22h18\"}}]})(props);\n};\nexport function LuGamepad2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"10\",\"y1\":\"11\",\"y2\":\"11\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"9\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15.01\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"x2\":\"18.01\",\"y1\":\"10\",\"y2\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z\"}}]})(props);\n};\nexport function LuGamepad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"10\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"10\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15.01\",\"y1\":\"13\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"x2\":\"18.01\",\"y1\":\"11\",\"y2\":\"11\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"12\",\"x\":\"2\",\"y\":\"6\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuGanttChartSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 8h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 16h5\"}}]})(props);\n};\nexport function LuGanttChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12h9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 18h7\"}}]})(props);\n};\nexport function LuGaugeCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.6 2.7a10 10 0 1 0 5.7 5.7\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.4 10.6 19 5\"}}]})(props);\n};\nexport function LuGauge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 14 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.34 19a10 10 0 1 1 17.32 0\"}}]})(props);\n};\nexport function LuGavel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m14 13-7.5 7.5c-.83.83-2.17.83-3 0 0 0 0 0 0 0a2.12 2.12 0 0 1 0-3L11 10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 16 6-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 8 6-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 7 8 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 11-8-8\"}}]})(props);\n};\nexport function LuGem (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3h12l4 6-10 13L2 9Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 3 8 9l4 13 4-13-3-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9h20\"}}]})(props);\n};\nexport function LuGhost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 10h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 10h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z\"}}]})(props);\n};\nexport function LuGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"20 12 20 22 4 22 4 12\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"5\",\"x\":\"2\",\"y\":\"7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"22\",\"y2\":\"7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z\"}}]})(props);\n};\nexport function LuGitBranchPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3v12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 6a9 9 0 0 0-9 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 15v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18h-6\"}}]})(props);\n};\nexport function LuGitBranch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6\",\"y1\":\"3\",\"y2\":\"15\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9a9 9 0 0 1-9 9\"}}]})(props);\n};\nexport function LuGitCommit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"9\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"21\",\"y1\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuGitCompare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6h3a2 2 0 0 1 2 2v7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 18H8a2 2 0 0 1-2-2V9\"}}]})(props);\n};\nexport function LuGitFork (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9v1a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12v3\"}}]})(props);\n};\nexport function LuGitMerge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 21V9a9 9 0 0 0 9 9\"}}]})(props);\n};\nexport function LuGitPullRequestClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11.5V15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 3-6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 9-6-6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6\",\"y1\":\"9\",\"y2\":\"21\"}}]})(props);\n};\nexport function LuGitPullRequestDraft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6V5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11v-1\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6\",\"y1\":\"9\",\"y2\":\"21\"}}]})(props);\n};\nexport function LuGitPullRequest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6h3a2 2 0 0 1 2 2v7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6\",\"y1\":\"9\",\"y2\":\"21\"}}]})(props);\n};\nexport function LuGithub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 18c-4.51 2-5-2-7-2\"}}]})(props);\n};\nexport function LuGitlab (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m22 13.29-3.33-10a.42.42 0 0 0-.14-.18.38.38 0 0 0-.22-.11.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18l-2.26 6.67H8.32L6.1 3.26a.42.42 0 0 0-.1-.18.38.38 0 0 0-.26-.08.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18L2 13.29a.74.74 0 0 0 .27.83L12 21l9.69-6.88a.71.71 0 0 0 .31-.83Z\"}}]})(props);\n};\nexport function LuGlassWater (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.2 22H8.8a2 2 0 0 1-2-1.79L5 3h14l-1.81 17.21A2 2 0 0 1 15.2 22Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0\"}}]})(props);\n};\nexport function LuGlasses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"15\",\"r\":\"4\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"15\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 15a2 2 0 0 0-2-2 2 2 0 0 0-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 13 5 7c.7-1.3 1.4-2 3-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.5 13 19 7c-.7-1.3-1.5-2-3-2\"}}]})(props);\n};\nexport function LuGlobe2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.54 15H17a2 2 0 0 0-2 2v4.54\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 3.34V5a3 3 0 0 0 3 3v0a2 2 0 0 1 2 2v0c0 1.1.9 2 2 2v0a2 2 0 0 0 2-2v0c0-1.1.9-2 2-2h3.17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 21.95V18a2 2 0 0 0-2-2v0a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}]})(props);\n};\nexport function LuGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"}}]})(props);\n};\nexport function LuGoal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13V2l8 4-8 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.55 10.23A9 9 0 1 1 8 4.94\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10a5 5 0 1 0 8.9 2.02\"}}]})(props);\n};\nexport function LuGrab (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11.5V9a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v1.4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10V8a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 9.9V9a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 14v0a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11v0a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0\"}}]})(props);\n};\nexport function LuGraduationCap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 10v6M2 10l10-5 10 5-10 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12v5c3 3 9 3 12 0v-5\"}}]})(props);\n};\nexport function LuGrape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 5V2l-5.89 5.89\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16.6\",\"cy\":\"15.89\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.11\",\"cy\":\"7.4\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12.35\",\"cy\":\"11.65\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"13.91\",\"cy\":\"5.85\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18.15\",\"cy\":\"10.09\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6.56\",\"cy\":\"13.2\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"10.8\",\"cy\":\"17.44\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"19\",\"r\":\"3\"}}]})(props);\n};\nexport function LuGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"15\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"9\",\"y1\":\"3\",\"y2\":\"21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15\",\"y1\":\"3\",\"y2\":\"21\"}}]})(props);\n};\nexport function LuGripHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"9\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"9\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"9\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"15\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"15\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"15\",\"r\":\"1\"}}]})(props);\n};\nexport function LuGripVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"5\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"19\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"5\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"19\",\"r\":\"1\"}}]})(props);\n};\nexport function LuGrip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"5\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"5\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"5\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"19\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"19\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"19\",\"r\":\"1\"}}]})(props);\n};\nexport function LuGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7V5c0-1.1.9-2 2-2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h2c1.1 0 2 .9 2 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 17v2c0 1.1-.9 2-2 2h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 21H5c-1.1 0-2-.9-2-2v-2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"5\",\"x\":\"7\",\"y\":\"7\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"5\",\"x\":\"10\",\"y\":\"12\",\"rx\":\"1\"}}]})(props);\n};\nexport function LuHammer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m15 12-8.5 8.5c-.83.83-2.17.83-3 0 0 0 0 0 0 0a2.12 2.12 0 0 1 0-3L12 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.64 15 22 10.64\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m20.91 11.7-1.25-1.25c-.6-.6-.93-1.4-.93-2.25v-.86L16.01 4.6a5.56 5.56 0 0 0-3.94-1.64H9l.92.82A6.18 6.18 0 0 1 12 8.4v1.56l2 2h2.47l2.26 1.91\"}}]})(props);\n};\nexport function LuHandMetal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 12.5V10a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v1.4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 11V9a2 2 0 1 0-4 0v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10.5V5a2 2 0 1 0-4 0v9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 15-1.76-1.76a2 2 0 0 0-2.83 2.82l3.6 3.6C7.5 21.14 9.2 22 12 22h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v5\"}}]})(props);\n};\nexport function LuHand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11V6a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10V4a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10.5V6a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15\"}}]})(props);\n};\nexport function LuHardDriveDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 6-4 4-4-4\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"8\",\"x\":\"2\",\"y\":\"14\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18h.01\"}}]})(props);\n};\nexport function LuHardDriveUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16 6-4-4-4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v8\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"8\",\"x\":\"2\",\"y\":\"14\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18h.01\"}}]})(props);\n};\nexport function LuHardDrive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"2\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6.01\",\"y1\":\"16\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"10.01\",\"y1\":\"16\",\"y2\":\"16\"}}]})(props);\n};\nexport function LuHardHat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15v-3a6 6 0 0 1 6-6h0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 6h0a6 6 0 0 1 6 6v3\"}}]})(props);\n};\nexport function LuHash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"x2\":\"20\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"x2\":\"20\",\"y1\":\"15\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"8\",\"y1\":\"3\",\"y2\":\"21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"14\",\"y1\":\"3\",\"y2\":\"21\"}}]})(props);\n};\nexport function LuHaze (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m5.2 6.2 1.4 1.4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 13h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.4 7.6 1.4-1.4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 17H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 21H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 13a4 4 0 0 0-8 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5V2.5\"}}]})(props);\n};\nexport function LuHdmiPort (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 9a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1l2 2h12l2-2h1a1 1 0 0 0 1-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 12h9\"}}]})(props);\n};\nexport function LuHeading1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 12 3-2v8\"}}]})(props);\n};\nexport function LuHeading2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1\"}}]})(props);\n};\nexport function LuHeading3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2\"}}]})(props);\n};\nexport function LuHeading4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 10v4h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10v8\"}}]})(props);\n};\nexport function LuHeading5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 13v-3h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 17.7c.4.2.8.3 1.3.3 1.5 0 2.7-1.1 2.7-2.5S19.8 13 18.3 13H17\"}}]})(props);\n};\nexport function LuHeading6 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18V6\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"16\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 10c-2 2-3 3.5-3 6\"}}]})(props);\n};\nexport function LuHeading (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 20V4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 20V4\"}}]})(props);\n};\nexport function LuHeadphones (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3\"}}]})(props);\n};\nexport function LuHeartCrack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 13-1-1 2-2-3-3 2-2\"}}]})(props);\n};\nexport function LuHeartHandshake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08v0c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 15-2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 18-2-2\"}}]})(props);\n};\nexport function LuHeartOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"y1\":\"2\",\"x2\":\"22\",\"y2\":\"22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 16.5 12 21l-7-7c-1.5-1.45-3-3.2-3-5.5a5.5 5.5 0 0 1 2.14-4.35\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.76 3.1c1.15.22 2.13.78 3.24 1.9 1.5-1.5 2.74-2 4.5-2A5.5 5.5 0 0 1 22 8.5c0 2.12-1.3 3.78-2.67 5.17\"}}]})(props);\n};\nexport function LuHeartPulse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27\"}}]})(props);\n};\nexport function LuHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z\"}}]})(props);\n};\nexport function LuHelpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17h.01\"}}]})(props);\n};\nexport function LuHelpingHand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 15 5.12-5.12A3 3 0 0 1 10.24 9H13a2 2 0 1 1 0 4h-2.5m4-.68 4.17-4.89a1.88 1.88 0 0 1 2.92 2.36l-4.2 5.94A3 3 0 0 1 14.96 17H9.83a2 2 0 0 0-1.42.59L7 19\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 14 6 6\"}}]})(props);\n};\nexport function LuHexagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"}}]})(props);\n};\nexport function LuHighlighter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9 11-6 6v3h9l3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4\"}}]})(props);\n};\nexport function LuHistory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v5h5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7v5l4 2\"}}]})(props);\n};\nexport function LuHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 22 9 12 15 12 15 22\"}}]})(props);\n};\nexport function LuHopOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 5.5C19 7 20.5 9 21 11c-1.323.265-2.646.39-4.118.226\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 17.5C7 19 9 20.5 11 21c.5-2.5.5-5-1-8.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 17.5c-2.5 0-4 0-6-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11.5c1 1.5 2 3.5 2 4.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 20c1.5 1 3.5 2 4.5 2 .5-1.5 0-3-.5-4.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 22c-2 0-3.5-.5-5.5-1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.783 4.782C1.073 8.492 1 14.5 5 18c1-1 2-4.5 1.5-6.5 1.5 1 4 1 5.5.5M8.227 2.57C11.578 1.335 15.453 2.089 18 5c-.88.88-3.7 1.761-5.726 1.618\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuHop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 5.5C19 7 20.5 9 21 11c-2.5.5-5 .5-8.5-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 17.5C7 19 9 20.5 11 21c.5-2.5.5-5-1-8.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 11.5c1 2 1 3.5 1 6-2.5 0-4 0-6-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11.5c1 1.5 2 3.5 2 4.5-1.5.5-3 0-4.5-.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 20c1.5 1 3.5 2 4.5 2 .5-1.5 0-3-.5-4.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.5 16.5c1 2 1.5 3.5 1.5 5.5-2 0-3.5-.5-5.5-1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.783 4.782C8.493 1.072 14.5 1 18 5c-1 1-4.5 2-6.5 1.5 1 1.5 1 4 .5 5.5-1.5.5-4 .5-5.5-.5C7 13.5 6 17 5 18c-4-3.5-3.927-9.508-.217-13.218Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 4.5 3 3c-.184-.185-.184-.816 0-1\"}}]})(props);\n};\nexport function LuHotel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 16 .348-.24c1.465-1.013 3.84-1.013 5.304 0L15 16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 11h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 22v-6.5m4 0V22\"}}]})(props);\n};\nexport function LuHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2\"}}]})(props);\n};\nexport function LuIceCream2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6Zm-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.14 11a3.5 3.5 0 1 1 6.71 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 6.5a3.5 3.5 0 1 0-7 0\"}}]})(props);\n};\nexport function LuIceCream (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 7A5 5 0 0 0 7 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4\"}}]})(props);\n};\nexport function LuImageMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"22\",\"y1\":\"5\",\"y2\":\"5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"9\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"}}]})(props);\n};\nexport function LuImageOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.41 10.41a2 2 0 1 1-2.83-2.83\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"13.5\",\"x2\":\"6\",\"y1\":\"13.5\",\"y2\":\"21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"x2\":\"21\",\"y1\":\"12\",\"y2\":\"15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15V5a2 2 0 0 0-2-2H9\"}}]})(props);\n};\nexport function LuImagePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"22\",\"y1\":\"5\",\"y2\":\"5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"19\",\"y1\":\"2\",\"y2\":\"8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"9\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"}}]})(props);\n};\nexport function LuImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"9\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"}}]})(props);\n};\nexport function LuImport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 11 4 4 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4\"}}]})(props);\n};\nexport function LuInbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"22 12 16 12 14 15 10 15 8 12 2 12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\"}}]})(props);\n};\nexport function LuIndent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"3 8 7 12 3 16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"11\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"11\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"11\",\"y1\":\"18\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuIndianRupee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6 13 8.5 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13h3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13c6.667 0 6.667-10 0-10\"}}]})(props);\n};\nexport function LuInfinity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12c-2-2.67-4-4-6-4a4 4 0 1 0 0 8c2 0 4-1.33 6-4Zm0 0c2 2.67 4 4 6 4a4 4 0 0 0 0-8c-2 0-4 1.33-6 4Z\"}}]})(props);\n};\nexport function LuInfo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16v-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8h.01\"}}]})(props);\n};\nexport function LuInspect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 12 4 10 1.7-4.3L22 16Z\"}}]})(props);\n};\nexport function LuInstagram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"20\",\"x\":\"2\",\"y\":\"2\",\"rx\":\"5\",\"ry\":\"5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17.5\",\"x2\":\"17.51\",\"y1\":\"6.5\",\"y2\":\"6.5\"}}]})(props);\n};\nexport function LuItalic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"10\",\"y1\":\"4\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"x2\":\"5\",\"y1\":\"20\",\"y2\":\"20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"9\",\"y1\":\"4\",\"y2\":\"20\"}}]})(props);\n};\nexport function LuIterationCcw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 10c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8h8\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 14 20 18 16 22\"}}]})(props);\n};\nexport function LuIterationCw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10c0-4.4 3.6-8 8-8s8 3.6 8 8-3.6 8-8 8H4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 22 4 18 8 14\"}}]})(props);\n};\nexport function LuJapaneseYen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9.5V21m0-11.5L6 3m6 6.5L18 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 15h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 11h12\"}}]})(props);\n};\nexport function LuJoystick (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 15v-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15V9\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"6\",\"r\":\"3\"}}]})(props);\n};\nexport function LuKanbanSquareDashed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7v7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7v9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a2 2 0 0 0-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3a2 2 0 0 1 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 9v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 14v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19a2 2 0 0 1-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 21h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 21h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21a2 2 0 0 1-2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9v1\"}}]})(props);\n};\nexport function LuKanbanSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7v7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7v9\"}}]})(props);\n};\nexport function LuKanban (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5v11\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 5v14\"}}]})(props);\n};\nexport function LuKeyRound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18v3c0 .6.4 1 1 1h4v-3h3v-3h2l1.4-1.4a6.5 6.5 0 1 0-4-4Z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16.5\",\"cy\":\"7.5\",\"r\":\".5\"}}]})(props);\n};\nexport function LuKeySquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.4 2.7c.9-.9 2.5-.9 3.4 0l5.5 5.5c.9.9.9 2.5 0 3.4l-3.7 3.7c-.9.9-2.5.9-3.4 0L8.7 9.8c-.9-.9-.9-2.5 0-3.4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 7 3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.4 10.6 2 18v3c0 .6.4 1 1 1h4v-3h3v-3h2l1.4-1.4\"}}]})(props);\n};\nexport function LuKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"7.5\",\"cy\":\"15.5\",\"r\":\"5.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 2-9.6 9.6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15.5 7.5 3 3L22 7l-3-3\"}}]})(props);\n};\nexport function LuKeyboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"16\",\"x\":\"2\",\"y\":\"4\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8h.001\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8h.001\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 8h.001\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8h.001\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h.001\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12h.001\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12h.001\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16h10\"}}]})(props);\n};\nexport function LuLampCeiling (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7h12l4 9H2l4-9Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.17 16a3 3 0 1 0 5.66 0\"}}]})(props);\n};\nexport function LuLampDesk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m14 5-3 3 2 7 8-8-7-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 5-3 3-3-3 3-3 3 3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 6.5 4 12l3 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 22v-2c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v2H3Z\"}}]})(props);\n};\nexport function LuLampFloor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2h6l3 7H6l3-7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9v13\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 22h6\"}}]})(props);\n};\nexport function LuLampWallDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 13h6l3 7H8l3-7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13V8a2 2 0 0 0-2-2H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9h2a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H4v6Z\"}}]})(props);\n};\nexport function LuLampWallUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4h6l3 7H8l3-7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 11v5a2 2 0 0 1-2 2H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H4v-6Z\"}}]})(props);\n};\nexport function LuLamp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2h8l4 10H4L8 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 22v-2c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v2H8Z\"}}]})(props);\n};\nexport function LuLandmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"22\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6\",\"y1\":\"18\",\"y2\":\"11\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"10\",\"y1\":\"18\",\"y2\":\"11\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"x2\":\"14\",\"y1\":\"18\",\"y2\":\"11\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"x2\":\"18\",\"y1\":\"18\",\"y2\":\"11\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"12 2 20 7 4 7\"}}]})(props);\n};\nexport function LuLanguages (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m5 8 6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4 14 6-6 2-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 22-5-10-5 10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 18h6\"}}]})(props);\n};\nexport function LuLaptop2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"12\",\"x\":\"3\",\"y\":\"4\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"20\",\"y2\":\"20\"}}]})(props);\n};\nexport function LuLaptop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16\"}}]})(props);\n};\nexport function LuLassoSelect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 22a5 5 0 0 1-2-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16.93c.96.43 1.96.74 2.99.91\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.34 14A6.8 6.8 0 0 1 2 10c0-4.42 4.48-8 10-8s10 3.58 10 8a7.19 7.19 0 0 1-.33 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.33 22h-.09a.35.35 0 0 1-.24-.32v-10a.34.34 0 0 1 .33-.34c.08 0 .15.03.21.08l7.34 6a.33.33 0 0 1-.21.59h-4.49l-2.57 3.85a.35.35 0 0 1-.28.14v0z\"}}]})(props);\n};\nexport function LuLasso (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 22a5 5 0 0 1-2-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.3 14A6.8 6.8 0 0 1 2 10c0-4.4 4.5-8 10-8s10 3.6 10 8-4.5 8-10 8a12 12 0 0 1-5-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]})(props);\n};\nexport function LuLaugh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12Z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"9.01\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15.01\",\"y1\":\"9\",\"y2\":\"9\"}}]})(props);\n};\nexport function LuLayers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"12 2 2 7 12 12 22 7 12 2\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"2 17 12 22 22 17\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"2 12 12 17 22 12\"}}]})(props);\n};\nexport function LuLayoutDashboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"9\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"5\",\"x\":\"14\",\"y\":\"3\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"9\",\"x\":\"14\",\"y\":\"12\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"5\",\"x\":\"3\",\"y\":\"16\",\"rx\":\"1\"}}]})(props);\n};\nexport function LuLayoutGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"7\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"7\",\"x\":\"14\",\"y\":\"3\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"7\",\"x\":\"14\",\"y\":\"14\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"7\",\"x\":\"3\",\"y\":\"14\",\"rx\":\"1\"}}]})(props);\n};\nexport function LuLayoutList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"7\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"7\",\"x\":\"3\",\"y\":\"14\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 9h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 15h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 20h7\"}}]})(props);\n};\nexport function LuLayoutPanelLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"7\",\"x\":\"14\",\"y\":\"3\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"7\",\"x\":\"14\",\"y\":\"14\",\"rx\":\"1\"}}]})(props);\n};\nexport function LuLayoutPanelTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"7\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"7\",\"x\":\"3\",\"y\":\"14\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"7\",\"x\":\"14\",\"y\":\"14\",\"rx\":\"1\"}}]})(props);\n};\nexport function LuLayoutTemplate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"7\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"9\",\"height\":\"7\",\"x\":\"3\",\"y\":\"14\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"5\",\"height\":\"7\",\"x\":\"16\",\"y\":\"14\",\"rx\":\"1\"}}]})(props);\n};\nexport function LuLayout (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"9\",\"y1\":\"21\",\"y2\":\"9\"}}]})(props);\n};\nexport function LuLeaf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12\"}}]})(props);\n};\nexport function LuLeafyGreen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 22c1.25-.987 2.27-1.975 3.9-2.2a5.56 5.56 0 0 1 3.8 1.5 4 4 0 0 0 6.187-2.353 3.5 3.5 0 0 0 3.69-5.116A3.5 3.5 0 0 0 20.95 8 3.5 3.5 0 1 0 16 3.05a3.5 3.5 0 0 0-5.831 1.373 3.5 3.5 0 0 0-5.116 3.69 4 4 0 0 0-2.348 6.155C3.499 15.42 4.409 16.712 4.2 18.1 3.926 19.743 3.014 20.732 2 22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 22 17 7\"}}]})(props);\n};\nexport function LuLibrary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16 6 4 14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6v14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8v12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v16\"}}]})(props);\n};\nexport function LuLifeBuoy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.93 4.93 4.24 4.24\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.83 9.17 4.24-4.24\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.83 14.83 4.24 4.24\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9.17 14.83-4.24 4.24\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}}]})(props);\n};\nexport function LuLigature (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 20V8c0-2.2 1.8-4 4-4 1.5 0 2.8.8 3.5 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12h2v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 20h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 20h4\"}}]})(props);\n};\nexport function LuLightbulbOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 20 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 18h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 22h4\"}}]})(props);\n};\nexport function LuLightbulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 18h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 22h4\"}}]})(props);\n};\nexport function LuLineChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v18h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 9-5 5-4-4-3 3\"}}]})(props);\n};\nexport function LuLink2Off (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 17H7A5 5 0 0 1 7 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7h2a5 5 0 0 1 4 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"12\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuLink2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 17H7A5 5 0 0 1 7 7h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7h2a5 5 0 1 1 0 10h-2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"16\",\"y1\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}}]})(props);\n};\nexport function LuLinkedin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"12\",\"x\":\"2\",\"y\":\"9\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"4\",\"cy\":\"4\",\"r\":\"2\"}}]})(props);\n};\nexport function LuListChecks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 17 2 2 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 7 2 2 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 18h8\"}}]})(props);\n};\nexport function LuListEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 6v10a2 2 0 0 1-2 2h-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 16-2 2 2 2\"}}]})(props);\n};\nexport function LuListFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 6h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18h4\"}}]})(props);\n};\nexport function LuListMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 12H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12h-6\"}}]})(props);\n};\nexport function LuListMusic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 18a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18H3\"}}]})(props);\n};\nexport function LuListOrdered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"21\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"21\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"21\",\"y1\":\"18\",\"y2\":\"18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6h1v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1\"}}]})(props);\n};\nexport function LuListPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 12H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12h-6\"}}]})(props);\n};\nexport function LuListRestart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 6H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 18H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 10v4h4\"}}]})(props);\n};\nexport function LuListStart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 6H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18V8a2 2 0 0 0-2-2h-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 8-2-2 2-2\"}}]})(props);\n};\nexport function LuListTodo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"5\",\"width\":\"6\",\"height\":\"6\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 17 2 2 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 18h8\"}}]})(props);\n};\nexport function LuListTree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12h-8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 6H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18h-8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 6v4c0 1.1.9 2 2 2h3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 10v6c0 1.1.9 2 2 2h3\"}}]})(props);\n};\nexport function LuListVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 12 5 3-5 3v-6Z\"}}]})(props);\n};\nexport function LuListX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 12H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 10-4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 10 4 4\"}}]})(props);\n};\nexport function LuList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"21\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"21\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"21\",\"y1\":\"18\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"3.01\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"3.01\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"3.01\",\"y1\":\"18\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuLoader2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12a9 9 0 1 1-6.219-8.56\"}}]})(props);\n};\nexport function LuLoader (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"18\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4.93\",\"x2\":\"7.76\",\"y1\":\"4.93\",\"y2\":\"7.76\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16.24\",\"x2\":\"19.07\",\"y1\":\"16.24\",\"y2\":\"19.07\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"6\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"x2\":\"22\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4.93\",\"x2\":\"7.76\",\"y1\":\"19.07\",\"y2\":\"16.24\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16.24\",\"x2\":\"19.07\",\"y1\":\"7.76\",\"y2\":\"4.93\"}}]})(props);\n};\nexport function LuLocateFixed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"5\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"22\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"2\",\"y2\":\"5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"19\",\"y2\":\"22\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"7\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}}]})(props);\n};\nexport function LuLocateOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"5\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"22\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"2\",\"y2\":\"5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"19\",\"y2\":\"22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.11 7.11C5.83 8.39 5 10.1 5 12c0 3.87 3.13 7 7 7 1.9 0 3.61-.83 4.89-2.11\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.71 13.96c.19-.63.29-1.29.29-1.96 0-3.87-3.13-7-7-7-.67 0-1.33.1-1.96.29\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuLocate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"5\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"22\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"2\",\"y2\":\"5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"19\",\"y2\":\"22\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"7\"}}]})(props);\n};\nexport function LuLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"11\",\"x\":\"3\",\"y\":\"11\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11V7a5 5 0 0 1 10 0v4\"}}]})(props);\n};\nexport function LuLogIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"10 17 15 12 10 7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"3\",\"y1\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuLogOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 17 21 12 16 7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"9\",\"y1\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuLollipop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 21-4.3-4.3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11a2 2 0 0 0 4 0 4 4 0 0 0-8 0 6 6 0 0 0 12 0\"}}]})(props);\n};\nexport function LuLuggage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 20h0a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 18V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 20h4\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"20\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"20\",\"r\":\"2\"}}]})(props);\n};\nexport function LuMagnet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6 15-4-4 6.75-6.77a7.79 7.79 0 0 1 11 11L13 22l-4-4 6.39-6.36a2.14 2.14 0 0 0-3-3L6 15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 8 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 15 4 4\"}}]})(props);\n};\nexport function LuMailCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 19 2 2 4-4\"}}]})(props);\n};\nexport function LuMailMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 15V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 19h6\"}}]})(props);\n};\nexport function LuMailOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10\"}}]})(props);\n};\nexport function LuMailPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 16v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 19h6\"}}]})(props);\n};\nexport function LuMailQuestion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22v.01\"}}]})(props);\n};\nexport function LuMailSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h7.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6v0Z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 22-1.5-1.5\"}}]})(props);\n};\nexport function LuMailWarning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 14v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22v.01\"}}]})(props);\n};\nexport function LuMailX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 17 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 17-4 4\"}}]})(props);\n};\nexport function LuMail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"16\",\"x\":\"2\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"}}]})(props);\n};\nexport function LuMailbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5C2 7 4 5 6.5 5H18c2.2 0 4 1.8 4 4v8Z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"15,9 18,9 18,11\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 5C9 5 11 7 11 9.5V17a2 2 0 0 1-2 2v0\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"7\",\"y1\":\"10\",\"y2\":\"10\"}}]})(props);\n};\nexport function LuMails (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"13\",\"x\":\"6\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 7-7.1 3.78c-.57.3-1.23.3-1.8 0L6 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8v11c0 1.1.9 2 2 2h14\"}}]})(props);\n};\nexport function LuMapPinOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.43 5.43A8.06 8.06 0 0 0 4 10c0 6 8 12 8 12a29.94 29.94 0 0 0 5-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.18 13.52A8.66 8.66 0 0 0 20 10a8 8 0 0 0-8-8 7.88 7.88 0 0 0-3.52.82\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.13 9.13A2.78 2.78 0 0 0 9 10a3 3 0 0 0 3 3 2.78 2.78 0 0 0 .87-.13\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.9 9.25a3 3 0 0 0-2.15-2.16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuMapPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"3\"}}]})(props);\n};\nexport function LuMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"3 6 9 3 15 6 21 3 21 18 15 21 9 18 3 21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"9\",\"y1\":\"3\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15\",\"y1\":\"6\",\"y2\":\"21\"}}]})(props);\n};\nexport function LuMartini (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 22h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11v11\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 3-7 8-7-8Z\"}}]})(props);\n};\nexport function LuMaximize2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"15 3 21 3 21 9\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 21 3 21 3 15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"14\",\"y1\":\"3\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"10\",\"y1\":\"21\",\"y2\":\"14\"}}]})(props);\n};\nexport function LuMaximize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3H5a2 2 0 0 0-2 2v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 8V5a2 2 0 0 0-2-2h-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 16v3a2 2 0 0 0 2 2h3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21h3a2 2 0 0 0 2-2v-3\"}}]})(props);\n};\nexport function LuMedal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 12 5.12 2.2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 12 5.88-9.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7h8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"17\",\"r\":\"5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18v-2h-.5\"}}]})(props);\n};\nexport function LuMegaphoneOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.26 9.26 3 11v3l14.14 3.14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15.34V6l-7.31 2.03\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.6 16.8a3 3 0 1 1-5.8-1.6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuMegaphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 11 18-5v12L3 14v-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.6 16.8a3 3 0 1 1-5.8-1.6\"}}]})(props);\n};\nexport function LuMeh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"16\",\"y1\":\"15\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"9.01\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15.01\",\"y1\":\"9\",\"y2\":\"9\"}}]})(props);\n};\nexport function LuMemoryStick (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 19v-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 19v-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19v-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 19v-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 11V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 15h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.1a2 2 0 0 0 0 3.837V17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5.1a2 2 0 0 0 0-3.837Z\"}}]})(props);\n};\nexport function LuMenuSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16h10\"}}]})(props);\n};\nexport function LuMenu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"x2\":\"20\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"x2\":\"20\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"x2\":\"20\",\"y1\":\"18\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuMerge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 6 4-4 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v10.3a4 4 0 0 1-1.172 2.872L4 22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m20 22-5-5\"}}]})(props);\n};\nexport function LuMessageCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 21 1.9-5.7a8.5 8.5 0 1 1 3.8 3.8z\"}}]})(props);\n};\nexport function LuMessageSquareDashed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 6V5c0-1.1.9-2 2-2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 3h3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 3h1c1.1 0 2 .9 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 9v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15c0 1.1-.9 2-2 2h-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 17h-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 17-4 4v-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12v-2\"}}]})(props);\n};\nexport function LuMessageSquarePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"15\",\"y1\":\"10\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"7\",\"y2\":\"13\"}}]})(props);\n};\nexport function LuMessageSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"}}]})(props);\n};\nexport function LuMessagesSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1\"}}]})(props);\n};\nexport function LuMic2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 8-9.04 9.06a2.82 2.82 0 1 0 3.98 3.98L16 12\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17\",\"cy\":\"7\",\"r\":\"5\"}}]})(props);\n};\nexport function LuMicOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.89 13.23A7.12 7.12 0 0 0 19 12v-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10v2a7 7 0 0 0 12 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9.34V5a3 3 0 0 0-5.68-1.33\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9v3a3 3 0 0 0 5.12 2.12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"19\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuMic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 10v2a7 7 0 0 1-14 0v-2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"19\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuMicroscope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 22h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 22a7 7 0 1 0 0-14h-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 14h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3\"}}]})(props);\n};\nexport function LuMicrowave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"15\",\"x\":\"2\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"7\",\"x\":\"6\",\"y\":\"8\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8v7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 19v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 19v2\"}}]})(props);\n};\nexport function LuMilestone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6H5a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h13l4-3.5L18 6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v3\"}}]})(props);\n};\nexport function LuMilkOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2v1.343M15 2v2.789a4 4 0 0 0 .672 2.219l.656.984a4 4 0 0 1 .672 2.22v1.131M7.8 7.8l-.128.192A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 15a6.47 6.47 0 0 1 5 0 6.472 6.472 0 0 0 3.435.435\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuMilk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2v2.789a4 4 0 0 1-.672 2.219l-.656.984A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-9.789a4 4 0 0 0-.672-2.219l-.656-.984A4 4 0 0 1 15 4.788V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 15a6.472 6.472 0 0 1 5 0 6.47 6.47 0 0 0 5 0\"}}]})(props);\n};\nexport function LuMinimize2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"4 14 10 14 10 20\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"20 10 14 10 14 4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"x2\":\"21\",\"y1\":\"10\",\"y2\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"10\",\"y1\":\"21\",\"y2\":\"14\"}}]})(props);\n};\nexport function LuMinimize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3v3a2 2 0 0 1-2 2H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 8h-3a2 2 0 0 1-2-2V3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 16h3a2 2 0 0 1 2 2v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21v-3a2 2 0 0 1 2-2h3\"}}]})(props);\n};\nexport function LuMinusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h8\"}}]})(props);\n};\nexport function LuMinusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h8\"}}]})(props);\n};\nexport function LuMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12h14\"}}]})(props);\n};\nexport function LuMonitorCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9 10 2 2 4-4\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h8\"}}]})(props);\n};\nexport function LuMonitorDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12v3a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h8\"}}]})(props);\n};\nexport function LuMonitorDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13V7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 10-3 3-3-3\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h8\"}}]})(props);\n};\nexport function LuMonitorOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 17H4a2 2 0 0 1-2-2V5c0-1.5 1-2 1-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 15V5a2 2 0 0 0-2-2H9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 20 20\"}}]})(props);\n};\nexport function LuMonitorPause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 13V7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13V7\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h8\"}}]})(props);\n};\nexport function LuMonitorPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10 7 5 3-5 3Z\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h8\"}}]})(props);\n};\nexport function LuMonitorSmartphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 19v-3.96 3.15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 19h5\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"10\",\"x\":\"16\",\"y\":\"12\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuMonitorSpeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 20H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 9h.01\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"10\",\"height\":\"16\",\"x\":\"12\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h4\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17\",\"cy\":\"15\",\"r\":\"1\"}}]})(props);\n};\nexport function LuMonitorStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"9\",\"y\":\"7\",\"width\":\"6\",\"height\":\"6\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h8\"}}]})(props);\n};\nexport function LuMonitorUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9 10 3-3 3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13V7\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h8\"}}]})(props);\n};\nexport function LuMonitorX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m14.5 12.5-5-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9.5 12.5 5-5\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h8\"}}]})(props);\n};\nexport function LuMonitor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"16\",\"y1\":\"21\",\"y2\":\"21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"17\",\"y2\":\"21\"}}]})(props);\n};\nexport function LuMoonStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 5h-4\"}}]})(props);\n};\nexport function LuMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z\"}}]})(props);\n};\nexport function LuMoreHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"12\",\"r\":\"1\"}}]})(props);\n};\nexport function LuMoreVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"5\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"19\",\"r\":\"1\"}}]})(props);\n};\nexport function LuMountainSnow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3 4 8 5-5 5 15H2L8 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.14 15.08c2.62-1.57 5.24-1.43 7.86.42 2.74 1.94 5.49 2 8.23.19\"}}]})(props);\n};\nexport function LuMountain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3 4 8 5-5 5 15H2L8 3z\"}}]})(props);\n};\nexport function LuMousePointer2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m4 4 7.07 17 2.51-7.39L21 11.07z\"}}]})(props);\n};\nexport function LuMousePointerClick (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9 9 5 12 1.774-5.226L21 14 9 9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16.071 16.071 4.243 4.243\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7.188 2.239.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656-2.12 2.122\"}}]})(props);\n};\nexport function LuMousePointer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 3 7.07 16.97 2.51-7.39 7.39-2.51L3 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 13 6 6\"}}]})(props);\n};\nexport function LuMouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"5\",\"y\":\"2\",\"width\":\"14\",\"height\":\"20\",\"rx\":\"7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6v4\"}}]})(props);\n};\nexport function LuMove3D (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3v16h16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 19 6-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 6 3-3 3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 16 3 3-3 3\"}}]})(props);\n};\nexport function LuMoveDiagonal2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"5 11 5 5 11 5\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"19 13 19 19 13 19\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"5\",\"x2\":\"19\",\"y1\":\"5\",\"y2\":\"19\"}}]})(props);\n};\nexport function LuMoveDiagonal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"13 5 19 5 19 11\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"11 19 5 19 5 13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"5\",\"y1\":\"5\",\"y2\":\"19\"}}]})(props);\n};\nexport function LuMoveDownLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19H5V13\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 5L5 19\"}}]})(props);\n};\nexport function LuMoveDownRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 13V19H13\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5L19 19\"}}]})(props);\n};\nexport function LuMoveDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 18L12 22L16 18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2V22\"}}]})(props);\n};\nexport function LuMoveHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"18 8 22 12 18 16\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"6 8 2 12 6 16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuMoveLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8L2 12L6 16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12H22\"}}]})(props);\n};\nexport function LuMoveRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8L22 12L18 16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12H22\"}}]})(props);\n};\nexport function LuMoveUpLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11V5H11\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5L19 19\"}}]})(props);\n};\nexport function LuMoveUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5H19V11\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 5L5 19\"}}]})(props);\n};\nexport function LuMoveUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6L12 2L16 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2V22\"}}]})(props);\n};\nexport function LuMoveVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 18 12 22 16 18\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 6 12 2 16 6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuMove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"5 9 2 12 5 15\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 5 12 2 15 5\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"15 19 12 22 9 19\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"19 9 22 12 19 15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuMusic2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"18\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18V2l7 4\"}}]})(props);\n};\nexport function LuMusic3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"18\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18V2\"}}]})(props);\n};\nexport function LuMusic4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 18V5l12-2v13\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 9 12-2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"16\",\"r\":\"3\"}}]})(props);\n};\nexport function LuMusic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 18V5l12-2v13\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"16\",\"r\":\"3\"}}]})(props);\n};\nexport function LuNavigation2Off (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.31 9.31 5 21l7-4 7 4-1.17-3.17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.53 8.88 12 2l-1.17 3.17\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuNavigation2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"12 2 19 21 12 17 5 21 12 2\"}}]})(props);\n};\nexport function LuNavigationOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.43 8.43 3 11l8 2 2 8 2.57-5.43\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.39 11.73 22 2l-9.73 4.61\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuNavigation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"3 11 22 2 13 21 11 13 3 11\"}}]})(props);\n};\nexport function LuNetwork (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"16\",\"y\":\"16\",\"width\":\"6\",\"height\":\"6\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"16\",\"width\":\"6\",\"height\":\"6\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"9\",\"y\":\"2\",\"width\":\"6\",\"height\":\"6\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12V8\"}}]})(props);\n};\nexport function LuNewspaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 14h-8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 18h-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 6h8v4h-8V6Z\"}}]})(props);\n};\nexport function LuNfc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8.32a7.43 7.43 0 0 1 0 7.36\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.46 6.21a11.76 11.76 0 0 1 0 11.58\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.91 4.1a15.91 15.91 0 0 1 .01 15.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.37 2a20.16 20.16 0 0 1 0 20\"}}]})(props);\n};\nexport function LuNutOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592a7.01 7.01 0 0 0 4.125-2.939\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 10v3.343\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12c-1.349-.573-1.905-1.005-2.5-2-.546.902-1.048 1.353-2.5 2-1.018-.644-1.46-1.08-2-2-1.028.71-1.69.918-3 1 1.081-1.048 1.757-2.03 2-3 .194-.776.84-1.551 1.79-2.21m11.654 5.997c.887-.457 1.28-.891 1.556-1.787 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4-.74 0-1.461.068-2.15.192\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuNut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592A7.003 7.003 0 0 0 19 14v-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4C8 4 4.5 6 4 8c-.243.97-.919 1.952-2 3 1.31-.082 1.972-.29 3-1 .54.92.982 1.356 2 2 1.452-.647 1.954-1.098 2.5-2 .595.995 1.151 1.427 2.5 2 1.31-.621 1.862-1.058 2.5-2 .629.977 1.162 1.423 2.5 2 1.209-.548 1.68-.967 2-2 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4Z\"}}]})(props);\n};\nexport function LuOctagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"}}]})(props);\n};\nexport function LuOption (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h6l6 18h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3h7\"}}]})(props);\n};\nexport function LuOrbit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"5\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"19\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.4 21.9a10 10 0 0 0 9.941-15.416\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 2.1a10 10 0 0 0-9.841 15.416\"}}]})(props);\n};\nexport function LuOutdent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"7 8 3 12 7 16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"11\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"11\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"11\",\"y1\":\"18\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuPackage2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9h18v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 9 2.45-4.9A2 2 0 0 1 7.24 3h9.52a2 2 0 0 1 1.8 1.1L21 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v6\"}}]})(props);\n};\nexport function LuPackageCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16 16 2 2 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 9.4 7.55 4.24\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"3.29 7 12 12 20.71 7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"22\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuPackageMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 9.4 7.55 4.24\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"3.29 7 12 12 20.71 7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"22\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuPackageOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.91 8.84 8.56 2.23a1.93 1.93 0 0 0-1.81 0L3.1 4.13a2.12 2.12 0 0 0-.05 3.69l12.22 6.93a2 2 0 0 0 1.94 0L21 12.51a2.12 2.12 0 0 0-.09-3.67Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3.09 8.84 12.35-6.61a1.93 1.93 0 0 1 1.81 0l3.65 1.9a2.12 2.12 0 0 1 .1 3.69L8.73 14.75a2 2 0 0 1-1.94 0L3 12.51a2.12 2.12 0 0 1 .09-3.67Z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"22\",\"y2\":\"13\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 13.5v3.37a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13.5\"}}]})(props);\n};\nexport function LuPackagePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 13v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 9.4 7.55 4.24\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"3.29 7 12 12 20.71 7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"22\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuPackageSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 9.4 7.55 4.24\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"3.29 7 12 12 20.71 7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"22\",\"y2\":\"12\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18.5\",\"cy\":\"15.5\",\"r\":\"2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.27 17.27 22 19\"}}]})(props);\n};\nexport function LuPackageX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 9.4 7.55 4.24\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"3.29 7 12 12 20.71 7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"22\",\"y2\":\"12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 13 5 5m-5 0 5-5\"}}]})(props);\n};\nexport function LuPackage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 9.4 7.55 4.24\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"3.29 7 12 12 20.71 7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"22\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuPaintBucket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19 11-8-8-8.6 8.6a2 2 0 0 0 0 2.8l5.2 5.2c.8.8 2 .8 2.8 0L19 11Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 2 5 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13h15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 20a2 2 0 1 1-4 0c0-1.6 1.7-2.4 2-4 .3 1.6 2 2.4 2 4Z\"}}]})(props);\n};\nexport function LuPaintbrush2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19.9V16h3a2 2 0 0 0 2-2v-2H5v2c0 1.1.9 2 2 2h3v3.9a2 2 0 1 0 4 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12V2h12v10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2v2\"}}]})(props);\n};\nexport function LuPaintbrush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.37 2.63 14 7l-1.59-1.59a2 2 0 0 0-2.82 0L8 7l9 9 1.59-1.59a2 2 0 0 0 0-2.82L17 10l4.37-4.37a2.12 2.12 0 1 0-3-3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 8c-2 3-4 3.5-7 4l8 10c2-1 6-5 6-7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 17.5 4.5 15\"}}]})(props);\n};\nexport function LuPalette (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"13.5\",\"cy\":\"6.5\",\"r\":\".5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"10.5\",\"r\":\".5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"7.5\",\"r\":\".5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6.5\",\"cy\":\"12.5\",\"r\":\".5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z\"}}]})(props);\n};\nexport function LuPalmtree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14\"}}]})(props);\n};\nexport function LuPanelBottomClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"15\",\"y2\":\"15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 8-3 3-3-3\"}}]})(props);\n};\nexport function LuPanelBottomInactive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 15h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 15h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 15h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15h1\"}}]})(props);\n};\nexport function LuPanelBottomOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"15\",\"y2\":\"15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 10 3-3 3 3\"}}]})(props);\n};\nexport function LuPanelBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"15\",\"y2\":\"15\"}}]})(props);\n};\nexport function LuPanelLeftClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3v18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 15-3-3 3-3\"}}]})(props);\n};\nexport function LuPanelLeftInactive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 14v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 19v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9v1\"}}]})(props);\n};\nexport function LuPanelLeftOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3v18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 9 3 3-3 3\"}}]})(props);\n};\nexport function LuPanelLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"9\",\"y1\":\"3\",\"y2\":\"21\"}}]})(props);\n};\nexport function LuPanelRightClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15\",\"y1\":\"3\",\"y2\":\"21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 9 3 3-3 3\"}}]})(props);\n};\nexport function LuPanelRightInactive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 14v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 19v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9v1\"}}]})(props);\n};\nexport function LuPanelRightOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15\",\"y1\":\"3\",\"y2\":\"21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 15-3-3 3-3\"}}]})(props);\n};\nexport function LuPanelRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15\",\"y1\":\"3\",\"y2\":\"21\"}}]})(props);\n};\nexport function LuPanelTopClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 16 3-3 3 3\"}}]})(props);\n};\nexport function LuPanelTopInactive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 9h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 9h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9h1\"}}]})(props);\n};\nexport function LuPanelTopOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 14-3 3-3-3\"}}]})(props);\n};\nexport function LuPanelTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"9\",\"y2\":\"9\"}}]})(props);\n};\nexport function LuPaperclip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48\"}}]})(props);\n};\nexport function LuParentheses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21s-4-3-4-9 4-9 4-9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3s4 3 4 9-4 9-4 9\"}}]})(props);\n};\nexport function LuParkingCircleOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 5 14 14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 13a3 3 0 1 0 0-6H9v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 17v-2.34\"}}]})(props);\n};\nexport function LuParkingCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 17V7h4a3 3 0 0 1 0 6H9\"}}]})(props);\n};\nexport function LuParkingSquareOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8.7V19a2 2 0 0 0 2 2h10.3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 20 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 13a3 3 0 1 0 0-6H9v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 17v-2.3\"}}]})(props);\n};\nexport function LuParkingSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 17V7h4a3 3 0 0 1 0 6H9\"}}]})(props);\n};\nexport function LuPartyPopper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.8 11.3 2 22l10.7-3.79\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 8h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 20h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12v0c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11v0c-.11.7-.72 1.22-1.43 1.22H17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98v0C9.52 4.9 9 5.52 9 6.23V7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z\"}}]})(props);\n};\nexport function LuPauseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"10\",\"y1\":\"15\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"x2\":\"14\",\"y1\":\"15\",\"y2\":\"9\"}}]})(props);\n};\nexport function LuPauseOctagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 15V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 15V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.714 2h8.572L22 7.714v8.572L16.286 22H7.714L2 16.286V7.714L7.714 2z\"}}]})(props);\n};\nexport function LuPause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"16\",\"x\":\"6\",\"y\":\"4\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"16\",\"x\":\"14\",\"y\":\"4\"}}]})(props);\n};\nexport function LuPcCase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"20\",\"x\":\"5\",\"y\":\"2\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 14h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 10h6\"}}]})(props);\n};\nexport function LuPenLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20h9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z\"}}]})(props);\n};\nexport function LuPenSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4Z\"}}]})(props);\n};\nexport function LuPenTool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 19 7-7 3 3-7 7-3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 13-1.5-7.5L2 2l3.5 14.5L13 18l5-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 7.586 7.586\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"2\"}}]})(props);\n};\nexport function LuPen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z\"}}]})(props);\n};\nexport function LuPencilLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20h9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 5 3 3\"}}]})(props);\n};\nexport function LuPencilRuler (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m15 5 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 6 2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 22 5.5-1.5L21.17 6.83a2.82 2.82 0 0 0-4-4L3.5 16.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 16 2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 11 4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17\"}}]})(props);\n};\nexport function LuPencil (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 5 4 4\"}}]})(props);\n};\nexport function LuPercent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"5\",\"y1\":\"5\",\"y2\":\"19\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6.5\",\"cy\":\"6.5\",\"r\":\"2.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"17.5\",\"r\":\"2.5\"}}]})(props);\n};\nexport function LuPersonStanding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"5\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 20 3-6 3 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6 8 6 2 6-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10v4\"}}]})(props);\n};\nexport function LuPhoneCall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.05 2a9 9 0 0 1 8 7.94\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.05 6A5 5 0 0 1 18 10\"}}]})(props);\n};\nexport function LuPhoneForwarded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"18 2 22 6 18 10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"x2\":\"22\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}}]})(props);\n};\nexport function LuPhoneIncoming (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 2 16 8 22 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"16\",\"y1\":\"2\",\"y2\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}}]})(props);\n};\nexport function LuPhoneMissed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"16\",\"y1\":\"2\",\"y2\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}}]})(props);\n};\nexport function LuPhoneOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"2\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuPhoneOutgoing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"22 8 22 2 16 2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"22\",\"y1\":\"8\",\"y2\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}}]})(props);\n};\nexport function LuPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}}]})(props);\n};\nexport function LuPiSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7v10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 17a2 2 0 0 1-2-2V7\"}}]})(props);\n};\nexport function LuPi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"9\",\"y1\":\"4\",\"y2\":\"20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 7c0-1.7 1.3-3 3-3h13\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 20c-1.7 0-3-1.3-3-3V4\"}}]})(props);\n};\nexport function LuPictureInPicture2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"10\",\"height\":\"7\",\"x\":\"12\",\"y\":\"13\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuPictureInPicture (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.5v5H3m-1-6 6 6m13 0v-3c0-1.16-.84-2-2-2h-7m-9 9v2c0 1.05.95 2 2 2h3\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"10\",\"height\":\"7\",\"x\":\"12\",\"y\":\"13.5\",\"ry\":\"2\"}}]})(props);\n};\nexport function LuPieChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.21 15.89A10 10 0 1 1 8 2.83\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12A10 10 0 0 0 12 2v10z\"}}]})(props);\n};\nexport function LuPiggyBank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 5c-1.5 0-2.8 1.4-3 2-3.5-1.5-11-.3-11 5 0 1.8 0 3 2 4.5V20h4v-2h3v2h4v-4c1-.5 1.7-1 2-2h2v-4h-2c0-1-.5-1.5-1-2h0V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9v1c0 1.1.9 2 2 2h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 11h0\"}}]})(props);\n};\nexport function LuPilcrowSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12H9.5a2.5 2.5 0 0 1 0-5H17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7v10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7v10\"}}]})(props);\n};\nexport function LuPilcrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4H9.5a4.5 4.5 0 0 0 0 9H13\"}}]})(props);\n};\nexport function LuPill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.5 8.5 7 7\"}}]})(props);\n};\nexport function LuPinOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"17\",\"y2\":\"22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V17h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9.34V6h1a2 2 0 0 0 0-4H7.89\"}}]})(props);\n};\nexport function LuPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"17\",\"y2\":\"22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 17h14v-1.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V6h1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4h1v4.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24Z\"}}]})(props);\n};\nexport function LuPipette (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2 22 1-1h3l9-9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 21v-3l9-9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 6 3.4-3.4a2.1 2.1 0 1 1 3 3L18 9l.4.4a2.1 2.1 0 1 1-3 3l-3.8-3.8a2.1 2.1 0 1 1 3-3l.4.4Z\"}}]})(props);\n};\nexport function LuPizza (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 11h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 15h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 16 20 6-6-20A20 20 0 0 0 2 16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.71 17.11a17.04 17.04 0 0 1 11.4-11.4\"}}]})(props);\n};\nexport function LuPlaneLanding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 22h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.77 10.77 2 9l2-4.5 1.1.55c.55.28.9.84.9 1.45s.35 1.17.9 1.45L8 8.5l3-6 1.05.53a2 2 0 0 1 1.09 1.52l.72 5.4a2 2 0 0 0 1.09 1.52l4.4 2.2c.42.22.78.55 1.01.96l.6 1.03c.49.88-.06 1.98-1.06 2.1l-1.18.15c-.47.06-.95-.02-1.37-.24L4.29 11.15a2 2 0 0 1-.52-.38Z\"}}]})(props);\n};\nexport function LuPlaneTakeoff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 22h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z\"}}]})(props);\n};\nexport function LuPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z\"}}]})(props);\n};\nexport function LuPlayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"10 8 16 12 10 16 10 8\"}}]})(props);\n};\nexport function LuPlaySquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 8 6 4-6 4Z\"}}]})(props);\n};\nexport function LuPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"5 3 19 12 5 21 5 3\"}}]})(props);\n};\nexport function LuPlug2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 11V8h12v3a6 6 0 1 1-12 0v0Z\"}}]})(props);\n};\nexport function LuPlugZap2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13 2-2 2.5h3L12 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 14v-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14v-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19c-1.7 0-3-1.3-3-3v-2h8v2c0 1.7-1.3 3-3 3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22v-3\"}}]})(props);\n};\nexport function LuPlugZap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 22 3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 13.5 10 11\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 16.5 13 14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 3-4 4h6l-4 4\"}}]})(props);\n};\nexport function LuPlug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22v-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 8V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 8V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z\"}}]})(props);\n};\nexport function LuPlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v8\"}}]})(props);\n};\nexport function LuPlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v8\"}}]})(props);\n};\nexport function LuPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5v14\"}}]})(props);\n};\nexport function LuPocketKnife (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2v1c0 1 2 1 2 2S3 6 3 7s2 1 2 2-2 1-2 2 2 1 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.83 8.83a4 4 0 0 0-5.66-5.66l-12 12a4 4 0 1 0 5.66 5.66Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11.66V22a4 4 0 0 0 4-4V6\"}}]})(props);\n};\nexport function LuPocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 10 12 14 16 10\"}}]})(props);\n};\nexport function LuPodcast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"11\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 17a1 1 0 0 1 2 0c0 .5-.34 3-.5 4.5a.5.5 0 0 1-1 0c-.16-1.5-.5-4-.5-4.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14a5 5 0 1 1 8 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 18.5a9 9 0 1 0-10 0\"}}]})(props);\n};\nexport function LuPointer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 14a8 8 0 0 1-8 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11v-1a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10V9a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 9.5V4a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15\"}}]})(props);\n};\nexport function LuPopcorn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8a2 2 0 0 0 0-4 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0 0 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 22 9 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 22 1-14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 8c.5 0 .9.4.8 1l-2.6 12c-.1.5-.7 1-1.2 1H7c-.6 0-1.1-.4-1.2-1L3.2 9c-.1-.6.3-1 .8-1Z\"}}]})(props);\n};\nexport function LuPopsicle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.6 14.4c.8-.8.8-2 0-2.8l-8.1-8.1a4.95 4.95 0 1 0-7.1 7.1l8.1 8.1c.9.7 2.1.7 2.9-.1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 22-5.5-5.5\"}}]})(props);\n};\nexport function LuPoundSterling (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7c0-5.333-8-5.333-8 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7v14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 21h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13h10\"}}]})(props);\n};\nexport function LuPowerOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.36 6.64A9 9 0 0 1 20.77 15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.16 6.16a9 9 0 1 0 12.68 12.68\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 20 20\"}}]})(props);\n};\nexport function LuPower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.36 6.64a9 9 0 1 1-12.73 0\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"2\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuPresentation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 21 5-5 5 5\"}}]})(props);\n};\nexport function LuPrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"6 9 6 2 18 2 18 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"12\",\"height\":\"8\",\"x\":\"6\",\"y\":\"14\"}}]})(props);\n};\nexport function LuProjector (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7 3 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6V3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 7 2-2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"13\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.83 12H20a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16h2\"}}]})(props);\n};\nexport function LuPuzzle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 0 1-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 1 0-3.214 3.214c.446.166.855.497.925.968a.979.979 0 0 1-.276.837l-1.61 1.61a2.404 2.404 0 0 1-1.705.707 2.402 2.402 0 0 1-1.704-.706l-1.568-1.568a1.026 1.026 0 0 0-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 1 1-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 0 0-.289-.877l-1.568-1.568A2.402 2.402 0 0 1 1.998 12c0-.617.236-1.234.706-1.704L4.23 8.77c.24-.24.581-.353.917-.303.515.077.877.528 1.073 1.01a2.5 2.5 0 1 0 3.259-3.259c-.482-.196-.933-.558-1.01-1.073-.05-.336.062-.676.303-.917l1.525-1.525A2.402 2.402 0 0 1 12 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 1 1 3.237 3.237c-.464.18-.894.527-.967 1.02Z\"}}]})(props);\n};\nexport function LuQrCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"5\",\"height\":\"5\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"5\",\"height\":\"5\",\"x\":\"16\",\"y\":\"3\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"5\",\"height\":\"5\",\"x\":\"3\",\"y\":\"16\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16h-3a2 2 0 0 0-2 2v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 21v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7v3a2 2 0 0 1-2 2H7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 21v-1\"}}]})(props);\n};\nexport function LuQuote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z\"}}]})(props);\n};\nexport function LuRadar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.07 4.93A10 10 0 0 0 6.99 3.34\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.29 9.62A10 10 0 1 0 21.31 8.35\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.24 7.76A6 6 0 1 0 8.23 16.67\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.99 11.66A6 6 0 0 1 15.77 16.67\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13.41 10.59 5.66-5.66\"}}]})(props);\n};\nexport function LuRadiation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12h0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 4.2c-.3-.5-.9-.7-1.3-.4C3.9 5.5 2.3 8.1 2 11c-.1.5.4 1 1 1h5c0-1.5.8-2.8 2-3.4-1.1-1.9-2-3.5-2.5-4.4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12c.6 0 1-.4 1-1-.3-2.9-1.8-5.5-4.1-7.1-.4-.3-1.1-.2-1.3.3-.6.9-1.5 2.5-2.6 4.3 1.2.7 2 2 2 3.5h5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 19.8c-.3.5-.1 1.1.4 1.3 2.6 1.2 5.6 1.2 8.2 0 .5-.2.7-.8.4-1.3-.5-.9-1.4-2.5-2.5-4.3-1.2.7-2.8.7-4 0-1.1 1.8-2 3.4-2.5 4.3z\"}}]})(props);\n};\nexport function LuRadioReceiver (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 16v2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"8\",\"x\":\"2\",\"y\":\"8\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 12h0\"}}]})(props);\n};\nexport function LuRadioTower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.9 16.1C1 12.2 1 5.8 4.9 1.9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.8 4.7a6.14 6.14 0 0 0-.8 7.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"9\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.2 4.8c2 2 2.26 5.11.8 7.47\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.1 1.9a9.96 9.96 0 0 1 0 14.1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 18h5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 22 4-11 4 11\"}}]})(props);\n};\nexport function LuRadio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.9 19.1C1 15.2 1 8.8 4.9 4.9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.1 4.9C23 8.8 23 15.1 19.1 19\"}}]})(props);\n};\nexport function LuRainbow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 17a10 10 0 0 0-20 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 17a6 6 0 0 1 12 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 17a2 2 0 0 1 4 0\"}}]})(props);\n};\nexport function LuRat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 5c0-1.7-1.3-3-3-3s-3 1.3-3 3c0 .8.3 1.5.8 2H11c-3.9 0-7 3.1-7 7v0c0 2.2 1.8 4 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.8 3.9c.3-.3.6-.5 1-.7 1.5-.6 3.3.1 3.9 1.6.6 1.5-.1 3.3-1.6 3.9l1.6 2.8c.2.3.2.7.2 1-.2.8-.9 1.2-1.7 1.1 0 0-1.6-.3-2.7-.6H17c-1.7 0-3 1.3-3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.2 18a3 3 0 0 0-2.2-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 22H4a2 2 0 0 1 0-4h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 9h.01\"}}]})(props);\n};\nexport function LuRatio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"12\",\"height\":\"20\",\"x\":\"6\",\"y\":\"2\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"12\",\"x\":\"2\",\"y\":\"6\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuReceipt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1-2-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17V7\"}}]})(props);\n};\nexport function LuRectangleHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"12\",\"x\":\"2\",\"y\":\"6\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuRectangleVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"12\",\"height\":\"20\",\"x\":\"6\",\"y\":\"2\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuRecycle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 16-3 3 3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.293 13.596 7.196 9.5 3.1 10.598\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13.378 9.633 4.096 1.098 1.097-4.096\"}}]})(props);\n};\nexport function LuRedo2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m15 14 5-5-5-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 9H9.5A5.5 5.5 0 0 0 4 14.5v0A5.5 5.5 0 0 0 9.5 20H13\"}}]})(props);\n};\nexport function LuRedoDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"17\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 7v6h-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7\"}}]})(props);\n};\nexport function LuRedo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 7v6h-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7\"}}]})(props);\n};\nexport function LuRefreshCcwDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2v6h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12A9 9 0 0 0 6 5.3L3 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 22v-6h-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12a9 9 0 0 0 15 6.7l3-2.7\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1\"}}]})(props);\n};\nexport function LuRefreshCcw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v5h5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16h5v5\"}}]})(props);\n};\nexport function LuRefreshCwOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 8L18.74 5.74A9.75 9.75 0 0 0 12 3C11 3 10.03 3.16 9.13 3.47\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16H3v5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12C3 9.51 4 7.26 5.64 5.64\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 16 2.26 2.26A9.75 9.75 0 0 0 12 21c2.49 0 4.74-1 6.36-2.64\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12c0 1-.16 1.97-.47 2.87\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3v5h-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 22 2 2\"}}]})(props);\n};\nexport function LuRefreshCw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3v5h-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16H3v5\"}}]})(props);\n};\nexport function LuRefrigerator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7v6\"}}]})(props);\n};\nexport function LuRegex (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3v10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12.67 5.5 8.66 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12.67 10.5 8.66-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z\"}}]})(props);\n};\nexport function LuRemoveFormatting (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 7V4h16v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 20h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4 8 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 15 5 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m20 15-5 5\"}}]})(props);\n};\nexport function LuRepeat1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m17 2 4 4-4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11v-1a4 4 0 0 1 4-4h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 22-4-4 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 13v1a4 4 0 0 1-4 4H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 10h1v4\"}}]})(props);\n};\nexport function LuRepeat2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2 9 3-3 3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 18H7a2 2 0 0 1-2-2V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 15-3 3-3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6h6a2 2 0 0 1 2 2v10\"}}]})(props);\n};\nexport function LuRepeat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m17 2 4 4-4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11v-1a4 4 0 0 1 4-4h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7 22-4-4 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 13v1a4 4 0 0 1-4 4H3\"}}]})(props);\n};\nexport function LuReplaceAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4c0-1.1.9-2 2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2c1.1 0 2 .9 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 8c0 1.1-.9 2-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10c-1.1 0-2-.9-2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 7 3 3 3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10V5c0-1.7 1.3-3 3-3h1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"8\",\"x\":\"2\",\"y\":\"14\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 14c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2\"}}]})(props);\n};\nexport function LuReplace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4c0-1.1.9-2 2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2c1.1 0 2 .9 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 8c0 1.1-.9 2-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10c-1.1 0-2-.9-2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 7 3 3 3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10V5c0-1.7 1.3-3 3-3h1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"8\",\"x\":\"2\",\"y\":\"14\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuReplyAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"7 17 2 12 7 7\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 17 7 12 12 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 18v-2a4 4 0 0 0-4-4H7\"}}]})(props);\n};\nexport function LuReply (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 17 4 12 9 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 18v-2a4 4 0 0 0-4-4H4\"}}]})(props);\n};\nexport function LuRewind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"11 19 2 12 11 5 11 19\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"22 19 13 12 22 5 22 19\"}}]})(props);\n};\nexport function LuRocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5\"}}]})(props);\n};\nexport function LuRockingChair (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"3.5 2 6.5 12.5 18 12.5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9.5\",\"x2\":\"5.5\",\"y1\":\"12.5\",\"y2\":\"20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"18.5\",\"y1\":\"12.5\",\"y2\":\"20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.75 18a13 13 0 0 0 18.5 0\"}}]})(props);\n};\nexport function LuRollerCoaster (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 19V5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 19V6.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19v-7.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 5v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 19v-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 19V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 19V9a4 4 0 0 1 4-4c2 0 4 1.33 6 4s4 4 6 4a4 4 0 1 0-3-6.65\"}}]})(props);\n};\nexport function LuRotate3D (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.466 7.5C15.643 4.237 13.952 2 12 2 9.239 2 7 6.477 7 12s2.239 10 5 10c.342 0 .677-.069 1-.2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15.194 13.707 3.814 1.86-1.86 3.814\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 15.57c-1.804.885-4.274 1.43-7 1.43-5.523 0-10-2.239-10-5s4.477-5 10-5c4.838 0 8.873 1.718 9.8 4\"}}]})(props);\n};\nexport function LuRotateCcw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v5h5\"}}]})(props);\n};\nexport function LuRotateCw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3v5h-5\"}}]})(props);\n};\nexport function LuRouter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"8\",\"x\":\"2\",\"y\":\"14\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.01 18H6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.01 18H10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 10v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.84 7.17a4 4 0 0 0-5.66 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.66 4.34a8 8 0 0 0-11.31 0\"}}]})(props);\n};\nexport function LuRows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuRss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11a9 9 0 0 1 9 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a16 16 0 0 1 16 16\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"19\",\"r\":\"1\"}}]})(props);\n};\nexport function LuRuler (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.5 12.5 2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m11.5 9.5 2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.5 6.5 2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.5 15.5 2-2\"}}]})(props);\n};\nexport function LuRussianRuble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 11c5.333 0 5.333-8 0-8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 11h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 15h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 21V3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3h5\"}}]})(props);\n};\nexport function LuSailboat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 18H2a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 14 10 2 3 14h18Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2v16\"}}]})(props);\n};\nexport function LuSalad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 21h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.38 12a2.4 2.4 0 0 1-.4-4.77 2.4 2.4 0 0 1 3.2-2.77 2.4 2.4 0 0 1 3.47-.63 2.4 2.4 0 0 1 3.37 3.37 2.4 2.4 0 0 1-1.1 3.7 2.51 2.51 0 0 1 .03 1.1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 12 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.9 7.25A3.99 3.99 0 0 0 4 10c0 .73.2 1.41.54 2\"}}]})(props);\n};\nexport function LuSandwich (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11v3a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3.83\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 11 7.77-6.04a2 2 0 0 1 2.46 0L21 11H3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.97 19.77 7 15h12.5l-3.75 4.5a2 2 0 0 1-2.78.27Z\"}}]})(props);\n};\nexport function LuSatelliteDish (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10a7.31 7.31 0 0 0 10 10Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 15 3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 13a6 6 0 0 0-6-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 13A10 10 0 0 0 11 3\"}}]})(props);\n};\nexport function LuSatellite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7 9 3 5 7l4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 11 4 4-4 4-4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 12 4 4 6-6-4-4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 8 3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 21a6 6 0 0 0-6-6\"}}]})(props);\n};\nexport function LuSaveAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4a2 2 0 0 1 2-2h10l4 4v10.2a2 2 0 0 1-2 1.8H8a2 2 0 0 1-2-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2v4h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 18v-7h-8v7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 22H4a2 2 0 0 1-2-2V6\"}}]})(props);\n};\nexport function LuSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 21 17 13 7 13 7 21\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"7 3 7 8 15 8\"}}]})(props);\n};\nexport function LuScale3D (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"19\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"5\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7v12h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 19 6-6\"}}]})(props);\n};\nexport function LuScale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 21h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2\"}}]})(props);\n};\nexport function LuScaling (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3 9 15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3H3v18h18v-9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3h5v5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 15H9v-5\"}}]})(props);\n};\nexport function LuScanFace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7V5a2 2 0 0 1 2-2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h2a2 2 0 0 1 2 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 17v2a2 2 0 0 1-2 2h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 21H5a2 2 0 0 1-2-2v-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14s1.5 2 4 2 4-2 4-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9h.01\"}}]})(props);\n};\nexport function LuScanLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7V5a2 2 0 0 1 2-2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h2a2 2 0 0 1 2 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 17v2a2 2 0 0 1-2 2h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 21H5a2 2 0 0 1-2-2v-2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"7\",\"x2\":\"17\",\"y1\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuScan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7V5a2 2 0 0 1 2-2h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h2a2 2 0 0 1 2 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 17v2a2 2 0 0 1-2 2h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 21H5a2 2 0 0 1-2-2v-2\"}}]})(props);\n};\nexport function LuScatterChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"7.5\",\"cy\":\"7.5\",\"r\":\".5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18.5\",\"cy\":\"5.5\",\"r\":\".5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11.5\",\"cy\":\"11.5\",\"r\":\".5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"7.5\",\"cy\":\"16.5\",\"r\":\".5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"14.5\",\"r\":\".5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v18h18\"}}]})(props);\n};\nexport function LuSchool2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 20V8h-4l-6-4-6 4H2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 17v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 17v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 13v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 22v-5a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v5\"}}]})(props);\n};\nexport function LuSchool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m4 6 8-4 8 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 10 4 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-8l4-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 22v-4a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 5v17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5v17\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"9\",\"r\":\"2\"}}]})(props);\n};\nexport function LuScissorsLineDashed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.42 9.42 8 12\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"4\",\"cy\":\"8\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 6-8.58 8.58\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"4\",\"cy\":\"16\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.8 14.8 14 18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12h-2\"}}]})(props);\n};\nexport function LuScissorsSquareDashedBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 22H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 22h-2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.414 9.414 12 12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8 14.8 18 18\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"16\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 6-8.586 8.586\"}}]})(props);\n};\nexport function LuScissorsSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"20\",\"x\":\"2\",\"y\":\"2\",\"rx\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.414 9.414 12 12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8 14.8 18 18\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"16\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 6-8.586 8.586\"}}]})(props);\n};\nexport function LuScissors (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.12 8.12 12 12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4 8.12 15.88\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8 14.8 20 20\"}}]})(props);\n};\nexport function LuScreenShareOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 3-5 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 3 5 5\"}}]})(props);\n};\nexport function LuScreenShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 8 5-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h5v5\"}}]})(props);\n};\nexport function LuScrollText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h12a2 2 0 0 0 2-2v-2H10v2a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v3h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 17V5a2 2 0 0 0-2-2H4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 8h-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 12h-5\"}}]})(props);\n};\nexport function LuScroll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h12a2 2 0 0 0 2-2v-2H10v2a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v3h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 17V5a2 2 0 0 0-2-2H4\"}}]})(props);\n};\nexport function LuSearchCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 11 2 2 4-4\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 21-4.3-4.3\"}}]})(props);\n};\nexport function LuSearchCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9 9-2 2 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 13 2-2-2-2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 21-4.3-4.3\"}}]})(props);\n};\nexport function LuSearchSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.5 8.5-5 5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 21-4.3-4.3\"}}]})(props);\n};\nexport function LuSearchX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.5 8.5-5 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.5 8.5 5 5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 21-4.3-4.3\"}}]})(props);\n};\nexport function LuSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 21-4.3-4.3\"}}]})(props);\n};\nexport function LuSendHorizonal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3 3 3 9-3 9 19-9Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12h16\"}}]})(props);\n};\nexport function LuSendToBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"14\",\"y\":\"14\",\"width\":\"8\",\"height\":\"8\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"2\",\"width\":\"8\",\"height\":\"8\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14v1a2 2 0 0 0 2 2h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 7h1a2 2 0 0 1 2 2v1\"}}]})(props);\n};\nexport function LuSend (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m22 2-7 20-4-9-9-4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 2 11 13\"}}]})(props);\n};\nexport function LuSeparatorHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 8 12 4 16 8\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 16 12 20 8 16\"}}]})(props);\n};\nexport function LuSeparatorVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"3\",\"y2\":\"21\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 8 4 12 8 16\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 16 20 12 16 8\"}}]})(props);\n};\nexport function LuServerCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 6h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h.01\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12h-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 12H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 9-.88.88\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.88 14.12 9 15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 15-.88-.88\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.88 9.88 9 9\"}}]})(props);\n};\nexport function LuServerCrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 6h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 6-4 6h6l-4 6\"}}]})(props);\n};\nexport function LuServerOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 17v-1a2 2 0 0 0-2-2h-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 20 20\"}}]})(props);\n};\nexport function LuServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"8\",\"x\":\"2\",\"y\":\"2\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"8\",\"x\":\"2\",\"y\":\"14\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6.01\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6.01\",\"y1\":\"18\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuSettings2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7h-9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 17H5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17\",\"cy\":\"17\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"7\",\"cy\":\"7\",\"r\":\"3\"}}]})(props);\n};\nexport function LuSettings (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}}]})(props);\n};\nexport function LuShapes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"14\",\"width\":\"7\",\"height\":\"7\",\"rx\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"17.5\",\"r\":\"3.5\"}}]})(props);\n};\nexport function LuShare2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"5\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"19\",\"r\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8.59\",\"x2\":\"15.42\",\"y1\":\"13.51\",\"y2\":\"17.49\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15.41\",\"x2\":\"8.59\",\"y1\":\"6.51\",\"y2\":\"10.49\"}}]})(props);\n};\nexport function LuShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 6 12 2 8 6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"2\",\"y2\":\"15\"}}]})(props);\n};\nexport function LuSheet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"15\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"9\",\"y1\":\"9\",\"y2\":\"21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15\",\"y1\":\"9\",\"y2\":\"21\"}}]})(props);\n};\nexport function LuShieldAlert (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16h.01\"}}]})(props);\n};\nexport function LuShieldCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 12 2 2 4-4\"}}]})(props);\n};\nexport function LuShieldClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9.5\",\"x2\":\"14.5\",\"y1\":\"9\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14.5\",\"x2\":\"9.5\",\"y1\":\"9\",\"y2\":\"14\"}}]})(props);\n};\nexport function LuShieldOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.69 14a6.9 6.9 0 0 0 .31-2V5l-8-3-3.16 1.18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.73 4.73 4 5v7c0 6 8 10 8 10a20.29 20.29 0 0 0 5.62-4.38\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuShieldQuestion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3\"}}]})(props);\n};\nexport function LuShield (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"}}]})(props);\n};\nexport function LuShip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1 .6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.38 20A11.6 11.6 0 0 0 21 14l-9-4-9 4c0 2.9.94 5.34 2.81 7.76\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v3\"}}]})(props);\n};\nexport function LuShirt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.38 3.46 16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z\"}}]})(props);\n};\nexport function LuShoppingBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 6h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10a4 4 0 0 1-8 0\"}}]})(props);\n};\nexport function LuShoppingBasket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m5 11 4-7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 11-4-7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3.5 11 1.6 7.4a2 2 0 0 0 2 1.6h9.8c.9 0 1.8-.7 2-1.6l1.7-7.4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 11 1 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 15.5h15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 11-1 9\"}}]})(props);\n};\nexport function LuShoppingCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"21\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"21\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12\"}}]})(props);\n};\nexport function LuShovel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 22v-5l5-5 5 5-5 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 14.5 16 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 2 5 5-.5.5a3.53 3.53 0 0 1-5 0s0 0 0 0a3.53 3.53 0 0 1 0-5L17 2\"}}]})(props);\n};\nexport function LuShowerHead (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m4 4 2.5 2.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 6.5a4.95 4.95 0 0 0-7 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 5 5 15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 17v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 16v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 13v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 20v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 14v.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11v.01\"}}]})(props);\n};\nexport function LuShrink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m15 15 6 6m-6-6v4.8m0-4.8h4.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 19.8V15m0 0H4.2M9 15l-6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4.2V9m0 0h4.8M15 9l6-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4.2V9m0 0H4.2M9 9 3 3\"}}]})(props);\n};\nexport function LuShrub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22v-7l-2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 8v.8A6 6 0 0 1 13.8 20v0H10v0A6.5 6.5 0 0 1 7 8h0a5 5 0 0 1 10 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 14-2 2\"}}]})(props);\n};\nexport function LuShuffle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 2 4 4-4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6h1.9c1.5 0 2.9.9 3.6 2.2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 14 4 4-4 4\"}}]})(props);\n};\nexport function LuSigmaSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8.9V7H8l4 5-4 5h8v-1.9\"}}]})(props);\n};\nexport function LuSigma (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7V4H6l6 8-6 8h12v-3\"}}]})(props);\n};\nexport function LuSignalHigh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20v-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20v-8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 20V8\"}}]})(props);\n};\nexport function LuSignalLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20v-4\"}}]})(props);\n};\nexport function LuSignalMedium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20v-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20v-8\"}}]})(props);\n};\nexport function LuSignalZero (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20h.01\"}}]})(props);\n};\nexport function LuSignal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20v-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20v-8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 20V8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 4v16\"}}]})(props);\n};\nexport function LuSiren (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12a5 5 0 0 1 5-5v0a5 5 0 0 1 5 5v6H7v-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v2H5v-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 4.5 18 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.929 4.929.707.707\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12v6\"}}]})(props);\n};\nexport function LuSkipBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"19 20 9 12 19 4 19 20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"5\",\"x2\":\"5\",\"y1\":\"19\",\"y2\":\"5\"}}]})(props);\n};\nexport function LuSkipForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"5 4 15 12 5 20 5 4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"19\",\"y1\":\"5\",\"y2\":\"19\"}}]})(props);\n};\nexport function LuSkull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"15\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 20v2h8v-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12.5 17-.5-1-.5 1h1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 20a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20\"}}]})(props);\n};\nexport function LuSlack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"3\",\"height\":\"8\",\"x\":\"13\",\"y\":\"2\",\"rx\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 8.5V10h1.5A1.5 1.5 0 1 0 19 8.5\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"3\",\"height\":\"8\",\"x\":\"8\",\"y\":\"14\",\"rx\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 15.5V14H3.5A1.5 1.5 0 1 0 5 15.5\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"3\",\"x\":\"14\",\"y\":\"13\",\"rx\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 19H14v1.5a1.5 1.5 0 1 0 1.5-1.5\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"3\",\"x\":\"2\",\"y\":\"8\",\"rx\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5H10V3.5A1.5 1.5 0 1 0 8.5 5\"}}]})(props);\n};\nexport function LuSlice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 14-6 6h9v-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.37 3.63 8 14l3 3L21.37 6.63a2.12 2.12 0 1 0-3-3Z\"}}]})(props);\n};\nexport function LuSlidersHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"14\",\"y1\":\"4\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"3\",\"y1\":\"4\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"12\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"3\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"16\",\"y1\":\"20\",\"y2\":\"20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"3\",\"y1\":\"20\",\"y2\":\"20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"x2\":\"14\",\"y1\":\"2\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"10\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"18\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuSliders (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"x2\":\"4\",\"y1\":\"21\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"x2\":\"4\",\"y1\":\"10\",\"y2\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"21\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"8\",\"y2\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"20\",\"x2\":\"20\",\"y1\":\"21\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"20\",\"x2\":\"20\",\"y1\":\"12\",\"y2\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"6\",\"y1\":\"14\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"14\",\"y1\":\"8\",\"y2\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"x2\":\"22\",\"y1\":\"16\",\"y2\":\"16\"}}]})(props);\n};\nexport function LuSmartphoneCharging (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"20\",\"x\":\"5\",\"y\":\"2\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.667 8 10 12h4l-2.667 4\"}}]})(props);\n};\nexport function LuSmartphoneNfc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"7\",\"height\":\"12\",\"x\":\"2\",\"y\":\"6\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8.32a7.43 7.43 0 0 1 0 7.36\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.46 6.21a11.76 11.76 0 0 1 0 11.58\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.91 4.1a15.91 15.91 0 0 1 .01 15.8\"}}]})(props);\n};\nexport function LuSmartphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"20\",\"x\":\"5\",\"y\":\"2\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18h.01\"}}]})(props);\n};\nexport function LuSmilePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 11v1a10 10 0 1 1-9-10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14s1.5 2 4 2 4-2 4-2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"9.01\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15.01\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 5h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2v6\"}}]})(props);\n};\nexport function LuSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14s1.5 2 4 2 4-2 4-2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"9.01\",\"y1\":\"9\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"15.01\",\"y1\":\"9\",\"y2\":\"9\"}}]})(props);\n};\nexport function LuSnowflake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"2\",\"y2\":\"22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m20 16-4-4 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4 8 4 4-4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 4-4 4-4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 20 4-4 4 4\"}}]})(props);\n};\nexport function LuSofa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11v5a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v2H6v-2a2 2 0 0 0-4 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 18v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4v9\"}}]})(props);\n};\nexport function LuSoup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 21h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.5 12 22 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62\"}}]})(props);\n};\nexport function LuSpace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1\"}}]})(props);\n};\nexport function LuSpade (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 9c-1.5 1.5-3 3.2-3 5.5A5.5 5.5 0 0 0 7.5 20c1.8 0 3-.5 4.5-2 1.5 1.5 2.7 2 4.5 2a5.5 5.5 0 0 0 5.5-5.5c0-2.3-1.5-4-3-5.5l-7-7-7 7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18v4\"}}]})(props);\n};\nexport function LuSparkle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 3-1.9 5.8a2 2 0 0 1-1.287 1.288L3 12l5.8 1.9a2 2 0 0 1 1.288 1.287L12 21l1.9-5.8a2 2 0 0 1 1.287-1.288L21 12l-5.8-1.9a2 2 0 0 1-1.288-1.287Z\"}}]})(props);\n};\nexport function LuSparkles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 17v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 19h4\"}}]})(props);\n};\nexport function LuSpeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"20\",\"x\":\"4\",\"y\":\"2\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"14\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12.01\",\"y1\":\"6\",\"y2\":\"6\"}}]})(props);\n};\nexport function LuSpellCheck2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6 16 6-12 6 12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 21c1.1 0 1.1-1 2.3-1s1.1 1 2.3 1c1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1\"}}]})(props);\n};\nexport function LuSpellCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6 16 6-12 6 12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 20 2 2 4-4\"}}]})(props);\n};\nexport function LuSpline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"5\",\"r\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"19\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 17A12 12 0 0 1 17 5\"}}]})(props);\n};\nexport function LuSplitSquareHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"4\",\"y2\":\"20\"}}]})(props);\n};\nexport function LuSplitSquareVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"x2\":\"20\",\"y1\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuSplit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3h5v5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3H3v5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 9 6-6\"}}]})(props);\n};\nexport function LuSprayCan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11h.01\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"4\",\"x\":\"15\",\"y\":\"5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 9 2 2v10c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V11l2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 14 8-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13 19 8-2\"}}]})(props);\n};\nexport function LuSprout (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 20c5.5-2.5.8-6.4 3-10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z\"}}]})(props);\n};\nexport function LuSquareAsterisk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.5 14 7-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.5 10 7 4\"}}]})(props);\n};\nexport function LuSquareCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 10-2 2 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 14 2-2-2-2\"}}]})(props);\n};\nexport function LuSquareDashedBottomCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10 10-2 2 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 14 2-2-2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 21h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 21h1\"}}]})(props);\n};\nexport function LuSquareDashedBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 21h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 21h1\"}}]})(props);\n};\nexport function LuSquareDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1\"}}]})(props);\n};\nexport function LuSquareEqual (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14h10\"}}]})(props);\n};\nexport function LuSquareSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"15\",\"y1\":\"15\",\"y2\":\"9\"}}]})(props);\n};\nexport function LuSquareStack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 16c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"8\",\"x\":\"14\",\"y\":\"14\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuSquirrel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6a4 4 0 0 0-4 4 7 7 0 0 0-7 7c0-5 4-5 4-10.5a4.5 4.5 0 1 0-9 0 2.5 2.5 0 0 0 5 0C7 10 3 11 3 17c0 2.8 2.2 5 5 5h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 20c0-1.7 1.3-3 3-3h1a2 2 0 0 0 2-2v-2a4 4 0 0 0-4-4V4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.2 22a3 3 0 0 0-2.2-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 13h.01\"}}]})(props);\n};\nexport function LuStamp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.27 13.73A2.5 2.5 0 0 0 17.5 13h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1.5c0-.66-.26-1.3-.73-1.77Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-3-3c-1.66 0-3 1-3 3s1 2 1 3.5V13\"}}]})(props);\n};\nexport function LuStarHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17.8 5.8 21 7 14.1 2 9.3l7-1L12 2\"}}]})(props);\n};\nexport function LuStarOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.34 8.34 2 9.27l5 4.87L5.82 21 12 17.77 18.18 21l-.59-3.43\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.42 12.76 22 9.27l-6.91-1L12 2l-1.44 2.91\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"}}]})(props);\n};\nexport function LuStepBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"x2\":\"18\",\"y1\":\"20\",\"y2\":\"4\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"14,20 4,12 14,4\"}}]})(props);\n};\nexport function LuStepForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"6\",\"y1\":\"4\",\"y2\":\"20\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"10,4 20,12 10,20\"}}]})(props);\n};\nexport function LuStethoscope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.8 2.3A.3.3 0 1 0 5 2H4a2 2 0 0 0-2 2v5a6 6 0 0 0 6 6v0a6 6 0 0 0 6-6V4a2 2 0 0 0-2-2h-1a.2.2 0 1 0 .3.3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15v1a6 6 0 0 0 6 6v0a6 6 0 0 0 6-6v-4\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"20\",\"cy\":\"10\",\"r\":\"2\"}}]})(props);\n};\nexport function LuSticker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V8.5L15.5 3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3v6h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 16s.8 1 2 1c1.3 0 2-1 2-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13h0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 13h0\"}}]})(props);\n};\nexport function LuStickyNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V8.5L15.5 3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3v6h6\"}}]})(props);\n};\nexport function LuStopCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"6\",\"x\":\"9\",\"y\":\"9\"}}]})(props);\n};\nexport function LuStore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 7v3a2 2 0 0 1-2 2v0a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12v0a2 2 0 0 1-2-2V7\"}}]})(props);\n};\nexport function LuStretchHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"6\",\"x\":\"2\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"6\",\"x\":\"2\",\"y\":\"14\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuStretchVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"20\",\"x\":\"4\",\"y\":\"2\",\"rx\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"6\",\"height\":\"20\",\"x\":\"14\",\"y\":\"2\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuStrikethrough (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4H9a3 3 0 0 0-2.83 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12a4 4 0 0 1 0 8H6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"x2\":\"20\",\"y1\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function LuSubscript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m4 5 8 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 5-8 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 19h-4c0-1.5.44-2 1.5-2.5S20 15.33 20 14c0-.47-.17-.93-.48-1.29a2.11 2.11 0 0 0-2.62-.44c-.42.24-.74.62-.9 1.07\"}}]})(props);\n};\nexport function LuSubtitles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 13h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 13h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10Z\"}}]})(props);\n};\nexport function LuSunDim (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.657 6.343h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.657 17.657h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.343 17.657h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.343 6.343h.01\"}}]})(props);\n};\nexport function LuSunMedium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18.364 5.636-.707.707\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.343 17.657-.707.707\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5.636 5.636.707.707\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.657 17.657.707.707\"}}]})(props);\n};\nexport function LuSunMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a2 2 0 1 0 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.93 4.93 1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.66 17.66 1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.34 17.66-1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19.07 4.93-1.41 1.41\"}}]})(props);\n};\nexport function LuSunSnow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 9a3 3 0 1 0 0 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 21V3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 4V3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 21v-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3.64 18.36.7-.7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.34 6.34-.7-.7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 4-3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 17 3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 15-3-3 3-3\"}}]})(props);\n};\nexport function LuSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.93 4.93 1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.66 17.66 1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.34 17.66-1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19.07 4.93-1.41 1.41\"}}]})(props);\n};\nexport function LuSunrise (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.93 10.93 1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 18h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19.07 10.93-1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 22H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 6 4-4 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18a4 4 0 0 0-8 0\"}}]})(props);\n};\nexport function LuSunset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.93 10.93 1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 18h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19.07 10.93-1.41 1.41\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 22H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 6-4 4-4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18a4 4 0 0 0-8 0\"}}]})(props);\n};\nexport function LuSuperscript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m4 19 8-8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 19-8-8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12h-4c0-1.5.442-2 1.5-2.5S20 8.334 20 7.002c0-.472-.17-.93-.484-1.29a2.105 2.105 0 0 0-2.617-.436c-.42.239-.738.614-.899 1.06\"}}]})(props);\n};\nexport function LuSwissFranc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 21V3h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 16h9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 9.5h7\"}}]})(props);\n};\nexport function LuSwitchCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 22-3-3 3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6 2 3 3-3 3\"}}]})(props);\n};\nexport function LuSword (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"14.5 17.5 3 6 3 3 6 3 17.5 14.5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"13\",\"x2\":\"19\",\"y1\":\"19\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"20\",\"y1\":\"16\",\"y2\":\"20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"21\",\"y1\":\"21\",\"y2\":\"19\"}}]})(props);\n};\nexport function LuSwords (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"14.5 17.5 3 6 3 3 6 3 17.5 14.5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"13\",\"x2\":\"19\",\"y1\":\"19\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"20\",\"y1\":\"16\",\"y2\":\"20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"21\",\"y1\":\"21\",\"y2\":\"19\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14.5 6.5 18 3 21 3 21 6 17.5 9.5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"5\",\"x2\":\"9\",\"y1\":\"14\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"7\",\"x2\":\"4\",\"y1\":\"17\",\"y2\":\"20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"5\",\"y1\":\"19\",\"y2\":\"21\"}}]})(props);\n};\nexport function LuSyringe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m18 2 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17 7 3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 11 4 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 19-3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 4 6 6\"}}]})(props);\n};\nexport function LuTable2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18\"}}]})(props);\n};\nexport function LuTableProperties (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3v18\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 9H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15H3\"}}]})(props);\n};\nexport function LuTable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v18\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 15h18\"}}]})(props);\n};\nexport function LuTablet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"20\",\"x\":\"4\",\"y\":\"2\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12.01\",\"y1\":\"18\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuTablets (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"7\",\"cy\":\"7\",\"r\":\"5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17\",\"cy\":\"17\",\"r\":\"5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3.46 10.54 7.08-7.08\"}}]})(props);\n};\nexport function LuTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2H2v10l9.29 9.29c.94.94 2.48.94 3.42 0l6.58-6.58c.94-.94.94-2.48 0-3.42L12 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7h.01\"}}]})(props);\n};\nexport function LuTags (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5H2v7l6.29 6.29c.94.94 2.48.94 3.42 0l3.58-3.58c.94-.94.94-2.48 0-3.42L9 5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 9.01V9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 5 6.3 6.3a2.4 2.4 0 0 1 0 3.4L17 19\"}}]})(props);\n};\nexport function LuTally1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v16\"}}]})(props);\n};\nexport function LuTally2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4v16\"}}]})(props);\n};\nexport function LuTally3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4v16\"}}]})(props);\n};\nexport function LuTally4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4v16\"}}]})(props);\n};\nexport function LuTally5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 6 2 18\"}}]})(props);\n};\nexport function LuTarget (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"6\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}}]})(props);\n};\nexport function LuTent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 20 10 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 20 9-16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 20h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 15-3 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 15 3 5\"}}]})(props);\n};\nexport function LuTerminalSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7 11 2-2-2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 13h4\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}}]})(props);\n};\nexport function LuTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"4 17 10 11 4 5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"20\",\"y1\":\"19\",\"y2\":\"19\"}}]})(props);\n};\nexport function LuTestTube2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01v0a2.83 2.83 0 0 1 0-4L17 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 2 6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16H4\"}}]})(props);\n};\nexport function LuTestTube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5h0c-1.4 0-2.5-1.1-2.5-2.5V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 16h-5\"}}]})(props);\n};\nexport function LuTestTubes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2v17.5A2.5 2.5 0 0 1 6.5 22v0A2.5 2.5 0 0 1 4 19.5V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2v17.5a2.5 2.5 0 0 1-2.5 2.5v0a2.5 2.5 0 0 1-2.5-2.5V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2h7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 16H4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 16h-5\"}}]})(props);\n};\nexport function LuTextCursorInput (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4h1a3 3 0 0 1 3 3 3 3 0 0 1 3-3h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 20h-1a3 3 0 0 1-3-3 3 3 0 0 1-3 3H5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 7v10\"}}]})(props);\n};\nexport function LuTextCursor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 22h1a4 4 0 0 0 4-4v-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2h1a4 4 0 0 1 4 4v1\"}}]})(props);\n};\nexport function LuTextQuote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 6H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12v6\"}}]})(props);\n};\nexport function LuTextSelect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a2 2 0 0 0-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3a2 2 0 0 1 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19a2 2 0 0 1-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21a2 2 0 0 1-2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 21h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 21h1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 9v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 14v1\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"7\",\"x2\":\"15\",\"y1\":\"8\",\"y2\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"7\",\"x2\":\"17\",\"y1\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"7\",\"x2\":\"13\",\"y1\":\"16\",\"y2\":\"16\"}}]})(props);\n};\nexport function LuText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 6.1H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12.1H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.1 18H3\"}}]})(props);\n};\nexport function LuThermometerSnowflake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4v16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 9 3 3-3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6 9 9 6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6 18 3-3 1.5 1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z\"}}]})(props);\n};\nexport function LuThermometerSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9a4 4 0 0 0-2 7.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.6 18.4-1.4 1.4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.34 7.34 4.93 5.93\"}}]})(props);\n};\nexport function LuThermometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z\"}}]})(props);\n};\nexport function LuThumbsDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 14V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22h0a3.13 3.13 0 0 1-3-3.88Z\"}}]})(props);\n};\nexport function LuThumbsUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10v12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2h0a3.13 3.13 0 0 1 3 3.88Z\"}}]})(props);\n};\nexport function LuTicket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 17v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 11v2\"}}]})(props);\n};\nexport function LuTimerOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.6 11a8 8 0 0 0 1.7 8.7 8 8 0 0 0 8.7 1.7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.4 7.4a8 8 0 0 1 10.3 1 8 8 0 0 1 .9 10.2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 20 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12v-2\"}}]})(props);\n};\nexport function LuTimerReset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2h4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 17H4v5\"}}]})(props);\n};\nexport function LuTimer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"14\",\"y1\":\"2\",\"y2\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"15\",\"y1\":\"14\",\"y2\":\"11\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"14\",\"r\":\"8\"}}]})(props);\n};\nexport function LuToggleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"12\",\"x\":\"2\",\"y\":\"6\",\"rx\":\"6\",\"ry\":\"6\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"12\",\"r\":\"2\"}}]})(props);\n};\nexport function LuToggleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"12\",\"x\":\"2\",\"y\":\"6\",\"rx\":\"6\",\"ry\":\"6\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"12\",\"r\":\"2\"}}]})(props);\n};\nexport function LuTornado (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8H6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 12H9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16h-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 20H9\"}}]})(props);\n};\nexport function LuTouchpadOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 14h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 14h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20v-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 2 20 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16V6a2 2 0 0 0-2-2H10\"}}]})(props);\n};\nexport function LuTouchpad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"16\",\"x\":\"2\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 14h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20v-6\"}}]})(props);\n};\nexport function LuTowerControl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.2 12.27 20 6H4l1.8 6.27a1 1 0 0 0 .95.73h10.5a1 1 0 0 0 .96-.73Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13v9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 22v-9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 6 1 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 6-1 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2h-2\"}}]})(props);\n};\nexport function LuToyBrick (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"12\",\"x\":\"3\",\"y\":\"8\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8V5c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 8V5c0-.6-.4-1-1-1h-3a1 1 0 0 0-1 1v3\"}}]})(props);\n};\nexport function LuTrain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"16\",\"x\":\"4\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11h16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 19-2 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 22-2-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15h0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 15h0\"}}]})(props);\n};\nexport function LuTrash2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 6h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"x2\":\"10\",\"y1\":\"11\",\"y2\":\"17\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"x2\":\"14\",\"y1\":\"11\",\"y2\":\"17\"}}]})(props);\n};\nexport function LuTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 6h18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2\"}}]})(props);\n};\nexport function LuTreeDeciduous (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 19h8a4 4 0 0 0 3.8-2.8 4 4 0 0 0-1.6-4.5c1-1.1 1-2.7.4-4-.7-1.2-2.2-2-3.6-1.7a3 3 0 0 0-3-3 3 3 0 0 0-3 3c-1.4-.2-2.9.5-3.6 1.7-.7 1.3-.5 2.9.4 4a4 4 0 0 0-1.6 4.5A4 4 0 0 0 8 19Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19v3\"}}]})(props);\n};\nexport function LuTreePine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22v-3\"}}]})(props);\n};\nexport function LuTrees (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10v.2A3 3 0 0 1 8.9 16v0H5v0h0a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 19v3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5\"}}]})(props);\n};\nexport function LuTrello (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"3\",\"height\":\"9\",\"x\":\"7\",\"y\":\"7\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"3\",\"height\":\"5\",\"x\":\"14\",\"y\":\"7\"}}]})(props);\n};\nexport function LuTrendingDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"22 17 13.5 8.5 8.5 13.5 2 7\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 17 22 17 22 11\"}}]})(props);\n};\nexport function LuTrendingUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"22 7 13.5 15.5 8.5 10.5 2 17\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 7 22 7 22 13\"}}]})(props);\n};\nexport function LuTriangleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 18a2 2 0 0 1-2 2H3c-1.1 0-1.3-.6-.4-1.3L20.4 4.3c.9-.7 1.6-.4 1.6.7Z\"}}]})(props);\n};\nexport function LuTriangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\"}}]})(props);\n};\nexport function LuTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 9H4.5a2.5 2.5 0 0 1 0-5H6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9h1.5a2.5 2.5 0 0 0 0-5H18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22h16\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2H6v7a6 6 0 0 0 12 0V2Z\"}}]})(props);\n};\nexport function LuTruck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 17h4V5H2v12h3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 17h2v-3.34a4 4 0 0 0-1.17-2.83L19 9h-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 17h1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"7.5\",\"cy\":\"17.5\",\"r\":\"2.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"17.5\",\"r\":\"2.5\"}}]})(props);\n};\nexport function LuTv2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 21h10\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"3\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuTv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"15\",\"x\":\"2\",\"y\":\"7\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 2 12 7 7 2\"}}]})(props);\n};\nexport function LuTwitch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7\"}}]})(props);\n};\nexport function LuTwitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z\"}}]})(props);\n};\nexport function LuType (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"4 7 4 4 20 4 20 7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"15\",\"y1\":\"20\",\"y2\":\"20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"4\",\"y2\":\"20\"}}]})(props);\n};\nexport function LuUmbrella (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12a10.06 10.06 1 0 0-20 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12v8a2 2 0 0 0 4 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v1\"}}]})(props);\n};\nexport function LuUnderline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4v6a6 6 0 0 0 12 0V4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"x2\":\"20\",\"y1\":\"20\",\"y2\":\"20\"}}]})(props);\n};\nexport function LuUndo2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 14 4 9l5-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5v0a5.5 5.5 0 0 1-5.5 5.5H11\"}}]})(props);\n};\nexport function LuUndoDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"17\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7v6h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13\"}}]})(props);\n};\nexport function LuUndo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7v6h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13\"}}]})(props);\n};\nexport function LuUnfoldHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12h6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 15 3-3-3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5 9-3 3 3 3\"}}]})(props);\n};\nexport function LuUnfoldVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22v-6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12H8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12h-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 19-3 3-3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 5-3-3-3 3\"}}]})(props);\n};\nexport function LuUngroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"6\",\"x\":\"5\",\"y\":\"4\",\"rx\":\"1\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"6\",\"x\":\"11\",\"y\":\"14\",\"rx\":\"1\"}}]})(props);\n};\nexport function LuUnlink2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7h2a5 5 0 0 1 0 10h-2m-6 0H7A5 5 0 0 1 7 7h2\"}}]})(props);\n};\nexport function LuUnlink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"8\",\"y1\":\"2\",\"y2\":\"5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"5\",\"y1\":\"8\",\"y2\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"16\",\"y1\":\"19\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"22\",\"y1\":\"16\",\"y2\":\"16\"}}]})(props);\n};\nexport function LuUnlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"11\",\"x\":\"3\",\"y\":\"11\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11V7a5 5 0 0 1 9.9-1\"}}]})(props);\n};\nexport function LuUnplug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m19 5 3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2 22 3-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 13.5 10 11\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 16.5 13 14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z\"}}]})(props);\n};\nexport function LuUploadCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12v9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 16-4-4-4 4\"}}]})(props);\n};\nexport function LuUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 8 12 3 7 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"3\",\"y2\":\"15\"}}]})(props);\n};\nexport function LuUsb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"10\",\"cy\":\"7\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"4\",\"cy\":\"20\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.7 19.3 19 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21 3-3 1 2 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.26 7.68 5 12l2 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 14 5 2 3.5-3.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m18 12 1-1 1 1-1 1Z\"}}]})(props);\n};\nexport function LuUser2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"8\",\"r\":\"5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 21a8 8 0 1 0-16 0\"}}]})(props);\n};\nexport function LuUserCheck2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19a6 6 0 0 0-12 0\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"9\",\"r\":\"4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 11 18 13 22 9\"}}]})(props);\n};\nexport function LuUserCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"7\",\"r\":\"4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 11 18 13 22 9\"}}]})(props);\n};\nexport function LuUserCircle2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 20a6 6 0 0 0-12 0\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"4\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}]})(props);\n};\nexport function LuUserCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662\"}}]})(props);\n};\nexport function LuUserCog2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19a6 6 0 0 0-12 0\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"9\",\"r\":\"4\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"11\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 8v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 13v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21.6 9.5-.87.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.27 12-.87.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21.6 12.5-.87-.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.27 10-.87-.5\"}}]})(props);\n};\nexport function LuUserCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"7\",\"r\":\"4\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"11\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 8v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 13v1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21.6 9.5-.87.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.27 12-.87.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m21.6 12.5-.87-.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m17.27 10-.87-.5\"}}]})(props);\n};\nexport function LuUserMinus2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19a6 6 0 0 0-12 0\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"9\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"16\",\"y1\":\"11\",\"y2\":\"11\"}}]})(props);\n};\nexport function LuUserMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"7\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"16\",\"y1\":\"11\",\"y2\":\"11\"}}]})(props);\n};\nexport function LuUserPlus2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19a6 6 0 0 0-12 0\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"9\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"19\",\"y1\":\"8\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"16\",\"y1\":\"11\",\"y2\":\"11\"}}]})(props);\n};\nexport function LuUserPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"7\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"x2\":\"19\",\"y1\":\"8\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"16\",\"y1\":\"11\",\"y2\":\"11\"}}]})(props);\n};\nexport function LuUserSquare2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 21a6 6 0 0 0-12 0\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"11\",\"r\":\"4\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuUserSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2\"}}]})(props);\n};\nexport function LuUserX2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19a6 6 0 0 0-12 0\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"9\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"x2\":\"22\",\"y1\":\"8\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"17\",\"y1\":\"8\",\"y2\":\"13\"}}]})(props);\n};\nexport function LuUserX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"7\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"x2\":\"22\",\"y1\":\"8\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"17\",\"y1\":\"8\",\"y2\":\"13\"}}]})(props);\n};\nexport function LuUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"7\",\"r\":\"4\"}}]})(props);\n};\nexport function LuUsers2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19a6 6 0 0 0-12 0\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"9\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 19a6 6 0 0 0-6-6 4 4 0 1 0 0-8\"}}]})(props);\n};\nexport function LuUsers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"7\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 21v-2a4 4 0 0 0-3-3.87\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3.13a4 4 0 0 1 0 7.75\"}}]})(props);\n};\nexport function LuUtensilsCrossed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2.1 21.8 6.4-6.3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 5-7 7\"}}]})(props);\n};\nexport function LuUtensils (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2v20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15V2v0a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7\"}}]})(props);\n};\nexport function LuUtilityPole (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2v20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5h20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 3v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m19 5-7 7-7-7\"}}]})(props);\n};\nexport function LuVariable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21s-4-3-4-9 4-9 4-9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3s4 3 4 9-4 9-4 9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"x2\":\"9\",\"y1\":\"9\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"x2\":\"15\",\"y1\":\"9\",\"y2\":\"15\"}}]})(props);\n};\nexport function LuVegan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a26.6 26.6 0 0 1 10 20c.9-6.82 1.5-9.5 4-14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c4 0 6-2 6-6-4 0-6 2-6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.41 3.6a10 10 0 1 0 3 3\"}}]})(props);\n};\nexport function LuVenetianMask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12a5 5 0 0 0 5 5 8 8 0 0 1 5 2 8 8 0 0 1 5-2 5 5 0 0 0 5-5V7h-5a8 8 0 0 0-5 2 8 8 0 0 0-5-2H2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 11c1.5 0 3 .5 3 2-2 0-3 0-3-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11c-1.5 0-3 .5-3 2 2 0 3 0 3-2Z\"}}]})(props);\n};\nexport function LuVibrateOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2 8 2 2-2 2 2 2-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 8-2 2 2 2-2 2 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8v10c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10.34V6c0-.55-.45-1-1-1h-4.34\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuVibrate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2 8 2 2-2 2 2 2-2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m22 8-2 2 2 2-2 2 2 2\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"14\",\"x\":\"8\",\"y\":\"5\",\"rx\":\"1\"}}]})(props);\n};\nexport function LuVideoOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.66 6H14a2 2 0 0 1 2 2v2.34l1 1L22 8v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2l10 10Z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m22 8-6 4 6 4V8Z\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"14\",\"height\":\"12\",\"x\":\"2\",\"y\":\"6\",\"rx\":\"2\",\"ry\":\"2\"}}]})(props);\n};\nexport function LuVideotape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"20\",\"height\":\"16\",\"x\":\"2\",\"y\":\"4\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8h20\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"14\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"14\",\"r\":\"2\"}}]})(props);\n};\nexport function LuView (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12s2.545-5 7-5c4.454 0 7 5 7 5s-2.546 5-7 5c-4.455 0-7-5-7-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2\"}}]})(props);\n};\nexport function LuVoicemail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"x2\":\"18\",\"y1\":\"16\",\"y2\":\"16\"}}]})(props);\n};\nexport function LuVolume1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.54 8.46a5 5 0 0 1 0 7.07\"}}]})(props);\n};\nexport function LuVolume2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.54 8.46a5 5 0 0 1 0 7.07\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.07 4.93a10 10 0 0 1 0 14.14\"}}]})(props);\n};\nexport function LuVolumeX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"x2\":\"16\",\"y1\":\"9\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"x2\":\"22\",\"y1\":\"9\",\"y2\":\"15\"}}]})(props);\n};\nexport function LuVolume (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"}}]})(props);\n};\nexport function LuVote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9 12 2 2 4-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 19H2\"}}]})(props);\n};\nexport function LuWallet2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 14h.01\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14\"}}]})(props);\n};\nexport function LuWalletCards (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11h3c.8 0 1.6.3 2.1.9l1.1.9c1.6 1.6 4.1 1.6 5.7 0l1.1-.9c.5-.5 1.3-.9 2.1-.9H21\"}}]})(props);\n};\nexport function LuWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12V7H5a2 2 0 0 1 0-4h14v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5v14a2 2 0 0 0 2 2h16v-5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 12a2 2 0 0 0 0 4h4v-4Z\"}}]})(props);\n};\nexport function LuWallpaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"9\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17v4\"}}]})(props);\n};\nexport function LuWand2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 7 3 3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 14v4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2v2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8H3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16h-4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 3H9\"}}]})(props);\n};\nexport function LuWand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4V2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 16v-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 9h2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.8 11.8 19 13\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9h0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.8 6.2 19 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3 21 9-9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.2 6.2 11 5\"}}]})(props);\n};\nexport function LuWarehouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 8.35V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8.35A2 2 0 0 1 3.26 6.5l8-3.2a2 2 0 0 1 1.48 0l8 3.2A2 2 0 0 1 22 8.35Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 14h12\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"12\",\"height\":\"12\",\"x\":\"6\",\"y\":\"10\"}}]})(props);\n};\nexport function LuWatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"6\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 10 12 12 13 13\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05\"}}]})(props);\n};\nexport function LuWaves (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1\"}}]})(props);\n};\nexport function LuWebcam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 22h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22v-4\"}}]})(props);\n};\nexport function LuWebhook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8\"}}]})(props);\n};\nexport function LuWheatOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2 22 10-10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 8-1.17 1.17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 8-.53.53a3.5 3.5 0 0 0 0 4.94L9 15l1.53-1.53c.55-.55.88-1.25.98-1.97\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.91 5.26c.15-.26.34-.51.56-.73L13 3l1.53 1.53a3.5 3.5 0 0 1 .28 4.62\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m16 16-.53.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.49 3.49 0 0 1 1.97-.98\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.74 13.09c.26-.15.51-.34.73-.56L21 11l-1.53-1.53a3.5 3.5 0 0 0-4.62-.28\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuWheat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 22 16 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.47 8.53 9 7l1.53 1.53a3.5 3.5 0 0 1 0 4.94L9 15l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.47 4.53 13 3l1.53 1.53a3.5 3.5 0 0 1 0 4.94L13 11l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.47 13.47 17 15l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.47 9.47 21 11l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L13 11l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z\"}}]})(props);\n};\nexport function LuWholeWord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"7\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 9v6\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 7v8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1\"}}]})(props);\n};\nexport function LuWifiOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 16.5a5 5 0 0 1 7 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8.82a15 15 0 0 1 4.17-2.65\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.66 5c4.01-.36 8.14.9 11.34 3.76\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.85 11.25a10 10 0 0 1 2.22 1.68\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 13a10 10 0 0 1 5.24-2.76\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12.01\",\"y1\":\"20\",\"y2\":\"20\"}}]})(props);\n};\nexport function LuWifi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 13a10 10 0 0 1 14 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 16.5a5 5 0 0 1 7 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8.82a15 15 0 0 1 20 0\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"x2\":\"12.01\",\"y1\":\"20\",\"y2\":\"20\"}}]})(props);\n};\nexport function LuWind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.7 7.7a2.5 2.5 0 1 1 1.8 4.3H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.6 4.6A2 2 0 1 1 11 8H2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.6 19.4A2 2 0 1 0 14 16H2\"}}]})(props);\n};\nexport function LuWineOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 22h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10h3m7 0h-1.343\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15v7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.307 7.307A12.33 12.33 0 0 0 7 10a5 5 0 0 0 7.391 4.391M8.638 2.981C8.75 2.668 8.872 2.34 9 2h6c1.5 4 2 6 2 8 0 .407-.05.809-.145 1.198\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuWine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 22h8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10h10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15v7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z\"}}]})(props);\n};\nexport function LuWorkflow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"8\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11v4a2 2 0 0 0 2 2h4\"}},{\"tag\":\"rect\",\"attr\":{\"width\":\"8\",\"height\":\"8\",\"x\":\"13\",\"y\":\"13\",\"rx\":\"2\"}}]})(props);\n};\nexport function LuWrapText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"21\",\"y1\":\"6\",\"y2\":\"6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12h15a3 3 0 1 1 0 6h-4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 16 14 18 16 20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"x2\":\"10\",\"y1\":\"18\",\"y2\":\"18\"}}]})(props);\n};\nexport function LuWrench (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z\"}}]})(props);\n};\nexport function LuXCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 9-6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 9 6 6\"}}]})(props);\n};\nexport function LuXOctagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 9-6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 9 6 6\"}}]})(props);\n};\nexport function LuXSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m15 9-6 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9 9 6 6\"}}]})(props);\n};\nexport function LuX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6 6 18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6 6 12 12\"}}]})(props);\n};\nexport function LuYoutube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10 15 5-3-5-3z\"}}]})(props);\n};\nexport function LuZapOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"12.41 6.75 13 2 10.57 4.92\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"18.57 12.91 21 10 15.66 10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 8 3 14 12 14 11 22 16 16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"2\",\"y2\":\"22\"}}]})(props);\n};\nexport function LuZap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\"}}]})(props);\n};\nexport function LuZoomIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"16.65\",\"y1\":\"21\",\"y2\":\"16.65\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"11\",\"x2\":\"11\",\"y1\":\"8\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"14\",\"y1\":\"11\",\"y2\":\"11\"}}]})(props);\n};\nexport function LuZoomOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"x2\":\"16.65\",\"y1\":\"21\",\"y2\":\"16.65\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"x2\":\"14\",\"y1\":\"11\",\"y2\":\"11\"}}]})(props);\n};\n","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { SlRefresh, SlLike, SlNote, SlPaperPlane } from \"react-icons/sl\";\nimport { LuDownload } from \"react-icons/lu\";\nimport { saveAs } from 'file-saver';\nimport CalculatorButtons from './CalculatorButtons';\nimport { colors, spacing, commonStyles, layout } from '../styles/globalStyles';\nimport { useCalculator } from '../context/CalculatorContext';\nimport { getCamerasByBrand, getResolutionsForCamera, getCodecsForCameraAndResolution } from '../data/cameraData';\nimport { brands } from '../data/brandData';\n\n// Update chartColors to include all element colors\nconst chartColors = {\n // Background\n background: '#000000', // Black background\n\n // Full Frame Elements\n fullFrame: {\n triangles: '#E0E0E0', // Light gray\n labels: '#FFFFFF', // White\n },\n\n // Safety Crop Elements\n safetyCrop: {\n area: '#A0A0A0', // Medium gray for safety crop area\n triangles: '#990000', // Deep red for triangles\n corners: '#990000', // Deep red for corners\n labels: '#990000', // Deep red for labels\n },\n\n // Aspect Ratio Elements\n aspectRatio: {\n area: '#404040', // Dark gray for outside aspect\n triangles: {\n outline: '#808080', // Dark gray outline\n fill: '#A0A0A0', // Medium gray fill\n },\n labels: '#FFFFFF', // White\n },\n\n // Overlays\n overlays: {\n uhd: {\n border: 'rgba(128, 128, 128, 0.4)', // More subtle gray for border\n corners: '#FF0000', // Keep red corners\n label: 'rgba(128, 128, 128, 0.6)', // More subtle gray for label\n },\n // siemensStars: '#FFFFFF', // White\n siemensStars: '#000000', // Black\n cornerCircles: {\n stroke: '#808080', // Dark gray\n text: '#808080', // Dark gray\n },\n crosshair: '#FF0000', // Red\n },\n\n // Information Text\n info: {\n text: '#000000', // Black\n },\n\n // Watermark\n watermark: 'rgba(255, 255, 255, 0.03)', // Very subtle white\n};\n\n// Add this utility function at the top of the file\nconst debounce = (func, wait) => {\n let timeout;\n return function executedFunction(...args) {\n const later = () => {\n clearTimeout(timeout);\n func(...args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n};\n\n// Add this helper function near the top of the file\nconst isResolutionBelowUHD = (resolution) => {\n const dimensions = resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (dimensions) {\n const width = parseInt(dimensions[1]);\n const height = parseInt(dimensions[2]);\n return width <= 3840 && height <= 2160;\n }\n return false;\n};\n\nconst FramingChartGenerator = ({ addLog }) => {\n const { \n framingChartState, \n setFramingChartState, \n cameraCalcState \n } = useCalculator();\n \n // State for camera selection\n const [availableCameras, setAvailableCameras] = useState([]);\n const [availableResolutions, setAvailableResolutions] = useState([]);\n \n // Refs for wheel events\n const canvasRef = useRef(null);\n const brandRef = useRef(null);\n const cameraRef = useRef(null);\n const resolutionRef = useRef(null);\n \n // Button states\n const [downloadButtonText, setDownloadButtonText] = useState();\n const [shareButtonText, setShareButtonText] = useState();\n const [resetButtonText, setResetButtonText] = useState();\n\n // Add new state for view toggle\n const [showSqueezed, setShowSqueezed] = useState(false);\n\n // Add state for codecs\n const [availableCodecs, setAvailableCodecs] = useState([]);\n\n // Add state for Siemens star image\n const [siemensStarImage, setSiemensStarImage] = useState(null);\n\n // Add state for element visibility\n const [chartElements, setChartElements] = useState({\n fullFrameLabel: true,\n fullFrameTriangles: true,\n safetyCropLabel: true,\n safetyCropTriangles: true,\n safetyCropCorners: true,\n aspectRatioLabel: true,\n aspectRatioTriangles: true,\n siemensStars: true,\n cornerCircles: true,\n uhdOverlay: true,\n infoText: true,\n crosshair: true\n });\n\n // Add state for element groups\n const [elementGroups, setElementGroups] = useState({\n fullFrame: true,\n safetyCrop: true,\n aspectRatio: true,\n overlays: true,\n info: true\n });\n\n // Add to state declarations at the top of the component\n const [customRatio, setCustomRatio] = useState('');\n const [customRatios, setCustomRatios] = useState([]);\n\n // Add this state to track if we're in custom input mode\n const [isCustomInput, setIsCustomInput] = useState(false);\n\n // Update initial state to default to spherical\n const defaultState = {\n brand: 'Sony',\n camera: 'VENICE',\n resolution: '6K 17:9 (6504 x 3192)',\n productionName: 'PROJECT NAME',\n dopName: 'DOP NAME',\n safetyMargin: 5,\n showUhdOverlay: true,\n aspectRatio: '16:9',\n isAnamorphic: false,\n squeezeRatio: '1x (Spherical)',\n };\n\n const [isMobile, setIsMobile] = useState(cameraCalcState.isMobile);\n\n // Add new refs for the wheel handlers\n const safetyMarginRef = useRef(null);\n const aspectRatioRef = useRef(null);\n const lensSqueezeeRef = useRef(null);\n\n // Add new ref for codec\n const codecRef = useRef(null);\n\n // Update the useEffect for wheel event listeners\n useEffect(() => {\n const elements = [\n { ref: brandRef, handler: handleBrandWheel },\n { ref: cameraRef, handler: handleCameraWheel },\n { ref: resolutionRef, handler: handleResolutionWheel },\n { ref: safetyMarginRef, handler: handleSafetyMarginWheel },\n { ref: aspectRatioRef, handler: handleAspectRatioWheel },\n { ref: lensSqueezeeRef, handler: handleLensSqueezeWheel },\n { ref: codecRef, handler: handleCodecWheel }\n ];\n\n elements.forEach(({ ref, handler }) => {\n if (ref.current) {\n ref.current.addEventListener('wheel', handler, { passive: false });\n }\n });\n\n return () => {\n elements.forEach(({ ref, handler }) => {\n if (ref.current) {\n ref.current.removeEventListener('wheel', handler);\n }\n });\n };\n }, [\n framingChartState.brand,\n framingChartState.camera,\n framingChartState.resolution,\n framingChartState.safetyMargin,\n framingChartState.aspectRatio,\n framingChartState.lensSqueeze,\n framingChartState.codec,\n customRatios\n ]);\n\n // Move drawChart definition before the useEffect\n const drawChart = useCallback(() => {\n const canvas = canvasRef.current;\n if (!canvas || !framingChartState.resolution) {\n return;\n }\n\n // Parse resolution from the selected camera resolution string\n const resolutionMatch = framingChartState.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (!resolutionMatch) {\n console.error('Could not parse resolution:', framingChartState.resolution);\n return;\n }\n\n const [, width, height] = resolutionMatch;\n const fullWidth = parseInt(width);\n const fullHeight = parseInt(height);\n\n // Calculate maximum preview dimensions (e.g., 1920px width)\n const MAX_PREVIEW_WIDTH = 1920;\n const scale = Math.min(1, MAX_PREVIEW_WIDTH / fullWidth);\n\n // Set canvas to scaled resolution for preview\n canvas.width = Math.round(fullWidth * scale);\n canvas.height = Math.round(fullHeight * scale);\n\n // Calculate preview size while maintaining aspect ratio\n const container = canvas.parentElement;\n const containerWidth = container.clientWidth;\n \n // Calculate display scale based on container width\n const displayScale = containerWidth / canvas.width;\n const heightAtScale = canvas.height * displayScale;\n\n // Set canvas display size\n canvas.style.width = `${containerWidth}px`;\n canvas.style.height = `${heightAtScale}px`;\n \n // Update container min-height to match canvas\n canvas.parentElement.style.minHeight = 'auto';\n canvas.parentElement.style.height = `${heightAtScale}px`;\n\n // Get squeeze ratio for anamorphic lenses\n const squeezeRatio = parseFloat(framingChartState.lensSqueeze);\n const isAnamorphic = squeezeRatio !== 1;\n const shouldApplySqueeze = isAnamorphic && showSqueezed;\n\n // Draw the chart with original dimensions for calculations but scaled canvas\n const ctx = canvas.getContext('2d');\n ctx.scale(scale, scale);\n drawSingleChart(ctx, fullWidth, fullHeight, shouldApplySqueeze);\n }, [\n framingChartState.resolution,\n framingChartState.lensSqueeze,\n showSqueezed,\n chartElements,\n siemensStarImage,\n framingChartState\n ]);\n\n // Update the Siemens star loading useEffect\n useEffect(() => {\n const img = new Image();\n img.crossOrigin = \"anonymous\";\n img.src = '/Siemens_star.svg';\n img.onload = () => {\n setSiemensStarImage(img);\n if (framingChartState.resolution) {\n drawChart();\n }\n };\n img.onerror = (error) => {\n console.error('Error loading Siemens star image:', error);\n };\n }, [drawChart]);\n\n // Update available cameras when brand changes\n useEffect(() => {\n const cameras = getCamerasByBrand(framingChartState.brand);\n setAvailableCameras(cameras);\n \n if (!cameras.includes(framingChartState.camera)) {\n const newCamera = cameras[0] || '';\n setFramingChartState(prev => ({ \n ...prev, \n camera: newCamera,\n resolution: '' // Reset resolution\n }));\n }\n }, [framingChartState.brand]);\n\n // Update available resolutions when camera changes\n useEffect(() => {\n if (framingChartState.camera) {\n try {\n const resolutions = getResolutionsForCamera(framingChartState.camera);\n setAvailableResolutions(resolutions);\n \n if (!resolutions.includes(framingChartState.resolution)) {\n const newResolution = resolutions[0] || '';\n setFramingChartState(prev => ({ \n ...prev, \n resolution: newResolution\n }));\n }\n } catch (error) {\n console.error('Error getting resolutions:', error);\n setAvailableResolutions([]);\n }\n }\n }, [framingChartState.camera]);\n\n // Update useEffect for codecs when resolution changes\n useEffect(() => {\n if (framingChartState.camera && framingChartState.resolution) {\n try {\n const codecs = getCodecsForCameraAndResolution(framingChartState.camera, framingChartState.resolution);\n setAvailableCodecs(codecs);\n \n if (!codecs.includes(framingChartState.codec)) {\n const newCodec = codecs[0] || '';\n setFramingChartState(prev => ({ \n ...prev, \n codec: newCodec\n }));\n }\n } catch (error) {\n console.error('Error getting codecs:', error);\n setAvailableCodecs([]);\n }\n }\n }, [framingChartState.camera, framingChartState.resolution]);\n\n // Handle input changes\n const handleInputChange = (e) => {\n const { name, value } = e.target;\n \n // List of parameters that should trigger a redraw\n const redrawParams = [\n 'brand', 'camera', 'resolution', 'aspectRatio', \n 'safetyMargin', 'lensSqueeze', 'showUhdOverlay'\n ];\n \n if (redrawParams.includes(name)) {\n setFramingChartState(prevData => ({\n ...prevData,\n [name]: name === 'safetyMargin' ? Number(value) : value\n }));\n \n // Reset dependent fields if necessary\n if (name === 'brand') {\n setFramingChartState(prevData => ({\n ...prevData,\n camera: '',\n resolution: ''\n }));\n } else if (name === 'camera') {\n setFramingChartState(prevData => ({\n ...prevData,\n resolution: ''\n }));\n }\n } else {\n // Handle other inputs that don't need immediate redraw\n setFramingChartState(prevData => ({\n ...prevData,\n [name]: value\n }));\n }\n };\n\n // Wheel event handlers\n const handleWheel = (e, options, currentValue, setValue) => {\n e.preventDefault();\n const delta = e.deltaY > 0 ? 1 : -1;\n const currentIndex = options.indexOf(currentValue);\n let newIndex = currentIndex + delta;\n \n // Prevent wrapping around\n if (newIndex < 0) newIndex = 0;\n if (newIndex >= options.length) newIndex = options.length - 1;\n \n setValue(options[newIndex]);\n };\n\n const handleBrandWheel = (e) => {\n handleWheel(\n e,\n brands,\n framingChartState.brand,\n (newBrand) => {\n setFramingChartState(prev => ({ ...prev, brand: newBrand }));\n }\n );\n };\n\n const handleCameraWheel = (e) => {\n handleWheel(\n e,\n availableCameras,\n framingChartState.camera,\n (newCamera) => {\n setFramingChartState(prev => ({ ...prev, camera: newCamera }));\n }\n );\n };\n\n const handleResolutionWheel = (e) => {\n handleWheel(\n e,\n availableResolutions,\n framingChartState.resolution,\n (newResolution) => {\n setFramingChartState(prev => ({ ...prev, resolution: newResolution }));\n }\n );\n };\n \n // Add new wheel handlers\n const handleSafetyMarginWheel = (e) => {\n e.preventDefault();\n const safetyMargins = Array.from({length: 21}, (_, i) => i); // 0 to 20\n handleWheel(\n e,\n safetyMargins,\n framingChartState.safetyMargin,\n (newMargin) => {\n setFramingChartState(prev => ({ ...prev, safetyMargin: newMargin }));\n }\n );\n };\n \n const handleAspectRatioWheel = (e) => {\n e.preventDefault();\n const aspectRatios = ['4:3', '16:9', '1.85:1', '2:1', '2.35:1', '2.39:1', '2.40:1', ...customRatios];\n handleWheel(\n e,\n aspectRatios,\n framingChartState.aspectRatio,\n (newRatio) => {\n setFramingChartState(prev => ({ ...prev, aspectRatio: newRatio }));\n }\n );\n };\n \n const handleLensSqueezeWheel = (e) => {\n e.preventDefault();\n const squeezeRatios = ['1.0x', '1.25x', '1.3x', '1.33x', '1.5x', '1.55x', '1.65x', '1.8x', '2.0x'];\n handleWheel(\n e,\n squeezeRatios,\n framingChartState.lensSqueeze,\n (newSqueeze) => {\n setFramingChartState(prev => ({ ...prev, lensSqueeze: newSqueeze }));\n }\n );\n };\n \n\n\n // Touch event handlers\n const handleBrandTouch = (e) => {\n e.preventDefault();\n const select = e.target;\n const currentIndex = select.selectedIndex;\n const options = Array.from(select.options);\n \n let newIndex = currentIndex + 1;\n if (newIndex >= options.length) newIndex = options.length - 1;\n \n setFramingChartState(prev => ({ ...prev, brand: options[newIndex].value }));\n };\n\n const handleCameraTouch = (e) => {\n e.preventDefault();\n const select = e.target;\n const currentIndex = select.selectedIndex;\n const options = Array.from(select.options);\n \n let newIndex = currentIndex + 1;\n if (newIndex >= options.length) newIndex = options.length - 1;\n \n setFramingChartState(prev => ({ ...prev, camera: options[newIndex].value }));\n };\n\n const handleResolutionTouch = (e) => {\n e.preventDefault();\n const select = e.target;\n const currentIndex = select.selectedIndex;\n const options = Array.from(select.options);\n \n let newIndex = currentIndex + 1;\n if (newIndex >= options.length) newIndex = options.length - 1;\n \n setFramingChartState(prev => ({ ...prev, resolution: options[newIndex].value }));\n };\n\n const handleSafetyMarginTouch = (e) => {\n e.preventDefault();\n const select = e.target;\n const currentIndex = select.selectedIndex;\n const options = Array.from(select.options);\n \n let newIndex = currentIndex + 1;\n if (newIndex >= options.length) newIndex = options.length - 1;\n \n setFramingChartState(prev => ({ ...prev, safetyMargin: Number(options[newIndex].value) }));\n };\n\n const handleAspectRatioTouch = (e) => {\n e.preventDefault();\n if (isCustomInput) return; // Skip if in custom input mode\n \n const select = e.target;\n const currentIndex = select.selectedIndex;\n const options = Array.from(select.options);\n \n let newIndex = currentIndex + 1;\n if (newIndex >= options.length - 1) newIndex = options.length - 2; // Skip \"Custom\" option\n \n setFramingChartState(prev => ({ ...prev, aspectRatio: options[newIndex].value }));\n };\n\n const handleLensSqueezeTouch = (e) => {\n e.preventDefault();\n const select = e.target;\n const currentIndex = select.selectedIndex;\n const options = Array.from(select.options);\n \n let newIndex = currentIndex + 1;\n if (newIndex >= options.length) newIndex = options.length - 1;\n \n setFramingChartState(prev => ({ ...prev, lensSqueeze: options[newIndex].value }));\n };\n\n // Add wheel handler for codec\n const handleCodecWheel = (e) => {\n e.preventDefault();\n handleWheel(\n e,\n availableCodecs,\n framingChartState.codec,\n (newCodec) => {\n setFramingChartState(prev => ({ ...prev, codec: newCodec }));\n }\n );\n };\n\n // Add touch handler for codec\n const handleCodecTouch = (e) => {\n e.preventDefault();\n const select = e.target;\n const currentIndex = select.selectedIndex;\n const options = Array.from(select.options);\n \n let newIndex = currentIndex + 1;\n if (newIndex >= options.length) newIndex = options.length - 1;\n \n setFramingChartState(prev => ({ ...prev, codec: options[newIndex].value }));\n };\n\n // Update calculateResolutions function to calculate safety margin within aspect ratio\n const calculateResolutions = (fullWidth, fullHeight, safetyMargin, aspectRatio) => {\n // First calculate aspect ratio dimensions\n let aspectWidth, aspectHeight;\n const [ratioWidth, ratioHeight] = aspectRatio.split(':').map(Number);\n const targetRatio = ratioWidth / ratioHeight;\n \n if (fullWidth / fullHeight > targetRatio) {\n aspectHeight = fullHeight;\n aspectWidth = Math.round(aspectHeight * targetRatio);\n } else {\n aspectWidth = fullWidth;\n aspectHeight = Math.round(aspectWidth / targetRatio);\n }\n\n // Ensure even numbers for aspect and safety dimensions\n aspectWidth = Math.floor(aspectWidth / 2) * 2;\n aspectHeight = Math.floor(aspectHeight / 2) * 2;\n\n const safetyScale = 1 - (safetyMargin / 100);\n let safetyCropWidth = Math.round(aspectWidth * safetyScale);\n let safetyCropHeight = Math.round(aspectHeight * safetyScale);\n \n // Ensure safety dimensions are even\n safetyCropWidth = Math.floor(safetyCropWidth / 2) * 2;\n safetyCropHeight = Math.floor(safetyCropHeight / 2) * 2;\n\n return {\n full: { width: fullWidth, height: fullHeight },\n aspect: { width: aspectWidth, height: aspectHeight },\n safety: { width: safetyCropWidth, height: safetyCropHeight }\n };\n };\n\n // Update drawTriangleMarker to handle preview scaling\n const drawTriangleMarker = (ctx, x, y, direction, color, isDashed = false, fillColor = null, outlineColor = null) => {\n // Get the current transform scale from the context matrix\n const scale = ctx.getTransform().a || 1;\n \n // Calculate size relative to the original canvas dimensions, then adjust for preview scale\n const baseSize = Math.min(ctx.canvas.width / scale, ctx.canvas.height / scale) * 0.02;\n const size = baseSize;\n \n ctx.beginPath();\n ctx.strokeStyle = outlineColor || color;\n ctx.fillStyle = fillColor || color;\n ctx.lineWidth = isDashed ? 4 : 5;\n \n if (isDashed) {\n ctx.setLineDash([10, 10]);\n }\n\n // Increased offset for better alignment with edges\n const offset = isDashed ? 3 : 2;\n \n switch(direction) {\n case 'left':\n ctx.moveTo(x + offset, y);\n ctx.lineTo(x + size + offset, y - size/2);\n ctx.lineTo(x + size + offset, y + size/2);\n break;\n case 'right':\n ctx.moveTo(x - offset, y);\n ctx.lineTo(x - size - offset, y - size/2);\n ctx.lineTo(x - size - offset, y + size/2);\n break;\n case 'top':\n ctx.moveTo(x, y + offset);\n ctx.lineTo(x - size/2, y + size + offset);\n ctx.lineTo(x + size/2, y + size + offset);\n break;\n case 'bottom':\n ctx.moveTo(x, y - offset);\n ctx.lineTo(x - size/2, y - size - offset);\n ctx.lineTo(x + size/2, y - size - offset);\n break;\n }\n\n ctx.closePath();\n ctx.fill();\n ctx.stroke();\n if (isDashed) {\n ctx.setLineDash([]);\n }\n };\n\n // Update drawTriangleMarkers to handle outline color\n const drawTriangleMarkers = (ctx, x1, y1, x2, y2, color, isDashed = false, fillColor = null, direction = null, outlineColor = null, side = null) => {\n // Calculate positions for three triangles\n const positions = [];\n \n // If vertical line\n if (x1 === x2) {\n const height = y2 - y1;\n // Remove the horizontal offset for triangles\n positions.push(\n { x: x1, y: y1 + height * 0.5, direction: direction || (x1 === 0 ? 'left' : 'right') }, // Center\n { x: x1, y: y1 + height * 0.167, direction: direction || (x1 === 0 ? 'left' : 'right') }, // Top third\n { x: x1, y: y1 + height * 0.833, direction: direction || (x1 === 0 ? 'left' : 'right') } // Bottom third\n );\n } \n // If horizontal line\n else {\n const width = x2 - x1;\n positions.push(\n { x: x1 + width * 0.5, y: y1, direction: direction || (y1 === 0 ? 'top' : 'bottom') }, // Center\n { x: x1 + width * 0.167, y: y1, direction: direction || (y1 === 0 ? 'top' : 'bottom') }, // Left third\n { x: x1 + width * 0.833, y: y1, direction: direction || (y1 === 0 ? 'top' : 'bottom') } // Right third\n );\n }\n\n // Draw triangles at calculated positions\n positions.forEach(pos => {\n drawTriangleMarker(ctx, pos.x, pos.y, pos.direction, color, isDashed, fillColor, outlineColor);\n });\n };\n\n // Update the drawLabeledBorder function to remove the white border\n const drawLabeledBorder = (ctx, x, y, width, height, label, color, fontSize, labelPosition = 'below', isDashed = false) => {\n // Only draw the label, remove the border drawing code\n ctx.font = `${fontSize}px monospace`;\n ctx.fillStyle = color;\n ctx.textAlign = 'center';\n ctx.textBaseline = labelPosition === 'below' ? 'top' : 'bottom';\n const labelY = labelPosition === 'below' ? y + height + 5 : y - 5;\n ctx.fillText(label, x + width/2, labelY);\n };\n\n // Update the drawCrosshair function to remove checkmark\n const drawCrosshair = (ctx, centerX, centerY) => {\n const size = Math.min(ctx.canvas.width, ctx.canvas.height) * 0.05;\n const thickness = 5;\n \n ctx.save();\n ctx.strokeStyle = chartColors.overlays.crosshair;\n ctx.lineWidth = thickness;\n \n // Horizontal line\n ctx.beginPath();\n ctx.moveTo(centerX - size, centerY);\n ctx.lineTo(centerX + size, centerY);\n ctx.stroke();\n \n // Vertical line\n ctx.beginPath();\n ctx.moveTo(centerX, centerY - size);\n ctx.lineTo(centerX, centerY + size);\n ctx.stroke();\n \n ctx.restore();\n };\n\n // Add function to draw resolution labels\n const drawResolutionLabels = (ctx, canvasWidth, canvasHeight, resolutionName, dimensions, fontSize) => {\n ctx.save();\n ctx.fillStyle = chartColors.fullFrame.labels;\n ctx.font = `${fontSize}px monospace`;\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n\n // Calculate positions based on triangle spacing\n const centerY = canvasHeight * 0.5;\n const topThirdY = canvasHeight * 0.167;\n const bottomThirdY = canvasHeight * 0.833;\n const edgePadding = fontSize; // Use fontSize as padding to ensure text fits\n\n // Left side labels (reading left to right from bottom to top)\n // Position between middle and bottom triangle\n ctx.save();\n ctx.translate(edgePadding, (centerY + bottomThirdY) / 2);\n ctx.rotate(-Math.PI / 2);\n ctx.fillText(resolutionName, 0, 0);\n ctx.restore();\n\n // Position between middle and top triangle\n ctx.save();\n ctx.translate(edgePadding, (centerY + topThirdY) / 2);\n ctx.rotate(-Math.PI / 2);\n ctx.fillText(dimensions, 0, 0);\n ctx.restore();\n\n // Right side labels (reading left to right from top to bottom)\n // Position between top and middle triangle\n ctx.save();\n ctx.translate(canvasWidth - edgePadding, (centerY + topThirdY) / 2);\n ctx.rotate(Math.PI / 2);\n ctx.fillText(resolutionName, 0, 0);\n ctx.restore();\n\n // Position between middle and bottom triangle\n ctx.save();\n ctx.translate(canvasWidth - edgePadding, (centerY + bottomThirdY) / 2);\n ctx.rotate(Math.PI / 2);\n ctx.fillText(dimensions, 0, 0);\n ctx.restore();\n\n ctx.restore();\n };\n\n // Add function to draw aspect ratio labels\n const drawAspectRatioLabels = (ctx, aspectX, aspectY, aspectWidth, aspectHeight, resolutionName, dimensions, fontSize) => {\n ctx.save();\n ctx.fillStyle = chartColors.aspectRatio.labels;\n ctx.font = `${fontSize}px monospace`;\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n\n // Top label\n // Left side of center triangle\n ctx.fillText(resolutionName, \n aspectX + aspectWidth * 0.25, \n aspectY - fontSize);\n\n // Right side of center triangle\n ctx.fillText(dimensions, \n aspectX + aspectWidth * 0.75, \n aspectY - fontSize);\n\n // Bottom label\n // Left side of center triangle\n ctx.fillText(resolutionName, \n aspectX + aspectWidth * 0.25, \n aspectY + aspectHeight + fontSize);\n\n // Right side of center triangle\n ctx.fillText(dimensions, \n aspectX + aspectWidth * 0.75, \n aspectY + aspectHeight + fontSize);\n\n ctx.restore();\n };\n\n\n // Update drawSingleChart to ensure proper layer order\n const drawSingleChart = (ctx, canvasWidth, canvasHeight, scale, applySqueeze) => {\n // Define fontSize at the very beginning\n const fontSize = Math.min(canvasWidth, canvasHeight) * 0.02;\n\n // Only apply squeeze if we're viewing squeezed chart and have anamorphic lens\n const shouldApplySqueeze = applySqueeze && parseFloat(framingChartState.lensSqueeze) !== 1;\n const squeezeRatio = shouldApplySqueeze ? parseFloat(framingChartState.lensSqueeze) : 1;\n\n // Calculate circle dimensions early\n const circleRadius = Math.min(canvasWidth, canvasHeight) * 0.03;\n const circleInset = circleRadius * 1.667;\n\n // Draw background first\n ctx.fillStyle = chartColors.background;\n ctx.fillRect(0, 0, canvasWidth, canvasHeight);\n\n // Calculate resolutions without squeeze for proper positioning\n const resolutions = calculateResolutions(\n canvasWidth,\n canvasHeight,\n framingChartState.safetyMargin,\n framingChartState.aspectRatio\n );\n\n // Calculate positions without squeeze\n const aspectX = (canvasWidth - resolutions.aspect.width) / 2;\n const aspectY = (canvasHeight - resolutions.aspect.height) / 2;\n const safeX = (canvasWidth - resolutions.safety.width) / 2;\n const safeY = (canvasHeight - resolutions.safety.height) / 2;\n\n\n\n // Fill areas from outside in\n ctx.fillStyle = chartColors.aspectRatio.area;\n ctx.fillRect(0, 0, canvasWidth, canvasHeight);\n \n ctx.fillStyle = chartColors.safetyCrop.area;\n ctx.fillRect(aspectX, aspectY, resolutions.aspect.width, resolutions.aspect.height);\n \n ctx.fillStyle = chartColors.fullFrame.triangles;\n ctx.fillRect(safeX, safeY, resolutions.safety.width, resolutions.safety.height);\n\n ctx.font = `${fontSize * 4}px monospace`;\n ctx.fillStyle = '#D3D3D3';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'bottom';\n const watermarkY = canvasHeight - (safeY + canvasHeight * 0.025);\n ctx.fillText('data-calc.com', canvasWidth / 2, watermarkY);\n\n // Draw safety crop elements only if safety margin is not zero\n if (framingChartState.safetyMargin > 0) {\n const cornerLength = Math.min(resolutions.safety.width, resolutions.safety.height) * 0.075;\n ctx.strokeStyle = chartColors.safetyCrop.corners;\n ctx.lineWidth = 5;\n\n // Top-left corner\n ctx.beginPath();\n ctx.moveTo(safeX, safeY + cornerLength);\n ctx.lineTo(safeX, safeY);\n ctx.lineTo(safeX + cornerLength, safeY);\n ctx.stroke();\n\n // Top-right corner\n ctx.beginPath();\n ctx.moveTo(safeX + resolutions.safety.width - cornerLength, safeY);\n ctx.lineTo(safeX + resolutions.safety.width, safeY);\n ctx.lineTo(safeX + resolutions.safety.width, safeY + cornerLength);\n ctx.stroke();\n\n // Bottom-left corner\n ctx.beginPath();\n ctx.moveTo(safeX, safeY + resolutions.safety.height - cornerLength);\n ctx.lineTo(safeX, safeY + resolutions.safety.height);\n ctx.lineTo(safeX + cornerLength, safeY + resolutions.safety.height);\n ctx.stroke();\n\n // Bottom-right corner\n ctx.beginPath();\n ctx.moveTo(safeX + resolutions.safety.width - cornerLength, safeY + resolutions.safety.height);\n ctx.lineTo(safeX + resolutions.safety.width, safeY + resolutions.safety.height);\n ctx.lineTo(safeX + resolutions.safety.width, safeY + resolutions.safety.height - cornerLength);\n ctx.stroke();\n\n // Draw safety crop triangles\n const safetyColor = chartColors.safetyCrop.triangles;\n \n // Top edge - triangles pointing up\n drawTriangleMarkers(\n ctx,\n safeX,\n safeY,\n safeX + resolutions.safety.width,\n safeY,\n safetyColor,\n false,\n safetyColor,\n 'top',\n safetyColor\n );\n \n // Bottom edge - triangles pointing down\n drawTriangleMarkers(\n ctx,\n safeX,\n safeY + resolutions.safety.height,\n safeX + resolutions.safety.width,\n safeY + resolutions.safety.height,\n safetyColor,\n false,\n safetyColor,\n 'bottom',\n safetyColor\n );\n \n // Left edge - triangles pointing left\n drawTriangleMarkers(\n ctx,\n safeX,\n safeY,\n safeX,\n safeY + resolutions.safety.height,\n safetyColor,\n false,\n safetyColor,\n 'left',\n safetyColor\n );\n \n // Right edge - triangles pointing right\n drawTriangleMarkers(\n ctx,\n safeX + resolutions.safety.width,\n safeY,\n safeX + resolutions.safety.width,\n safeY + resolutions.safety.height,\n safetyColor,\n false,\n safetyColor,\n 'right',\n safetyColor\n );\n\n // Draw safety crop label inside the area\n if (chartElements.safetyCropLabel) {\n ctx.font = `${fontSize * 0.7}px monospace`; // Half the normal font size\n ctx.fillStyle = chartColors.safetyCrop.labels;\n ctx.textAlign = 'center';\n ctx.textBaseline = 'bottom'; // Change to 'bottom' to align with bottom edge\n \n // Position text at the bottom of the safety area\n const textX = safeX + resolutions.safety.width * 0.9330; // Position at 60% of width\n const textY = safeY + resolutions.safety.height - 2; // Position 2 pixels from bottom edge\n ctx.fillText(`Safety Crop - ${framingChartState.safetyMargin}%`, textX, textY);\n }\n }\n\n // Draw labeled borders with labels below\n if (chartElements.fullFrameLabel) {\n drawLabeledBorder(ctx, 0, 0, canvasWidth, canvasHeight, 'Full Frame', chartColors.fullFrame.labels, fontSize);\n }\n\n // Draw aspect ratio triangles\n if (chartElements.aspectRatioTriangles) {\n const triangleColor = chartColors.aspectRatio.triangles;\n \n // Top edge - triangles pointing up\n drawTriangleMarkers(\n ctx,\n aspectX,\n aspectY,\n aspectX + resolutions.aspect.width,\n aspectY,\n triangleColor.outline,\n true,\n triangleColor.fill,\n 'top',\n triangleColor.outline\n );\n \n // Bottom edge - triangles pointing down\n drawTriangleMarkers(\n ctx,\n aspectX,\n aspectY + resolutions.aspect.height,\n aspectX + resolutions.aspect.width,\n aspectY + resolutions.aspect.height,\n triangleColor.outline,\n true,\n triangleColor.fill,\n 'bottom',\n triangleColor.outline\n );\n \n // Left edge - triangles pointing left (but on right side of line)\n drawTriangleMarkers(\n ctx,\n aspectX,\n aspectY,\n aspectX,\n aspectY + resolutions.aspect.height,\n triangleColor.outline,\n true,\n triangleColor.fill,\n 'left', // Changed from 'right' to 'left' to point towards line\n triangleColor.outline,\n 'right' // New parameter to specify which side of the line\n );\n \n // Right edge - triangles pointing right (but on left side of line)\n drawTriangleMarkers(\n ctx,\n aspectX + resolutions.aspect.width,\n aspectY,\n aspectX + resolutions.aspect.width,\n aspectY + resolutions.aspect.height,\n triangleColor.outline,\n true,\n triangleColor.fill,\n 'right', // Changed from 'left' to 'right' to point towards line\n triangleColor.outline,\n 'left' // New parameter to specify which side of the line\n );\n }\n\n // Draw full frame triangles\n if (chartElements.fullFrameTriangles) {\n const triangleColor = chartColors.fullFrame.triangles;\n const outlineColor = '#808080'; // Middle gray outline\n \n // Draw full frame triangles with middle gray outline\n // Top edge\n drawTriangleMarkers(ctx, 0, 0, canvasWidth, 0, triangleColor, false, triangleColor, 'top', outlineColor);\n // Bottom edge\n drawTriangleMarkers(ctx, 0, canvasHeight, canvasWidth, canvasHeight, triangleColor, false, triangleColor, 'bottom', outlineColor);\n // Left edge\n drawTriangleMarkers(ctx, 0, 0, 0, canvasHeight, triangleColor, false, triangleColor, 'left', outlineColor);\n // Right edge\n drawTriangleMarkers(ctx, canvasWidth, 0, canvasWidth, canvasHeight, triangleColor, false, triangleColor, 'right', outlineColor);\n }\n\n // After drawing full frame triangles, add resolution labels\n if (chartElements.fullFrameLabel) {\n // Get resolution name without dimensions\n const resolutionName = framingChartState.resolution.split('(')[0].trim();\n // Get dimensions from resolution string\n const dimensions = framingChartState.resolution.match(/\\(([^)]+)\\)/)[1].trim();\n \n // Draw resolution labels on full frame\n ctx.fillStyle = chartColors.fullFrame.labels;\n ctx.font = `${fontSize}px monospace`;\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n\n // Calculate positions for labels with reduced padding\n const edgePadding = fontSize * 0.75; // Reduced from fontSize * 2\n const centerY = canvasHeight * 0.5;\n \n // Left side labels (rotated -90 degrees)\n ctx.save();\n // Resolution name between center and bottom triangle\n ctx.translate(edgePadding, centerY + (canvasHeight * 0.167));\n ctx.rotate(-Math.PI / 2);\n ctx.fillText(resolutionName, 0, 0);\n ctx.restore();\n\n ctx.save();\n // Resolution numbers between center and top triangle\n ctx.translate(edgePadding, centerY - (canvasHeight * 0.167));\n ctx.rotate(-Math.PI / 2);\n ctx.fillText(dimensions, 0, 0);\n ctx.restore();\n\n // Right side labels (rotated 90 degrees)\n ctx.save();\n // Resolution name between center and top triangle\n ctx.translate(canvasWidth - edgePadding, centerY - (canvasHeight * 0.167));\n ctx.rotate(Math.PI / 2);\n ctx.fillText(resolutionName, 0, 0);\n ctx.restore();\n\n ctx.save();\n // Resolution numbers between center and bottom triangle\n ctx.translate(canvasWidth - edgePadding, centerY + (canvasHeight * 0.167));\n ctx.rotate(Math.PI / 2);\n ctx.fillText(dimensions, 0, 0);\n ctx.restore();\n }\n\n // Draw info text\n if (chartElements.infoText) {\n // Calculate positions relative to center\n const centerY = canvasHeight * 0.5;\n const topInfoY = centerY - (canvasHeight * 0.125);\n const bottomInfoY = centerY + (canvasHeight * 0.125);\n \n ctx.fillStyle = chartColors.info.text;\n ctx.font = `${fontSize}px monospace`;\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n \n // Draw show and DoP info above center\n const topInfoLines = [\n framingChartState.productionName ? `Project: ${framingChartState.productionName}` : '',\n framingChartState.dopName ? `DoP: ${framingChartState.dopName}` : ''\n ].filter(Boolean);\n\n topInfoLines.forEach((line, index) => {\n ctx.fillText(line, canvasWidth/2, topInfoY + (index * fontSize * 1.5));\n });\n \n // Draw technical info below center (without codec)\n const bottomInfoLines = [\n `${framingChartState.brand} ${framingChartState.camera}`,\n `Sensor Mode: ${framingChartState.resolution}`,\n `Active Frame: ${Math.floor(resolutions.aspect.width / 2) * 2} x ${Math.floor(resolutions.aspect.height / 2) * 2}`,\n `Safety: ${framingChartState.safetyMargin}% - ${Math.floor((resolutions.aspect.width - ((framingChartState.safetyMargin / 100) * resolutions.aspect.width)) / 2) * 2} x ${Math.floor((resolutions.aspect.height - ((framingChartState.safetyMargin / 100) * resolutions.aspect.height)) / 2) * 2}`,\n `Aspect Ratio: ${framingChartState.aspectRatio}${parseFloat(framingChartState.lensSqueeze) !== 1 ? ` ${framingChartState.lensSqueeze} Anamorphic` : ' Spherical'}`\n ].filter(Boolean);\n\n bottomInfoLines.forEach((line, index) => {\n ctx.fillText(line, canvasWidth/2, bottomInfoY + (index * fontSize * 1.5));\n });\n }\n\n // First draw UHD overlay (move this section before Siemens stars)\n if (chartElements.uhdOverlay && framingChartState.showUhdOverlay) {\n // Calculate UHD overlay position\n const uhdWidth = 3840;\n const uhdHeight = 2160;\n const uhdX = (canvasWidth - uhdWidth) / 2;\n const uhdY = (canvasHeight - uhdHeight) / 2;\n\n // Draw dashed gray border\n ctx.strokeStyle = chartColors.overlays.uhd.border;\n ctx.setLineDash([40, 40]); // Large dash spacing\n ctx.lineWidth = 5;\n ctx.strokeRect(uhdX, uhdY, uhdWidth, uhdHeight);\n ctx.setLineDash([]);\n\n // Draw red corners\n const cornerLength = Math.min(uhdWidth, uhdHeight) * 0.075;\n ctx.strokeStyle = chartColors.overlays.uhd.corners;\n ctx.lineWidth = 5;\n\n // Top-left corner\n ctx.beginPath();\n ctx.moveTo(uhdX, uhdY + cornerLength);\n ctx.lineTo(uhdX, uhdY);\n ctx.lineTo(uhdX + cornerLength, uhdY);\n ctx.stroke();\n\n // Top-right corner\n ctx.beginPath();\n ctx.moveTo(uhdX + uhdWidth - cornerLength, uhdY);\n ctx.lineTo(uhdX + uhdWidth, uhdY);\n ctx.lineTo(uhdX + uhdWidth, uhdY + cornerLength);\n ctx.stroke();\n\n // Bottom-left corner\n ctx.beginPath();\n ctx.moveTo(uhdX, uhdY + uhdHeight - cornerLength);\n ctx.lineTo(uhdX, uhdY + uhdHeight);\n ctx.lineTo(uhdX + cornerLength, uhdY + uhdHeight);\n ctx.stroke();\n\n // Bottom-right corner\n ctx.beginPath();\n ctx.moveTo(uhdX + uhdWidth - cornerLength, uhdY + uhdHeight);\n ctx.lineTo(uhdX + uhdWidth, uhdY + uhdHeight);\n ctx.lineTo(uhdX + uhdWidth, uhdY + uhdHeight - cornerLength);\n ctx.stroke();\n\n // Draw label above the UHD overlay\n ctx.fillStyle = chartColors.overlays.uhd.label;\n ctx.font = `${fontSize/2}px monospace`;\n ctx.textAlign = 'center';\n ctx.textBaseline = 'bottom';\n ctx.fillText(\n 'Maximum allowed crop for UHD delivery - 3840 x 2160',\n uhdX + uhdWidth/2,\n uhdY // Position above the UHD overlay\n );\n }\n\n // Then draw Siemens stars with updated sizing logic\n if (chartElements.siemensStars && siemensStarImage) {\n // Calculate base star size proportional to 2160p height with constraints\n const baseStarSize = 540; // Reduced from 600 to 540 (10% smaller)\n const isHighRes = canvasWidth > 3840 || canvasHeight > 2160;\n const starScale = Math.min(\n (canvasHeight / 2160) * (isHighRes ? 1.5 : 1),\n 2.5\n );\n \n const standardStarRadius = Math.min(\n (baseStarSize / 2) * starScale,\n Math.min(resolutions.safety.width, resolutions.safety.height) * 0.135 // Reduced from 0.15 to 0.135 (10% smaller)\n );\n \n // Calculate center point for positioning\n const centerX = safeX + resolutions.safety.width/2;\n const centerY = safeY + resolutions.safety.height/2;\n \n // Determine if we're in a special resolution case\n const isBelowUHD = canvasWidth < 3840 || canvasHeight < 2160;\n \n let starPositions;\n \n if (isBelowUHD) {\n // For sub-UHD, place two stars horizontally\n const horizontalOffset = Math.min(\n resolutions.safety.width * 0.25,\n (resolutions.safety.width - standardStarRadius * 3) / 2\n );\n \n starPositions = [\n {\n x: centerX - horizontalOffset,\n y: centerY\n },\n {\n x: centerX + horizontalOffset,\n y: centerY\n }\n ];\n } else {\n // Standard positioning for all other cases (including wide aspects)\n const safeOffset = Math.max(\n circleInset + standardStarRadius,\n standardStarRadius * 1.5\n );\n \n // Adjust horizontal offset for wide aspects to prevent overlap\n const horizontalOffset = Math.min(\n resolutions.safety.width * 0.4,\n (resolutions.safety.width - standardStarRadius * 3) / 2\n );\n \n // Adjust vertical offset for wide aspects\n const verticalOffset = Math.min(\n resolutions.safety.height * 0.35,\n (resolutions.safety.height - standardStarRadius * 3) / 2\n );\n \n starPositions = [\n // Top Left\n {\n x: centerX - horizontalOffset,\n y: centerY - verticalOffset\n },\n // Top Right\n {\n x: centerX + horizontalOffset,\n y: centerY - verticalOffset\n },\n // Bottom Left\n {\n x: centerX - horizontalOffset,\n y: centerY + verticalOffset\n },\n // Bottom Right\n {\n x: centerX + horizontalOffset,\n y: centerY + verticalOffset\n }\n ];\n }\n \n // Draw stars with proper size and position\n starPositions.forEach(pos => {\n ctx.save();\n if (shouldApplySqueeze) {\n ctx.scale(1/squeezeRatio, 1);\n pos.x *= squeezeRatio;\n }\n ctx.globalCompositeOperation = 'source-over';\n drawSiemensStar(ctx, pos.x, pos.y, standardStarRadius);\n ctx.restore();\n });\n }\n\n // Draw corner circles\n if (chartElements.cornerCircles) {\n ctx.strokeStyle = chartColors.overlays.cornerCircles.stroke;\n ctx.fillStyle = chartColors.overlays.cornerCircles.text;\n ctx.lineWidth = 2;\n \n // Draw circles at corners within the safety margin area\n const corners = [\n { x: safeX + circleInset, y: safeY + circleInset },\n { x: safeX + resolutions.safety.width - circleInset, y: safeY + circleInset },\n { x: safeX + resolutions.safety.width - circleInset, y: safeY + resolutions.safety.height - circleInset },\n { x: safeX + circleInset, y: safeY + resolutions.safety.height - circleInset }\n ];\n\n corners.forEach(corner => {\n // Draw circle\n ctx.beginPath();\n ctx.arc(corner.x, corner.y, circleRadius, 0, Math.PI * 2);\n ctx.stroke();\n\n // Draw text\n ctx.font = `${fontSize * 0.8}px monospace`;\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText('circle', corner.x, corner.y);\n });\n }\n\n // Draw crosshair if enabled\n if (chartElements.crosshair) {\n drawCrosshair(ctx, canvasWidth/2, canvasHeight/2);\n }\n };\n\n\n // Update the main chart drawing useEffect\n useEffect(() => {\n if (framingChartState.resolution && siemensStarImage) {\n drawChart();\n }\n }, [\n drawChart,\n framingChartState.resolution,\n siemensStarImage\n ]);\n\n // Then update the ResizeObserver useEffect\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n // Debounce the drawChart call\n const debouncedDrawChart = debounce(() => {\n if (framingChartState.resolution) {\n drawChart();\n }\n }, 100); // 100ms delay\n\n const resizeObserver = new ResizeObserver(() => {\n debouncedDrawChart();\n });\n\n resizeObserver.observe(canvas.parentElement);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [framingChartState.resolution]);\n\n // Add this useEffect to monitor resolution changes\n useEffect(() => {\n if (framingChartState.resolution) {\n const isBelowUHD = isResolutionBelowUHD(framingChartState.resolution);\n \n // Disable UHD overlay if resolution is below/equal to UHD\n if (isBelowUHD) {\n setChartElements(prev => ({\n ...prev,\n uhdOverlay: false\n }));\n } else {\n // Re-enable UHD overlay for higher resolutions\n setChartElements(prev => ({\n ...prev,\n uhdOverlay: true\n }));\n }\n }\n }, [framingChartState.resolution]);\n\n const handleReset = () => {\n setFramingChartState(defaultState);\n setResetButtonText();\n setTimeout(() => setResetButtonText(), 500);\n };\n\n const handleShare = () => {\n const canvas = canvasRef.current;\n if (!canvas || !framingChartState.resolution) return;\n\n // Get current date and time formatted as YYYYMMDDHHMM\n const now = new Date();\n const dateTime = now.toISOString()\n .replace(/[-:T]/g, '')\n .split('.')[0]\n .slice(0, 12);\n\n // Format PROJECT NAME or use default\n const productionName = framingChartState.productionName.trim() || 'Untitled';\n const formattedproductionName = productionName.replace(/\\s+/g, '_').toUpperCase();\n\n // Get sensor mode (resolution without dimensions)\n const sensorMode = framingChartState.resolution.split('(')[0].trim();\n\n // Check if anamorphic\n const squeezeRatio = parseFloat(framingChartState.lensSqueeze);\n const isAnamorphic = squeezeRatio !== 1;\n const squeezeAmount = isAnamorphic ? `_${framingChartState.lensSqueeze.replace('x', '')}x` : '';\n\n // Base filename format with squeeze amount before timestamp\n const baseFileName = `${formattedproductionName}_Framing_Chart_${framingChartState.camera}_${sensorMode}${squeezeAmount}`;\n\n if (isAnamorphic) {\n // Create a temporary canvas for the squeezed version\n const tempCanvas = document.createElement('canvas');\n const tempCtx = tempCanvas.getContext('2d');\n \n // Set the squeezed dimensions\n tempCanvas.width = canvas.width / squeezeRatio;\n tempCanvas.height = canvas.height;\n \n // Draw the squeezed version\n tempCtx.save();\n tempCtx.scale(1/squeezeRatio, 1);\n tempCtx.drawImage(canvas, 0, 0);\n tempCtx.restore();\n \n // Save squeezed version\n tempCanvas.toBlob((blob) => {\n saveAs(blob, `${baseFileName}_SQUEEZED_${dateTime}.png`);\n \n // Save unsqueezed version\n canvas.toBlob((blob) => {\n saveAs(blob, `${baseFileName}_UNSQUEEZED_${dateTime}.png`);\n });\n });\n } else {\n // Regular single file download for spherical\n canvas.toBlob((blob) => {\n saveAs(blob, `${baseFileName}_SPHERICAL_${dateTime}.png`);\n });\n }\n \n setShareButtonText();\n setTimeout(() => setShareButtonText(), 500);\n };\n\n const handleDownload = () => {\n // Create a new canvas at full resolution\n const fullResCanvas = document.createElement('canvas');\n const resolutionMatch = framingChartState.resolution.match(/\\((\\d+)\\s*x\\s*(\\d+)\\)/);\n if (!resolutionMatch) return;\n\n const [, width, height] = resolutionMatch;\n const fullWidth = parseInt(width);\n const fullHeight = parseInt(height);\n\n // Set canvas to full resolution\n fullResCanvas.width = fullWidth;\n fullResCanvas.height = fullHeight;\n const ctx = fullResCanvas.getContext('2d');\n\n // Draw the chart at full resolution\n const squeezeRatio = parseFloat(framingChartState.lensSqueeze);\n const isAnamorphic = squeezeRatio !== 1;\n const shouldApplySqueeze = isAnamorphic && showSqueezed;\n drawSingleChart(ctx, fullWidth, fullHeight, shouldApplySqueeze);\n\n // Get current date and time formatted as YYYYMMDDHHMM\n const now = new Date();\n const dateTime = now.toISOString()\n .replace(/[-:T]/g, '')\n .split('.')[0]\n .slice(0, 12);\n\n // Format PROJECT NAME or use default\n const productionName = framingChartState.productionName.trim() || 'Untitled';\n const formattedproductionName = productionName.replace(/\\s+/g, '_').toUpperCase();\n\n // Get sensor mode (resolution without dimensions)\n const sensorMode = framingChartState.resolution.split('(')[0].trim();\n\n // Check if anamorphic\n const squeezeAmount = isAnamorphic ? `_${framingChartState.lensSqueeze.replace('x', '')}x` : '';\n\n // Base filename format with squeeze amount before timestamp\n const baseFileName = `${formattedproductionName}_Framing_Chart_${framingChartState.camera}_${sensorMode}${squeezeAmount}`;\n \n if (isAnamorphic) {\n // Create a temporary canvas for the squeezed version\n const tempCanvas = document.createElement('canvas');\n const tempCtx = tempCanvas.getContext('2d');\n \n // Set the squeezed dimensions\n tempCanvas.width = fullResCanvas.width / squeezeRatio;\n tempCanvas.height = fullResCanvas.height;\n \n // Draw the squeezed version\n tempCtx.save();\n tempCtx.scale(1/squeezeRatio, 1);\n tempCtx.drawImage(fullResCanvas, 0, 0);\n tempCtx.restore();\n \n // Save both versions\n tempCanvas.toBlob((blob) => {\n saveAs(blob, `${baseFileName}_SQUEEZED_${dateTime}.png`);\n fullResCanvas.toBlob((blob) => {\n saveAs(blob, `${baseFileName}_UNSQUEEZED_${dateTime}.png`);\n });\n });\n } else {\n // Regular spherical download\n const fileName = `${baseFileName}_SPHERICAL_${dateTime}.png`;\n fullResCanvas.toBlob((blob) => {\n saveAs(blob, fileName);\n });\n }\n \n setDownloadButtonText();\n setTimeout(() => setDownloadButtonText(), 500);\n };\n\n // Update drawSiemensStar to ensure visibility\n const drawSiemensStar = (ctx, centerX, centerY, radius) => {\n if (!siemensStarImage) {\n console.log('Siemens star image not loaded');\n return;\n }\n \n try {\n const x = centerX - radius;\n const y = centerY - radius;\n const size = radius * 2;\n \n // Draw the actual star image\n ctx.save();\n ctx.globalCompositeOperation = 'source-over';\n ctx.drawImage(siemensStarImage, x, y, size, size);\n ctx.restore();\n } catch (error) {\n console.error('Error drawing Siemens star:', error);\n }\n };\n\n // Update star size in calculateElementSizes\n const calculateElementSizes = (width, height) => {\n const baseSize = Math.min(width, height);\n return {\n circleRadius: baseSize * 0.05, // 5% of smaller dimension\n starRadius: baseSize * 0.06, // Increased to 6% for better visibility\n inset: baseSize * 0.1 // 10% inset from edge\n };\n };\n\n const currentSpacing = isMobile ? spacing.mobile : spacing.desktop;\n\n // Add helper functions for ratio handling\n const parseRatio = (input) => {\n // Remove all whitespace and convert to lowercase\n input = input.toLowerCase().replace(/\\s+/g, '');\n\n // Check for decimal format first (e.g., 2.35 or 1.77)\n const decimalMatch = input.match(/^(\\d+(?:\\.\\d+)?)$/);\n if (decimalMatch) {\n return parseFloat(input);\n }\n\n // Check for ratio format (e.g., 16:9, 16x9, 2.35:1)\n const ratioMatch = input.match(/^(\\d+(?:\\.\\d+)?)[:x](\\d+(?:\\.\\d+)?)$/);\n if (ratioMatch) {\n const [w, h] = ratioMatch.slice(1).map(Number);\n return w / h;\n }\n\n // Check for two numbers separated by space (e.g., 16 9, 2.35 1)\n const spaceMatch = input.match(/^(\\d+(?:\\.\\d+)?)\\s*(\\d+(?:\\.\\d+)?)$/);\n if (spaceMatch) {\n const [w, h] = spaceMatch.slice(1).map(Number);\n return w / h;\n }\n\n return NaN;\n };\n\n const formatRatio = (ratio) => {\n // For decimal inputs like 2.35, preserve as \"2.35:1\"\n if (Number.isFinite(ratio) && !Number.isInteger(ratio)) {\n return `${ratio.toFixed(3)}:1`;\n }\n\n // For integer ratios, use the GCD reduction\n const tolerance = 0.0001;\n for (let denominator = 1; denominator <= 16; denominator++) {\n const numerator = ratio * denominator;\n if (Math.abs(numerator - Math.round(numerator)) < tolerance) {\n let n = Math.round(numerator);\n let d = denominator;\n const gcd = getGCD(n, d);\n n = n / gcd;\n d = d / gcd;\n return `${n}:${d}`;\n }\n }\n\n return `${ratio.toFixed(3)}:1`;\n };\n\n const getGCD = (a, b) => {\n a = Math.abs(a);\n b = Math.abs(b);\n while (b) {\n const temp = b;\n b = a % b;\n a = temp;\n }\n return a;\n };\n\n\n return (\n
\n
\n {/*
*/}\n {/* Camera Info Section */}\n
\n
\n \n \n {brands.map(brand => (\n \n ))}\n \n
\n
\n \n \n {availableCameras.map(camera => (\n \n ))}\n \n
\n
\n\n {/* Resolution and Codec Section */}\n
\n
\n \n \n {availableResolutions.map(resolution => (\n \n ))}\n \n
\n
\n \n \n {availableCodecs.map(codec => (\n \n ))}\n \n
\n
\n\n {/* Production Info Section */}\n
\n
\n \n setFramingChartState(prev => ({ ...prev, productionName: e.target.value }))}\n className={`${commonStyles.commonInputClass}`}\n placeholder=\"Production Name\"\n />\n
\n
\n \n setFramingChartState(prev => ({ ...prev, dopName: e.target.value }))}\n className={`${commonStyles.commonInputClass}`}\n placeholder=\"Director of Photography\"\n />\n
\n
\n\n {/* Chart Settings Section */}\n
\n
\n \n setFramingChartState(prev => ({ ...prev, safetyMargin: Number(e.target.value) }))}\n onWheel={handleSafetyMarginWheel}\n onTouchStart={handleSafetyMarginTouch}\n className={`${commonStyles.commonInputClass}`}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n {!isCustomInput ? (\n {\n if (e.target.value === 'Custom') {\n setIsCustomInput(true);\n setCustomRatio('');\n setFramingChartState(prev => ({ ...prev, aspectRatio: '' }));\n } else {\n setFramingChartState(prev => ({ ...prev, aspectRatio: e.target.value }));\n }\n }}\n onWheel={handleAspectRatioWheel}\n onTouchStart={handleAspectRatioTouch}\n className={`${commonStyles.commonInputClass}`}\n >\n \n \n \n \n \n \n \n {customRatios.map(ratio => (\n \n ))}\n \n \n ) : (\n {\n if (/^[\\d.:x\\s]*$/.test(e.target.value)) {\n const cleanedValue = e.target.value.replace(/\\s+/g, ' ');\n const formattedValue = cleanedValue.replace(/\\s/g, ':');\n setCustomRatio(formattedValue);\n }\n }}\n onBlur={() => {\n if (customRatio) {\n const parsedRatio = parseRatio(customRatio);\n if (!isNaN(parsedRatio)) {\n const formattedRatio = formatRatio(parsedRatio);\n if (!customRatios.includes(formattedRatio)) {\n setCustomRatios(prev => [...prev, formattedRatio]);\n }\n setFramingChartState(prev => ({ ...prev, aspectRatio: formattedRatio }));\n setCustomRatio('');\n setIsCustomInput(false);\n }\n } else {\n setIsCustomInput(false);\n setCustomRatio('');\n setFramingChartState(prev => ({ ...prev, aspectRatio: '16:9' }));\n }\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.target.blur();\n } else if (e.key === 'Escape') {\n setIsCustomInput(false);\n setCustomRatio('');\n setFramingChartState(prev => ({ ...prev, aspectRatio: '16:9' }));\n }\n }}\n placeholder=\"Enter ratio (e.g., 16:9)\"\n className={`${commonStyles.commonInputClass}`}\n autoFocus\n />\n )}\n
\n
\n \n setFramingChartState(prev => ({ ...prev, lensSqueeze: e.target.value }))}\n onWheel={handleLensSqueezeWheel}\n onTouchStart={handleLensSqueezeTouch}\n className={`${commonStyles.commonInputClass}`}\n >\n \n \n \n \n \n \n \n \n \n \n
\n
\n \n {/* Chart Display */}\n
\n \n {!framingChartState.resolution && (\n
\n Enter camera and resolution information to display the framing chart\n
\n )}\n
\n\n \n
\n
\n //
\n );\n};\n\nexport default FramingChartGenerator;","// TBD Post's DataCalc WebApp\n// datacalc@tbdpost.com\n\nimport React, { useState, useRef, useEffect } from 'react';\nimport { Routes, Route, Navigate, useLocation, useNavigate } from 'react-router-dom';\nimport Header from './components/Header';\nimport AspectRatioCalculator from './components/AspectRatioCalculator';\nimport BitrateCalculator from './components/BitrateCalculator';\nimport CameraToFileSize from './components/CameraToFileSize';\nimport ComingSoon from './components/ComingSoon';\nimport DailiesCalculator from './components/DailiesCalculator';\nimport DurationToFileSize from './components/DurationToFileSize';\nimport FileNameCreator from './components/FileNameCreator';\nimport FilmCalculator from './components/FilmCalculator';\nimport TransferTimeCalculator from './components/TransferTimeCalculator';\nimport TimecodeCalculator from './components/TimecodeCalculator';\nimport TimecodeGraphingCalculator from './components/TimecodeGraphingCalculator';\nimport Log from './components/Log';\nimport SideMenu from './components/SideMenu';\nimport Footer from './components/Footer';\nimport PrivacyPolicy from './components/PrivacyPolicy';\nimport './App.css';\nimport { CalculatorProvider } from './context/CalculatorContext';\nimport { deviceTypes, breakpoints, spacing } from './styles/globalStyles';\nimport { calculatorConfig, getCalculatorHeaderName, isInBetaEnvironment } from './config/features';\nimport Navigation from './components/Navigation';\nimport FramingChartGenerator from './components/FramingChartGenerator';\n\n// Add this helper function to detect if we're in staging\nconst isStaging = () => {\n return isInBetaEnvironment();\n};\n\n// Add this helper function at the top of your file\nconst getBasename = () => {\n // If we're on beta.data-calc.com, don't use a basename\n if (window.location.hostname === 'beta.data-calc.com') {\n return '/';\n }\n // If we're in beta environment but not on beta subdomain (like localhost)\n if (isInBetaEnvironment()) {\n return '/beta';\n }\n // Production environment\n return '/';\n};\n\n// Add this helper function\nconst getRoutePath = (path) => {\n const basename = getBasename();\n if (basename === '/') {\n return path;\n }\n return `${basename}${path}`;\n};\n\nfunction App() {\n const [deviceState, setDeviceState] = useState({\n isMobile: deviceTypes.isMobile(),\n isTablet: deviceTypes.isTablet(),\n isTouchDevice: deviceTypes.isTouchDevice(),\n isWideScreen: window.innerWidth >= breakpoints.desktop,\n isLandscape: window.innerWidth > window.innerHeight\n });\n const [showPrivacyPolicy, setShowPrivacyPolicy] = useState(false);\n const [logs, setLogs] = useState(() => {\n const savedLogs = localStorage.getItem('calculatorLogs');\n return savedLogs ? JSON.parse(savedLogs) : [];\n });\n const logRef = useRef(null);\n const location = useLocation();\n const navigate = useNavigate();\n const [previousPath, setPreviousPath] = useState('/duration');\n\n // Get current page info\n const currentPageInfo = Object.values(calculatorConfig).find(\n calc => calc.path === location.pathname\n ) || calculatorConfig.duration;\n\n\n useEffect(() => {\n const handleResize = () => {\n setDeviceState({\n isMobile: deviceTypes.isMobile(),\n isTablet: deviceTypes.isTablet(),\n isTouchDevice: deviceTypes.isTouchDevice(),\n isWideScreen: window.innerWidth >= breakpoints.desktop,\n isLandscape: window.innerWidth > window.innerHeight\n });\n };\n\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n const addLog = (entry) => {\n setLogs(prevLogs => [entry, ...prevLogs]);\n };\n\n const deleteLog = (index) => {\n setLogs(prevLogs => prevLogs.filter((_, i) => i !== index));\n };\n\n const handleShare = (log) => {\n if (navigator.share) {\n navigator.share({\n title: 'DataCalc Log Entry',\n text: log\n }).catch(console.error);\n }\n };\n \n useEffect(() => {\n localStorage.setItem('calculatorLogs', JSON.stringify(logs));\n }, [logs]);\n\n useEffect(() => {\n if (location.pathname !== '/logs') {\n setPreviousPath(location.pathname);\n }\n }, [location.pathname]);\n\n return (\n \n
\n
\n
\n
\n\n
\n
\n {/* Side Menu - only show on desktop */}\n {(deviceState.isWideScreen && !deviceState.isTablet) || \n (deviceState.isTablet && window.innerWidth > window.innerHeight) ? (\n
\n
\n \n
\n
\n ) : null}\n\n {/* Main Content Area */}\n
\n {/* Main calculator area */}\n
\n {!deviceState.isMobile && (\n
\n

{currentPageInfo.title}

\n

{currentPageInfo.description}

\n
\n )}\n \n
\n \n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n \n {deviceState.isMobile && (\n
\n \n
\n )}\n \n
\n } />\n \n } \n />\n \n
\n
\n\n {/* Right side log area */}\n
\n
deviceState.isMobile && navigate('/logs', { state: { from: location.pathname } })}\n style={{ cursor: deviceState.isMobile ? 'pointer' : 'default' }}\n >\n

\n Log {deviceState.isMobile && '(tap to view all)'}\n

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n\n {showPrivacyPolicy && (\n setShowPrivacyPolicy(false)} />\n )}\n \n
\n );\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport { BrowserRouter } from 'react-router-dom';\nimport './index.css';\nimport App from './App';\nimport { isInBetaEnvironment } from './config/features';\nimport { getBasename } from './config/features';\n\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render(\n \n \n \n \n \n);\n"],"names":["deselectCurrent","require","clipboardToIE11Formatting","module","exports","text","options","debug","message","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","ariaHidden","style","all","position","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","e","stopPropagation","format","preventDefault","clipboardData","console","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","Error","err","error","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","removeChild","b","a","autoBom","type","Blob","c","d","XMLHttpRequest","open","responseType","onload","g","response","onerror","send","status","dispatchEvent","MouseEvent","createEvent","initMouseEvent","f","self","global","saveAs","HTMLAnchorElement","prototype","h","i","URL","webkitURL","j","name","download","rel","href","origin","location","target","createObjectURL","setTimeout","revokeObjectURL","msSaveOrOpenBlob","title","innerText","HTMLElement","safari","FileReader","k","onloadend","result","readAsDataURL","l","m","_typeof","obj","Symbol","iterator","constructor","Object","defineProperty","value","CopyToClipboard","_react","_interopRequireDefault","_copyToClipboard","_excluded","__esModule","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","call","_defineProperties","props","descriptor","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","this","TypeError","_assertThisInitialized","_possibleConstructorReturn","ReferenceError","getPrototypeOf","_React$PureComponent","subClass","superClass","create","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","_len","args","Array","_key","concat","event","_this$props","children","elem","Children","only","onClick","_this$props2","cloneElement","PureComponent","undefined","aa","ca","encodeURIComponent","da","Set","ea","fa","ha","add","ia","ja","hasOwnProperty","ka","la","ma","v","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","z","split","toLowerCase","ra","sa","toUpperCase","ta","slice","pa","isNaN","qa","oa","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","A","assign","Ma","stack","trim","match","Na","Oa","prepareStackTrace","set","displayName","includes","Pa","tag","render","Qa","$$typeof","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","get","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","isArray","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","lb","mb","nb","namespaceURI","innerHTML","toString","firstChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","setProperty","charAt","substring","tb","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","removeEventListener","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","Math","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","shift","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","id","Uc","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","Date","now","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","Jd","Ld","data","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","String","fromCharCode","code","repeat","locale","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","number","password","search","tel","time","url","week","me","ne","oe","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","node","offset","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","start","end","selectionStart","selectionEnd","min","defaultView","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","setStart","setEnd","element","left","scrollLeft","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","listener","D","of","has","pf","qf","rf","random","sf","bind","capture","passive","n","t","J","x","u","w","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","clearTimeout","Hf","Promise","Jf","queueMicrotask","resolve","then","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","ref","_owner","_stringRef","refs","Mg","join","Ng","Og","index","Pg","Qg","Rg","implementation","Sg","Tg","q","r","y","next","done","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","_currentValue","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","context","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","lh","mh","eventTime","lane","payload","callback","nh","K","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","tagName","zh","Ah","Bh","L","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","M","N","O","Ih","Jh","Kh","Lh","P","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","queue","Uh","Vh","Wh","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","Q","di","lastEffect","stores","ei","fi","gi","hi","ii","destroy","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","R","Bi","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ci","defaultProps","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","shouldComponentUpdate","isPureReactComponent","Gi","contextType","state","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","digest","Ki","Li","Mi","WeakMap","Ni","Oi","Pi","Qi","getDerivedStateFromError","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","$i","aj","compare","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","fallback","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","xj","Dj","S","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onclick","size","createElementNS","autoFocus","createTextNode","T","Gj","Hj","Ij","Jj","U","Kj","WeakSet","V","Lj","W","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","insertBefore","_reactRootContainer","Wj","X","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","display","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","src","Vk","lk","ceil","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","Infinity","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","bl","cache","pendingSuspenseBoundaries","dl","el","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","splice","querySelectorAll","JSON","stringify","form","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","version","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","__self","__source","Fragment","jsx","jsxs","setState","forceUpdate","escape","_status","_result","default","map","count","toArray","Component","Profiler","StrictMode","Suspense","act","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","pop","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","floor","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","active","ranges","getRangeAt","blur","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","leafPrototypes","getProto","ns","def","getOwnPropertyNames","definition","globalThis","Function","prop","toStringTag","Action","PopStateEventType","invariant","warning","cond","getHistoryState","usr","idx","createLocation","to","_extends","pathname","hash","parsePath","substr","createPath","_ref","path","parsedPath","hashIndex","searchIndex","getUrlBasedHistory","getLocation","createHref","validateLocation","v5Compat","globalHistory","history","Pop","getIndex","handlePop","nextIndex","delta","createURL","replaceState","listen","fn","encodeLocation","Push","historyState","pushState","DOMException","Replace","go","ResultType","matchRoutes","routes","locationArg","basename","matchRoutesImpl","allowPartial","stripBasename","branches","flattenRoutes","sort","score","siblings","every","compareIndexes","routesMeta","childrenIndex","rankRouteBranches","matches","decoded","decodePath","matchRouteBranch","parentsMeta","parentPath","flattenRoute","route","relativePath","caseSensitive","startsWith","joinPaths","computeScore","_route$path","exploded","explodeOptionalSegments","segments","first","rest","isOptional","endsWith","required","restExploded","subpath","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","s","initialScore","some","reduce","segment","branch","matchedParams","matchedPathname","remainingPathname","matchPath","params","pathnameBase","normalizePathname","pattern","matcher","compiledParams","regexpSource","_","paramName","RegExp","compilePath","captureGroups","splatValue","decodeURIComponent","startIndex","nextChar","getInvalidPathError","field","dest","getPathContributingMatches","getResolveToMatches","v7_relativeSplatPath","pathMatches","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","from","isEmptyPath","toPathname","routePathnameIndex","toSegments","fromPathname","resolvePathname","normalizeSearch","normalizeHash","resolvePath","hasExplicitTrailingSlash","hasCurrentTrailingSlash","paths","isRouteErrorResponse","statusText","internal","validMutationMethodsArr","validRequestMethodsArr","DataRouterContext","React","DataRouterStateContext","NavigationContext","LocationContext","RouteContext","outlet","isDataRoute","RouteErrorContext","useInRouterContext","useLocation","UNSAFE_invariant","useIsomorphicLayoutEffect","static","useNavigate","router","useDataRouterContext","DataRouterHook","UseNavigateStable","useCurrentRouteId","DataRouterStateHook","activeRef","navigate","fromRouteId","useNavigateStable","dataRouterContext","future","routePathnamesJson","UNSAFE_getResolveToMatches","parse","relative","useNavigateUnstable","useResolvedPath","_temp2","useRoutesImpl","dataRouterState","parentMatches","routeMatch","parentParams","parentPathnameBase","locationFromContext","_parsedLocationArg$pa","parsedLocationArg","parentSegments","renderedMatches","_renderMatches","navigationType","DefaultErrorComponent","_state$errors","useDataRouterState","UseRouteError","routeId","errors","useRouteError","lightgrey","preStyles","padding","backgroundColor","fontStyle","defaultErrorElement","RenderErrorBoundary","super","revalidation","errorInfo","routeContext","component","RenderedRoute","staticContext","errorElement","ErrorBoundary","_deepestRenderedBoundaryId","_dataRouterState","_future","v7_partialHydration","initialized","errorIndex","findIndex","renderFallback","fallbackIndex","HydrateFallback","hydrateFallbackElement","loaderData","needsToRunLoader","loader","reduceRight","shouldRenderHydrateFallback","alreadyWarned$1","getChildren","hookName","ctx","useRouteContext","thisRoute","alreadyWarned","logDeprecation","flag","msg","logV6DeprecationWarnings","renderFuture","routerFuture","v7_startTransition","v7_fetcherPersist","v7_normalizeFormMethod","v7_skipActionErrorRevalidation","Navigate","_ref4","isStatic","jsonPath","Route","_props","Router","_ref5","basenameProp","locationProp","staticProp","navigationContext","locationContext","trailingPathname","Routes","_ref6","createRoutesFromChildren","treePath","hasErrorBoundary","shouldRevalidate","handle","__reactRouterVersion","startTransitionImpl","ReactDOM","BrowserRouter","historyRef","setStateImpl","newState","UNSAFE_logV6DeprecationWarnings","isBrowser","ABSOLUTE_URL_REGEX","Link","_ref7","absoluteHref","reloadDocument","preventScrollReset","viewTransition","UNSAFE_NavigationContext","isExternal","currentUrl","targetUrl","protocol","_temp","joinedPathname","useHref","internalOnClick","replaceProp","isModifiedEvent","shouldProcessLinkClick","useLinkClickHandler","DefaultContext","className","attr","IconContext","__assign","__rest","Tree2Element","tree","GenIcon","IconBase","conf","svgProps","computedSize","stroke","fill","xmlns","AiFillPicture","BsFillAspectRatioFill","BsFillStopwatchFill","FaInstagram","FaAngleLeft","FaAngleRight","FaAngleUp","FaBackspace","FaClipboardList","FaClock","FaDivide","FaEquals","FaHistory","FaLock","FaMinus","FaPlayCircle","FaPlus","FaTimes","FaUnlockAlt","FaCalculator","FaVideo","PiFilmReelFill","RiFileEditFill","HiSparkles","BiTransfer","MdInsertChart","process","isInBetaEnvironment","hostname","shouldShowComingSoonPill","calculator","isBeta","hide","comingSoon","production","isCalculatorAccessible","beta","calculatorConfig","metaTitle","metaDescription","headerMenu","sideMenu","description","icon","_jsx","secondaryIcon","bitrate","camera","dailies","duration","fileName","film","framingChartGenerator","timecode","timecodecalculator","transferTime","logs","colors","labelColor","bgColor","inputBgColor","lockedBgColor","affectedBgColor","readOnlyBgColor","inputBorderColor","affectedBorderColor","lockedBorderColor","textColor","buttonColor","buttonBorderColor","arrowColor","buttonShadow","lockButtonBgColor","lockButtonActiveBgColor","lockIconColor","unlockIconColor","spacing","desktop","rowGap","sectionGap","fieldGap","margin","gridGap","headerPadding","contentPadding","mobile","layout","twoColumns","threeColumns","fourColumns","lockLayout","daysLayout","brandCamera","codecBitrate","resolutionFramerate","dailesAspectRatio","filmFormatRow","filmRollsRow","filmPriceRow","standard","between","column","wrap","baseInputStyle","commonStyles","commonInputClass","lockButtonStyle","isActive","baseStyle","getInputStyle","calculationMode","textCenterImportant","textAlign","textAlignLast","actionButtons","container","buttonIcon","buttonText","copyButton","middle","readOnlyInput","labelClass","breakpoints","deviceTypes","isMobile","innerWidth","isTablet","isTouchDevice","headerStyles","isCompactView","selectRef","filteredMenuItems","entries","_ref2","calc","_ref3","label","item","shouldShowInHeader","mobileMenuItems","handleCalculatorChange","formatMenuLabel","isComingSoon","inBeta","_jsxs","alt","onChange","SlArrowDown","SlArrowUp","SlDocs","SlLike","SlMinus","SlNote","SlPaperPlane","SlRefresh","SlTrash","disableScroll","enableScroll","handleShareOnDevice","async","share","copyToClipboard","method","clipboard","writeText","toPropertyKey","toPrimitive","Number","_objectSpread2","AppleCameras","brand","resolutions","dimensions","codecs","framerates","ARRICameras","BlackmagicCameras","CanonCameras","DJICameras","FreeflyCameras","GoProCameras","PhantomCameras","RedCameras","SonyCameras","ZCamCameras","dimenisions","cameras","getFrameratesForCamera","cameraName","resolution","codec","values","flatMap","res","cod","parseFloat","resolutionData","codecData","getCamerasByBrand","brandCameras","localeCompare","getResolutionsForCamera","getCodecsForCameraAndResolution","CalculatorContext","defaultCalcState","framerate","fileSize","fileSizeUnit","durationInput","fileSizeInput","isDurationLocked","isFileSizeLocked","availableCameras","availableResolutions","availableFramerates","availableCodecs","copyStatus","copiedLogIndex","copyDurationText","copyFileSizeText","logButtonText","shareButtonText","resetButtonText","previousResolution","defaultTimecodeState","frameRate","timecode1","operation","copyButtonText","defaultFramingChartState","productionName","dopName","safetyMargin","showUhdOverlay","isAnamorphic","squeezeRatio","lensSqueeze","CalculatorProvider","cameraCalcState","setCameraCalcState","framingChartState","setFramingChartState","activeTab","setActiveTab","aspectCalcState","setAspectCalcState","selectedRatio","lockedField","customRatio","customRatios","isWidthLocked","isHeightLocked","bitrateCalcState","setBitrateCalcState","bitrateUnit","dailiesState","setDailiesState","footagePerDay","shootDays","dailiesFileSizePerDay","totalDailiesFileSize","dailiesCodec","dailiesData","durationCalcState","setDurationCalcState","filmCalcState","setFilmCalcState","filmFormat","fps","stock","rollsCount","rollLength","frames","price","transferCalcState","setTransferCalcState","interface","storage","dataSize","sizeUnit","timecodeCalcState","setTimecodeCalcState","resetCalculator","resetFramingChart","useCalculator","useDropdownTouch","currentValue","fieldName","startY","touchTimeout","lastY","isSwiping","scrollableOptions","option","currentIndex","accumulatedDelta","click","handleTouchMove","currentY","abs","diffY","itemsToMove","direction","sign","newIndex","max","newValue","handleTouchEnd","onLog","onShare","onReset","logButtonIcon","shareButtonIcon","resetButtonIcon","setshareButtonText","currentShareIcon","setCurrentShareIcon","defaultAspectRatios","addLog","setIsMobile","setSelectedRatio","setCustomRatio","setWidth","setHeight","setPinnedField","setLogButtonText","setCopyButtonText","setShareButtonText","setResetButtonText","setCustomRatios","setCalculationMode","setResolution","setIsWidthLocked","setIsHeightLocked","sensitivity","scrollTimeout","setScrollTimeout","ratioRef","widthRef","heightRef","focusedField","setFocusedField","URLSearchParams","ratio","widthParam","heightParam","parseInt","roundToEven","num","rounded","round","parseRatio","ratioMatch","spaceMatch","NaN","compareRatios","formatRatio","matchingCustomRatio","find","parsed","isFinite","isInteger","toFixed","denominator","numerator","gcd","getGCD","temp","handleRatioChange","processCustomRatio","parsedRatio","formattedRatio","prevRatios","recalculateDimensions","handleWidthBlur","newWidth","roundedWidth","calculateDimensions","handleHeightBlur","newHeight","roundedHeight","handleKeyPress","changedField","checkMobile","currentSpacing","handleRatioWheel","scrollAmount","scrollableRatios","handleRatioTouch","touch","getBoundingClientRect","touchStartY","lastTouchY","handleRatioTouchMove","prevIndex","handleBlur","handleTouchStart","rect","isLeftHalf","baseChange","changeAmount","evenChangeAmount","onBlur","onKeyPress","onTouchStart","onTouchMove","onWheel","formattedValue","handleCustomRatioBlur","onKeyDown","_widthRef$current","placeholder","onFocus","select","CalculatorButtons","handleLog","logEntry","handleCopy","shareUrl","searchParams","handleReset","copyText","copyButtonIcon","Timecode","hours","minutes","seconds","timecodeString","parts","padStart","totalFrames","fromFrames","calcData","setCalcData","setDurationInput","setFileSizeInput","setFileSizeUnit","setIsDurationLocked","setIsFileSizeLocked","bitrateInput","setBitrateInput","isBitrateLocked","setIsBitrateLocked","setLockedField","setCopyDuration","durationRef","fileSizeRef","handleFileSizeWheel","parseFileSize","unit","newSize","unitsOrder","newFileSizeInput","newBitrate","calculateBitrate","newDuration","calculateDuration","parsedSize","totalSeconds","bytesPerSecond","parsedBitrate","parseBitrate","multiplier","rate","handleDurationWheel","newHours","newMinutes","newSeconds","newFrames","newFileSize","calculateFileSize","handleInputChange","handleBitrateWheel","newRate","cleanInput","unitPatterns","unitRegexPattern","flat","unitLower","standardUnit","patterns","totalBytes","parseDuration","handleRollover","frames1","frames2","day","hour","minute","second","frame","handleDurationFocus","handleDurationBlur","parsedDuration","handleBitrateFocus","handleBitrateBlur","formattedBitrate","handleFileSizeFocus","handleFileSizeBlur","formattedSize","handleLogClick","handleCopyDuration","datarate","durationCodecs","dailiesCodecs","brands","setAvailableCameras","setAvailableResolutions","setAvailableFramerates","setAvailableCodecs","setCopyStatus","setCopiedLogIndex","setLogs","setCopyDurationText","setCopyFileSizeText","setPreviousResolution","resolutionRef","codecRef","framerateRef","selectedCodec","resolutionMatch","resolutionValue","total_seconds","resolutionString","customResolution","newCamera","prev","newResolution","newCodec","updateFramerateForCodec","defaultFramerate","newFramerate","prevData","newCalcData","handleWheel","setterFunction","fileSizeGB","formatFileSize","sizeInGB","units","unitIndex","recalculateBasedOnLockState","resolutionElement","framerateElement","codecElement","elements","handler","handleResolutionWheel","handleFramerateWheel","handleCodecWheel","durationElement","wheelHandler","handleBrandWheel","newBrand","handleCameraWheel","touchX","fieldWidth","startValue","change","updatedResolution","updatedCalcData","fileSizeElement","handleScroll","scrollY","scrollTo","brandRef","cameraRef","handleBrandTouch","handleCameraTouch","handleResolutionTouch","handleCodecTouch","handleFramerateTouch","bitrateInBytes","formatBitrate","readOnly","handleCopyCameraToFileSize","ComingSoon","validateDimension","handleShootDaysChangeRef","dailiesCodecRef","dailiesFileSizeRef","setShootDays","setFootagePerDay","fileSizePerDay","setFileSizePerDay","setDailiesFileSizePerDay","setTotalDailiesFileSize","setDailiesData","cameraWidth","cameraHeight","cameraAspect","isDailiesFileSizeLocked","calculateDailiesFileSize","totalDuration","handleWidthChange","handleHeightChange","isPerDay","defaultSize","setDailiesFileSize","validateNumber","recalculateFileSizes","newData","newFootagePerDay","newShootDays","perDaySize","perDayUnit","totalSize","totalUnit","handleShare","fieldType","isLeftZone","recalculateBasedOnRatio","updateDimensionsForRatio","ratioElement","ratios","newRatio","setDailiesCodec","dailiesFileSize","setIsDailiesFileSizeLocked","customDailiesRatio","setCustomDailiesRatio","customDailiesRatios","setCustomDailiesRatios","availableDailiesCodecs","handleMatchAspectRatio","handleDailiesCodecWheel","handleDailiesRatioWheel","handleDailiesFileSizeWheel","newDailiesFileSize","recalculateFromDailiesSize","dailiesSize","dailiesUnit","dailiesSizeInBytes","dailiesCodecData","bytesPerFrame","cameraSize","cameraUnit","_ref$current","handleResize","handleDailiesCodecTouch","handleDailiesRatioTouch","handleShootDaysChange","handleShootDaysWheel","initialCalculation","handleFootagePerDayWheel","defaultFootagePerDay","handleFootagePerDayBlur","handleLockClick","defaultFramerates","defaultResolutions","customResolutions","setCustomResolutions","customFramerates","setCustomFramerates","isCustomResolution","setIsCustomResolution","isCustomFramerate","setIsCustomFramerate","resolutionOptions","_calcData$resolution$","handleResolutionChange","handleFramerateChange","handleCustomFramerateBlur","parsedFramerate","handleCustomResolutionBlur","part","formatCustomResolution","newCustomResolution","existingResolution","existingWidth","existingHeight","aWidth","aHeight","bWidth","bHeight","isSwilockg","fallbackCopyToClipboard","textArea","_Fragment","isSecureContext","defaultValues","filenameTemplates","template","sampleContent","PROJECT_TITLE","SEASON_EPISODE","SEGMENT","ASSET_TYPE","BIT_DEPTH","DYNAMIC_RANGE","ACES_VERSION","COLOR_SPACE","TRANSFER_FUNCTION","DATE","toISOString","ASPECT_RATIO","RESOLUTION","FRAME","EXT","selectedTemplate","setSelectedTemplate","formData","setFormData","generateFileName","generateFolderPath","renderFields","_selectedTemplate$tem","templateFields","viewBox","strokeLinecap","strokeLinejoin","content","timestamp","filename","filmFormats","filmStocks","stockOptions","framesPerFoot","getBaseFormat","getStockPrice","stockName","_stockOptions$stockNa2","_lengths$find","baseFormat","formatDurationFromFrames","toLocaleString","unitPrice","filmFormatRef","fpsRef","stockRef","rollsCountRef","rollLengthRef","filmFramerates","updateStockOptions","updateRollLengthOptions","getStockLengths","_stockOptions$stockNa","lengths","calculatePrice","totalPrice","minimumFractionDigits","maximumFractionDigits","handleRollsTouch","handleFilmFormatWheel","handleFPSWheel","handleStockWheel","handleRollLengthWheel","rollLengthOptions","handleRollsCountWheel","framesPerFt","currentFrames","frameDelta","newTotalFrames","requiredFeet","requiredRolls","handleDurationTouch","section","feet","querySelector","longestRoll","previousDuration","previousRollsCount","initialDuration","handleFilmFormatTouch","handleFPSTouch","handleStockTouch","handleRollLengthTouch","inputMode","enterKeyHint","handleRollsFocus","touchAction","handleRollsBlur","validValue","interfaces","speed","storageDevices","selectedInterface","setSelectedInterface","sourceStorage","setSourceStorage","destStorage","setDestStorage","setDataSize","setTransferTime","throughput","setThroughput","setCopyText","dataSizeRef","interfaceRef","calculateTransferTime","dataSizeInGb","effectiveSpeed","days","remainingHours","formatTime","handleDataSizeWheel","changeFactor","lastTime","moveEvent","currentTime","storageNames","interfaceNames","handleDataSizeFocus","handleDataSizeBlur","resultText","footage","toKeycode","toFootage","fromKeycode","keycodeString","fromFootage","footageString","other","subtract","multiply","factor","divide","setMode","setFrameRate","setTimecode1","setTimecode2","setOperation","setResult","setFilmFormat","timecode1Ref","timecodecalculatorRef","HANDLE_LOG_CLICK","getDetails","getTotalFrames","getAvailableFrameRates","getPlaceholder","parseInput","fr","footageMatch","foot","foundMatch","matchAll","formatNumber","fixed","calculate","tc1","tc2","resultFrames","resultTC","formattedResult","formatOutput","setter","handleModeChange","newMode","currentFrameRate","getFormattedFrameRate","oneHour","thirtyMinutes","getCapitalizedMode","formatInputValue","handleKeyDown","handleInputBlur","numValue","currentMode","parsedRate","handleInputWheel","newFeet","increment","sgn","touchState","setTouchState","handleDropdownTouch","frms","segmentSize","segmentMultiplier","handleModeTouchStart","handleFramerateTouchStart","handleOperationTouchStart","handleFilmFormatTouchStart","formats","handleModeWheel","modes","handleTouchStartForTimecode","touchCurrent","operations","rates","currentInput","setCurrentInput","previousInput","setPreviousInput","currentOperation","setCurrentOperation","isDisplayActive","setIsDisplayActive","calculations","setCalculations","calculatorRef","parseTimecode","formatValueForCurrentMode","handleNumberClick","handleDoubleZeroInput","handleColonClick","handleBackspace","handleOperatorClick","op","handleCalculate","newCalculation","value1","prevCalculations","input1","input2","value2","handleClear","isOperatorActive","buttonClass","numberButtonClass","operatorButtonClass","equalsButtonClass","clearButtonClass","specialButtonClass","timerId","formatTimecodeAfterPause","tabIndex","getOperationIcon","formatted","formatTimecodeDigits","updatedCalculations","newCalc","tcResult","handleFilmFormatChange","newFormat","newFrameRate","handleClearCalculations","maxHeight","borderLeft","primary","handleRemoveCalculation","getTotalDuration","totalTimecode","shareText","shareResult","confirm","Log","onDelete","previousCalculator","copiedIndex","setCopiedIndex","sharedIndices","setSharedIndices","logContainerRef","isFullPage","scrollToTop","entry","handleShareLog","renderMenuItem","isAccessible","baseClasses","iconGroup","setShowPrivacyPolicy","isExpanded","setIsExpanded","timer","getFullYear","onClose","LuDownload","chartColors","triangles","labels","corners","outline","uhd","border","siemensStars","cornerCircles","crosshair","canvasRef","downloadButtonText","setDownloadButtonText","showSqueezed","setShowSqueezed","siemensStarImage","setSiemensStarImage","chartElements","setChartElements","fullFrameLabel","fullFrameTriangles","safetyCropLabel","safetyCropTriangles","safetyCropCorners","aspectRatioLabel","aspectRatioTriangles","uhdOverlay","infoText","elementGroups","setElementGroups","fullFrame","safetyCrop","overlays","info","isCustomInput","setIsCustomInput","defaultState","safetyMarginRef","aspectRatioRef","lensSqueezeeRef","handleSafetyMarginWheel","handleAspectRatioWheel","handleLensSqueezeWheel","drawChart","canvas","fullWidth","fullHeight","scale","containerWidth","parentElement","clientWidth","displayScale","heightAtScale","minHeight","shouldApplySqueeze","getContext","drawSingleChart","Image","crossOrigin","safetyMargins","newMargin","aspectRatios","newSqueeze","drawTriangleMarkers","x1","y1","x2","y2","isDashed","fillColor","outlineColor","positions","pos","getTransform","beginPath","strokeStyle","fillStyle","lineWidth","setLineDash","moveTo","lineTo","closePath","drawTriangleMarker","canvasWidth","canvasHeight","applySqueeze","fontSize","circleRadius","circleInset","fillRect","calculateResolutions","aspectWidth","aspectHeight","ratioWidth","ratioHeight","targetRatio","safetyScale","safetyCropWidth","safetyCropHeight","full","aspect","safety","aspectX","aspectY","safeX","safeY","font","textBaseline","watermarkY","fillText","cornerLength","safetyColor","textX","textY","labelPosition","labelY","drawLabeledBorder","triangleColor","resolutionName","edgePadding","centerY","save","translate","rotate","PI","restore","topInfoY","bottomInfoY","line","uhdWidth","uhdHeight","uhdX","uhdY","strokeRect","baseStarSize","isHighRes","starScale","standardStarRadius","centerX","starPositions","horizontalOffset","verticalOffset","globalCompositeOperation","drawSiemensStar","corner","arc","drawCrosshair","debouncedDrawChart","debounce","func","wait","timeout","later","resizeObserver","ResizeObserver","observe","disconnect","isBelowUHD","isResolutionBelowUHD","radius","drawImage","selectedIndex","handleDownload","fullResCanvas","dateTime","formattedproductionName","sensorMode","squeezeAmount","baseFileName","tempCanvas","tempCtx","toBlob","blob","getBasename","deviceState","setDeviceState","isWideScreen","isLandscape","innerHeight","showPrivacyPolicy","savedLogs","localStorage","getItem","previousPath","setPreviousPath","currentPageInfo","prevLogs","deleteLog","setItem","Header","SideMenu","DurationToFileSize","AspectRatioCalculator","BitrateCalculator","DailiesCalculator","CameraToFileSize","FileNameCreator","FilmCalculator","TimecodeCalculator","TimecodeGraphingCalculator","TransferTimeCalculator","FramingChartGenerator","cursor","Footer","PrivacyPolicy","getElementById","App"],"sourceRoot":""}