{"version":3,"file":"js/751-7da239250260d08ccbfc.js","mappings":"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E,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAA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AAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCpI,WAAWoI,KAAK,C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MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,KAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,KAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,KAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,KAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,IAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,SAKtBovG,EAAaW,eAAiBn4G,WAAWoI,KAAK,CAC1C,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC3G,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAC5G,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAC5G,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAC5G,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAC7G,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAC1G,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IACzG,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAC5G,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,KAAM,IAC3G,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IACzG,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KACzG,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IACzG,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAC1G,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KACzG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KACzG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAC1G,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KACxG,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAC1G,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KACzG,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAC1G,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAM,IAAK,IAC3G,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KACvG,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAC1G,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAC3G,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAC7G,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IACzG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IACzG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KACxG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACzG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IACzG,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KACxG,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,KAAM,GAAI,KAAM,GAC5G,KAAM,KAAM,KAAM,GAAI,GAAI,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IACxG,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,KAAM,GAAI,GAC1G,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,KAAM,KAC5G,KAAM,KAAM,GAAI,KAAM,GAAI,KAAM,KAAM,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAC3G,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KACxG,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAC1G,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACzG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAC3G,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IACzG,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAC1G,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAC3G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAC7G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAC5G,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KAC1G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KACxG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAC5G,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KACxG,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAC7G,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAC3G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IACzG,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAC3G,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAC1G,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAC3G,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KACxG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC3G,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KACzG,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,IACzG,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAC5G,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAC3G,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KACxG,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IACxG,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAC5G,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAC7G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KACxG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KAC1G,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAC5G,KAAM,KAAM,IAAK,KAAM,KAAM,GAAI,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,GACzG,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,KAAM,GAAI,GAAI,GAAI,KAAM,GAAI,KAC5G,KAAM,KAAM,KAAM,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,EAC9G,KAAM,EAAG,KAAM,KAAM,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAC7G,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IACzG,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAC5G,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAC1G,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC3G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KAC1G,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,IAC5G,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAC3G,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAC5G,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAC1G,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAC1G,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAC1G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IACxG,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,IAC5G,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KACzG,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAC5G,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAC5G,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,KAC5G,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,GAAI,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,KAAM,GAAI,KAC1G,GAAI,KAAM,KAAM,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,EAAG,KAAM,EAAG,KAAM,IAAK,IAAK,IACzG,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAC3G,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAC5G,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAC1G,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAC7G,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IACzG,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KACzG,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC1G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAC1G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC3G,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACzG,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxG,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KACzG,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACzG,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,GAAI,KAAM,KAAM,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IACzG,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KACxG,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAC3G,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IACzG,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC1G,KAAM,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC3G,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC1G,KAAM,KAAM,KAAM,KAAM,IAAM,IAAK,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAC1G,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KACxG,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC3G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAEjFovG,CACX,CA5biC,GA6bjC,MCjcA,GAb0C,WACtC,SAASmB,EAAqB5rD,EAAMme,GAChCrrE,KAAKktD,KAAOA,EACZltD,KAAKqrE,OAASA,CAClB,CAOA,OANAytC,EAAqBlkH,UAAUsxE,QAAU,WACrC,OAAOlmE,KAAKktD,IAChB,EACA4rD,EAAqBlkH,UAAUiL,UAAY,WACvC,OAAOG,KAAKqrE,MAChB,EACOytC,CACX,CAZyC,GCJrC,GAAsC,SAASplH,GAC/C,IAAIqB,EAAsB,oBAAXV,QAAyBA,OAAO+P,SAAUtQ,EAAIiB,GAAKrB,EAAEqB,GAAIpB,EAAI,EAC5E,GAAIG,EAAG,OAAOA,EAAED,KAAKH,GACrB,GAAIA,GAAyB,kBAAbA,EAAE6B,OAAqB,MAAO,CAC1CmP,KAAM,WAEF,OADIhR,GAAKC,GAAKD,EAAE6B,SAAQ7B,OAAI,GACrB,CAAEa,MAAOb,GAAKA,EAAEC,KAAMqP,MAAOtP,EACxC,GAEJ,MAAM,IAAI4B,UAAUP,EAAI,0BAA4B,kCACxD,EAmBI,GAA0B,WAC1B,SAAS29E,IACT,CAgSA,OArRAA,EAASqmC,eAAiB,SAAUl7F,EAAOi/B,EAAOvmC,GAI9C,IAAImpF,EAAY7hF,EAAM6rC,iBAClBsvD,EAAqBtmC,EAASzG,OAAO11D,EAAUmpF,GAMnD,OALKsZ,EAAmBzjH,UACpBmqG,EAAYA,EAAUngG,SACZ03D,YACV+hD,EAAqBtmC,EAASzG,OAAO11D,EAAUmpF,IAE5C,IAAI,GAAqBA,EAAWsZ,EAC/C,EAQAtmC,EAASzG,OAAS,SAAU11D,EAAUmpF,GAMlC,IALA,IAAIhiD,EAAKH,EACLy7D,EAAqB,IAAI77G,MACzBs9C,EAAM,EACN0lD,EAAS,EACT8Y,GAAoB,EACjBx+D,EAAMilD,EAAU54F,aAAa,CAChC,IAAIoyG,EAAWxmC,EAASymC,aAAazZ,EAAWjlD,EAAK0lD,GACrD,GAAmB,MAAf+Y,EAAS,IAA6B,MAAfA,EAAS,GAApC,CAgCA,GAFAD,GAAoB,EACpBD,EAAmBj6G,KAAKm6G,IACnB3iG,EACD,MAIe,MAAf2iG,EAAS,IACT/Y,EAAS/iG,KAAKyvD,MAAMqsD,EAAS,GAAG5uC,QAChC7vB,EAAMr9C,KAAKyvD,MAAMqsD,EAAS,GAAG3uC,UAG7B41B,EAAS/iG,KAAKyvD,MAAMqsD,EAAS,GAAG5uC,QAChC7vB,EAAMr9C,KAAKyvD,MAAMqsD,EAAS,GAAG3uC,QAdjC,KA7BA,CACI,IAAK0uC,EAED,MAIJA,GAAoB,EACpB9Y,EAAS,EACT,IACI,IAAK,IAAIiZ,GAAwB17D,OAAM,EAAQ,GAASs7D,IAAsBK,EAAyBD,EAAqB10G,QAAS20G,EAAuBr2G,KAAMq2G,EAAyBD,EAAqB10G,OAAQ,CACpN,IAAI40G,EAAoBD,EAAuB9kH,MACnB,MAAxB+kH,EAAkB,KAClB7+D,EAAMr9C,KAAKyvD,MAAMzvD,KAAKI,IAAIi9C,EAAK6+D,EAAkB,GAAG/uC,UAE5B,MAAxB+uC,EAAkB,KAClB7+D,EAAMr9C,KAAKI,IAAIi9C,EAAKr9C,KAAKyvD,MAAMysD,EAAkB,GAAG/uC,SAE5D,CAQJ,CANA,MAAOxsB,GAASL,EAAM,CAAExuC,MAAO6uC,EAAS,CACxC,QACI,IACQs7D,IAA2BA,EAAuBr2G,OAASu6C,EAAK67D,EAAqBjuG,SAASoyC,EAAG1pD,KAAKulH,EAE1E,CAApC,QAAU,GAAI17D,EAAK,MAAMA,EAAIxuC,KAAO,CACxC,CACAurC,GAAOi4B,EAAS6mC,QAEpB,CAgBJ,CACA,OAAOP,CACX,EAgBAtmC,EAASymC,aAAe,SAAUxvD,EAAQ6vD,EAAUC,GAChD,IAAIz4G,EAAS2oD,EAAO7iD,YAChB5F,EAAQyoD,EAAO9iD,WAEfqU,EAAS,IAAI/d,MAAM,GAOvB,OANAu1E,EAASgnC,aAAax+F,EAAQw3D,EAASinC,oBAAoBhwD,EAAQ3oD,EAAQE,EAAOs4G,EAAUC,EAAa/mC,EAAS/+D,eAAgB++D,EAASknC,uBAC1H,MAAb1+F,EAAO,KACPu+F,EAAcr8G,KAAKyvD,MAAM3xC,EAAO,GAAGovD,QACnCkvC,EAAWp8G,KAAKyvD,MAAM3xC,EAAO,GAAGqvD,SAEpCmI,EAASgnC,aAAax+F,EAAQw3D,EAASinC,oBAAoBhwD,EAAQ3oD,EAAQE,EAAOs4G,EAAUC,EAAa/mC,EAASt/D,cAAes/D,EAASmnC,sBACnI3+F,CACX,EACAw3D,EAASgnC,aAAe,SAAUx+F,EAAQ4+F,EAAWC,GACjD,IAAK,IAAIpmH,EAAI,EAAGA,EAAIomH,EAAmBxkH,OAAQ5B,IAC3CunB,EAAO6+F,EAAmBpmH,IAAMmmH,EAAUnmH,EAElD,EACA++E,EAASinC,oBAAsB,SAAUhwD,EAAQ3oD,EAAQE,EAAOs4G,EAAUC,EAAahkG,GAKnF,IAHA,IAAIyF,EAAS,IAAI/d,MAAM,GACnB03B,GAAQ,EACR4jD,EAAW,IAAIt4E,WAAWsV,EAAQlgB,QAC/BikH,EAAWx4G,EAAQw4G,GAAY9mC,EAAS6mC,SAAU,CAErD,GAAW,OADPS,EAAMtnC,EAASkN,iBAAiBj2B,EAAQ8vD,EAAaD,EAAUt4G,GAAO,EAAOuU,EAASgjE,IACzE,CACb,KAAO+gC,EAAW,GAAG,CAEjB,GAAsB,OADlBS,EAAiBvnC,EAASkN,iBAAiBj2B,EAAQ8vD,IAAeD,EAAUt4G,GAAO,EAAOuU,EAASgjE,IAIlG,CACD+gC,IACA,KACJ,CALIQ,EAAMC,CAMd,CACA/+F,EAAO,GAAK,IAAI,GAAY8+F,EAAI,GAAIR,GACpCt+F,EAAO,GAAK,IAAI,GAAY8+F,EAAI,GAAIR,GACpC3kF,GAAQ,EACR,KACJ,CACJ,CACA,IAAIqlF,EAAUV,EAAW,EAEzB,GAAI3kF,EAAO,CAGP,IAFA,IAAIslF,EAAkB,EAClBF,EAAiB95G,WAAWoI,KAAK,CAACnL,KAAKyvD,MAAM3xC,EAAO,GAAGovD,QAASltE,KAAKyvD,MAAM3xC,EAAO,GAAGovD,UAClF4vC,EAAUl5G,EAAQk5G,IAAW,CAChC,IAAIF,EAKJ,GAAW,OALPA,EAAMtnC,EAASkN,iBAAiBj2B,EAAQswD,EAAe,GAAIC,EAASh5G,GAAO,EAAOuU,EAASgjE,KAM3Fr7E,KAAKG,IAAI08G,EAAe,GAAKD,EAAI,IAAMtnC,EAAS0nC,mBAChDh9G,KAAKG,IAAI08G,EAAe,GAAKD,EAAI,IAAMtnC,EAAS0nC,kBAChDH,EAAiBD,EACjBG,EAAkB,MAEjB,CACD,GAAIA,EAAkBznC,EAAS2nC,sBAC3B,MAGAF,GAER,CACJ,CACAD,GAAWC,EAAkB,EAC7Bj/F,EAAO,GAAK,IAAI,GAAY++F,EAAe,GAAIC,GAC/Ch/F,EAAO,GAAK,IAAI,GAAY++F,EAAe,GAAIC,EACnD,CAIA,OAHIA,EAAUV,EAAW9mC,EAAS4nC,oBAC9B,OAAYp/F,EAAQ,MAEjBA,CACX,EAWAw3D,EAASkN,iBAAmB,SAAUj2B,EAAQw2C,EAAQ1lD,EAAKv5C,EAAO4/E,EAAYrrE,EAASgjE,GACnF,aAAkBA,EAAU,EAAGA,EAASljF,OAAQ,GAIhD,IAHA,IAAImkF,EAAeymB,EACfoa,EAAa,EAEV5wD,EAAOv1D,IAAIslF,EAAcj/B,IAAQi/B,EAAe,GAAK6gC,IAAe7nC,EAAS8nC,iBAChF9gC,IAKJ,IAHA,IAAI1jF,EAAI0jF,EACJd,EAAkB,EAClBM,EAAgBzjE,EAAQlgB,OACnBojF,EAAUmI,EAAY9qF,EAAIkL,EAAOlL,IAAK,CAE3C,GADY2zD,EAAOv1D,IAAI4B,EAAGykD,KACZk+B,EACVF,EAASG,SAER,CACD,GAAIA,IAAoBM,EAAgB,EAAG,CACvC,GAAIxG,EAASsG,qBAAqBP,EAAUhjE,EAASi9D,EAASwH,yBAA2BxH,EAASkH,iBAC9F,OAAO,IAAIz5E,WAAW,CAACu5E,EAAc1jF,IAEzC0jF,GAAgBjB,EAAS,GAAKA,EAAS,GACvC,YAAiBA,EAAU,EAAGA,EAAU,EAAGG,EAAkB,GAC7DH,EAASG,EAAkB,GAAK,EAChCH,EAASG,GAAmB,EAC5BA,GACJ,MAEIA,IAEJH,EAASG,GAAmB,EAC5BD,GAAWA,CACf,CACJ,CACA,OAAIC,IAAoBM,EAAgB,GACpCxG,EAASsG,qBAAqBP,EAAUhjE,EAASi9D,EAASwH,yBAA2BxH,EAASkH,iBACvF,IAAIz5E,WAAW,CAACu5E,EAAc1jF,EAAI,IAEtC,IACX,EAYA08E,EAASsG,qBAAuB,SAAUP,EAAUhjE,EAASwjE,GAIzD,IAHA,IAAIP,EAAcD,EAASljF,OACvBu7C,EAAQ,EACRooC,EAAgB,EACXvlF,EAAI,EAAGA,EAAI+kF,EAAa/kF,IAC7Bm9C,GAAS2nC,EAAS9kF,GAClBulF,GAAiBzjE,EAAQ9hB,GAE7B,GAAIm9C,EAAQooC,EAGR,OAAmCuhC,IAKvC,IAAIrhC,EAAetoC,EAAQooC,EAC3BD,GAAyBG,EAEzB,IADA,IAAIC,EAAgB,EACXrjF,EAAI,EAAGA,EAAI0iF,EAAa1iF,IAAK,CAClC,IAAIq4B,EAAUoqD,EAASziF,GACnBsjF,EAAgB7jE,EAAQzf,GAAKojF,EAC7BG,EAAWlrD,EAAUirD,EAAgBjrD,EAAUirD,EAAgBA,EAAgBjrD,EACnF,GAAIkrD,EAAWN,EACX,OAAmCwhC,IAEvCphC,GAAiBE,CACrB,CACA,OAAOF,EAAgBvoC,CAC3B,EACA4hC,EAASknC,sBAAwBz5G,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,IAC3DmqE,EAASmnC,qBAAuB15G,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,IAC1DmqE,EAASkH,iBAAmB,IAC5BlH,EAASwH,wBAA0B,GAGnCxH,EAAS/+D,cAAgBxT,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAE/DmqE,EAASt/D,aAAejT,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IACjEmqE,EAAS8nC,gBAAkB,EAC3B9nC,EAAS0nC,kBAAoB,EAG7B1nC,EAAS2nC,sBAAwB,GAGjC3nC,EAAS6mC,SAAW,EACpB7mC,EAAS4nC,mBAAqB,GACvB5nC,CACX,CAnS6B,GAoS7B,MCjUI,GAAsC,SAASh/E,GAC/C,IAAIqB,EAAsB,oBAAXV,QAAyBA,OAAO+P,SAAUtQ,EAAIiB,GAAKrB,EAAEqB,GAAIpB,EAAI,EAC5E,GAAIG,EAAG,OAAOA,EAAED,KAAKH,GACrB,GAAIA,GAAyB,kBAAbA,EAAE6B,OAAqB,MAAO,CAC1CmP,KAAM,WAEF,OADIhR,GAAKC,GAAKD,EAAE6B,SAAQ7B,OAAI,GACrB,CAAEa,MAAOb,GAAKA,EAAEC,KAAMqP,MAAOtP,EACxC,GAEJ,MAAM,IAAI4B,UAAUP,EAAI,0BAA4B,kCACxD,EASI2lH,GAA6B,WAC7B,SAASA,EAAY95C,EAAOC,GACxB,GAA4B,IAAxBA,EAAatrE,OACb,MAAM,IAAI,EAEdyK,KAAK4gE,MAAQA,EACb,IAAIE,EAA6BD,EAAatrE,OAC9C,GAAIurE,EAAqB,GAAyB,IAApBD,EAAa,GAAU,CAGjD,IADA,IAAIE,EAAuB,EACpBA,EAAeD,GAAqD,IAA/BD,EAAaE,IACrDA,IAEAA,IAAiBD,EACjB9gE,KAAK6gE,aAAe,IAAI1gE,WAAW,CAAC,KAGpCH,KAAK6gE,aAAe,IAAI1gE,WAAW2gE,EAAqBC,GACxD,YAAiBF,EAAcE,EAAc/gE,KAAK6gE,aAAc,EAAG7gE,KAAK6gE,aAAatrE,QAE7F,MAEIyK,KAAK6gE,aAAeA,CAE5B,CAoNA,OAnNA65C,EAAY9lH,UAAUosE,gBAAkB,WACpC,OAAOhhE,KAAK6gE,YAChB,EAIA65C,EAAY9lH,UAAUqsE,UAAY,WAC9B,OAAOjhE,KAAK6gE,aAAatrE,OAAS,CACtC,EAIAmlH,EAAY9lH,UAAUssE,OAAS,WAC3B,OAAgC,IAAzBlhE,KAAK6gE,aAAa,EAC7B,EAIA65C,EAAY9lH,UAAUusE,eAAiB,SAAUC,GAC7C,OAAOphE,KAAK6gE,aAAa7gE,KAAK6gE,aAAatrE,OAAS,EAAI6rE,EAC5D,EAIAs5C,EAAY9lH,UAAUysE,WAAa,SAAU5rE,GACzC,IAAIioD,EAAKH,EACT,GAAU,IAAN9nD,EAEA,OAAOuK,KAAKmhE,eAAe,GAE/B,GAAU,IAAN1rE,EAAS,CAET,IAAI0J,EAAc,EAClB,IACI,IAAK,IAAI2hD,EAAK,GAAS9gD,KAAK6gE,cAAe6jB,EAAK5jC,EAAGp8C,QAASggF,EAAG1hF,KAAM0hF,EAAK5jC,EAAGp8C,OAAQ,CACjF,IAAI48D,EAAcojB,EAAGnwF,MACrB4K,EAAMa,KAAK4gE,MAAMnhE,IAAIN,EAAKmiE,EAC9B,CAQJ,CANA,MAAOvjB,GAASL,EAAM,CAAExuC,MAAO6uC,EAAS,CACxC,QACI,IACQ2mC,IAAOA,EAAG1hF,OAASu6C,EAAKuD,EAAG31C,SAASoyC,EAAG1pD,KAAKitD,EAEhB,CAApC,QAAU,GAAIpD,EAAK,MAAMA,EAAIxuC,KAAO,CACxC,CACA,OAAO/P,CACX,CAGA,IAFA,IAAI+b,EAAiBlb,KAAK6gE,aAAa,GACnCpgE,EAAeT,KAAK6gE,aAAatrE,OAC5B5B,EAAY,EAAGA,EAAI8M,EAAM9M,IAC9BunB,EAASlb,KAAK4gE,MAAMnhE,IAAIO,KAAK4gE,MAAMW,SAAS9rE,EAAGylB,GAASlb,KAAK6gE,aAAaltE,IAE9E,OAAOunB,CACX,EACAw/F,EAAY9lH,UAAU6K,IAAM,SAAU8uD,GAClC,IAAKvuD,KAAK4gE,MAAMzV,OAAOoD,EAAMqS,OACzB,MAAM,IAAI,EAAyB,iDAEvC,GAAI5gE,KAAKkhE,SACL,OAAO3S,EAEX,GAAIA,EAAM2S,SACN,OAAOlhE,KAEX,IAAIwhE,EAAsBxhE,KAAK6gE,aAC3BY,EAAqBlT,EAAMsS,aAC/B,GAAIW,EAAoBjsE,OAASksE,EAAmBlsE,OAAQ,CACxD,IAAI0jE,EAAOuI,EACXA,EAAsBC,EACtBA,EAAqBxI,CACzB,CACA,IAAIyI,EAAU,IAAIvhE,WAAWshE,EAAmBlsE,QAC5CosE,EAAqBF,EAAmBlsE,OAASisE,EAAoBjsE,OAEzE,YAAiBksE,EAAoB,EAAGC,EAAS,EAAGC,GACpD,IAAK,IAAIhuE,EAAYguE,EAAYhuE,EAAI8tE,EAAmBlsE,OAAQ5B,IAC5D+tE,EAAQ/tE,GAAKqM,KAAK4gE,MAAMnhE,IAAI+hE,EAAoB7tE,EAAIguE,GAAaF,EAAmB9tE,IAExF,OAAO,IAAI+mH,EAAY16G,KAAK4gE,MAAOc,EACvC,EACAg5C,EAAY9lH,UAAU+lH,SAAW,SAAUpsD,GACvC,IAAKvuD,KAAK4gE,MAAMzV,OAAOoD,EAAMqS,OACzB,MAAM,IAAI,EAAyB,iDAEvC,OAAIrS,EAAM2S,SACClhE,KAEJA,KAAKP,IAAI8uD,EAAMqsD,WAC1B,EACAF,EAAY9lH,UAAU2sE,SAAW,SAAUhT,GACvC,OAAIA,aAAiBmsD,EACV16G,KAAK66G,cAActsD,GAEvBvuD,KAAKmiE,eAAe5T,EAC/B,EACAmsD,EAAY9lH,UAAUimH,cAAgB,SAAUtsD,GAC5C,IAAKvuD,KAAK4gE,MAAMzV,OAAOoD,EAAMqS,OACzB,MAAM,IAAI,EAAyB,iDAEvC,GAAI5gE,KAAKkhE,UAAY3S,EAAM2S,SAEvB,OAAO,IAAIw5C,EAAY16G,KAAK4gE,MAAO,IAAIzgE,WAAW,CAAC,KAOvD,IALA,IAAI0hE,EAAgB7hE,KAAK6gE,aACrBiB,EAAkBD,EAActsE,OAChCwsE,EAAgBxT,EAAMsS,aACtBmB,EAAkBD,EAAcxsE,OAChC0sE,EAAU,IAAI9hE,WAAW2hE,EAAUE,EAAU,GACxCruE,EAAY,EAAGA,EAAImuE,EAASnuE,IAEjC,IADA,IAAIuuE,EAAiBL,EAAcluE,GAC1BoD,EAAY,EAAGA,EAAIirE,EAASjrE,IACjCkrE,EAAQtuE,EAAIoD,GAAKiJ,KAAK4gE,MAAMnhE,IAAIwiE,EAAQtuE,EAAIoD,GAAIiJ,KAAK4gE,MAAMW,SAASW,EAAQH,EAAchrE,KAGlG,OAAO,IAAI2jH,EAAY16G,KAAK4gE,MAAOqB,EACvC,EACAy4C,EAAY9lH,UAAUgmH,SAAW,WAG7B,IAFA,IAAIn6G,EAAeT,KAAK6gE,aAAatrE,OACjCulH,EAAuB,IAAI36G,WAAWM,GACjC9M,EAAY,EAAGA,EAAI8M,EAAM9M,IAC9BmnH,EAAqBnnH,GAAKqM,KAAK4gE,MAAM+5C,SAAS,EAAG36G,KAAK6gE,aAAaltE,IAEvE,OAAO,IAAI+mH,EAAY16G,KAAK4gE,MAAOk6C,EACvC,EACAJ,EAAY9lH,UAAUutE,eAAiB,SAAUC,GAC7C,GAAe,IAAXA,EACA,OAAO,IAAIs4C,EAAY16G,KAAK4gE,MAAO,IAAIzgE,WAAW,CAAC,KAEvD,GAAe,IAAXiiE,EACA,OAAOpiE,KAIX,IAFA,IAAIS,EAAeT,KAAK6gE,aAAatrE,OACjC0sE,EAAU,IAAI9hE,WAAWM,GACpB9M,EAAY,EAAGA,EAAI8M,EAAM9M,IAC9BsuE,EAAQtuE,GAAKqM,KAAK4gE,MAAMW,SAASvhE,KAAK6gE,aAAaltE,GAAIyuE,GAE3D,OAAO,IAAIs4C,EAAY16G,KAAK4gE,MAAOqB,EACvC,EACAy4C,EAAY9lH,UAAUytE,mBAAqB,SAAUjB,EAAQE,GACzD,GAAIF,EAAS,EACT,MAAM,IAAI,EAEd,GAAoB,IAAhBE,EACA,OAAO,IAAIo5C,EAAY16G,KAAK4gE,MAAO,IAAIzgE,WAAW,CAAC,KAIvD,IAFA,IAAIM,EAAeT,KAAK6gE,aAAatrE,OACjC0sE,EAAU,IAAI9hE,WAAWM,EAAO2gE,GAC3BztE,EAAY,EAAGA,EAAI8M,EAAM9M,IAC9BsuE,EAAQtuE,GAAKqM,KAAK4gE,MAAMW,SAASvhE,KAAK6gE,aAAaltE,GAAI2tE,GAE3D,OAAO,IAAIo5C,EAAY16G,KAAK4gE,MAAOqB,EACvC,EA6BAy4C,EAAY9lH,UAAUwT,SAAW,WAE7B,IADA,IAAI8S,EAAS,IAAI,EACRkmD,EAAiBphE,KAAKihE,YAAaG,GAAU,EAAGA,IAAU,CAC/D,IAAIE,EAAsBthE,KAAKmhE,eAAeC,GAC1B,IAAhBE,IACIA,EAAc,GACdpmD,EAAOoxB,OAAO,OACdg1B,GAAeA,GAGXpmD,EAAO3lB,SAAW,GAClB2lB,EAAOoxB,OAAO,OAGP,IAAX80B,GAAgC,IAAhBE,GAChBpmD,EAAOoxB,OAAOg1B,GAEH,IAAXF,IACe,IAAXA,EACAlmD,EAAOoxB,OAAO,MAGdpxB,EAAOoxB,OAAO,MACdpxB,EAAOoxB,OAAO80B,KAI9B,CACA,OAAOlmD,EAAO9S,UAClB,EACOsyG,CACX,CA7OgC,GA8OhC,MCxOA,GAtCiC,WAC7B,SAASK,IACT,CAkCA,OAjCAA,EAAYnmH,UAAU6K,IAAM,SAAUhK,EAAGS,GACrC,OAAQT,EAAIS,GAAK8J,KAAKg7G,OAC1B,EACAD,EAAYnmH,UAAU+lH,SAAW,SAAUllH,EAAGS,GAC1C,OAAQ8J,KAAKg7G,QAAUvlH,EAAIS,GAAK8J,KAAKg7G,OACzC,EACAD,EAAYnmH,UAAU4/D,IAAM,SAAU/+D,GAClC,OAAOuK,KAAKwgE,SAAS/qE,EACzB,EACAslH,EAAYnmH,UAAUkjB,IAAM,SAAUriB,GAClC,GAAU,IAANA,EACA,MAAM,IAAI,EAEd,OAAOuK,KAAKygE,SAAShrE,EACzB,EACAslH,EAAYnmH,UAAU+tE,QAAU,SAAUltE,GACtC,GAAU,IAANA,EACA,MAAM,IAAI,GAEd,OAAOuK,KAAKwgE,SAASxgE,KAAKg7G,QAAUh7G,KAAKygE,SAAShrE,GAAK,EAC3D,EACAslH,EAAYnmH,UAAU2sE,SAAW,SAAU9rE,EAAGS,GAC1C,OAAU,IAANT,GAAiB,IAANS,EACJ,EAEJ8J,KAAKwgE,UAAUxgE,KAAKygE,SAAShrE,GAAKuK,KAAKygE,SAASvqE,KAAO8J,KAAKg7G,QAAU,GACjF,EACAD,EAAYnmH,UAAUkmB,QAAU,WAC5B,OAAO9a,KAAKg7G,OAChB,EACAD,EAAYnmH,UAAUu2D,OAAS,SAAUz3D,GACrC,OAAOA,IAAMsM,IACjB,EACO+6G,CACX,CArCgC,GCa5B,GAAwC,WACxC,IAAIphE,EAAgB,SAAU3lD,EAAGkC,GAI7B,OAHAyjD,EAAgB1lD,OAAOkB,gBAClB,CAAEE,UAAW,cAAgB8H,OAAS,SAAUnJ,EAAGkC,GAAKlC,EAAEqB,UAAYa,CAAG,GAC1E,SAAUlC,EAAGkC,GAAK,IAAK,IAAIpB,KAAKoB,EAAOA,EAAErB,eAAeC,KAAId,EAAEc,GAAKoB,EAAEpB,GAAI,EACtE6kD,EAAc3lD,EAAGkC,EAC5B,EACA,OAAO,SAAUlC,EAAGkC,GAEhB,SAAS2jD,IAAO75C,KAAK5B,YAAcpK,CAAG,CADtC2lD,EAAc3lD,EAAGkC,GAEjBlC,EAAEY,UAAkB,OAANsB,EAAajC,OAAOQ,OAAOyB,IAAM2jD,EAAGjlD,UAAYsB,EAAEtB,UAAW,IAAIilD,EACnF,CACH,CAZ2C,GAkE5C,GAzC+B,SAAUE,GAGrC,SAASkhE,EAAUD,EAASh/D,GACxB,IAAInqB,EAAQkoB,EAAOlmD,KAAKmM,OAASA,KACjC6xB,EAAMmpF,QAAUA,EAChBnpF,EAAM2uC,SAAW,IAAIrgE,WAAW66G,GAChCnpF,EAAM4uC,SAAW,IAAItgE,WAAW66G,GAEhC,IADA,IAAIhlH,EAAY,EACPrC,EAAY,EAAGA,EAAIqnH,EAASrnH,IACjCk+B,EAAM2uC,SAAS7sE,GAAKqC,EACpBA,EAAKA,EAAIgmD,EAAag/D,EAE1B,IAASrnH,EAAY,EAAGA,EAAIqnH,EAAU,EAAGrnH,IACrCk+B,EAAM4uC,SAAS5uC,EAAM2uC,SAAS7sE,IAAMA,EAKxC,OAFAk+B,EAAMwxC,KAAO,IAAI,GAAYxxC,EAAO,IAAI1xB,WAAW,CAAC,KACpD0xB,EAAMyxC,IAAM,IAAI,GAAYzxC,EAAO,IAAI1xB,WAAW,CAAC,KAC5C0xB,CACX,CAmBA,OAtCA,GAAUopF,EAAWlhE,GAoBrBkhE,EAAUrmH,UAAUgtE,QAAU,WAC1B,OAAO5hE,KAAKqjE,IAChB,EACA43C,EAAUrmH,UAAU2uE,OAAS,WACzB,OAAOvjE,KAAKsjE,GAChB,EACA23C,EAAUrmH,UAAUmuE,cAAgB,SAAU3B,EAAQE,GAClD,GAAIF,EAAS,EACT,MAAM,IAAI,EAEd,GAAoB,IAAhBE,EACA,OAAOthE,KAAKqjE,KAEhB,IAAIxC,EAAe,IAAI1gE,WAAWihE,EAAS,GAE3C,OADAP,EAAa,GAAKS,EACX,IAAI,GAAYthE,KAAM6gE,EACjC,EACAo6C,EAAUC,UAAY,IAAID,EAAU,uBAAkC,GAC/DA,CACX,CAxC8B,CAwC5B,ICjEE,GAAsC,SAASvnH,GAC/C,IAAIqB,EAAsB,oBAAXV,QAAyBA,OAAO+P,SAAUtQ,EAAIiB,GAAKrB,EAAEqB,GAAIpB,EAAI,EAC5E,GAAIG,EAAG,OAAOA,EAAED,KAAKH,GACrB,GAAIA,GAAyB,kBAAbA,EAAE6B,OAAqB,MAAO,CAC1CmP,KAAM,WAEF,OADIhR,GAAKC,GAAKD,EAAE6B,SAAQ7B,OAAI,GACrB,CAAEa,MAAOb,GAAKA,EAAEC,KAAMqP,MAAOtP,EACxC,GAEJ,MAAM,IAAI4B,UAAUP,EAAI,0BAA4B,kCACxD,EAeIomH,GAAiC,WACjC,SAASA,IACLn7G,KAAK4gE,MAAQ,YACjB,CAwJA,OAhJAu6C,EAAgBvmH,UAAU4Z,OAAS,SAAU21D,EAAU8P,EAAgBjU,GAKnE,IAJA,IAAItiB,EAAKH,EACL8mB,EAAO,IAAI,GAAYrkE,KAAK4gE,MAAOuD,GACnCztE,EAAI,IAAIyJ,WAAW8zE,GACnB/kE,GAAQ,EACHvb,EAAYsgF,EAAgBtgF,EAAI,EAAGA,IAAK,CAC7C,IAAIynH,EAAa/2C,EAAKhD,WAAWrhE,KAAK4gE,MAAMpM,IAAI7gE,IAChD+C,EAAEu9E,EAAiBtgF,GAAKynH,EACL,IAAfA,IACAlsG,GAAQ,EAEhB,CACA,IAAKA,EACD,OAAO,EAEX,IAAImsG,EAAcr7G,KAAK4gE,MAAM2C,SAC7B,GAAgB,MAAZvD,EACA,IACI,IAAK,IAAIs7C,EAAa,GAASt7C,GAAWu7C,EAAeD,EAAW52G,QAAS62G,EAAav4G,KAAMu4G,EAAeD,EAAW52G,OAAQ,CAC9H,IAAI82G,EAAUD,EAAahnH,MACvB2B,EAAI8J,KAAK4gE,MAAMpM,IAAI2P,EAAS5uE,OAAS,EAAIimH,GAEzC34C,EAAO,IAAI,GAAY7iE,KAAK4gE,MAAO,IAAIzgE,WAAW,CAACH,KAAK4gE,MAAM+5C,SAAS,EAAGzkH,GAAI,KAClFmlH,EAAcA,EAAY95C,SAASsB,EACvC,CAQJ,CANA,MAAO9kB,GAASL,EAAM,CAAExuC,MAAO6uC,EAAS,CACxC,QACI,IACQw9D,IAAiBA,EAAav4G,OAASu6C,EAAK+9D,EAAWnwG,SAASoyC,EAAG1pD,KAAKynH,EAE5C,CAApC,QAAU,GAAI59D,EAAK,MAAMA,EAAIxuC,KAAO,CACxC,CAEJ,IAAIu1D,EAAW,IAAI,GAAYzkE,KAAK4gE,MAAOlqE,GAEvCguE,EAAa1kE,KAAK2kE,sBAAsB3kE,KAAK4gE,MAAMmC,cAAckR,EAAgB,GAAIxP,EAAUwP,GAC/FrP,EAAQF,EAAW,GACnBG,EAAQH,EAAW,GAEnBI,EAAiB9kE,KAAK+kE,mBAAmBH,GACzCI,EAAkBhlE,KAAKilE,oBAAoBJ,EAAOD,EAAOE,GAC7D,IAASnxE,EAAY,EAAGA,EAAImxE,EAAevvE,OAAQ5B,IAAK,CACpD,IAAI4qC,EAAW4lC,EAAS5uE,OAAS,EAAIyK,KAAK4gE,MAAM9oD,IAAIgtD,EAAenxE,IACnE,GAAI4qC,EAAW,EACX,MAAM,wBAEV4lC,EAAS5lC,GAAYv+B,KAAK4gE,MAAM+5C,SAASx2C,EAAS5lC,GAAWymC,EAAgBrxE,GACjF,CACA,OAAOmxE,EAAevvE,MAC1B,EAWA4lH,EAAgBvmH,UAAU+vE,sBAAwB,SAAUlvE,EAAGS,EAAGG,GAE9D,GAAIZ,EAAEwrE,YAAc/qE,EAAE+qE,YAAa,CAC/B,IAAIhI,EAAOxjE,EACXA,EAAIS,EACJA,EAAI+iE,CACR,CAMA,IALA,IAAIiM,EAAQzvE,EACRhC,EAAIyC,EACJivE,EAAQnlE,KAAK4gE,MAAMgB,UACnBtuE,EAAI0M,KAAK4gE,MAAM2C,SAEZ9vE,EAAEwtE,aAAe7jE,KAAKa,MAAM5H,EAAI,IAAI,CACvC,IAAI+uE,EAAYF,EACZG,EAAYF,EAIhB,GAFAA,EAAQ7xE,GADR4xE,EAAQzxE,GAGEytE,SAEN,MAAM,wBAEVztE,EAAI2xE,EAIJ,IAHA,IAAI5tE,EAAIwI,KAAK4gE,MAAMgB,UACfa,EAAyByC,EAAM/D,eAAe+D,EAAMjE,aACpDqE,EAAatlE,KAAK4gE,MAAM+B,QAAQF,GAC7BhvE,EAAEwtE,aAAeiE,EAAMjE,cAAgBxtE,EAAEytE,UAAU,CACtD,IAAIqE,EAAa9xE,EAAEwtE,YAAciE,EAAMjE,YACnC37D,EAAQtF,KAAK4gE,MAAMW,SAAS9tE,EAAE0tE,eAAe1tE,EAAEwtE,aAAcqE,GACjE9tE,EAAIA,EAAEiI,IAAIO,KAAK4gE,MAAMmC,cAAcwC,EAAYjgE,IAC/C7R,EAAIA,EAAEknH,SAASz1C,EAAM7C,mBAAmBkD,EAAYjgE,GACxD,CACAhS,EAAIkE,EAAE+pE,SAAS4D,GAAOw1C,SAASt1C,GAAWu1C,UAC9C,CACA,IAAIp1C,EAAmBlyE,EAAE6tE,eAAe,GACxC,GAAyB,IAArBqE,EACA,MAAM,wBAEV,IAAI7C,EAAU3iE,KAAK4gE,MAAM+B,QAAQ6C,GAGjC,MAAO,CAFKlyE,EAAEiuE,SAASoB,GACXlvE,EAAE8tE,SAASoB,GAE3B,EAMAw4C,EAAgBvmH,UAAUmwE,mBAAqB,SAAUU,GAKrD,IAHA,IAAIC,EAAYD,EAAaxE,YACzB/lD,EAAS,IAAI/a,WAAWulE,GACxBnyE,EAAI,EACCI,EAAY,EAAGA,EAAIqM,KAAK4gE,MAAM9lD,WAAavnB,EAAImyE,EAAW/xE,IAC5B,IAA/B8xE,EAAapE,WAAW1tE,KACxBunB,EAAO3nB,GAAKyM,KAAK4gE,MAAM+B,QAAQhvE,GAC/BJ,KAGR,GAAIA,IAAMmyE,EACN,MAAM,wBAEV,OAAOxqD,CACX,EACAigG,EAAgBvmH,UAAUqwE,oBAAsB,SAAUU,EAAgBF,EAAcX,GAGpF,IAFA,IAAI22C,EAAqBh2C,EAAaxE,YAClCy6C,EAA+B,IAAIv7G,WAAWs7G,GACzC9nH,EAAY,EAAGA,GAAK8nH,EAAoB9nH,IAC7C+nH,EAA6BD,EAAqB9nH,GAC9CqM,KAAK4gE,MAAMW,SAAS5tE,EAAG8xE,EAAatE,eAAextE,IAE3D,IAAIgoH,EAAmB,IAAI,GAAY37G,KAAK4gE,MAAO86C,GAE/C3mH,EAAI+vE,EAAevvE,OACnB2lB,EAAS,IAAI/a,WAAWpL,GAC5B,IAASpB,EAAY,EAAGA,EAAIoB,EAAGpB,IAAK,CAChC,IAAIiyE,EAAY5lE,KAAK4gE,MAAM+B,QAAQmC,EAAenxE,IAC9CioH,EAAY57G,KAAK4gE,MAAM+5C,SAAS,EAAGh1C,EAAetE,WAAWuE,IAC7DC,EAAc7lE,KAAK4gE,MAAM+B,QAAQg5C,EAAiBt6C,WAAWuE,IACjE1qD,EAAOvnB,GAAKqM,KAAK4gE,MAAMW,SAASq6C,EAAW/1C,EAC/C,CACA,OAAO3qD,CACX,EACOigG,CACX,CA5JoC,GA6JpC,MC5CA,GAlIiC,WAC7B,SAASU,EAAYh+F,EAAO43D,EAASG,EAAYF,EAAUC,GACnD93D,aAAiBg+F,EACjB77G,KAAK87G,cAAcj+F,GAGnB7d,KAAK+7G,cAAcl+F,EAAO43D,EAASG,EAAYF,EAAUC,EAEjE,CAwHA,OA7GAkmC,EAAYjnH,UAAUmnH,cAAgB,SAAUl+F,EAAO43D,EAASG,EAAYF,EAAUC,GAClF,IAAIqmC,EAA6B,MAAXvmC,GAAiC,MAAdG,EACrCqmC,EAA+B,MAAZvmC,GAAmC,MAAfC,EAC3C,GAAIqmC,GAAmBC,EACnB,MAAM,IAAI,EAEVD,GACAvmC,EAAU,IAAI,GAAY,EAAGC,EAASnL,QACtCqL,EAAa,IAAI,GAAY,EAAGD,EAAYpL,SAEvC0xC,IACLvmC,EAAW,IAAI,GAAY73D,EAAMhX,WAAa,EAAG4uE,EAAQlL,QACzDoL,EAAc,IAAI,GAAY93D,EAAMhX,WAAa,EAAG+uE,EAAWrL,SAEnEvqE,KAAK6d,MAAQA,EACb7d,KAAKy1E,QAAUA,EACfz1E,KAAK41E,WAAaA,EAClB51E,KAAK01E,SAAWA,EAChB11E,KAAK21E,YAAcA,EACnB31E,KAAKk8G,KAAO9+G,KAAKyvD,MAAMzvD,KAAKY,IAAIy3E,EAAQnL,OAAQsL,EAAWtL,SAC3DtqE,KAAKm8G,KAAO/+G,KAAKyvD,MAAMzvD,KAAKI,IAAIk4E,EAASpL,OAAQqL,EAAYrL,SAC7DtqE,KAAKo8G,KAAOh/G,KAAKyvD,MAAMzvD,KAAKY,IAAIy3E,EAAQlL,OAAQmL,EAASnL,SACzDvqE,KAAKq8G,KAAOj/G,KAAKyvD,MAAMzvD,KAAKI,IAAIo4E,EAAWrL,OAAQoL,EAAYpL,QACnE,EACAsxC,EAAYjnH,UAAUknH,cAAgB,SAAUQ,GAC5Ct8G,KAAK6d,MAAQy+F,EAAYz+F,MACzB7d,KAAKy1E,QAAU6mC,EAAYnJ,aAC3BnzG,KAAK41E,WAAa0mC,EAAYpJ,gBAC9BlzG,KAAK01E,SAAW4mC,EAAYliG,cAC5Bpa,KAAK21E,YAAc2mC,EAAYC,iBAC/Bv8G,KAAKk8G,KAAOI,EAAYE,UACxBx8G,KAAKm8G,KAAOG,EAAYG,UACxBz8G,KAAKo8G,KAAOE,EAAYI,UACxB18G,KAAKq8G,KAAOC,EAAYK,SAC5B,EAIAd,EAAYe,MAAQ,SAAUC,EAASC,GACnC,OAAe,MAAXD,EACOC,EAEK,MAAZA,EACOD,EAEJ,IAAIhB,EAAYgB,EAAQh/F,MAAOg/F,EAAQpnC,QAASonC,EAAQjnC,WAAYknC,EAASpnC,SAAUonC,EAASnnC,YAC3G,EAIAkmC,EAAYjnH,UAAUmoH,eAAiB,SAAUC,EAAkBC,EAAgBC,GAC/E,IAAIC,EAAan9G,KAAKy1E,QAClB2nC,EAAgBp9G,KAAK41E,WACrBynC,EAAcr9G,KAAK01E,SACnB4nC,EAAiBt9G,KAAK21E,YAC1B,GAAIqnC,EAAmB,EAAG,CACtB,IAAI7iD,EAAQ+iD,EAASl9G,KAAKy1E,QAAUz1E,KAAK01E,SACrC6nC,EAAUngH,KAAKyvD,MAAMsN,EAAMoQ,OAASyyC,GACpCO,EAAU,IACVA,EAAU,GAEd,IAAIC,EAAS,IAAI,GAAYrjD,EAAMmQ,OAAQizC,GACvCL,EACAC,EAAaK,EAGbH,EAAcG,CAEtB,CACA,GAAIP,EAAiB,EAAG,CACpB,IAAI97G,EAAS+7G,EAASl9G,KAAK41E,WAAa51E,KAAK21E,YACzC8nC,EAAUrgH,KAAKyvD,MAAM1rD,EAAOopE,OAAS0yC,GACrCQ,GAAWz9G,KAAK6d,MAAM/W,cACtB22G,EAAUz9G,KAAK6d,MAAM/W,YAAc,GAEvC,IAAI42G,EAAY,IAAI,GAAYv8G,EAAOmpE,OAAQmzC,GAC3CP,EACAE,EAAgBM,EAGhBJ,EAAiBI,CAEzB,CACA,OAAO,IAAI7B,EAAY77G,KAAK6d,MAAOs/F,EAAYC,EAAeC,EAAaC,EAC/E,EACAzB,EAAYjnH,UAAU4nH,QAAU,WAC5B,OAAOx8G,KAAKk8G,IAChB,EACAL,EAAYjnH,UAAU6nH,QAAU,WAC5B,OAAOz8G,KAAKm8G,IAChB,EACAN,EAAYjnH,UAAU8nH,QAAU,WAC5B,OAAO18G,KAAKo8G,IAChB,EACAP,EAAYjnH,UAAU+nH,QAAU,WAC5B,OAAO38G,KAAKq8G,IAChB,EACAR,EAAYjnH,UAAUu+G,WAAa,WAC/B,OAAOnzG,KAAKy1E,OAChB,EACAomC,EAAYjnH,UAAUwlB,YAAc,WAChC,OAAOpa,KAAK01E,QAChB,EACAmmC,EAAYjnH,UAAUs+G,cAAgB,WAClC,OAAOlzG,KAAK41E,UAChB,EACAimC,EAAYjnH,UAAU2nH,eAAiB,WACnC,OAAOv8G,KAAK21E,WAChB,EACOkmC,CACX,CAjIgC,GCqBhC,GAzBqC,WACjC,SAAS8B,EAAgBC,EAAaC,EAAmBC,EAAmBr2D,GACxEznD,KAAK49G,YAAcA,EACnB59G,KAAKynD,qBAAuBA,EAC5BznD,KAAK69G,kBAAoBA,EACzB79G,KAAK89G,kBAAoBA,EACzB99G,KAAK+9G,SAAWF,EAAoBC,CACxC,CAgBA,OAfAH,EAAgB/oH,UAAUopH,eAAiB,WACvC,OAAOh+G,KAAK49G,WAChB,EACAD,EAAgB/oH,UAAUi2G,wBAA0B,WAChD,OAAO7qG,KAAKynD,oBAChB,EACAk2D,EAAgB/oH,UAAUqpH,YAAc,WACpC,OAAOj+G,KAAK+9G,QAChB,EACAJ,EAAgB/oH,UAAUspH,qBAAuB,WAC7C,OAAOl+G,KAAK69G,iBAChB,EACAF,EAAgB/oH,UAAUupH,qBAAuB,WAC7C,OAAOn+G,KAAK89G,iBAChB,EACOH,CACX,CAxBoC,GChBhCS,GAA2B,WAC3B,SAASA,IACLp+G,KAAKkK,OAAS,EAClB,CAqEA,OA7DAk0G,EAAU/sE,KAAO,SAAUrmB,EAAK3H,GAC5B,IAAI1vB,GAAK,EAwCT,OAAOq3B,EAAIphB,QADC,yDAtCZ,SAAkB4qD,EAAKC,EAAIC,EAAIC,EAAIC,EAAIC,GACnC,GAAY,OAARL,EACA,MAAO,IACX,QAAiBjvC,IAAblC,IAAM1vB,GAAV,CAEA6gE,EAAMG,EAAKnhD,SAASmhD,EAAGr4C,OAAO,SAAMiJ,EACpC,IACI/e,EADAsuD,EAAOF,EAAKphD,SAASohD,EAAGt4C,OAAO,SAAMiJ,EAEzC,OAAQsvC,GACJ,IAAK,IACDruD,EAAM6c,EAAI1vB,GACV,MACJ,IAAK,IACD6S,EAAM6c,EAAI1vB,GAAG,GACb,MACJ,IAAK,IACD6S,EAAMlF,WAAW+hB,EAAI1vB,IAAIohE,QAAQP,GACjC,MACJ,IAAK,IACDhuD,EAAMlF,WAAW+hB,EAAI1vB,IAAIqhE,YAAYR,GACrC,MACJ,IAAK,IACDhuD,EAAMlF,WAAW+hB,EAAI1vB,IAAIshE,cAAcT,GACvC,MACJ,IAAK,IACDhuD,EAAMgN,SAAS6P,EAAI1vB,IAAIyU,SAAS0sD,GAAc,IAC9C,MACJ,IAAK,IACDtuD,EAAMlF,WAAWkS,SAAS6P,EAAI1vB,GAAImhE,GAAc,IAAIE,YAAYR,IAAMO,QAAQ,GAGtFvuD,EAAqB,kBAARA,EAAmB6gC,KAAKE,UAAU/gC,KAASA,GAAK4B,SAAS0sD,GAGtE,IAFA,IAAIr0D,EAAO+S,SAASkhD,GAChBQ,EAAKR,GAAOA,EAAG,GAAK,KAAQ,IAAM,IAAM,IACrCluD,EAAIjR,OAASkL,GAChB+F,OAAa+e,IAAPkvC,EAAmBjuD,EAAM0uD,EAAKA,EAAK1uD,EAC7C,OAAOA,CAhCa,CAiCxB,GAGJ,EAMA43G,EAAUxpH,UAAUga,OAAS,SAAU09B,GAEnC,IADA,IAAIxmB,EAAO,GACFS,EAAK,EAAGA,EAAK3oB,UAAUrI,OAAQgxB,IACpCT,EAAKS,EAAK,GAAK3oB,UAAU2oB,GAE7BvmB,KAAKkK,QAAUk0G,EAAU/sE,KAAK/E,EAAQxmB,EAC1C,EAIAs4F,EAAUxpH,UAAUwT,SAAW,WAC3B,OAAOpI,KAAKkK,MAChB,EACOk0G,CACX,CAzE8B,GA0E9B,MC9DI,GAAsC,SAAS1qH,GAC/C,IAAIqB,EAAsB,oBAAXV,QAAyBA,OAAO+P,SAAUtQ,EAAIiB,GAAKrB,EAAEqB,GAAIpB,EAAI,EAC5E,GAAIG,EAAG,OAAOA,EAAED,KAAKH,GACrB,GAAIA,GAAyB,kBAAbA,EAAE6B,OAAqB,MAAO,CAC1CmP,KAAM,WAEF,OADIhR,GAAKC,GAAKD,EAAE6B,SAAQ7B,OAAI,GACrB,CAAEa,MAAOb,GAAKA,EAAEC,KAAMqP,MAAOtP,EACxC,GAEJ,MAAM,IAAI4B,UAAUP,EAAI,0BAA4B,kCACxD,EAQIspH,GAAuC,WACvC,SAASA,EAAsB/B,GAC3Bt8G,KAAKs8G,YAAc,IAAI,GAAYA,GAEnCt8G,KAAK2hG,UAAY,IAAIxkG,MAAMm/G,EAAYK,UAAYL,EAAYI,UAAY,EAC/E,CAgEA,OA/DU2B,EAAsBzpH,UAAU0pH,kBAAoB,SAAUC,GACpE,IAAIC,EAAWx+G,KAAKo4G,YAAYmG,GAChC,GAAgB,MAAZC,EACA,OAAOA,EAEX,IAAK,IAAI7qH,EAAI,EAAGA,EAAI0qH,EAAsBI,oBAAqB9qH,IAAK,CAChE,IAAI+qH,EAAe1+G,KAAK2+G,wBAAwBJ,GAAY5qH,EAC5D,GAAI+qH,GAAgB,GAEA,OADhBF,EAAWx+G,KAAK2hG,UAAU+c,IAEtB,OAAOF,EAIf,IADAE,EAAe1+G,KAAK2+G,wBAAwBJ,GAAY5qH,GACrCqM,KAAK2hG,UAAUpsG,QAEd,OADhBipH,EAAWx+G,KAAK2hG,UAAU+c,IAEtB,OAAOF,CAGnB,CACA,OAAO,IACX,EACcH,EAAsBzpH,UAAU+pH,wBAA0B,SAAUJ,GAC9E,OAAOA,EAAWv+G,KAAKs8G,YAAYI,SACvC,EACe2B,EAAsBzpH,UAAUgqH,YAAc,SAAUL,EAAUC,GAC7Ex+G,KAAK2hG,UAAU3hG,KAAK2+G,wBAAwBJ,IAAaC,CAC7D,EACUH,EAAsBzpH,UAAUwjH,YAAc,SAAUmG,GAC9D,OAAOv+G,KAAK2hG,UAAU3hG,KAAK2+G,wBAAwBJ,GACvD,EACUF,EAAsBzpH,UAAUiqH,eAAiB,WACvD,OAAO7+G,KAAKs8G,WAChB,EACU+B,EAAsBzpH,UAAUkuG,aAAe,WACrD,OAAO9iG,KAAK2hG,SAChB,EAEA0c,EAAsBzpH,UAAUwT,SAAW,WACvC,IAAIs1C,EAAKH,EACLuhE,EAAY,IAAI,GAChBrkE,EAAM,EACV,IACI,IAAK,IAAIqG,EAAK,GAAS9gD,KAAK2hG,WAAYjd,EAAK5jC,EAAGp8C,QAASggF,EAAG1hF,KAAM0hF,EAAK5jC,EAAGp8C,OAAQ,CAC9E,IAAI85G,EAAW95B,EAAGnwF,MACF,MAAZiqH,EAIJM,EAAUlwG,OAAO,iBAAkB6rC,IAAO+jE,EAASpqB,eAAgBoqB,EAAStuD,YAHxE4uD,EAAUlwG,OAAO,iBAAkB6rC,IAI3C,CAQJ,CANA,MAAOsD,GAASL,EAAM,CAAExuC,MAAO6uC,EAAS,CACxC,QACI,IACQ2mC,IAAOA,EAAG1hF,OAASu6C,EAAKuD,EAAG31C,SAASoyC,EAAG1pD,KAAKitD,EAEhB,CAApC,QAAU,GAAIpD,EAAK,MAAMA,EAAIxuC,KAAO,CACxC,CACA,OAAO4vG,EAAU12G,UACrB,EACAi2G,EAAsBI,oBAAsB,EACrCJ,CACX,CAtE0C,GAuE1C,MCzFI,GAAsC,SAAS3qH,GAC/C,IAAIqB,EAAsB,oBAAXV,QAAyBA,OAAO+P,SAAUtQ,EAAIiB,GAAKrB,EAAEqB,GAAIpB,EAAI,EAC5E,GAAIG,EAAG,OAAOA,EAAED,KAAKH,GACrB,GAAIA,GAAyB,kBAAbA,EAAE6B,OAAqB,MAAO,CAC1CmP,KAAM,WAEF,OADIhR,GAAKC,GAAKD,EAAE6B,SAAQ7B,OAAI,GACrB,CAAEa,MAAOb,GAAKA,EAAEC,KAAMqP,MAAOtP,EACxC,GAEJ,MAAM,IAAI4B,UAAUP,EAAI,0BAA4B,kCACxD,EACIgqH,GAAkC,SAAUrrH,EAAGF,GAC/C,IAAIM,EAAsB,oBAAXO,QAAyBX,EAAEW,OAAO+P,UACjD,IAAKtQ,EAAG,OAAOJ,EACf,IAAmBD,EAAYF,EAA3BI,EAAIG,EAAED,KAAKH,GAAOq4D,EAAK,GAC3B,IACI,WAAc,IAANv4D,GAAgBA,KAAM,MAAQC,EAAIE,EAAE+Q,QAAQ1B,MAAM+oD,EAAGhtD,KAAKtL,EAAEc,MAQxE,CANA,MAAO2a,GAAS3b,EAAI,CAAE2b,MAAOA,EAAS,CACtC,QACI,IACQzb,IAAMA,EAAEuP,OAASlP,EAAIH,EAAU,SAAIG,EAAED,KAAKF,EAElB,CAAhC,QAAU,GAAIJ,EAAG,MAAMA,EAAE2b,KAAO,CACpC,CACA,OAAO68C,CACX,EAYIizD,GAA8B,WAC9B,SAASA,IACLh/G,KAAKiN,OAAS,IAAIzE,GACtB,CAqDA,OAjDAw2G,EAAapqH,UAAUqqH,SAAW,SAAU1qH,GACxCA,EAAQ6I,KAAKyvD,MAAMt4D,GACnB,IAAI2qH,EAAal/G,KAAKiN,OAAO7Y,IAAIG,GACf,MAAd2qH,IACAA,EAAa,GAEjBA,IACAl/G,KAAKiN,OAAO3F,IAAI/S,EAAO2qH,EAC3B,EAKAF,EAAapqH,UAAUs7D,SAAW,WAC9B,IAAIxS,EAAKH,EACL4hE,GAAiB,EACjBjkG,EAAS,IAAI/d,MACb86E,EAAU,SAAUziF,EAAKjB,GACzB,IAAI6qH,EACQ,WAAc,OAAO5pH,CAAK,EADlC4pH,EAEU,WAAc,OAAO7qH,CAAO,EAEtC6qH,IAAmBD,GACnBA,EAAgBC,KAChBlkG,EAAS,IACFnc,KAAKqgH,MAEPA,MAAqBD,GAC1BjkG,EAAOnc,KAAKqgH,IAEpB,EACA,IACI,IAAK,IAAIt+D,EAAK,GAAS9gD,KAAKiN,OAAOoyG,WAAY36B,EAAK5jC,EAAGp8C,QAASggF,EAAG1hF,KAAM0hF,EAAK5jC,EAAGp8C,OAAQ,CACrF,IAAIiiB,EAAKo4F,GAAOr6B,EAAGnwF,MAAO,GAC1B0jF,EADoCtxD,EAAG,GAAYA,EAAG,GAE1D,CAQJ,CANA,MAAOo3B,GAASL,EAAM,CAAExuC,MAAO6uC,EAAS,CACxC,QACI,IACQ2mC,IAAOA,EAAG1hF,OAASu6C,EAAKuD,EAAG31C,SAASoyC,EAAG1pD,KAAKitD,EAEhB,CAApC,QAAU,GAAIpD,EAAK,MAAMA,EAAIxuC,KAAO,CACxC,CACA,OAAO,cAAwBgM,EACnC,EACA8jG,EAAapqH,UAAU0qH,cAAgB,SAAU/qH,GAC7C,OAAOyL,KAAKiN,OAAO7Y,IAAIG,EAC3B,EACOyqH,CACX,CAzDiC,GA0DjC,MChGI,GAAwC,WACxC,IAAIrlE,EAAgB,SAAU3lD,EAAGkC,GAI7B,OAHAyjD,EAAgB1lD,OAAOkB,gBAClB,CAAEE,UAAW,cAAgB8H,OAAS,SAAUnJ,EAAGkC,GAAKlC,EAAEqB,UAAYa,CAAG,GAC1E,SAAUlC,EAAGkC,GAAK,IAAK,IAAIpB,KAAKoB,EAAOA,EAAErB,eAAeC,KAAId,EAAEc,GAAKoB,EAAEpB,GAAI,EACtE6kD,EAAc3lD,EAAGkC,EAC5B,EACA,OAAO,SAAUlC,EAAGkC,GAEhB,SAAS2jD,IAAO75C,KAAK5B,YAAcpK,CAAG,CADtC2lD,EAAc3lD,EAAGkC,GAEjBlC,EAAEY,UAAkB,OAANsB,EAAajC,OAAOQ,OAAOyB,IAAM2jD,EAAGjlD,UAAYsB,EAAEtB,UAAW,IAAIilD,EACnF,CACH,CAZ2C,GAaxC,GAAsC,SAASnmD,GAC/C,IAAIqB,EAAsB,oBAAXV,QAAyBA,OAAO+P,SAAUtQ,EAAIiB,GAAKrB,EAAEqB,GAAIpB,EAAI,EAC5E,GAAIG,EAAG,OAAOA,EAAED,KAAKH,GACrB,GAAIA,GAAyB,kBAAbA,EAAE6B,OAAqB,MAAO,CAC1CmP,KAAM,WAEF,OADIhR,GAAKC,GAAKD,EAAE6B,SAAQ7B,OAAI,GACrB,CAAEa,MAAOb,GAAKA,EAAEC,KAAMqP,MAAOtP,EACxC,GAEJ,MAAM,IAAI4B,UAAUP,EAAI,0BAA4B,kCACxD,EASIwqH,GAAmD,SAAUxlE,GAE7D,SAASwlE,EAAkCjD,EAAaY,GACpD,IAAIrrF,EAAQkoB,EAAOlmD,KAAKmM,KAAMs8G,IAAgBt8G,KAE9C,OADA6xB,EAAM2tF,QAAUtC,EACTrrF,CACX,CAkQA,OAvQA,GAAU0tF,EAAmCxlE,GAM7CwlE,EAAkC3qH,UAAU6qH,cAAgB,WACxD,IAAI/hE,EAAKH,EACT,IACI,IAAK,IAAIuD,EAAK,GAAS9gD,KAAK8iG,gBAAiBpe,EAAK5jC,EAAGp8C,QAASggF,EAAG1hF,KAAM0hF,EAAK5jC,EAAGp8C,OAAQ,CACnF,IAAI85G,EAAW95B,EAAGnwF,MACF,MAAZiqH,GACAA,EAASkB,kCAEjB,CAQJ,CANA,MAAO3hE,GAASL,EAAM,CAAExuC,MAAO6uC,EAAS,CACxC,QACI,IACQ2mC,IAAOA,EAAG1hF,OAASu6C,EAAKuD,EAAG31C,SAASoyC,EAAG1pD,KAAKitD,EAEhB,CAApC,QAAU,GAAIpD,EAAK,MAAMA,EAAIxuC,KAAO,CACxC,CACJ,EAKAqwG,EAAkC3qH,UAAU+qH,wCAA0C,SAAUC,GAC5F,IAAIje,EAAY3hG,KAAK8iG,eACrB9iG,KAAKy/G,gBACLz/G,KAAK6/G,yBAAyBle,EAAWie,GAYzC,IAXA,IAAItD,EAAct8G,KAAK6+G,iBACnB/9G,EAAMd,KAAKw/G,QAAUlD,EAAYnJ,aAAemJ,EAAYliG,cAC5DjZ,EAASnB,KAAKw/G,QAAUlD,EAAYpJ,gBAAkBoJ,EAAYC,iBAClEuD,EAAW9/G,KAAK2+G,wBAAwBvhH,KAAKyvD,MAAM/rD,EAAIypE,SACvDw1C,EAAU//G,KAAK2+G,wBAAwBvhH,KAAKyvD,MAAM1rD,EAAOopE,SAIzDy1C,GAAc,EACdC,EAAe,EACfC,EAAmB,EACdC,EAAuBL,EAAUK,EAAeJ,EAASI,IAC9D,GAA+B,MAA3Bxe,EAAUwe,GAAd,CAGA,IAAI3B,EAAW7c,EAAUwe,GAQrBC,EAAgB5B,EAASpqB,eAAiB4rB,EAE9C,GAAsB,IAAlBI,EACAF,SAEC,GAAsB,IAAlBE,EACLH,EAAe7iH,KAAKI,IAAIyiH,EAAcC,GACtCA,EAAmB,EACnBF,EAAaxB,EAASpqB,oBAErB,GAAIgsB,EAAgB,GACrB5B,EAASpqB,gBAAkBwrB,EAAgB3B,eAC3CmC,EAAgBD,EAChBxe,EAAUwe,GAAgB,SAEzB,CASD,IARA,IAAIE,OAAc,EAOdC,GALAD,EADAJ,EAAe,GACAA,EAAe,GAAKG,EAGrBA,IAE8BD,EACvCxsH,EAAY,EAAGA,GAAK0sH,IAAgBC,EAA4B3sH,IAGrE2sH,EAA4D,MAA/B3e,EAAUwe,EAAexsH,GAEtD2sH,EACA3e,EAAUwe,GAAgB,MAG1BH,EAAaxB,EAASpqB,eACtB8rB,EAAmB,EAE3B,CA7CA,CAgDR,EACAX,EAAkC3qH,UAAU2rH,cAAgB,WACxD,IAAI1/D,EAAKtD,EACLqiE,EAAkB5/G,KAAKwgH,qBAC3B,GAAuB,MAAnBZ,EACA,OAAO,KAEX5/G,KAAKygH,0CAA0Cb,GAC/C,IAAI1kG,EAAS,IAAI/a,WAAWy/G,EAAgB3B,eAC5C,IACI,IAAK,IAAIn9D,EAAK,GAAS9gD,KAAK8iG,gBAAiBpe,EAAK5jC,EAAGp8C,QAASggF,EAAG1hF,KAAM0hF,EAAK5jC,EAAGp8C,OAAQ,CACnF,IAAI85G,EAAW95B,EAAGnwF,MAClB,GAAgB,MAAZiqH,EAAkB,CAClB,IAAIxmC,EAAYwmC,EAASpqB,eACzB,GAAIpc,GAAa98D,EAAO3lB,OAEpB,SAEJ2lB,EAAO88D,IACX,CACJ,CAQJ,CANA,MAAOj3B,GAASF,EAAM,CAAE3xC,MAAO6xC,EAAS,CACxC,QACI,IACQ2jC,IAAOA,EAAG1hF,OAASu6C,EAAKuD,EAAG31C,SAASoyC,EAAG1pD,KAAKitD,EAEhB,CAApC,QAAU,GAAID,EAAK,MAAMA,EAAI3xC,KAAO,CACxC,CACA,OAAOgM,CACX,EAIAqkG,EAAkC3qH,UAAU6rH,0CAA4C,SAAUb,GAW9F,IAVA,IAAItD,EAAct8G,KAAK6+G,iBACnB/9G,EAAMd,KAAKw/G,QAAUlD,EAAYnJ,aAAemJ,EAAYliG,cAC5DjZ,EAASnB,KAAKw/G,QAAUlD,EAAYpJ,gBAAkBoJ,EAAYC,iBAClEuD,EAAW9/G,KAAK2+G,wBAAwBvhH,KAAKyvD,MAAM/rD,EAAIypE,SACvDw1C,EAAU//G,KAAK2+G,wBAAwBvhH,KAAKyvD,MAAM1rD,EAAOopE,SAEzDo3B,EAAY3hG,KAAK8iG,eACjBkd,GAAc,EACdC,EAAe,EACfC,EAAmB,EACdC,EAAuBL,EAAUK,EAAeJ,EAASI,IAC9D,GAA+B,MAA3Bxe,EAAUwe,GAAd,CAGA,IAAI3B,EAAW7c,EAAUwe,GACzB3B,EAASkB,mCACT,IAAIU,EAAgB5B,EAASpqB,eAAiB4rB,EAExB,IAAlBI,EACAF,IAEuB,IAAlBE,GACLH,EAAe7iH,KAAKI,IAAIyiH,EAAcC,GACtCA,EAAmB,EACnBF,EAAaxB,EAASpqB,gBAEjBoqB,EAASpqB,gBAAkBwrB,EAAgB3B,cAChDtc,EAAUwe,GAAgB,MAG1BH,EAAaxB,EAASpqB,eACtB8rB,EAAmB,EAlBvB,CAsBR,EACAX,EAAkC3qH,UAAU4rH,mBAAqB,WAC7D,IAAI78D,EAAKpG,EACLokD,EAAY3hG,KAAK8iG,eACjB4d,EAAqB,IAAI,GACzBC,EAA2B,IAAI,GAC/BC,EAA2B,IAAI,GAC/BC,EAAiB,IAAI,GACzB,IACI,IAAK,IAAIC,EAAc,GAASnf,GAAYof,EAAgBD,EAAYp8G,QAASq8G,EAAc/9G,KAAM+9G,EAAgBD,EAAYp8G,OAAQ,CACrI,IAAI85G,EAAWuC,EAAcxsH,MAC7B,GAAgB,MAAZiqH,EAAJ,CAGAA,EAASkB,mCACT,IAAIsB,EAAoBxC,EAAStuD,WAAa,GAC1C+wD,EAAoBzC,EAASpqB,eAIjC,OAHKp0F,KAAKw/G,UACNyB,GAAqB,GAEjBA,EAAoB,GACxB,KAAK,EACDN,EAAyB1B,SAA6B,EAApB+B,EAAwB,GAC1D,MACJ,KAAK,EACDH,EAAe5B,SAAS+B,EAAoB,GAC5CJ,EAAyB3B,SAAS+B,EAAoB,GACtD,MACJ,KAAK,EACDN,EAAmBzB,SAAS+B,EAAoB,GAhBxD,CAmBJ,CAQJ,CANA,MAAOt9D,GAASC,EAAM,CAAEz0C,MAAOw0C,EAAS,CACxC,QACI,IACQq9D,IAAkBA,EAAc/9G,OAASu6C,EAAKujE,EAAY31G,SAASoyC,EAAG1pD,KAAKitH,EAE/C,CAApC,QAAU,GAAIn9D,EAAK,MAAMA,EAAIz0C,KAAO,CACxC,CAEA,GAA8C,IAAzCwxG,EAAmBxwD,WAAW36D,QACiB,IAA/CorH,EAAyBzwD,WAAW36D,QACW,IAA/CqrH,EAAyB1wD,WAAW36D,QACC,IAArCsrH,EAAe3wD,WAAW36D,QAC3BmrH,EAAmBxwD,WAAW,GAAK,GACnCywD,EAAyBzwD,WAAW,GAAK0wD,EAAyB1wD,WAAW,GAAK,wBAClFywD,EAAyBzwD,WAAW,GAAK0wD,EAAyB1wD,WAAW,GAAK,uBAClF,OAAO,KAEX,IAAI0vD,EAAkB,IAAI,GAAgBc,EAAmBxwD,WAAW,GAAIywD,EAAyBzwD,WAAW,GAAI0wD,EAAyB1wD,WAAW,GAAI2wD,EAAe3wD,WAAW,IAEtL,OADAlwD,KAAK6/G,yBAAyBle,EAAWie,GAClCA,CACX,EACAL,EAAkC3qH,UAAUirH,yBAA2B,SAAUle,EAAWie,GAGxF,IAAK,IAAIsB,EAAsB,EAAGA,EAAcvf,EAAUpsG,OAAQ2rH,IAAe,CAC7E,IAAI1C,EAAW7c,EAAUuf,GACzB,GAA8B,MAA1Bvf,EAAUuf,GAAd,CAGA,IAAIF,EAAoBxC,EAAStuD,WAAa,GAC1C+wD,EAAoBzC,EAASpqB,eACjC,GAAI6sB,EAAoBrB,EAAgB3B,cACpCtc,EAAUuf,GAAe,UAM7B,OAHKlhH,KAAKw/G,UACNyB,GAAqB,GAEjBA,EAAoB,GACxB,KAAK,EACuB,EAApBD,EAAwB,IAAMpB,EAAgB1B,yBAC9Cvc,EAAUuf,GAAe,MAE7B,MACJ,KAAK,EACG9jH,KAAKyvD,MAAMm0D,EAAoB,KAAOpB,EAAgB/U,2BACtDmW,EAAoB,IAAMpB,EAAgBzB,yBAC1Cxc,EAAUuf,GAAe,MAE7B,MACJ,KAAK,EACGF,EAAoB,IAAMpB,EAAgB5B,mBAC1Crc,EAAUuf,GAAe,MAxBrC,CA4BJ,CACJ,EACA3B,EAAkC3qH,UAAUsoH,OAAS,WACjD,OAAOl9G,KAAKw/G,OAChB,EAEAD,EAAkC3qH,UAAUwT,SAAW,WACnD,MAAO,WAAapI,KAAKw/G,QAAU,KAAOzlE,EAAOnlD,UAAUwT,SAASvU,KAAKmM,KAC7E,EACOu/G,CACX,CAzQsD,CAyQpD,IACF,MC1SI,GAAsC,SAAS7rH,GAC/C,IAAIqB,EAAsB,oBAAXV,QAAyBA,OAAO+P,SAAUtQ,EAAIiB,GAAKrB,EAAEqB,GAAIpB,EAAI,EAC5E,GAAIG,EAAG,OAAOA,EAAED,KAAKH,GACrB,GAAIA,GAAyB,kBAAbA,EAAE6B,OAAqB,MAAO,CAC1CmP,KAAM,WAEF,OADIhR,GAAKC,GAAKD,EAAE6B,SAAQ7B,OAAI,GACrB,CAAEa,MAAOb,GAAKA,EAAEC,KAAMqP,MAAOtP,EACxC,GAEJ,MAAM,IAAI4B,UAAUP,EAAI,0BAA4B,kCACxD,EAQIosH,GAAiC,WACjC,SAASA,EAAgBvB,EAAiBtD,GAC5Bt8G,KAAKohH,uBAAyB,EACxCphH,KAAK4/G,gBAAkBA,EACvB5/G,KAAK0gH,mBAAqBd,EAAgB5B,iBAC1Ch+G,KAAKs8G,YAAcA,EAEnBt8G,KAAKqhH,uBAAyB,IAAIlkH,MAAM6C,KAAK0gH,mBAAqB,EACtE,CA2PA,OA1PAS,EAAgBvsH,UAAU0sH,0BAA4B,WAClDthH,KAAKuhH,gCAAgCvhH,KAAKqhH,uBAAuB,IACjErhH,KAAKuhH,gCAAgCvhH,KAAKqhH,uBAAuBrhH,KAAK0gH,mBAAqB,IAC3F,IACIc,EADAC,EAA0B,4BAE9B,GACID,EAA0BC,EAC1BA,EAA0BzhH,KAAK0hH,oCAC1BD,EAA0B,GAAKA,EAA0BD,GAClE,OAAOxhH,KAAKqhH,sBAChB,EACAF,EAAgBvsH,UAAU2sH,gCAAkC,SAAUI,GACrC,MAAzBA,GACAA,EACKhC,wCAAwC3/G,KAAK4/G,gBAE1D,EAQAuB,EAAgBvsH,UAAU8sH,4BAA8B,WACpD,IAAIE,EAAkB5hH,KAAK6hH,wBAC3B,GAAwB,IAApBD,EACA,OAAO,EAEX,IAAK,IAAIE,EAAwB,EAAGA,EAAgB9hH,KAAK0gH,mBAAqB,EAAGoB,IAE7E,IADA,IAAIngB,EAAY3hG,KAAKqhH,uBAAuBS,GAAehf,eAClDqd,EAAuB,EAAGA,EAAexe,EAAUpsG,OAAQ4qH,IACjC,MAA3Bxe,EAAUwe,KAGTxe,EAAUwe,GAAc4B,qBACzB/hH,KAAKgiH,iBAAiBF,EAAe3B,EAAcxe,IAI/D,OAAOigB,CACX,EACAT,EAAgBvsH,UAAUitH,sBAAwB,WAO9C,OANA7hH,KAAKiiH,6BAKiBjiH,KAAKkiH,0BACFliH,KAAKmiH,yBAClC,EACAhB,EAAgBvsH,UAAUqtH,2BAA6B,WACnD,GAAsC,MAAlCjiH,KAAKqhH,uBAAuB,IAA0E,MAA5DrhH,KAAKqhH,uBAAuBrhH,KAAK0gH,mBAAqB,GAKpG,IAFA,IAAI0B,EAAepiH,KAAKqhH,uBAAuB,GAAGve,eAC9Cuf,EAAeriH,KAAKqhH,uBAAuBrhH,KAAK0gH,mBAAqB,GAAG5d,eACnEqd,EAAuB,EAAGA,EAAeiC,EAAa7sH,OAAQ4qH,IACnE,GAAkC,MAA9BiC,EAAajC,IACiB,MAA9BkC,EAAalC,IACbiC,EAAajC,GAAc/rB,iBAAmBiuB,EAAalC,GAAc/rB,eACzE,IAAK,IAAI0tB,EAAwB,EAAGA,GAAiB9hH,KAAK0gH,mBAAoBoB,IAAiB,CAC3F,IAAItD,EAAWx+G,KAAKqhH,uBAAuBS,GAAehf,eAAeqd,GACzD,MAAZ3B,IAGJA,EAAS8D,aAAaF,EAAajC,GAAc/rB,gBAC5CoqB,EAASuD,sBACV/hH,KAAKqhH,uBAAuBS,GAAehf,eAAeqd,GAAgB,MAElF,CAGZ,EACAgB,EAAgBvsH,UAAUutH,wBAA0B,WAChD,GAAgE,MAA5DniH,KAAKqhH,uBAAuBrhH,KAAK0gH,mBAAqB,GACtD,OAAO,EAIX,IAFA,IAAIkB,EAAkB,EAClBjgB,EAAY3hG,KAAKqhH,uBAAuBrhH,KAAK0gH,mBAAqB,GAAG5d,eAChEqd,EAAuB,EAAGA,EAAexe,EAAUpsG,OAAQ4qH,IAChE,GAA+B,MAA3Bxe,EAAUwe,GAKd,IAFA,IAAIoC,EAAwB5gB,EAAUwe,GAAc/rB,eAChDouB,EAAmB,EACdV,EAAwB9hH,KAAK0gH,mBAAqB,EAAGoB,EAAgB,GAAKU,EAAmBxiH,KAAKohH,uBAAwBU,IAAiB,CAChJ,IAAItD,EAAWx+G,KAAKqhH,uBAAuBS,GAAehf,eAAeqd,GACzD,MAAZ3B,IACAgE,EAAmBrB,EAAgBsB,uBAAuBF,EAAuBC,EAAkBhE,GAC9FA,EAASuD,qBACVH,IAGZ,CAEJ,OAAOA,CACX,EACAT,EAAgBvsH,UAAUstH,wBAA0B,WAChD,GAAsC,MAAlCliH,KAAKqhH,uBAAuB,GAC5B,OAAO,EAIX,IAFA,IAAIO,EAAkB,EAClBjgB,EAAY3hG,KAAKqhH,uBAAuB,GAAGve,eACtCqd,EAAuB,EAAGA,EAAexe,EAAUpsG,OAAQ4qH,IAChE,GAA+B,MAA3Bxe,EAAUwe,GAKd,IAFA,IAAIoC,EAAwB5gB,EAAUwe,GAAc/rB,eAChDouB,EAAmB,EACdV,EAAwB,EAAGA,EAAgB9hH,KAAK0gH,mBAAqB,GAAK8B,EAAmBxiH,KAAKohH,uBAAwBU,IAAiB,CAChJ,IAAItD,EAAWx+G,KAAKqhH,uBAAuBS,GAAehf,eAAeqd,GACzD,MAAZ3B,IACAgE,EAAmBrB,EAAgBsB,uBAAuBF,EAAuBC,EAAkBhE,GAC9FA,EAASuD,qBACVH,IAGZ,CAEJ,OAAOA,CACX,EACAT,EAAgBsB,uBAAyB,SAAUF,EAAuBC,EAAkBhE,GACxF,OAAgB,MAAZA,GAGCA,EAASuD,sBACNvD,EAASkE,iBAAiBH,IAC1B/D,EAAS8D,aAAaC,GACtBC,EAAmB,KAGjBA,GARCA,CAYf,EACArB,EAAgBvsH,UAAUotH,iBAAmB,SAAUF,EAAe3B,EAAcxe,GAChF,IAAIjkD,EAAKH,EACT,GAAsD,MAAlDv9C,KAAKqhH,uBAAuBS,EAAgB,GAAhD,CAGA,IAAItD,EAAW7c,EAAUwe,GACrBwC,EAA0B3iH,KAAKqhH,uBAAuBS,EAAgB,GAAGhf,eACzE8f,EAAsBD,EAC4B,MAAlD3iH,KAAKqhH,uBAAuBS,EAAgB,KAC5Cc,EAAsB5iH,KAAKqhH,uBAAuBS,EAAgB,GAAGhf,gBAGzE,IAAI+f,EAAiB,IAAI1lH,MAAM,IAC/B0lH,EAAe,GAAKF,EAAwBxC,GAC5C0C,EAAe,GAAKD,EAAoBzC,GACpCA,EAAe,IACf0C,EAAe,GAAKlhB,EAAUwe,EAAe,GAC7C0C,EAAe,GAAKF,EAAwBxC,EAAe,GAC3D0C,EAAe,GAAKD,EAAoBzC,EAAe,IAEvDA,EAAe,IACf0C,EAAe,GAAKlhB,EAAUwe,EAAe,GAC7C0C,EAAe,IAAMF,EAAwBxC,EAAe,GAC5D0C,EAAe,IAAMD,EAAoBzC,EAAe,IAExDA,EAAexe,EAAUpsG,OAAS,IAClCstH,EAAe,GAAKlhB,EAAUwe,EAAe,GAC7C0C,EAAe,GAAKF,EAAwBxC,EAAe,GAC3D0C,EAAe,GAAKD,EAAoBzC,EAAe,IAEvDA,EAAexe,EAAUpsG,OAAS,IAClCstH,EAAe,GAAKlhB,EAAUwe,EAAe,GAC7C0C,EAAe,IAAMF,EAAwBxC,EAAe,GAC5D0C,EAAe,IAAMD,EAAoBzC,EAAe,IAE5D,IACI,IAAK,IAAI2C,EAAmB,GAASD,GAAiBE,EAAqBD,EAAiBp+G,QAASq+G,EAAmB//G,KAAM+/G,EAAqBD,EAAiBp+G,OAAQ,CACxK,IAAIs+G,EAAgBD,EAAmBxuH,MACvC,GAAI4sH,EAAgB8B,gBAAgBzE,EAAUwE,GAC1C,MAER,CAQJ,CANA,MAAOjlE,GAASL,EAAM,CAAExuC,MAAO6uC,EAAS,CACxC,QACI,IACQglE,IAAuBA,EAAmB//G,OAASu6C,EAAKulE,EAAiB33G,SAASoyC,EAAG1pD,KAAKivH,EAE9D,CAApC,QAAU,GAAIplE,EAAK,MAAMA,EAAIxuC,KAAO,CACxC,CA7CA,CA8CJ,EAIAiyG,EAAgB8B,gBAAkB,SAAUzE,EAAUwE,GAClD,OAAqB,MAAjBA,OAGAA,EAAcjB,qBAAuBiB,EAAcE,cAAgB1E,EAAS0E,eAC5E1E,EAAS8D,aAAaU,EAAc5uB,iBAC7B,GAGf,EACA+sB,EAAgBvsH,UAAUuuH,sBAAwB,WAC9C,OAAOnjH,KAAK0gH,kBAChB,EACAS,EAAgBvsH,UAAUwuH,mBAAqB,WAC3C,OAAOpjH,KAAK4/G,gBAAgB3B,aAChC,EACAkD,EAAgBvsH,UAAUyuH,kBAAoB,WAC1C,OAAOrjH,KAAK4/G,gBAAgB/U,yBAChC,EACAsW,EAAgBvsH,UAAU0uH,eAAiB,SAAUhH,GACjDt8G,KAAKs8G,YAAcA,CACvB,EACA6E,EAAgBvsH,UAAUiqH,eAAiB,WACvC,OAAO7+G,KAAKs8G,WAChB,EACA6E,EAAgBvsH,UAAU2uH,yBAA2B,SAAUzB,EAAeH,GAC1E3hH,KAAKqhH,uBAAuBS,GAAiBH,CACjD,EACAR,EAAgBvsH,UAAU4uH,yBAA2B,SAAU1B,GAC3D,OAAO9hH,KAAKqhH,uBAAuBS,EACvC,EAEAX,EAAgBvsH,UAAUwT,SAAW,WACjC,IAAIq7G,EAAqBzjH,KAAKqhH,uBAAuB,GAC3B,MAAtBoC,IACAA,EAAqBzjH,KAAKqhH,uBAAuBrhH,KAAK0gH,mBAAqB,IAK/E,IAFA,IAAI5B,EAAY,IAAI,GAEXqB,EAAuB,EAAGA,EAAesD,EAAmB3gB,eAAevtG,OAAQ4qH,IAAgB,CACxGrB,EAAUlwG,OAAO,UAAWuxG,GAC5B,IAAK,IAAI2B,EAAwB,EAAGA,EAAgB9hH,KAAK0gH,mBAAqB,EAAGoB,IAC7E,GAAkD,MAA9C9hH,KAAKqhH,uBAAuBS,GAAhC,CAIA,IAAItD,EAAWx+G,KAAKqhH,uBAAuBS,GAAehf,eAAeqd,GACzD,MAAZ3B,EAIJM,EAAUlwG,OAAO,WAAY4vG,EAASpqB,eAAgBoqB,EAAStuD,YAH3D4uD,EAAUlwG,OAAO,WAHrB,MAFIkwG,EAAUlwG,OAAO,YAUzBkwG,EAAUlwG,OAAO,KACrB,CACA,OAAOkwG,EAAU12G,UAErB,EACO+4G,CACX,CApQoC,GAqQpC,MCtOA,GA7C8B,WAC1B,SAASuC,EAASnS,EAAQoS,EAAMC,EAAQrvH,GACpCyL,KAAKg4E,UAAY0rC,EAASG,oBAC1B7jH,KAAKuxG,OAASn0G,KAAKyvD,MAAM0kD,GACzBvxG,KAAK2jH,KAAOvmH,KAAKyvD,MAAM82D,GACvB3jH,KAAK4jH,OAASxmH,KAAKyvD,MAAM+2D,GACzB5jH,KAAKzL,MAAQ6I,KAAKyvD,MAAMt4D,EAC5B,CAoCA,OAnCAmvH,EAAS9uH,UAAUmtH,kBAAoB,WACnC,OAAO/hH,KAAK0iH,iBAAiB1iH,KAAKg4E,UACtC,EACA0rC,EAAS9uH,UAAU8tH,iBAAmB,SAAU1qC,GAC5C,OAAOA,IAAc0rC,EAASG,qBAAuB7jH,KAAK4jH,SAAY5rC,EAAY,EAAK,CAC3F,EACA0rC,EAAS9uH,UAAU8qH,iCAAmC,WAClD1/G,KAAKg4E,UAAY56E,KAAKyvD,MAAsC,EAA/BzvD,KAAKyvD,MAAM7sD,KAAKzL,MAAQ,IAAW6I,KAAKyvD,MAAM7sD,KAAK4jH,OAAS,GAC7F,EACAF,EAAS9uH,UAAUiS,SAAW,WAC1B,OAAO7G,KAAK2jH,KAAO3jH,KAAKuxG,MAC5B,EACAmS,EAAS9uH,UAAUkvH,UAAY,WAC3B,OAAO9jH,KAAKuxG,MAChB,EACAmS,EAAS9uH,UAAUmvH,QAAU,WACzB,OAAO/jH,KAAK2jH,IAChB,EACAD,EAAS9uH,UAAUsuH,UAAY,WAC3B,OAAOljH,KAAK4jH,MAChB,EACAF,EAAS9uH,UAAUs7D,SAAW,WAC1B,OAAOlwD,KAAKzL,KAChB,EACAmvH,EAAS9uH,UAAUw/F,aAAe,WAC9B,OAAOp0F,KAAKg4E,SAChB,EACA0rC,EAAS9uH,UAAU0tH,aAAe,SAAUtqC,GACxCh4E,KAAKg4E,UAAYA,CACrB,EAEA0rC,EAAS9uH,UAAUwT,SAAW,WAC1B,OAAOpI,KAAKg4E,UAAY,IAAMh4E,KAAKzL,KACvC,EACAmvH,EAASG,qBAAuB,EACzBH,CACX,CA5C6B,GC0G7B,GApG2C,WACvC,SAASM,IACT,CAgGA,OA1FAA,EAAsB97E,WAAa,WAE/B,IAAa,IAAIv0C,EAAI,EAAGA,EAAI,uBAAkCA,IAG1D,IAFA,IAAIswH,EAAgB,gBAA0BtwH,GAC1CuwH,EAA6B,EAAhBD,EACAltH,EAAI,EAAGA,EAAI,kBAA6BA,IAAK,CAE1D,IADA,IAAI0J,EAAO,GACa,EAAhBwjH,KAAyBC,GAC7BzjH,GAAQ,EACRwjH,IAAkB,EAEtBC,EAA6B,EAAhBD,EACRD,EAAsBG,aAAaxwH,KACpCqwH,EAAsBG,aAAaxwH,GAAK,IAAIwJ,MAAM,oBAEtD6mH,EAAsBG,aAAaxwH,GAAG,kBAA8BoD,EAAI,GAAKqG,KAAKgnH,OAAO3jH,EAAO,uBACpG,CAEJT,KAAKqkH,mBAAoB,CAC7B,EACAL,EAAsBM,gBAAkB,SAAUzM,GAC9C,IAAI0M,EAAeP,EAAsBQ,wBAAwBR,EAAsBS,gBAAgB5M,IACvG,OAAsB,IAAlB0M,EACOA,EAEJP,EAAsBU,uBAAuB7M,EACxD,EACAmM,EAAsBS,gBAAkB,SAAU5M,GAK9C,IAJA,IAAI8M,EAAc,OAAc9M,GAC5B38F,EAAS,IAAI/a,WAAW,mBACxBykH,EAAgB,EAChBC,EAAkB,EACLlxH,EAAI,EAAGA,EAAI,uBAAkCA,IAAK,CAC/D,IAAImxH,EAAcH,GAAe,EAAI,wBAChChxH,EAAIgxH,EAAe,uBACpBE,EAAkBhN,EAAe+M,IAAkBE,IACnDD,GAAmBhN,EAAe+M,GAClCA,KAEJ1pG,EAAO0pG,IACX,CACA,OAAO1pG,CACX,EACA8oG,EAAsBQ,wBAA0B,SAAU3M,GACtD,IAAI0M,EAAeP,EAAsBe,YAAYlN,GACrD,OAAmD,IAA5C,eAAyB0M,IAAwB,EAAIA,CAChE,EACAP,EAAsBe,YAAc,SAAUlN,GAE1C,IADA,IAAI38F,EAAkB,EACLvnB,EAAI,EAAGA,EAAIkkH,EAAetiH,OAAQ5B,IAC/C,IAAa,IAAIu6D,EAAM,EAAGA,EAAM2pD,EAAelkH,GAAIu6D,IAC/ChzC,EAAUA,GAAU,GAAMvnB,EAAI,IAAM,EAAI,EAAI,GAGpD,OAAOyJ,KAAKyvD,MAAM3xC,EACtB,EAEA8oG,EAAsBU,uBAAyB,SAAU7M,GACrD,IAAI8M,EAAc,OAAc9M,GAC5BmN,EAAiB,IAAI7nH,MAAM,mBAC/B,GAAIwnH,EAAc,EACd,IAAK,IAAYhxH,EAAI,EAAGA,EAAIqxH,EAAezvH,OAAQ5B,IAC/CqxH,EAAerxH,GAAKyJ,KAAKgnH,OAAOvM,EAAelkH,GAAKgxH,GAG5D,IAAIM,EAAiB,aACjBprC,GAAa,EACZ75E,KAAKqkH,mBACNL,EAAsB97E,aAE1B,IAAa,IAAInxC,EAAI,EAAGA,EAAIitH,EAAsBG,aAAa5uH,OAAQwB,IAAK,CAGxE,IAFA,IAAImY,EAAQ,EACRg2G,EAAgBlB,EAAsBG,aAAaptH,GACtCJ,EAAI,EAAGA,EAAI,kBAA6BA,IAAK,CAC1D,IAAIwuH,EAAO/nH,KAAKgnH,OAAOc,EAAcvuH,GAAKquH,EAAeruH,IAEzD,IADAuY,GAAS9R,KAAKgnH,OAAOe,EAAOA,KACfF,EACT,KAER,CACI/1G,EAAQ+1G,IACRA,EAAiB/1G,EACjB2qE,EAAY,gBAA0B9iF,GAE9C,CACA,OAAO8iF,CACX,EAEAmqC,EAAsBK,mBAAoB,EAC1CL,EAAsBG,aAAe,IAAIhnH,MAAM,wBAAkCoJ,KAAI,SAAUvQ,GAAK,OAAW,IAAImH,MAAM,kBAA8B,IAChJ6mH,CACX,CAnG0C,GCmH1C,GAzH0C,WACtC,SAASoB,IACLplH,KAAKqlH,cAAgB,EACrBrlH,KAAKslH,UAAY,EACjBtlH,KAAKk+D,WAAa,EAClBl+D,KAAK+uC,UAAY,CACrB,CAiHA,OA3GAq2E,EAAqBxwH,UAAU2wH,gBAAkB,WAC7C,OAAOvlH,KAAKwlH,YAChB,EACAJ,EAAqBxwH,UAAU6wH,gBAAkB,SAAUD,GACvDxlH,KAAKwlH,aAAeA,CACxB,EAMAJ,EAAqBxwH,UAAU8wH,UAAY,WACvC,OAAO1lH,KAAK2lH,MAChB,EACAP,EAAqBxwH,UAAUgxH,UAAY,SAAUD,GACjD3lH,KAAK2lH,OAASA,CAClB,EAMAP,EAAqBxwH,UAAUixH,gBAAkB,WAC7C,OAAO7lH,KAAK8lH,YAChB,EAMAV,EAAqBxwH,UAAUmxH,gBAAkB,SAAUD,GACvD9lH,KAAK8lH,aAAeA,CACxB,EAIAV,EAAqBxwH,UAAUoxH,cAAgB,WAC3C,OAAOhmH,KAAKimH,WAChB,EACAb,EAAqBxwH,UAAUsxH,eAAiB,SAAUD,GACtDjmH,KAAKimH,YAAcA,CACvB,EAIAb,EAAqBxwH,UAAUuxH,gBAAkB,WAC7C,OAAOnmH,KAAKqlH,YAChB,EACAD,EAAqBxwH,UAAUwxH,gBAAkB,SAAUf,GACvDrlH,KAAKqlH,aAAeA,CACxB,EACAD,EAAqBxwH,UAAUyxH,UAAY,WACvC,OAAOrmH,KAAKsmH,QAAU,IAC1B,EACAlB,EAAqBxwH,UAAU2xH,UAAY,SAAUD,GACjDtmH,KAAKsmH,OAASA,CAClB,EACAlB,EAAqBxwH,UAAU4xH,aAAe,WAC1C,OAAOxmH,KAAKymH,WAAa,IAC7B,EACArB,EAAqBxwH,UAAU8xH,aAAe,SAAUD,GACpDzmH,KAAKymH,UAAYA,CACrB,EAMArB,EAAqBxwH,UAAU+xH,YAAc,WACzC,OAAO3mH,KAAK4mH,QAChB,EACAxB,EAAqBxwH,UAAUiyH,YAAc,SAAUD,GACnD5mH,KAAK4mH,SAAWA,CACpB,EAMAxB,EAAqBxwH,UAAUkyH,YAAc,WACzC,OAAO9mH,KAAKslH,QAChB,EACAF,EAAqBxwH,UAAUmyH,YAAc,SAAUzB,GACnDtlH,KAAKslH,SAAWA,CACpB,EAMAF,EAAqBxwH,UAAUoyH,YAAc,WACzC,OAAOhnH,KAAK+uC,QAChB,EACAq2E,EAAqBxwH,UAAUqyH,YAAc,SAAUl4E,GACnD/uC,KAAK+uC,SAAWA,CACpB,EAMAq2E,EAAqBxwH,UAAUqqE,aAAe,WAC1C,OAAOj/D,KAAKk+D,SAChB,EACAknD,EAAqBxwH,UAAUsyH,aAAe,SAAUhpD,GACpDl+D,KAAKk+D,UAAYA,CACrB,EACOknD,CACX,CAxHyC,GCDzC,GAf0B,WACtB,SAAS+B,IACT,CAWA,OAJAA,EAAKC,UAAY,SAAUl7E,EAAK4gB,GAE5B,YADc,IAAVA,IAAoBA,OAAQvnC,GACzB/R,SAAS04B,EAAK4gB,EACzB,EACOq6D,CACX,CAdyB,GCHrB,GAAwC,WACxC,IAAIxtE,EAAgB,SAAU3lD,EAAGkC,GAI7B,OAHAyjD,EAAgB1lD,OAAOkB,gBAClB,CAAEE,UAAW,cAAgB8H,OAAS,SAAUnJ,EAAGkC,GAAKlC,EAAEqB,UAAYa,CAAG,GAC1E,SAAUlC,EAAGkC,GAAK,IAAK,IAAIpB,KAAKoB,EAAOA,EAAErB,eAAeC,KAAId,EAAEc,GAAKoB,EAAEpB,GAAI,EACtE6kD,EAAc3lD,EAAGkC,EAC5B,EACA,OAAO,SAAUlC,EAAGkC,GAEhB,SAAS2jD,IAAO75C,KAAK5B,YAAcpK,CAAG,CADtC2lD,EAAc3lD,EAAGkC,GAEjBlC,EAAEY,UAAkB,OAANsB,EAAajC,OAAOQ,OAAOyB,IAAM2jD,EAAGjlD,UAAYsB,EAAEtB,UAAW,IAAIilD,EACnF,CACH,CAZ2C,GAiBxCwtE,GAAsC,SAAUttE,GAEhD,SAASstE,IACL,OAAkB,OAAXttE,GAAmBA,EAAO96C,MAAMe,KAAMpC,YAAcoC,IAC/D,CAEA,OALA,GAAUqnH,EAAsBttE,GAIhCstE,EAAqBjvG,KAAO,uBACrBivG,CACX,CAPyC,CAOvC,GACF,MCiHA,GA7FsE,WAClE,SAASC,IACT,CAyFA,OA9EAA,EAAa1yH,UAAU2yH,WAAa,SAAUrxH,GAC1C8J,KAAKwnH,iBAAiBtxH,EAAG,EAAGA,EAAEX,OAClC,EA6BA+xH,EAAa1yH,UAAU4yH,iBAAmB,SAAUtxH,EAAGuxH,EAAKnkG,GACxD,GAAS,MAALptB,EACA,MAAM,IAAI,GAET,GAAKuxH,EAAM,GAAOA,EAAMvxH,EAAEX,QAAY+tB,EAAM,GAC3CmkG,EAAMnkG,EAAOptB,EAAEX,QAAakyH,EAAMnkG,EAAO,EAC3C,MAAM,IAAI,EAET,GAAY,IAARA,EAGT,IAAK,IAAI3vB,EAAI,EAAGA,EAAI2vB,EAAK3vB,IACrBqM,KAAK2pC,MAAMzzC,EAAEuxH,EAAM9zH,GAE3B,EAmBA2zH,EAAa1yH,UAAU8yH,MAAQ,WAC/B,EAWAJ,EAAa1yH,UAAU+yH,MAAQ,WAC/B,EACOL,CACX,CA5FqE,GC7CjE,GAAwC,WACxC,IAAI3tE,EAAgB,SAAU3lD,EAAGkC,GAI7B,OAHAyjD,EAAgB1lD,OAAOkB,gBAClB,CAAEE,UAAW,cAAgB8H,OAAS,SAAUnJ,EAAGkC,GAAKlC,EAAEqB,UAAYa,CAAG,GAC1E,SAAUlC,EAAGkC,GAAK,IAAK,IAAIpB,KAAKoB,EAAOA,EAAErB,eAAeC,KAAId,EAAEc,GAAKoB,EAAEpB,GAAI,EACtE6kD,EAAc3lD,EAAGkC,EAC5B,EACA,OAAO,SAAUlC,EAAGkC,GAEhB,SAAS2jD,IAAO75C,KAAK5B,YAAcpK,CAAG,CADtC2lD,EAAc3lD,EAAGkC,GAEjBlC,EAAEY,UAAkB,OAANsB,EAAajC,OAAOQ,OAAOyB,IAAM2jD,EAAGjlD,UAAYsB,EAAEtB,UAAW,IAAIilD,EACnF,CACH,CAZ2C,GAiBxC+tE,GAAkC,SAAU7tE,GAE5C,SAAS6tE,IACL,OAAkB,OAAX7tE,GAAmBA,EAAO96C,MAAMe,KAAMpC,YAAcoC,IAC/D,CACA,OAJA,GAAU4nH,EAAkB7tE,GAIrB6tE,CACX,CANqC,CAMnC,GACF,MCAI,GAAwC,WACxC,IAAIjuE,EAAgB,SAAU3lD,EAAGkC,GAI7B,OAHAyjD,EAAgB1lD,OAAOkB,gBAClB,CAAEE,UAAW,cAAgB8H,OAAS,SAAUnJ,EAAGkC,GAAKlC,EAAEqB,UAAYa,CAAG,GAC1E,SAAUlC,EAAGkC,GAAK,IAAK,IAAIpB,KAAKoB,EAAOA,EAAErB,eAAeC,KAAId,EAAEc,GAAKoB,EAAEpB,GAAI,EACtE6kD,EAAc3lD,EAAGkC,EAC5B,EACA,OAAO,SAAUlC,EAAGkC,GAEhB,SAAS2jD,IAAO75C,KAAK5B,YAAcpK,CAAG,CADtC2lD,EAAc3lD,EAAGkC,GAEjBlC,EAAEY,UAAkB,OAANsB,EAAajC,OAAOQ,OAAOyB,IAAM2jD,EAAGjlD,UAAYsB,EAAEtB,UAAW,IAAIilD,EACnF,CACH,CAZ2C,GAgQ5C,GA5N2C,SAAUE,GAgBjD,SAAS8tE,EAAsBpnH,QACd,IAATA,IAAmBA,EAAO,IAC9B,IAAIoxB,EAAQkoB,EAAOlmD,KAAKmM,OAASA,KAKjC,GADA6xB,EAAMvrB,MAAQ,EACV7F,EAAO,EACP,MAAM,IAAI,EAAyB,0BAC7BA,GAGV,OADAoxB,EAAM6+D,IAAM,IAAI7uF,WAAWpB,GACpBoxB,CACX,CA6LA,OAzNA,GAAUg2F,EAAuB9tE,GAuCjC8tE,EAAsBjzH,UAAUy4D,eAAiB,SAAUy6D,GAEnDA,EAAc9nH,KAAK0wF,IAAIn7F,OAAS,GAChCyK,KAAK+nH,KAAKD,EAClB,EAOAD,EAAsBjzH,UAAUmzH,KAAO,SAAUD,GAE7C,IACIE,EADchoH,KAAK0wF,IAAIn7F,QACM,EAGjC,GAFIyyH,EAAcF,EAAc,IAC5BE,EAAcF,GACdE,EAAc,EAAG,CACjB,GAAIF,EAAc,EACd,MAAM,IAAI,GACdE,EAAc,WAClB,CACAhoH,KAAK0wF,IAAM,mBAAwB1wF,KAAK0wF,IAAKs3B,EACjD,EAMAH,EAAsBjzH,UAAU+0C,MAAQ,SAAUzzC,GAC9C8J,KAAKqtD,eAAertD,KAAKsG,MAAQ,GACjCtG,KAAK0wF,IAAI1wF,KAAKsG,OAAoBpQ,EAClC8J,KAAKsG,OAAS,CAClB,EASAuhH,EAAsBjzH,UAAU4yH,iBAAmB,SAAUtxH,EAAGuxH,EAAKnkG,GACjE,GAAKmkG,EAAM,GAAOA,EAAMvxH,EAAEX,QAAY+tB,EAAM,GACtCmkG,EAAMnkG,EAAOptB,EAAEX,OAAS,EAC1B,MAAM,IAAI,EAEdyK,KAAKqtD,eAAertD,KAAKsG,MAAQgd,GACjC,YAAiBptB,EAAGuxH,EAAKznH,KAAK0wF,IAAK1wF,KAAKsG,MAAOgd,GAC/CtjB,KAAKsG,OAASgd,CAClB,EASAukG,EAAsBjzH,UAAUqzH,QAAU,SAAUC,GAChDA,EAAIV,iBAAiBxnH,KAAK0wF,IAAK,EAAG1wF,KAAKsG,MAC3C,EASAuhH,EAAsBjzH,UAAU6X,MAAQ,WACpCzM,KAAKsG,MAAQ,CACjB,EASAuhH,EAAsBjzH,UAAUuzH,YAAc,WAC1C,OAAO,mBAAwBnoH,KAAK0wF,IAAK1wF,KAAKsG,MAClD,EAQAuhH,EAAsBjzH,UAAU6L,KAAO,WACnC,OAAOT,KAAKsG,KAChB,EACAuhH,EAAsBjzH,UAAUwT,SAAW,SAAUssC,GACjD,OAAKA,EAGgB,kBAAVA,EACA10C,KAAKooH,gBAAgB1zE,GAEzB10C,KAAKqoH,gBAAgB3zE,GALjB10C,KAAKsoH,eAMpB,EAgBAT,EAAsBjzH,UAAU0zH,cAAgB,WAC5C,OAAO,IAAI79G,OAAOzK,KAAK0wF,KAAyBtoF,UACpD,EAmBAy/G,EAAsBjzH,UAAUwzH,gBAAkB,SAAUG,GACxD,OAAO,IAAI99G,OAAOzK,KAAK0wF,KAAsCtoF,UACjE,EAwBAy/G,EAAsBjzH,UAAUyzH,gBAAkB,SAAUG,GACxD,OAAO,IAAI/9G,OAAOzK,KAAK0wF,KAAiCtoF,UAC5D,EASAy/G,EAAsBjzH,UAAU+yH,MAAQ,WACxC,EACOE,CACX,CA3N0C,CA2NxC,IhCrOF,SAASY,KACL,GAAsB,qBAAXt1H,OACP,OAAOA,OAAe,QAAK,KAE/B,GAAsB,qBAAX,EAAA4C,EACP,OAAO,EAAAA,EAAe,QAAK,KAE/B,GAAoB,qBAATsO,KACP,OAAOA,KAAa,QAAK,KAE7B,MAAM,IAAIzC,MAAM,mCACpB,CAUA,SAAS8mH,GAAax8E,GAIlB,GAH0B,qBAAf8hE,KACPA,GAAaya,MAEE,OAAfza,GACA,MAAM,IAAIpsG,MAAM,4BAEpB,OAAOosG,GAAW9hE,EACtB,EA3CA,SAAWgnD,GACPA,EAAKA,EAAY,MAAI,GAAK,QAC1BA,EAAKA,EAAY,MAAI,GAAK,QAC1BA,EAAKA,EAAY,MAAI,GAAK,QAC1BA,EAAKA,EAAY,MAAI,GAAK,QAC1BA,EAAKA,EAAkB,YAAI,GAAK,cAChCA,EAAKA,EAAkB,YAAI,GAAK,aACnC,CAPD,CAOG,KAAS,GAAO,CAAC,IAuDpB,IiC7EIlsC,GjC6EA,GAAwC,WACxC,SAASw8C,IACT,CAiqBA,OAvpBAA,EAAuBh1F,OAAS,SAAUmzF,EAAWriC,GAEjD,IAAIpkD,EAAS,IAAI,EAAc,IAE3Bi3C,EAAW,YAQfj3C,EAAOy6C,eAAexD,GAKtB,IAHA,IAAIw2D,EAAY,EACZx5G,EAAOwyF,EAAUgnB,KACjBxqD,EAAiB,IAAI,GAClBwqD,EAAYhnB,EAAU,IAAI,CAC7B,OAAQxyF,GACJ,KAAKq0F,EAAuBolB,2BACxBD,EAAYnlB,EAAuBqlB,eAAelnB,EAAWgnB,EAAWztG,GACxE,MACJ,KAAKsoF,EAAuBslB,2BAC5B,KAAKtlB,EAAuBulB,6BACxBJ,EAAYnlB,EAAuBwlB,eAAe75G,EAAMwyF,EAAWxvC,EAAUw2D,EAAWztG,GACxF,MACJ,KAAKsoF,EAAuBylB,mCACxB/tG,EAAOoxB,OAAkBq1D,EAAUgnB,MACnC,MACJ,KAAKnlB,EAAuB0lB,8BACxBP,EAAYnlB,EAAuB2lB,kBAAkBxnB,EAAWgnB,EAAWztG,GAC3E,MACJ,KAAKsoF,EAAuB4lB,YACP,4BAA0CznB,EAAUgnB,MAErE,MACJ,KAAKnlB,EAAuB6lB,oBAExBV,GAAa,EACb,MACJ,KAAKnlB,EAAuB8lB,iBAExBX,IACA,MACJ,KAAKnlB,EAAuB+lB,iCACxBZ,EAAYnlB,EAAuBgmB,iBAAiB7nB,EAAWgnB,EAAWxqD,GAC1E,MACJ,KAAKqlC,EAAuBimB,kCAC5B,KAAKjmB,EAAuBkmB,wBAExB,MAAM,IAAI,EACd,QAIIf,IACAA,EAAYnlB,EAAuBqlB,eAAelnB,EAAWgnB,EAAWztG,GAGhF,KAAIytG,EAAYhnB,EAAUpsG,QAItB,MAAM,sBAHN4Z,EAAOwyF,EAAUgnB,IAKzB,CACA,GAAwB,IAApBztG,EAAO3lB,SACP,MAAM,sBAEV,IAAIkxE,EAAgB,IAAI,GAAc,KAAMvrD,EAAO9S,WAAY,KAAMk3D,GAErE,OADAmH,EAActG,SAAShC,GAChBsI,CACX,EAcA+8B,EAAuBgmB,iBAAmB,SAAU7nB,EAAWgnB,EAAWxqD,GACtE,GAAIwqD,EAAYnlB,EAAuBmmB,6BAA+BhoB,EAAU,GAE5E,MAAM,sBAGV,IADA,IAAIioB,EAAoB,IAAIzpH,WAAWqjG,EAAuBmmB,8BACrDh2H,EAAY,EAAGA,EAAI6vG,EAAuBmmB,6BAA8Bh2H,IAAKg1H,IAClFiB,EAAkBj2H,GAAKguG,EAAUgnB,GAErCxqD,EAAesnD,gBAAgB,WAAiBjiB,EAAuBqmB,sBAAsBD,EAAmBpmB,EAAuBmmB,gCACvI,IAAIhE,EAAS,IAAI,EACjBgD,EAAYnlB,EAAuBqlB,eAAelnB,EAAWgnB,EAAWhD,GACxExnD,EAAeynD,UAAUD,EAAOv9G,YAChC,IAAI0hH,GAAuB,EAI3B,IAHInoB,EAAUgnB,KAAenlB,EAAuBimB,oCAChDK,EAAsBnB,EAAY,GAE/BA,EAAYhnB,EAAU,IACzB,OAAQA,EAAUgnB,IACd,KAAKnlB,EAAuBimB,kCAExB,OAAQ9nB,IADRgnB,IAEI,KAAKnlB,EAAuBumB,sCACxB,IAAInD,EAAW,IAAI,EACnB+B,EAAYnlB,EAAuBqlB,eAAelnB,EAAWgnB,EAAY,EAAG/B,GAC5EzoD,EAAe0oD,YAAYD,EAASx+G,YACpC,MACJ,KAAKo7F,EAAuBwmB,mCACxB,IAAI1D,EAAS,IAAI,EACjBqC,EAAYnlB,EAAuBqlB,eAAelnB,EAAWgnB,EAAY,EAAGrC,GAC5EnoD,EAAeooD,UAAUD,EAAOl+G,YAChC,MACJ,KAAKo7F,EAAuBymB,sCACxB,IAAIxD,EAAY,IAAI,EACpBkC,EAAYnlB,EAAuBqlB,eAAelnB,EAAWgnB,EAAY,EAAGlC,GAC5EtoD,EAAeuoD,aAAaD,EAAUr+G,YACtC,MACJ,KAAKo7F,EAAuB0mB,0CACxB,IAAI7E,EAAe,IAAI,EACvBsD,EAAYnlB,EAAuB2lB,kBAAkBxnB,EAAWgnB,EAAY,EAAGtD,GAC/ElnD,EAAeioD,gBAAgB,WAAiBf,EAAaj9G,aAC7D,MACJ,KAAKo7F,EAAuB2mB,uCACxB,IAAIjsD,EAAY,IAAI,EACpByqD,EAAYnlB,EAAuB2lB,kBAAkBxnB,EAAWgnB,EAAY,EAAGzqD,GAC/EC,EAAe+oD,aAAa,aAAehpD,EAAU91D,aACrD,MACJ,KAAKo7F,EAAuB4mB,qCACxB,IAAIr7E,EAAW,IAAI,EACnB45E,EAAYnlB,EAAuB2lB,kBAAkBxnB,EAAWgnB,EAAY,EAAG55E,GAC/EovB,EAAe8oD,YAAY,WAAiBl4E,EAAS3mC,aACrD,MACJ,KAAKo7F,EAAuB6mB,sCACxB,IAAI/E,EAAW,IAAI,EACnBqD,EAAYnlB,EAAuB2lB,kBAAkBxnB,EAAWgnB,EAAY,EAAGrD,GAC/EnnD,EAAe4oD,YAAY,aAAezB,EAASl9G,aACnD,MACJ,QACI,MAAM,sBAEd,MACJ,KAAKo7F,EAAuBkmB,wBACxBf,IACAxqD,EAAe+nD,gBAAe,GAC9B,MACJ,QACI,MAAM,sBAIlB,IAA6B,IAAzB4D,EAA4B,CAC5B,IAAIQ,EAAuB3B,EAAYmB,EACnC3rD,EAAe6nD,iBAEfsE,IAEJnsD,EAAe4nD,gBAAgB,cAAmBpkB,EAAWmoB,EAAqBA,EAAsBQ,GAC5G,CACA,OAAO3B,CACX,EAWAnlB,EAAuBqlB,eAAiB,SAAUlnB,EAAWgnB,EAAWztG,GAOpE,IALA,IAAIqvG,EAAqB,IAAIpqH,WAAwC,GAA5BwhG,EAAU,GAAKgnB,IAEpD6B,EAAqB,IAAIrqH,WAAwC,GAA5BwhG,EAAU,GAAKgnB,IACpDljH,EAAQ,EACRkJ,GAAM,EACFg6G,EAAYhnB,EAAU,KAAQhzF,GAAK,CACvC,IAAIQ,EAAOwyF,EAAUgnB,KACrB,GAAIx5G,EAAOq0F,EAAuBolB,2BAC9B2B,EAAmB9kH,GAAS0J,EAAO,GACnCo7G,EAAmB9kH,EAAQ,GAAK0J,EAAO,GACvC1J,GAAS,OAGT,OAAQ0J,GACJ,KAAKq0F,EAAuBolB,2BAExB2B,EAAmB9kH,KAAW+9F,EAAuBolB,2BACrD,MACJ,KAAKplB,EAAuBslB,2BAC5B,KAAKtlB,EAAuBulB,6BAC5B,KAAKvlB,EAAuB0lB,8BAC5B,KAAK1lB,EAAuB+lB,iCAC5B,KAAK/lB,EAAuBimB,kCAC5B,KAAKjmB,EAAuBkmB,wBACxBf,IACAh6G,GAAM,EACN,MACJ,KAAK60F,EAAuBylB,mCAOxBsB,EAAmB9kH,GAAS+9F,EAAuBylB,mCACnD95G,EAAOwyF,EAAUgnB,KACjB6B,EAAmB/kH,GAAS0J,EAC5B1J,IAIhB,CAEA,OADA+9F,EAAuBinB,qBAAqBF,EAAoBC,EAAoB/kH,EAAOyV,GACpFytG,CACX,EAiBAnlB,EAAuBinB,qBAAuB,SAAUF,EAAoBC,EAAoBj1H,EAAQ2lB,GAQpG,IAHA,IAAIwvG,EAAU,GAAKC,MACfC,EAAmB,GAAKD,MACxBh3H,EAAI,EACDA,EAAI4B,GAAQ,CACf,IAAIs1H,EAAYN,EAAmB52H,GAC/BuhE,EAAc,GAClB,OAAQw1D,GACJ,KAAK,GAAKC,MAEN,GAAIE,EAAY,GAGZ31D,EAAkCzqD,OAAOiG,aAAa,GAAKm6G,QAG3D,OAAQA,GACJ,KAAK,GACD31D,EAAK,IACL,MACJ,KAAKsuC,EAAuBsnB,GACxBJ,EAAU,GAAKrjD,MACf,MACJ,KAAKm8B,EAAuBunB,GACxBL,EAAU,GAAKnjD,MACf,MACJ,KAAKi8B,EAAuBwnB,GAExBJ,EAAmBF,EACnBA,EAAU,GAAKO,YACf,MACJ,KAAKznB,EAAuBylB,mCACxB/tG,EAAOoxB,OAAkBk+E,EAAmB72H,IAC5C,MACJ,KAAK6vG,EAAuBolB,2BACxB8B,EAAU,GAAKC,MAI3B,MACJ,KAAK,GAAKtjD,MAEN,GAAIwjD,EAAY,GACZ31D,EAAiCzqD,OAAOiG,aAAa,GAAKm6G,QAG1D,OAAQA,GACJ,KAAK,GACD31D,EAAK,IACL,MACJ,KAAKsuC,EAAuB0nB,GAExBN,EAAmBF,EACnBA,EAAU,GAAKS,YACf,MACJ,KAAK3nB,EAAuBunB,GACxBL,EAAU,GAAKnjD,MACf,MACJ,KAAKi8B,EAAuBwnB,GAExBJ,EAAmBF,EACnBA,EAAU,GAAKO,YACf,MACJ,KAAKznB,EAAuBylB,mCAExB/tG,EAAOoxB,OAAkBk+E,EAAmB72H,IAC5C,MACJ,KAAK6vG,EAAuBolB,2BACxB8B,EAAU,GAAKC,MAI3B,MACJ,KAAK,GAAKpjD,MAEN,GAAIsjD,EAAYrnB,EAAuB4nB,GACnCl2D,EAAKsuC,EAAuB6nB,YAAYR,QAGxC,OAAQA,GACJ,KAAKrnB,EAAuB4nB,GACxBV,EAAU,GAAKpjD,MACf,MACJ,KAAK,GACDpS,EAAK,IACL,MACJ,KAAKsuC,EAAuBsnB,GACxBJ,EAAU,GAAKrjD,MACf,MACJ,KAAKm8B,EAAuB8nB,GACxBZ,EAAU,GAAKC,MACf,MACJ,KAAKnnB,EAAuBwnB,GAExBJ,EAAmBF,EACnBA,EAAU,GAAKO,YACf,MACJ,KAAKznB,EAAuBylB,mCACxB/tG,EAAOoxB,OAAkBk+E,EAAmB72H,IAC5C,MACJ,KAAK6vG,EAAuBolB,2BACxB8B,EAAU,GAAKC,MAI3B,MACJ,KAAK,GAAKrjD,MAEN,GAAIujD,EAAYrnB,EAAuB+nB,IACnCr2D,EAAKsuC,EAAuBgoB,YAAYX,QAGxC,OAAQA,GACJ,KAAKrnB,EAAuB+nB,IACxBb,EAAU,GAAKC,MACf,MACJ,KAAKnnB,EAAuBylB,mCACxB/tG,EAAOoxB,OAAkBk+E,EAAmB72H,IAC5C,MACJ,KAAK6vG,EAAuBolB,2BACxB8B,EAAU,GAAKC,MAI3B,MACJ,KAAK,GAAKQ,YAGN,GADAT,EAAUE,EACNC,EAAY,GACZ31D,EAAiCzqD,OAAOiG,aAAa,GAAKm6G,QAG1D,OAAQA,GACJ,KAAK,GACD31D,EAAK,IACL,MACJ,KAAKsuC,EAAuBolB,2BACxB8B,EAAU,GAAKC,MAI3B,MACJ,KAAK,GAAKM,YAGN,GADAP,EAAUE,EACNC,EAAYrnB,EAAuB+nB,IACnCr2D,EAAKsuC,EAAuBgoB,YAAYX,QAGxC,OAAQA,GACJ,KAAKrnB,EAAuB+nB,IACxBb,EAAU,GAAKC,MACf,MACJ,KAAKnnB,EAAuBylB,mCAGxB/tG,EAAOoxB,OAAkBk+E,EAAmB72H,IAC5C,MACJ,KAAK6vG,EAAuBolB,2BACxB8B,EAAU,GAAKC,OAOxB,KAAPz1D,GAEAh6C,EAAOoxB,OAAO4oB,GAElBvhE,GACJ,CACJ,EAaA6vG,EAAuBwlB,eAAiB,SAAUtlB,EAAM/B,EAAWxvC,EAAUw2D,EAAWztG,GACpF,IAAIuwG,EAAe,IAAI,GACnBnlH,EAAQ,EACR/R,EAAiB,EACjBoa,GAAM,EACV,OAAQ+0F,GACJ,KAAKF,EAAuBslB,2BAKxB,IAFA,IAAI4C,EAAyB,IAAIvrH,WAAW,GACxCwrH,EAAWhqB,EAAUgnB,KACjBA,EAAYhnB,EAAU,KAAQhzF,GAMlC,OALA+8G,EAAuBplH,KAAWqlH,EAElCp3H,EAAQ,IAAMA,EAAQo3H,EACtBA,EAAWhqB,EAAUgnB,MAGjB,KAAKnlB,EAAuBolB,2BAC5B,KAAKplB,EAAuBslB,2BAC5B,KAAKtlB,EAAuB0lB,8BAC5B,KAAK1lB,EAAuBulB,6BAC5B,KAAKvlB,EAAuB+lB,iCAC5B,KAAK/lB,EAAuBimB,kCAC5B,KAAKjmB,EAAuBkmB,wBACxBf,IACAh6G,GAAM,EACN,MACJ,QACI,GAAKrI,EAAQ,IAAM,GAAOA,EAAQ,EAAI,CAGlC,IAAK,IAAIvP,EAAY,EAAGA,EAAI,IAAKA,EAK7B00H,EAAa9hF,MAAiBrpC,OAAOooH,GAAan0H,IAAUm0H,GAAa,GAAK,EAAI3xH,MAEtFxC,EAAQ,EACR+R,EAAQ,CACZ,EAKRqiH,IAAchnB,EAAU,IAAMgqB,EAAWnoB,EAAuBolB,6BAChE8C,EAAuBplH,KAAWqlH,GAKtC,IAAK,IAAIh4H,EAAY,EAAGA,EAAI2S,EAAO3S,IAC/B83H,EAAa9hF,MAAiB+hF,EAAuB/3H,IAEzD,MACJ,KAAK6vG,EAAuBulB,6BAGxB,KAAOJ,EAAYhnB,EAAU,KAAOhzF,GAAK,CACrC,IAAIQ,EAAOwyF,EAAUgnB,KACrB,GAAIx5G,EAAOq0F,EAAuBolB,2BAC9BtiH,IAEA/R,EAAQ,IAAMA,EAAQ4a,OAGtB,OAAQA,GACJ,KAAKq0F,EAAuBolB,2BAC5B,KAAKplB,EAAuBslB,2BAC5B,KAAKtlB,EAAuB0lB,8BAC5B,KAAK1lB,EAAuBulB,6BAC5B,KAAKvlB,EAAuB+lB,iCAC5B,KAAK/lB,EAAuBimB,kCAC5B,KAAKjmB,EAAuBkmB,wBACxBf,IACAh6G,GAAM,EAIlB,GAAKrI,EAAQ,IAAM,GAAOA,EAAQ,EAAI,CAOlC,IAASvP,EAAY,EAAGA,EAAI,IAAKA,EAC7B00H,EAAa9hF,MAAiBrpC,OAAOooH,GAAan0H,IAAUm0H,GAAa,GAAK,EAAI3xH,MAEtFxC,EAAQ,EACR+R,EAAQ,CACZ,CACJ,EAIR,OADA4U,EAAOoxB,OAAO,SAAsBm/E,EAAatD,cAAeh2D,IACzDw2D,CACX,EAWAnlB,EAAuB2lB,kBAAoB,SAAUxnB,EAAWgnB,EAAmBztG,GAI/E,IAHA,IAAI5U,EAAQ,EACRqI,GAAM,EACNi9G,EAAmB,IAAIzrH,WAAWqjG,EAAuBqoB,uBACtDlD,EAAYhnB,EAAU,KAAOhzF,GAAK,CACrC,IAAIQ,EAAOwyF,EAAUgnB,KAIrB,GAHIA,IAAchnB,EAAU,KACxBhzF,GAAM,GAENQ,EAAOq0F,EAAuBolB,2BAC9BgD,EAAiBtlH,GAAS6I,EAC1B7I,SAGA,OAAQ6I,GACJ,KAAKq0F,EAAuBolB,2BAC5B,KAAKplB,EAAuBslB,2BAC5B,KAAKtlB,EAAuBulB,6BAC5B,KAAKvlB,EAAuB+lB,iCAC5B,KAAK/lB,EAAuBimB,kCAC5B,KAAKjmB,EAAuBkmB,wBACxBf,IACAh6G,GAAM,GAIbrI,EAAQk9F,EAAuBqoB,wBAA0B,GAAK18G,IAASq0F,EAAuB0lB,+BAAiCv6G,IAAQrI,EAAQ,IAKhJ4U,EAAOoxB,OAAOk3D,EAAuBqmB,sBAAsB+B,EAAkBtlH,IAC7EA,EAAQ,EAEhB,CACA,OAAOqiH,CACX,EA6CAnlB,EAAuBqmB,sBAAwB,SAAUloB,EAAWr7F,GAEhE,IADA,IAAI4U,EAASwtG,GAAa,GACjB/0H,EAAY,EAAGA,EAAI2S,EAAO3S,IAC/BunB,GAAUsoF,EAAuBsoB,OAAOxlH,EAAQ3S,EAAI,GAAK+0H,GAAa/mB,EAAUhuG,IAEpF,IAAIkpF,EAAe3hE,EAAO9S,WAC1B,GAA+B,MAA3By0E,EAAa3vE,OAAO,GACpB,MAAM,IAAI,EAEd,OAAO2vE,EAAa7oE,UAAU,EAClC,EACAwvF,EAAuBolB,2BAA6B,IACpDplB,EAAuBslB,2BAA6B,IACpDtlB,EAAuB0lB,8BAAgC,IACvD1lB,EAAuBulB,6BAA+B,IACtDvlB,EAAuB8lB,iBAAmB,IAC1C9lB,EAAuB6lB,oBAAsB,IAC7C7lB,EAAuB4lB,YAAc,IACrC5lB,EAAuB+lB,iCAAmC,IAC1D/lB,EAAuBimB,kCAAoC,IAC3DjmB,EAAuBkmB,wBAA0B,IACjDlmB,EAAuBylB,mCAAqC,IAC5DzlB,EAAuBqoB,sBAAwB,GAC/CroB,EAAuBumB,sCAAwC,EAC/DvmB,EAAuB0mB,0CAA4C,EACnE1mB,EAAuB2mB,uCAAyC,EAChE3mB,EAAuBwmB,mCAAqC,EAC5DxmB,EAAuBymB,sCAAwC,EAC/DzmB,EAAuB6mB,sCAAwC,EAC/D7mB,EAAuB4mB,qCAAuC,EAC9D5mB,EAAuB4nB,GAAK,GAC5B5nB,EAAuBsnB,GAAK,GAC5BtnB,EAAuB0nB,GAAK,GAC5B1nB,EAAuBunB,GAAK,GAC5BvnB,EAAuB8nB,GAAK,GAC5B9nB,EAAuBwnB,GAAK,GAC5BxnB,EAAuB+nB,IAAM,GAC7B/nB,EAAuBgoB,YAAc,qCACrChoB,EAAuB6nB,YAAc,8BAKrC7nB,EAAuBsoB,OAASrD,KAnrBpC,WAEI,IAAIqD,EAAS,GACbA,EAAO,GAAKpD,GAAa,GACzB,IAAIqD,EAAcrD,GAAa,KAC/BoD,EAAO,GAAKC,EAEZ,IAAK,IAAIp4H,EAAY,EAAGA,EAAI,GAAIA,IAC5Bm4H,EAAOn4H,GAAKm4H,EAAOn4H,EAAI,GAAKo4H,EAEhC,OAAOD,CACX,CAwqB6DE,GAAc,GACvExoB,EAAuBmmB,6BAA+B,EAC/CnmB,CACX,CApqB2C,GAqqB3C,MkCxvBI,GAAsC,SAAS9vG,GAC/C,IAAIqB,EAAsB,oBAAXV,QAAyBA,OAAO+P,SAAUtQ,EAAIiB,GAAKrB,EAAEqB,GAAIpB,EAAI,EAC5E,GAAIG,EAAG,OAAOA,EAAED,KAAKH,GACrB,GAAIA,GAAyB,kBAAbA,EAAE6B,OAAqB,MAAO,CAC1CmP,KAAM,WAEF,OADIhR,GAAKC,GAAKD,EAAE6B,SAAQ7B,OAAI,GACrB,CAAEa,MAAOb,GAAKA,EAAEC,KAAMqP,MAAOtP,EACxC,GAEJ,MAAM,IAAI4B,UAAUP,EAAI,0BAA4B,kCACxD,EAgCIk3H,GAAuC,WACvC,SAASA,IACT,CAioBA,OAtmBAA,EAAsBz9G,OAAS,SAAUqP,EAAOquG,EAAcC,EAAiBC,EAAeC,EAAkBC,EAAkBC,GAK9H,IAJA,IAGIC,EAHAlQ,EAAc,IAAI,GAAYz+F,EAAOquG,EAAcC,EAAiBC,EAAeC,GACnFI,EAAyB,KACzBC,EAA0B,KAErBC,GAAwB,GAAOA,GAAY,EAAO,CAQvD,GAPoB,MAAhBT,IACAO,EAAyBR,EAAsBW,sBAAsB/uG,EAAOy+F,EAAa4P,GAAc,EAAMI,EAAkBC,IAE9G,MAAjBH,IACAM,EAA0BT,EAAsBW,sBAAsB/uG,EAAOy+F,EAAa8P,GAAe,EAAOE,EAAkBC,IAG/G,OADvBC,EAAkBP,EAAsBrP,MAAM6P,EAAwBC,IAElE,MAAM,wBAEV,IAAIG,EAAYL,EAAgB3N,iBAChC,IAAI8N,GAA0B,MAAbE,KACZA,EAAUnQ,UAAYJ,EAAYI,WAAamQ,EAAUlQ,UAAYL,EAAYK,WAIlF,MAHAL,EAAcuQ,CAKtB,CACAL,EAAgBlJ,eAAehH,GAC/B,IAAIwQ,EAAmBN,EAAgBrJ,wBAA0B,EACjEqJ,EAAgBjJ,yBAAyB,EAAGkJ,GAC5CD,EAAgBjJ,yBAAyBuJ,EAAkBJ,GAE3D,IADA,IAAIK,EAAwC,MAA1BN,EACT/L,EAA6B,EAAGA,GAAsBoM,EAAkBpM,IAAsB,CACnG,IAAIoB,EAAgBiL,EAAcrM,EAAqBoM,EAAmBpM,EAC1E,QAA2En7F,IAAvEinG,EAAgBhJ,yBAAyB1B,GAA7C,CAIA,IAAIH,OAAwB,EAExBA,EADkB,IAAlBG,GAAuBA,IAAkBgL,EACjB,IAAI,GAAkCxQ,EAA+B,IAAlBwF,GAGnD,IAAI,GAAsBxF,GAEtDkQ,EAAgBjJ,yBAAyBzB,EAAeH,GAIxD,IAHA,IAAIlI,GAAe,EACfuT,EAAsBvT,EAEjB8E,EAAmBjC,EAAYI,UAAW6B,GAAYjC,EAAYK,UAAW4B,IAAY,CAE9F,IADA9E,EAAcwS,EAAsBgB,eAAeT,EAAiB1K,EAAevD,EAAUwO,IAC3E,GAAKtT,EAAc6C,EAAYG,UAAW,CACxD,IAA6B,IAAzBuQ,EACA,SAEJvT,EAAcuT,CAClB,CACA,IAAIxO,EAAWyN,EAAsBiB,eAAervG,EAAOy+F,EAAYE,UAAWF,EAAYG,UAAWsQ,EAAatT,EAAa8E,EAAU+N,EAAkBC,GAC/I,MAAZ/N,IACAmD,EAAsB/C,YAAYL,EAAUC,GAC5CwO,EAAsBvT,EACtB6S,EAAmBlvH,KAAKY,IAAIsuH,EAAkB9N,EAAS33G,YACvD0lH,EAAmBnvH,KAAKI,IAAI+uH,EAAkB/N,EAAS33G,YAE/D,CA3BA,CA4BJ,CACA,OAAOolH,EAAsBkB,oBAAoBX,EACrD,EAQAP,EAAsBrP,MAAQ,SAAU6P,EAAwBC,GAC5D,GAA8B,MAA1BD,GAA6D,MAA3BC,EAClC,OAAO,KAEX,IAAI9M,EAAkBqM,EAAsBzL,mBAAmBiM,EAAwBC,GACvF,GAAuB,MAAnB9M,EACA,OAAO,KAEX,IAAItD,EAAc,SAAkB2P,EAAsBmB,kBAAkBX,GAAyBR,EAAsBmB,kBAAkBV,IAC7I,OAAO,IAAI,GAAgB9M,EAAiBtD,EAChD,EAOA2P,EAAsBmB,kBAAoB,SAAU3J,GAChD,IAAI/lE,EAAKH,EACT,GAA0B,MAAtBkmE,EACA,OAAO,KAEX,IAAI4J,EAAa5J,EAAmBlD,gBACpC,GAAkB,MAAd8M,EACA,OAAO,KAEX,IAAIpN,EAAegM,EAAsBqB,OAAOD,GAC5CrQ,EAAmB,EACvB,IACI,IAAK,IAAIuQ,EAAe,GAASF,GAAaG,EAAiBD,EAAa7oH,QAAS8oH,EAAexqH,KAAMwqH,EAAiBD,EAAa7oH,OAAQ,CAC5I,IAAI+oH,EAAYD,EAAej5H,MAE/B,GADAyoH,GAAoBiD,EAAewN,EAC/BA,EAAY,EACZ,KAER,CAQJ,CANA,MAAO1vE,GAASL,EAAM,CAAExuC,MAAO6uC,EAAS,CACxC,QACI,IACQyvE,IAAmBA,EAAexqH,OAASu6C,EAAKgwE,EAAapiH,SAASoyC,EAAG1pD,KAAK05H,EAElD,CAApC,QAAU,GAAI7vE,EAAK,MAAMA,EAAIxuC,KAAO,CACxC,CAEA,IADA,IAAIyyF,EAAY8hB,EAAmB3gB,eAC1BroD,EAAc,EAAGuiE,EAAmB,GAAuB,MAAlBrb,EAAUlnD,GAAcA,IACtEuiE,IAEJ,IAAIC,EAAiB,EACrB,IAASxiE,EAAc4yE,EAAW93H,OAAS,EAAGklD,GAAO,IACjDwiE,GAAkBgD,EAAeoN,EAAW5yE,KACxC4yE,EAAW5yE,GAAO,IAF8BA,KAMxD,IAASA,EAAcknD,EAAUpsG,OAAS,EAAG0nH,EAAiB,GAAuB,MAAlBtb,EAAUlnD,GAAcA,IACvFwiE,IAEJ,OAAOwG,EAAmB5E,iBAAiB9B,eAAeC,EAAkBC,EAAgBwG,EAAmBvG,SACnH,EACA+O,EAAsBqB,OAAS,SAAUrgH,GACrC,IAAI4zC,EAAKtD,EACLmwE,GAAY,EAChB,IACI,IAAK,IAAIC,EAAW,GAAS1gH,GAAS2gH,EAAaD,EAASjpH,QAASkpH,EAAW5qH,KAAM4qH,EAAaD,EAASjpH,OAAQ,CAChH,IAAInQ,EAAQq5H,EAAWr5H,MACvBm5H,EAAWtwH,KAAKI,IAAIkwH,EAAUn5H,EAClC,CAQJ,CANA,MAAOwsD,GAASF,EAAM,CAAE3xC,MAAO6xC,EAAS,CACxC,QACI,IACQ6sE,IAAeA,EAAW5qH,OAASu6C,EAAKowE,EAASxiH,SAASoyC,EAAG1pD,KAAK85H,EAEtC,CAApC,QAAU,GAAI9sE,EAAK,MAAMA,EAAI3xC,KAAO,CACxC,CACA,OAAOw+G,CACX,EACAzB,EAAsBzL,mBAAqB,SAAUiM,EAAwBC,GACzE,IAAImB,EAKAC,EAJJ,OAA8B,MAA1BrB,GACuE,OAAtEoB,EAAsBpB,EAAuBjM,sBACZ,MAA3BkM,EAAkC,KAAOA,EAAwBlM,qBAG7C,MAA3BkM,GACyE,OAAxEoB,EAAuBpB,EAAwBlM,sBACzCqN,EAEPA,EAAoB7P,mBAAqB8P,EAAqB9P,kBAC9D6P,EAAoBhjB,4BAA8BijB,EAAqBjjB,2BACvEgjB,EAAoB5P,gBAAkB6P,EAAqB7P,cACpD,KAEJ4P,CACX,EACA5B,EAAsBW,sBAAwB,SAAU/uG,EAAOy+F,EAAayR,EAAYhB,EAAaT,EAAkBC,GAEnH,IADA,IAAI9I,EAAqB,IAAI,GAAkCnH,EAAayQ,GACnEp5H,EAAY,EAAGA,EAAI,EAAGA,IAG3B,IAFA,IAAIo0F,EAAkB,IAANp0F,EAAU,GAAK,EAC3B8lH,EAAcr8G,KAAKyvD,MAAMzvD,KAAKyvD,MAAMkhE,EAAWzjD,SAC1Ci0C,EAAmBnhH,KAAKyvD,MAAMzvD,KAAKyvD,MAAMkhE,EAAWxjD,SAAUg0C,GAAYjC,EAAYK,WAC3F4B,GAAYjC,EAAYI,UAAW6B,GAAYx2B,EAAW,CAC1D,IAAIy2B,EAAWyN,EAAsBiB,eAAervG,EAAO,EAAGA,EAAMhX,WAAYkmH,EAAatT,EAAa8E,EAAU+N,EAAkBC,GACtH,MAAZ/N,IACAiF,EAAmB7E,YAAYL,EAAUC,GAErC/E,EADAsT,EACcvO,EAASsF,YAGTtF,EAASuF,UAGnC,CAEJ,OAAON,CACX,EAWAwI,EAAsB+B,oBAAsB,SAAUxB,EAAiByB,GACnE,IAAIC,EAAkBD,EAAc,GAAG,GACnCE,EAAoBD,EAAgBh+D,WACpCk+D,EAA8B5B,EAAgBrJ,wBAC9CqJ,EAAgBpJ,qBAChB6I,EAAsBoC,uBAAuB7B,EAAgBnJ,qBACjE,GAAiC,IAA7B8K,EAAkB54H,OAAc,CAChC,GAAI64H,EAA8B,GAAKA,EAA8B,4BACjE,MAAM,wBAEVF,EAAgBjP,SAASmP,EAC7B,MACSD,EAAkB,KAAOC,GAE9BF,EAAgBjP,SAASmP,EAEjC,EASAnC,EAAsBkB,oBAAsB,SAAUX,GAClD,IAAIyB,EAAgBhC,EAAsBqC,oBAAoB9B,GAC9DP,EAAsB+B,oBAAoBxB,EAAiByB,GAK3D,IAJA,IAAIjuD,EAAmC,IAAI7iE,MACvCwkG,EAAY,IAAIxhG,WAAWqsH,EAAgBpJ,qBAAuBoJ,EAAgBrJ,yBAClFoL,EAA2C,GAC3CC,EAA+C,IAAIrxH,MAC9Cs9C,EAAc,EAAGA,EAAM+xE,EAAgBpJ,qBAAsB3oE,IAClE,IAAK,IAAI0lD,EAAiB,EAAGA,EAASqsB,EAAgBrJ,wBAAyBhjB,IAAU,CACrF,IAAIlzF,EAASghH,EAAcxzE,GAAK0lD,EAAS,GAAGjwC,WACxCu+D,EAAgBh0E,EAAM+xE,EAAgBrJ,wBAA0BhjB,EAC9C,IAAlBlzF,EAAO1X,OACPyqE,EAASjhE,KAAK0vH,GAES,IAAlBxhH,EAAO1X,OACZosG,EAAU8sB,GAAiBxhH,EAAO,IAGlCuhH,EAAqBzvH,KAAK0vH,GAC1BF,EAAyBxvH,KAAKkO,GAEtC,CAGJ,IADA,IAAIyhH,EAAuB,IAAIvxH,MAAMoxH,EAAyBh5H,QACrD5B,EAAY,EAAGA,EAAI+6H,EAAqBn5H,OAAQ5B,IACrD+6H,EAAqB/6H,GAAK46H,EAAyB56H,GAEvD,OAAOs4H,EAAsB0C,uCAAuCnC,EAAgBnJ,oBAAqB1hB,EAAW,cAAwB3hC,GAAW,cAAwBwuD,GAAuBE,EAC1M,EAiBAzC,EAAsB0C,uCAAyC,SAAUrvD,EAASqiC,EAAWitB,EAAcC,EAAkBH,GAGzH,IAFA,IAAII,EAAsB,IAAI3uH,WAAW0uH,EAAiBt5H,QACtDw5H,EAAQ,IACLA,KAAU,GAAG,CAChB,IAAK,IAAIp7H,EAAY,EAAGA,EAAIm7H,EAAoBv5H,OAAQ5B,IACpDguG,EAAUktB,EAAiBl7H,IAAM+6H,EAAqB/6H,GAAGm7H,EAAoBn7H,IAEjF,IACI,OAAOs4H,EAAsB+C,gBAAgBrtB,EAAWriC,EAASsvD,EAOrE,CALA,MAAOhoG,GAEH,KADcA,aAAe,GAEzB,MAAMA,CAEd,CACA,GAAmC,IAA/BkoG,EAAoBv5H,OACpB,MAAM,wBAEV,IAAS5B,EAAY,EAAGA,EAAIm7H,EAAoBv5H,OAAQ5B,IAAK,CACzD,GAAIm7H,EAAoBn7H,GAAK+6H,EAAqB/6H,GAAG4B,OAAS,EAAG,CAC7Du5H,EAAoBn7H,KACpB,KACJ,CAGI,GADAm7H,EAAoBn7H,GAAK,EACrBA,IAAMm7H,EAAoBv5H,OAAS,EACnC,MAAM,uBAGlB,CACJ,CACA,MAAM,uBACV,EACA02H,EAAsBqC,oBAAsB,SAAU9B,GAKlD,IAJA,IAAI7oE,EAAKpG,EAAI6uC,EAAKtrC,EAGdmtE,EAAgB9wH,MAAMoL,KAAK,CAAEhT,OAAQi3H,EAAgBpJ,uBAAwB,WAAc,OAAO,IAAIjmH,MAAMqvH,EAAgBrJ,wBAA0B,EAAI,IACrJ1oE,EAAc,EAAGA,EAAMwzE,EAAc14H,OAAQklD,IAClD,IAAK,IAAIw0E,EAAmB,EAAGA,EAAWhB,EAAcxzE,GAAKllD,OAAQ05H,IACjEhB,EAAcxzE,GAAKw0E,GAAY,IAAI,GAG3C,IAAI9uB,EAAS,EACb,IACI,IAAK,IAAIzb,EAAK,GAAS8nC,EAAgBlL,6BAA8B36F,EAAK+9D,EAAGhgF,QAASiiB,EAAG3jB,KAAM2jB,EAAK+9D,EAAGhgF,OAAQ,CAC3G,IAAIi9G,EAAwBh7F,EAAGpyB,MAC/B,GAA6B,MAAzBotH,EACA,IACI,IAAK,IAAI/kH,GAAMwvF,OAAM,EAAQ,GAASu1B,EAAsB7e,iBAAkBvW,EAAK3vF,EAAG8H,QAAS6nF,EAAGvpF,KAAMupF,EAAK3vF,EAAG8H,OAAQ,CACpH,IAAI85G,EAAWjyB,EAAGh4F,MAClB,GAAgB,MAAZiqH,EAAkB,CAClB,IAAIxmC,EAAYwmC,EAASpqB,eACzB,GAAIpc,GAAa,EAAG,CAChB,GAAIA,GAAai2C,EAAc14H,OAE3B,SAEJ04H,EAAcj2C,GAAWmoB,GAAQ8e,SAAST,EAAStuD,WACvD,CACJ,CACJ,CAQJ,CANA,MAAOq9B,GAASnB,EAAM,CAAEl9E,MAAOq+E,EAAS,CACxC,QACI,IACQhB,IAAOA,EAAGvpF,OAAS89C,EAAKlkD,EAAGuO,SAAS21C,EAAGjtD,KAAK+I,EAEhB,CAApC,QAAU,GAAIwvF,EAAK,MAAMA,EAAIl9E,KAAO,CACxC,CAEJixF,GACJ,CAQJ,CANA,MAAOz8C,GAASC,EAAM,CAAEz0C,MAAOw0C,EAAS,CACxC,QACI,IACQ/8B,IAAOA,EAAG3jB,OAASu6C,EAAKmnC,EAAGv5E,SAASoyC,EAAG1pD,KAAK6wF,EAEhB,CAApC,QAAU,GAAI/gC,EAAK,MAAMA,EAAIz0C,KAAO,CACxC,CACA,OAAO++G,CACX,EACAhC,EAAsBiD,qBAAuB,SAAU1C,EAAiB1K,GACpE,OAAOA,GAAiB,GAAKA,GAAiB0K,EAAgBrJ,wBAA0B,CAC5F,EACA8I,EAAsBgB,eAAiB,SAAUT,EAAiB1K,EAAevD,EAAUwO,GACvF,IAAIx2B,EAAKh5C,EACLloB,EAAS03F,EAAc,GAAK,EAC5BvO,EAAW,KAIf,GAHIyN,EAAsBiD,qBAAqB1C,EAAiB1K,EAAgBzsF,KAC5EmpF,EAAWgO,EAAgBhJ,yBAAyB1B,EAAgBzsF,GAAQ+iF,YAAYmG,IAE5E,MAAZC,EACA,OAAOuO,EAAcvO,EAASuF,UAAYvF,EAASsF,YAGvD,GAAgB,OADhBtF,EAAWgO,EAAgBhJ,yBAAyB1B,GAAexD,kBAAkBC,IAEjF,OAAOwO,EAAcvO,EAASsF,YAActF,EAASuF,UAKzD,GAHIkI,EAAsBiD,qBAAqB1C,EAAiB1K,EAAgBzsF,KAC5EmpF,EAAWgO,EAAgBhJ,yBAAyB1B,EAAgBzsF,GAAQipF,kBAAkBC,IAElF,MAAZC,EACA,OAAOuO,EAAcvO,EAASuF,UAAYvF,EAASsF,YAGvD,IADA,IAAIqL,EAAiB,EACdlD,EAAsBiD,qBAAqB1C,EAAiB1K,EAAgBzsF,IAAS,CACxFysF,GAAiBzsF,EACjB,IACI,IAAK,IAAIyrB,GAAMy1C,OAAM,EAAQ,GAASi2B,EAAgBhJ,yBAAyB1B,GAAehf,iBAAkBpe,EAAK5jC,EAAGp8C,QAASggF,EAAG1hF,KAAM0hF,EAAK5jC,EAAGp8C,OAAQ,CACtJ,IAAI0qH,EAAsB1qC,EAAGnwF,MAC7B,GAA2B,MAAvB66H,EACA,OAAQrC,EAAcqC,EAAoBrL,UAAYqL,EAAoBtL,aACtEzuF,EACI85F,GACCC,EAAoBrL,UAAYqL,EAAoBtL,YAErE,CAQJ,CANA,MAAOjtB,GAASN,EAAM,CAAErnF,MAAO2nF,EAAS,CACxC,QACI,IACQnS,IAAOA,EAAG1hF,OAASu6C,EAAKuD,EAAG31C,SAASoyC,EAAG1pD,KAAKitD,EAEhB,CAApC,QAAU,GAAIy1C,EAAK,MAAMA,EAAIrnF,KAAO,CACxC,CACAigH,GACJ,CACA,OAAOpC,EAAcP,EAAgB3N,iBAAiBrC,UAAYgQ,EAAgB3N,iBAAiBpC,SACvG,EACAwP,EAAsBiB,eAAiB,SAAUrvG,EAAOwxG,EAAWC,EAAWvC,EAAatT,EAAa8E,EAAU+N,EAAkBC,GAChI9S,EAAcwS,EAAsBsD,0BAA0B1xG,EAAOwxG,EAAWC,EAAWvC,EAAatT,EAAa8E,GAKrH,IAIIiR,EAJA3X,EAAiBoU,EAAsBwD,kBAAkB5xG,EAAOwxG,EAAWC,EAAWvC,EAAatT,EAAa8E,GACpH,GAAsB,MAAlB1G,EACA,OAAO,KAGX,IAAI6X,EAAmB,OAAc7X,GACrC,GAAIkV,EACAyC,EAAY/V,EAAciW,MAEzB,CACD,IAAK,IAAI/7H,EAAY,EAAGA,EAAIkkH,EAAetiH,OAAS,EAAG5B,IAAK,CACxD,IAAIg8H,EAAW9X,EAAelkH,GAC9BkkH,EAAelkH,GAAKkkH,EAAeA,EAAetiH,OAAS,EAAI5B,GAC/DkkH,EAAeA,EAAetiH,OAAS,EAAI5B,GAAKg8H,CACpD,CAEAlW,GADA+V,EAAY/V,GACciW,CAC9B,CAcA,IAAKzD,EAAsB2D,kBAAkBF,EAAkBpD,EAAkBC,GAG7E,OAAO,KAEX,IAAIhI,EAAe,mBAAsC1M,GACrD2G,EAAW,eAAyB+F,GACxC,OAAkB,IAAd/F,EACO,KAEJ,IAAI,GAAS/E,EAAa+V,EAAWvD,EAAsB4D,wBAAwBtL,GAAe/F,EAC7G,EACAyN,EAAsBwD,kBAAoB,SAAU5xG,EAAOwxG,EAAWC,EAAWvC,EAAatT,EAAa8E,GAMvG,IALA,IAAIuR,EAAcrW,EACd5B,EAAiB,IAAI13G,WAAW,GAChC4vH,EAAe,EACfhoC,EAAYglC,EAAc,GAAK,EAC/BiD,EAAqBjD,GACjBA,EAAc+C,EAAcR,EAAYQ,GAAeT,IAC3DU,EAAelY,EAAetiH,QAC1BsoB,EAAMzpB,IAAI07H,EAAavR,KAAcyR,GACrCnY,EAAekY,KACfD,GAAe/nC,IAGfgoC,IACAC,GAAsBA,GAG9B,OAAID,IAAiBlY,EAAetiH,QAC9Bu6H,KAAiB/C,EAAcuC,EAAYD,IACzCU,IAAiBlY,EAAetiH,OAAS,EACtCsiH,EAEJ,IACX,EACAoU,EAAsBoC,uBAAyB,SAAUxN,GACrD,OAAO,GAAKA,CAChB,EACAoL,EAAsBsD,0BAA4B,SAAU1xG,EAAOwxG,EAAWC,EAAWvC,EAAakD,EAAqB1R,GAIvH,IAHA,IAAI2R,EAAuBD,EACvBloC,EAAYglC,GAAe,EAAI,EAE1Bp5H,EAAY,EAAGA,EAAI,EAAGA,IAAK,CAChC,MAAQo5H,EAAcmD,GAAwBb,EAAYa,EAAuBZ,IAC7EvC,IAAgBlvG,EAAMzpB,IAAI87H,EAAsB3R,IAAW,CAC3D,GAAInhH,KAAKG,IAAI0yH,EAAsBC,GAAwBjE,EAAsBkE,mBAC7E,OAAOF,EAEXC,GAAwBnoC,CAC5B,CACAA,GAAaA,EACbglC,GAAeA,CACnB,CACA,OAAOmD,CACX,EACAjE,EAAsB2D,kBAAoB,SAAU7nD,EAAcukD,EAAkBC,GAChF,OAAOD,EAAmBL,EAAsBkE,oBAAsBpoD,GAClEA,GAAgBwkD,EAAmBN,EAAsBkE,kBACjE,EAKAlE,EAAsB+C,gBAAkB,SAAUrtB,EAAWriC,EAASU,GAClE,GAAyB,IAArB2hC,EAAUpsG,OACV,MAAM,sBAEV,IAAI0+E,EAAiB,GAAM3U,EAAU,EACjC8wD,EAAuBnE,EAAsBzlB,cAAc7E,EAAW3hC,EAAUiU,GACpFg4C,EAAsBoE,oBAAoB1uB,EAAW1tB,GAErD,IAAIxN,EAAgB,UAA8Bk7B,EAAW,GAAKriC,GAGlE,OAFAmH,EAAc3G,mBAAmBswD,GACjC3pD,EAAcxG,YAAYD,EAASzqE,QAC5BkxE,CACX,EAUAwlD,EAAsBzlB,cAAgB,SAAU7E,EAAW3hC,EAAUiU,GACjE,GAAgB,MAAZjU,GACAA,EAASzqE,OAAS0+E,EAAiB,EAAIg4C,EAAsBqE,YAC7Dr8C,EAAiB,GACjBA,EAAiBg4C,EAAsBsE,iBAEvC,MAAM,wBAEV,OAAOtE,EAAsBuE,gBAAgBhiH,OAAOmzF,EAAW1tB,EAAgBjU,EACnF,EAKAisD,EAAsBoE,oBAAsB,SAAU1uB,EAAW1tB,GAC7D,GAAI0tB,EAAUpsG,OAAS,EAGnB,MAAM,sBAKV,IAAI44H,EAAoBxsB,EAAU,GAClC,GAAIwsB,EAAoBxsB,EAAUpsG,OAC9B,MAAM,sBAEV,GAA0B,IAAtB44H,EAAyB,CAEzB,KAAIl6C,EAAiB0tB,EAAUpsG,QAI3B,MAAM,sBAHNosG,EAAU,GAAKA,EAAUpsG,OAAS0+E,CAK1C,CACJ,EACAg4C,EAAsBwE,uBAAyB,SAAUjS,GAIrD,IAHA,IAAItjG,EAAS,IAAI/a,WAAW,GACxBuwH,EAAgB,EAChB/8H,EAAIunB,EAAO3lB,OAAS,KAEJ,EAAXipH,KAAoBkS,IACrBA,EAA2B,EAAXlS,IAChB7qH,EACQ,KAIZunB,EAAOvnB,KACP6qH,IAAa,EAEjB,OAAOtjG,CACX,EACA+wG,EAAsB4D,wBAA0B,SAAUrR,GACtD,OAAIA,aAAoBr+G,WACbH,KAAK2wH,mCAAmCnS,GAE5Cx+G,KAAK4wH,+BAA+BpS,EAC/C,EACAyN,EAAsB2E,+BAAiC,SAAUpS,GAC7D,OAAOyN,EAAsB4D,wBAAwB5D,EAAsBwE,uBAAuBjS,GACtG,EACAyN,EAAsB0E,mCAAqC,SAAU9Y,GACjE,OAAQA,EAAe,GAAKA,EAAe,GAAKA,EAAe,GAAKA,EAAe,GAAK,GAAK,CACjG,EACAoU,EAAsB7jH,SAAW,SAAU6lH,GAGvC,IAFA,IAAInP,EAAY,IAAI,GAEXrkE,EAAc,EAAGA,EAAMwzE,EAAc14H,OAAQklD,IAAO,CACzDqkE,EAAUlwG,OAAO,YAAa6rC,GAC9B,IAAK,IAAI0lD,EAAiB,EAAGA,EAAS8tB,EAAcxzE,GAAKllD,OAAQ4qG,IAAU,CACvE,IAAI0wB,EAAe5C,EAAcxzE,GAAK0lD,GACC,IAAnC0wB,EAAa3gE,WAAW36D,OACxBupH,EAAUlwG,OAAO,WAAY,MAG7BkwG,EAAUlwG,OAAO,WAAYiiH,EAAa3gE,WAAW,GAAI2gE,EAAavR,cAAcuR,EAAa3gE,WAAW,IAEpH,CACA4uD,EAAUlwG,OAAO,KACrB,CACA,OAAOkwG,EAAU12G,UAErB,EACU6jH,EAAsBkE,mBAAqB,EAC3ClE,EAAsBqE,WAAa,EACnCrE,EAAsBsE,iBAAmB,IACzCtE,EAAsBuE,gBAAkB,IAAI,GAC/CvE,CACX,CApoB0C,GAqoB1C,MC/qBI,GAAsC,SAASv4H,GAC/C,IAAIqB,EAAsB,oBAAXV,QAAyBA,OAAO+P,SAAUtQ,EAAIiB,GAAKrB,EAAEqB,GAAIpB,EAAI,EAC5E,GAAIG,EAAG,OAAOA,EAAED,KAAKH,GACrB,GAAIA,GAAyB,kBAAbA,EAAE6B,OAAqB,MAAO,CAC1CmP,KAAM,WAEF,OADIhR,GAAKC,GAAKD,EAAE6B,SAAQ7B,OAAI,GACrB,CAAEa,MAAOb,GAAKA,EAAEC,KAAMqP,MAAOtP,EACxC,GAEJ,MAAM,IAAI4B,UAAUP,EAAI,0BAA4B,kCACxD,EA8BI0xD,GAA8B,WAC9B,SAASA,IACT,CAoGA,OAzFAA,EAAa7xD,UAAU4Z,OAAS,SAAUqP,EAAOi/B,QAC/B,IAAVA,IAAoBA,EAAQ,MAChC,IAAI5hC,EAASurC,EAAaj4C,OAAOqP,EAAOi/B,GAAO,GAC/C,GAAc,MAAV5hC,GAAoC,IAAlBA,EAAO3lB,QAA6B,MAAb2lB,EAAO,GAChD,MAAM,wBAEV,OAAOA,EAAO,EAClB,EAQAurC,EAAa7xD,UAAUk8H,eAAiB,SAAUjzG,EAAOi/B,QACvC,IAAVA,IAAoBA,EAAQ,MAChC,IACI,OAAO2J,EAAaj4C,OAAOqP,EAAOi/B,GAAO,EAO7C,CALA,MAAOq3B,GACH,GAAIA,aAAmB,GAAmBA,aAAmB,EACzD,MAAM,wBAEV,MAAMA,CACV,CACJ,EAWA1tB,EAAaj4C,OAAS,SAAUqP,EAAOi/B,EAAOvmC,GAC1C,IAAImnC,EAAKH,EACLwzE,EAAU,IAAI5zH,MACd6oE,EAAiB,kBAAwBnoD,EAAOi/B,EAAOvmC,GAC3D,IACI,IAAK,IAAIuqC,EAAK,GAASklB,EAAenmE,aAAc6kF,EAAK5jC,EAAGp8C,QAASggF,EAAG1hF,KAAM0hF,EAAK5jC,EAAGp8C,OAAQ,CAC1F,IAAI2mE,EAASqZ,EAAGnwF,MACZkyE,EAAgB,UAA6BT,EAAeE,UAAWmF,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAI5kB,EAAauqE,oBAAoB3lD,GAAS5kB,EAAawqE,oBAAoB5lD,IAC9LnwD,EAAS,IAAI,GAAOurD,EAAcrI,UAAWqI,EAAcpI,mBAAe94C,EAAW8lD,EAAQ,YACjGnwD,EAAOwjD,YAAY,0BAA2C+H,EAAc9G,cAC5E,IAAIuxD,EAAuBzqD,EAAcvG,WACb,MAAxBgxD,GACAh2G,EAAOwjD,YAAY,yBAA0CwyD,GAEjEH,EAAQhyH,KAAKmc,EACjB,CAQJ,CANA,MAAO6iC,GAASL,EAAM,CAAExuC,MAAO6uC,EAAS,CACxC,QACI,IACQ2mC,IAAOA,EAAG1hF,OAASu6C,EAAKuD,EAAG31C,SAASoyC,EAAG1pD,KAAKitD,EAEhB,CAApC,QAAU,GAAIpD,EAAK,MAAMA,EAAIxuC,KAAO,CACxC,CACA,OAAO6hH,EAAQxqH,KAAI,SAAUvQ,GAAK,OAAOA,CAAG,GAChD,EACAywD,EAAa0qE,YAAc,SAAUz8D,EAAIC,GACrC,OAAU,MAAND,GAAoB,MAANC,EACP,EAEJv3D,KAAKyvD,MAAMzvD,KAAKG,IAAIm3D,EAAG4V,OAAS3V,EAAG2V,QAC9C,EACA7jB,EAAa2qE,YAAc,SAAU18D,EAAIC,GACrC,OAAU,MAAND,GAAoB,MAANC,EACP,YAEJv3D,KAAKyvD,MAAMzvD,KAAKG,IAAIm3D,EAAG4V,OAAS3V,EAAG2V,QAC9C,EACA7jB,EAAawqE,oBAAsB,SAAUn8H,GACzC,OAAOsI,KAAKW,MAAMX,KAAKI,IAAIJ,KAAKI,IAAIipD,EAAa0qE,YAAYr8H,EAAE,GAAIA,EAAE,IAAK2xD,EAAa0qE,YAAYr8H,EAAE,GAAIA,EAAE,IAAM,uBAC7G,4BAAuCsI,KAAKI,IAAIipD,EAAa0qE,YAAYr8H,EAAE,GAAIA,EAAE,IAAK2xD,EAAa0qE,YAAYr8H,EAAE,GAAIA,EAAE,IAAM,uBAC7H,6BACR,EACA2xD,EAAauqE,oBAAsB,SAAUl8H,GACzC,OAAOsI,KAAKW,MAAMX,KAAKY,IAAIZ,KAAKY,IAAIyoD,EAAa2qE,YAAYt8H,EAAE,GAAIA,EAAE,IAAK2xD,EAAa2qE,YAAYt8H,EAAE,GAAIA,EAAE,IAAM,uBAC7G,4BAAuCsI,KAAKY,IAAIyoD,EAAa2qE,YAAYt8H,EAAE,GAAIA,EAAE,IAAK2xD,EAAa2qE,YAAYt8H,EAAE,GAAIA,EAAE,IAAM,uBAC7H,6BACR,EAEA2xD,EAAa7xD,UAAU6X,MAAQ,WAE/B,EACOg6C,CACX,CAvGiC,GAwGjC,MC/JI,GAAwC,WACxC,IAAI9M,EAAgB,SAAU3lD,EAAGkC,GAI7B,OAHAyjD,EAAgB1lD,OAAOkB,gBAClB,CAAEE,UAAW,cAAgB8H,OAAS,SAAUnJ,EAAGkC,GAAKlC,EAAEqB,UAAYa,CAAG,GAC1E,SAAUlC,EAAGkC,GAAK,IAAK,IAAIpB,KAAKoB,EAAOA,EAAErB,eAAeC,KAAId,EAAEc,GAAKoB,EAAEpB,GAAI,EACtE6kD,EAAc3lD,EAAGkC,EAC5B,EACA,OAAO,SAAUlC,EAAGkC,GAEhB,SAAS2jD,IAAO75C,KAAK5B,YAAcpK,CAAG,CADtC2lD,EAAc3lD,EAAGkC,GAEjBlC,EAAEY,UAAkB,OAANsB,EAAajC,OAAOQ,OAAOyB,IAAM2jD,EAAGjlD,UAAYsB,EAAEtB,UAAW,IAAIilD,EACnF,CACH,CAZ2C,GAiBxCw3E,GAAiC,SAAUt3E,GAE3C,SAASs3E,IACL,OAAkB,OAAXt3E,GAAmBA,EAAO96C,MAAMe,KAAMpC,YAAcoC,IAC/D,CAEA,OALA,GAAUqxH,EAAiBt3E,GAI3Bs3E,EAAgBj5G,KAAO,kBAChBi5G,CACX,CAPoC,CAOlC,GACF,MCVI,GAAsC,SAAS39H,GAC/C,IAAIqB,EAAsB,oBAAXV,QAAyBA,OAAO+P,SAAUtQ,EAAIiB,GAAKrB,EAAEqB,GAAIpB,EAAI,EAC5E,GAAIG,EAAG,OAAOA,EAAED,KAAKH,GACrB,GAAIA,GAAyB,kBAAbA,EAAE6B,OAAqB,MAAO,CAC1CmP,KAAM,WAEF,OADIhR,GAAKC,GAAKD,EAAE6B,SAAQ7B,OAAI,GACrB,CAAEa,MAAOb,GAAKA,EAAEC,KAAMqP,MAAOtP,EACxC,GAEJ,MAAM,IAAI4B,UAAUP,EAAI,0BAA4B,kCACxD,EAmBIsxD,GAAmC,WACnC,SAASA,IACT,CAoKA,OA1IAA,EAAkBzxD,UAAU4Z,OAAS,SAAUqP,EAAOi/B,GAElD,OADA98C,KAAKsmD,SAASxJ,GACP98C,KAAKsxH,eAAezzG,EAC/B,EAUAwoC,EAAkBzxD,UAAU2xD,gBAAkB,SAAU1oC,GAKpD,OAHqB,OAAjB7d,KAAK2V,cAAqC4P,IAAjBvlB,KAAK2V,SAC9B3V,KAAKsmD,SAAS,MAEXtmD,KAAKsxH,eAAezzG,EAC/B,EAQAwoC,EAAkBzxD,UAAU0xD,SAAW,SAAUxJ,GAC7C98C,KAAK88C,MAAQA,EACb,IAAI86B,EAAsB,OAAV96B,QAA4Bv3B,IAAVu3B,QAAuBv3B,IAAcu3B,EAAM1oD,IAAI,cAE7E2oD,EAAoB,OAAVD,QAA4Bv3B,IAAVu3B,EAAsB,KAAOA,EAAM1oD,IAAI,oBACnEuhB,EAAU,IAAIxY,MAClB,GAAgB,OAAZ4/C,QAAgCx3B,IAAZw3B,EAAuB,CAC3C,IAAIw0E,EAAgBx0E,EAAQ1jC,MAAK,SAAU1jB,GACvC,OAAOA,IAAM,UACTA,IAAM,UACNA,IAAM,WACNA,IAAM,UACNA,IAAM,YACNA,IAAM,YACNA,IAAM,YACNA,IAAM,aACNA,IAAM,QACNA,IAAM,WACNA,IAAM,eACd,IAGI47H,IAAkB35C,GAClBjiE,EAAQ5W,KAAK,IAAI,GAAsB+9C,IAEvCC,EAAQ7rB,SAAS,aACjBvb,EAAQ5W,KAAK,IAAI,IAEjBg+C,EAAQ7rB,SAAS,iBACjBvb,EAAQ5W,KAAK,IAAI,IAEjBg+C,EAAQ7rB,SAAS,WACjBvb,EAAQ5W,KAAK,IAAI,IAEjBg+C,EAAQ7rB,SAAS,aACjBvb,EAAQ5W,KAAK,IAAI,IAMjBwyH,GAAiB35C,GACjBjiE,EAAQ5W,KAAK,IAAI,GAAsB+9C,GAE/C,CACuB,IAAnBnnC,EAAQpgB,SACHqiF,GACDjiE,EAAQ5W,KAAK,IAAI,GAAsB+9C,IAE3CnnC,EAAQ5W,KAAK,IAAI,IACjB4W,EAAQ5W,KAAK,IAAI,IACjB4W,EAAQ5W,KAAK,IAAI,IACjB4W,EAAQ5W,KAAK,IAAI,IAEb64E,GACAjiE,EAAQ5W,KAAK,IAAI,GAAsB+9C,KAG/C98C,KAAK2V,QAAUA,CACnB,EAEA0wC,EAAkBzxD,UAAU6X,MAAQ,WAChC,IAAIixC,EAAKH,EACT,GAAqB,OAAjBv9C,KAAK2V,QACL,IACI,IAAK,IAAImrC,EAAK,GAAS9gD,KAAK2V,SAAU+uE,EAAK5jC,EAAGp8C,QAASggF,EAAG1hF,KAAM0hF,EAAK5jC,EAAGp8C,OAAQ,CAC/DggF,EAAGnwF,MACTkY,OACX,CAQJ,CANA,MAAOsxC,GAASL,EAAM,CAAExuC,MAAO6uC,EAAS,CACxC,QACI,IACQ2mC,IAAOA,EAAG1hF,OAASu6C,EAAKuD,EAAG31C,SAASoyC,EAAG1pD,KAAKitD,EAEhB,CAApC,QAAU,GAAIpD,EAAK,MAAMA,EAAIxuC,KAAO,CACxC,CAER,EAIAm3C,EAAkBzxD,UAAU08H,eAAiB,SAAUzzG,GACnD,IAAIgjC,EAAKtD,EACT,GAAqB,OAAjBv9C,KAAK2V,QACL,MAAM,IAAI,GAAgB,mDAE9B,IACI,IAAK,IAAImrC,EAAK,GAAS9gD,KAAK2V,SAAU+uE,EAAK5jC,EAAGp8C,QAASggF,EAAG1hF,KAAM0hF,EAAK5jC,EAAGp8C,OAAQ,CAC5E,IAAIma,EAAS6lE,EAAGnwF,MAEhB,IACI,OAAOsqB,EAAOrQ,OAAOqP,EAAO7d,KAAK88C,MAOrC,CALA,MAAOurB,GACH,GAAIA,aAAc,GACd,QAGR,CACJ,CAQJ,CANA,MAAOtnB,GAASF,EAAM,CAAE3xC,MAAO6xC,EAAS,CACxC,QACI,IACQ2jC,IAAOA,EAAG1hF,OAASu6C,EAAKuD,EAAG31C,SAASoyC,EAAG1pD,KAAKitD,EAEhB,CAApC,QAAU,GAAID,EAAK,MAAMA,EAAI3xC,KAAO,CACxC,CACA,MAAM,IAAI,EAAkB,uDAChC,EACOm3C,CACX,CAvKsC,GAwKtC,MCpNI,GAAwC,WACxC,IAAI1M,EAAgB,SAAU3lD,EAAGkC,GAI7B,OAHAyjD,EAAgB1lD,OAAOkB,gBAClB,CAAEE,UAAW,cAAgB8H,OAAS,SAAUnJ,EAAGkC,GAAKlC,EAAEqB,UAAYa,CAAG,GAC1E,SAAUlC,EAAGkC,GAAK,IAAK,IAAIpB,KAAKoB,EAAOA,EAAErB,eAAeC,KAAId,EAAEc,GAAKoB,EAAEpB,GAAI,EACtE6kD,EAAc3lD,EAAGkC,EAC5B,EACA,OAAO,SAAUlC,EAAGkC,GAEhB,SAAS2jD,IAAO75C,KAAK5B,YAAcpK,CAAG,CADtC2lD,EAAc3lD,EAAGkC,GAEjBlC,EAAEY,UAAkB,OAANsB,EAAajC,OAAOQ,OAAOyB,IAAM2jD,EAAGjlD,UAAYsB,EAAEtB,UAAW,IAAIilD,EACnF,CACH,CAZ2C,GCAxC,IDe0C,SAAUE,GAEpD,SAASqM,EAAyBtJ,EAAOue,QACvB,IAAVve,IAAoBA,EAAQ,WACD,IAA3Bue,IAAqCA,EAAyB,KAClE,IACIx8C,EAAS,IAAI,GAGjB,OAFAA,EAAOynC,SAASxJ,GACR/C,EAAOlmD,KAAKmM,KAAM6e,EAAQw8C,IAA2Br7D,IAEjE,CATA,GAAUomD,EAA0BrM,GAcpCqM,EAAyBxxD,UAAUytD,aAAe,SAAUC,GACxD,OAAOtiD,KAAK6e,OAAO0nC,gBAAgBjE,EACvC,CAEJ,CAnB6C,CAmB3CzF,IClC0C,WACxC,IAAIlD,EAAgB,SAAU3lD,EAAGkC,GAI7B,OAHAyjD,EAAgB1lD,OAAOkB,gBAClB,CAAEE,UAAW,cAAgB8H,OAAS,SAAUnJ,EAAGkC,GAAKlC,EAAEqB,UAAYa,CAAG,GAC1E,SAAUlC,EAAGkC,GAAK,IAAK,IAAIpB,KAAKoB,EAAOA,EAAErB,eAAeC,KAAId,EAAEc,GAAKoB,EAAEpB,GAAI,EACtE6kD,EAAc3lD,EAAGkC,EAC5B,EACA,OAAO,SAAUlC,EAAGkC,GAEhB,SAAS2jD,IAAO75C,KAAK5B,YAAcpK,CAAG,CADtC2lD,EAAc3lD,EAAGkC,GAEjBlC,EAAEY,UAAkB,OAANsB,EAAajC,OAAOQ,OAAOyB,IAAM2jD,EAAGjlD,UAAYsB,EAAEtB,UAAW,IAAIilD,EACnF,CACH,CAZ2C,ICAxC,IDoBqC,SAAUE,GAM/C,SAASyM,EAAoB6U,GAEzB,YAD+B,IAA3BA,IAAqCA,EAAyB,KAC3DthB,EAAOlmD,KAAKmM,KAAM,IAAI,GAAgBq7D,IAA2Br7D,IAC5E,CARA,GAAUwmD,EAAqBzM,EAUnC,CAXwC,CAWtC8C,IC/B0C,WACxC,IAAIlD,EAAgB,SAAU3lD,EAAGkC,GAI7B,OAHAyjD,EAAgB1lD,OAAOkB,gBAClB,CAAEE,UAAW,cAAgB8H,OAAS,SAAUnJ,EAAGkC,GAAKlC,EAAEqB,UAAYa,CAAG,GAC1E,SAAUlC,EAAGkC,GAAK,IAAK,IAAIpB,KAAKoB,EAAOA,EAAErB,eAAeC,KAAId,EAAEc,GAAKoB,EAAEpB,GAAI,EACtE6kD,EAAc3lD,EAAGkC,EAC5B,EACA,OAAO,SAAUlC,EAAGkC,GAEhB,SAAS2jD,IAAO75C,KAAK5B,YAAcpK,CAAG,CADtC2lD,EAAc3lD,EAAGkC,GAEjBlC,EAAEY,UAAkB,OAANsB,EAAajC,OAAOQ,OAAOyB,IAAM2jD,EAAGjlD,UAAYsB,EAAEtB,UAAW,IAAIilD,EACnF,CACH,CAZ2C,KAoBH,SAAUE,GAM/C,SAAS4M,EAAoB0U,GAEzB,YAD+B,IAA3BA,IAAqCA,EAAyB,KAC3DthB,EAAOlmD,KAAKmM,KAAM,IAAI,GAAgBq7D,IAA2Br7D,IAC5E,CARA,GAAU2mD,EAAqB5M,EAUnC,CAXwC,CAWtC8C,KPTF,SAAWmK,GAUPA,EAAeA,EAAiC,iBAAI,GAAK,mBAIzDA,EAAeA,EAA8B,cAAI,GAAK,gBAItDA,EAAeA,EAAkC,kBAAI,GAAK,oBAe1DA,EAAeA,EAAoC,oBAAI,GAAK,sBAQ5DA,EAAeA,EAAyB,SAAI,GAAK,WAOjDA,EAAeA,EAAyB,SAAI,GAAK,WAMjDA,EAAeA,EAAuB,OAAI,GAAK,SAK/CA,EAAeA,EAA+B,eAAI,GAAK,iBAMvDA,EAAeA,EAAkC,kBAAI,GAAK,oBAK1DA,EAAeA,EAAkC,kBAAI,GAAK,oBAQ1DA,EAAeA,EAA6B,aAAI,IAAM,eAKtDA,EAAeA,EAA2B,WAAI,IAAM,aAKpDA,EAAeA,EAA2B,WAAI,IAAM,aAKpDA,EAAeA,EAA0B,UAAI,IAAM,WACtD,CA9FD,CA8FGA,KAAmBA,GAAiB,CAAC,IACxC,IQrHIzJ,GAsFOi0E,GR+BX,MSxBA,GArEwC,WASpC,SAASC,EAAmB7wD,GACxB5gE,KAAK4gE,MAAQA,EACb5gE,KAAK0xH,iBAAmB,GACxB1xH,KAAK0xH,iBAAiB3yH,KAAK,IAAI,GAAc6hE,EAAOzgE,WAAWoI,KAAK,CAAC,KACzE,CAsDA,OArDAkpH,EAAmB78H,UAAU+8H,eAAiB,SAAUvwD,GACpD,IAAIswD,EAAmB1xH,KAAK0xH,iBAC5B,GAAItwD,GAAUswD,EAAiBn8H,OAG3B,IAFA,IAAIq8H,EAAgBF,EAAiBA,EAAiBn8H,OAAS,GAC3DqrE,EAAQ5gE,KAAK4gE,MACR5sE,EAAI09H,EAAiBn8H,OAAQvB,GAAKotE,EAAQptE,IAAK,CACpD,IAAI69H,EAAgBD,EAAcrwD,SAAS,IAAI,GAAcX,EAAOzgE,WAAWoI,KAAK,CAAC,EAAGq4D,EAAMpM,IAAIxgE,EAAI,EAAI4sE,EAAM4C,wBAChHkuD,EAAiB3yH,KAAK8yH,GACtBD,EAAgBC,CACpB,CAEJ,OAAOH,EAAiBtwD,EAC5B,EAoBAqwD,EAAmB78H,UAAUsyD,OAAS,SAAU4qE,EAAUC,GACtD,GAAgB,IAAZA,EACA,MAAM,IAAI,EAAyB,6BAEvC,IAAIC,EAAYF,EAASv8H,OAASw8H,EAClC,GAAIC,GAAa,EACb,MAAM,IAAI,EAAyB,0BAEvC,IAAIh2E,EAAYh8C,KAAK2xH,eAAeI,GAChCE,EAAmB,IAAI9xH,WAAW6xH,GACtC,YAAiBF,EAAU,EAAGG,EAAkB,EAAGD,GAMnD,IALA,IAAI9jC,EAAO,IAAI,GAAcluF,KAAK4gE,MAAOqxD,GAGrCpxD,GAFJqtB,EAAOA,EAAK7rB,mBAAmB0vD,EAAS,IACnBzvD,OAAOtmB,GAAW,GACVglB,kBACzBkxD,EAAsBH,EAAUlxD,EAAatrE,OACxC5B,EAAI,EAAGA,EAAIu+H,EAAqBv+H,IACrCm+H,EAASE,EAAYr+H,GAAK,EAE9B,YAAiBktE,EAAc,EAAGixD,EAAUE,EAAYE,EAAqBrxD,EAAatrE,OAC9F,EACOk8H,CACX,CApEuC,GC2LvC,GA9L8B,WAC1B,SAASU,IAET,CAyLA,OApLAA,EAASC,sBAAwB,SAAUzoE,GACvC,OAAOwoE,EAASE,8BAA8B1oE,GAAQ,GAAQwoE,EAASE,8BAA8B1oE,GAAQ,EACjH,EAMAwoE,EAASG,sBAAwB,SAAU3oE,GAKvC,IAJA,IAAI4oE,EAAU,EACV7nG,EAAQi/B,EAAO6oE,WACftxH,EAAQyoD,EAAO9iD,WACf7F,EAAS2oD,EAAO7iD,YACXhR,EAAI,EAAGA,EAAIkL,EAAS,EAAGlL,IAE5B,IADA,IAAI28H,EAAS/nG,EAAM50B,GACVE,EAAI,EAAGA,EAAIkL,EAAQ,EAAGlL,IAAK,CAChC,IAAIzB,EAAQk+H,EAAOz8H,GACfzB,IAAUk+H,EAAOz8H,EAAI,IAAMzB,IAAUm2B,EAAM50B,EAAI,GAAGE,IAAMzB,IAAUm2B,EAAM50B,EAAI,GAAGE,EAAI,IACnFu8H,GAER,CAEJ,OAAOJ,EAASO,GAAKH,CACzB,EAMAJ,EAASQ,sBAAwB,SAAUhpE,GAKvC,IAJA,IAAIipE,EAAe,EACfloG,EAAQi/B,EAAO6oE,WACftxH,EAAQyoD,EAAO9iD,WACf7F,EAAS2oD,EAAO7iD,YACXhR,EAAI,EAAGA,EAAIkL,EAAQlL,IACxB,IAAK,IAAIE,EAAI,EAAGA,EAAIkL,EAAOlL,IAAK,CAC5B,IAAIy8H,EAAS/nG,EAAM50B,GACfE,EAAI,EAAIkL,GACM,IAAduxH,EAAOz8H,IACW,IAAlBy8H,EAAOz8H,EAAI,IACO,IAAlBy8H,EAAOz8H,EAAI,IACO,IAAlBy8H,EAAOz8H,EAAI,IACO,IAAlBy8H,EAAOz8H,EAAI,IACO,IAAlBy8H,EAAOz8H,EAAI,IACO,IAAlBy8H,EAAOz8H,EAAI,KACVm8H,EAASU,kBAAkBJ,EAAQz8H,EAAI,EAAGA,IAAMm8H,EAASU,kBAAkBJ,EAAQz8H,EAAI,EAAGA,EAAI,MAC/F48H,IAEA98H,EAAI,EAAIkL,GACQ,IAAhB0pB,EAAM50B,GAAGE,IACW,IAApB00B,EAAM50B,EAAI,GAAGE,IACO,IAApB00B,EAAM50B,EAAI,GAAGE,IACO,IAApB00B,EAAM50B,EAAI,GAAGE,IACO,IAApB00B,EAAM50B,EAAI,GAAGE,IACO,IAApB00B,EAAM50B,EAAI,GAAGE,IACO,IAApB00B,EAAM50B,EAAI,GAAGE,KACZm8H,EAASW,gBAAgBpoG,EAAO10B,EAAGF,EAAI,EAAGA,IAAMq8H,EAASW,gBAAgBpoG,EAAO10B,EAAGF,EAAI,EAAGA,EAAI,MAC/F88H,GAER,CAEJ,OAAOA,EAAeT,EAASY,EACnC,EACAZ,EAASU,kBAAoB,SAAU/7D,EAAUvuD,EAAc0jC,GAC3D1jC,EAAOnL,KAAKI,IAAI+K,EAAM,GACtB0jC,EAAK7uC,KAAKY,IAAIiuC,EAAI6qB,EAASvhE,QAC3B,IAAK,IAAI5B,EAAI4U,EAAM5U,EAAIs4C,EAAIt4C,IACvB,GAAoB,IAAhBmjE,EAASnjE,GACT,OAAO,EAGf,OAAO,CACX,EACAw+H,EAASW,gBAAkB,SAAUpoG,EAAOgjF,EAAanlG,EAAc0jC,GACnE1jC,EAAOnL,KAAKI,IAAI+K,EAAM,GACtB0jC,EAAK7uC,KAAKY,IAAIiuC,EAAIvhB,EAAMn1B,QACxB,IAAK,IAAI5B,EAAI4U,EAAM5U,EAAIs4C,EAAIt4C,IACvB,GAAsB,IAAlB+2B,EAAM/2B,GAAG+5G,GACT,OAAO,EAGf,OAAO,CACX,EAKAykB,EAASa,sBAAwB,SAAUrpE,GAKvC,IAJA,IAAIspE,EAAe,EACfvoG,EAAQi/B,EAAO6oE,WACftxH,EAAQyoD,EAAO9iD,WACf7F,EAAS2oD,EAAO7iD,YACXhR,EAAI,EAAGA,EAAIkL,EAAQlL,IAExB,IADA,IAAI28H,EAAS/nG,EAAM50B,GACVE,EAAI,EAAGA,EAAIkL,EAAOlL,IACL,IAAdy8H,EAAOz8H,IACPi9H,IAIZ,IAAIC,EAAgBvpE,EAAO7iD,YAAc6iD,EAAO9iD,WAEhD,OAD2BzJ,KAAKW,MAAmD,GAA7CX,KAAKG,IAAmB,EAAf01H,EAAmBC,GAAsBA,GAC1Df,EAASgB,EAC3C,EAKAhB,EAASiB,eAAiB,SAAUC,EAAqBr9H,EAAWF,GAChE,IAAIw9H,EACAr6D,EACJ,OAAQo6D,GACJ,KAAK,EACDC,EAAgBx9H,EAAIE,EAAK,EACzB,MACJ,KAAK,EACDs9H,EAAmB,EAAJx9H,EACf,MACJ,KAAK,EACDw9H,EAAet9H,EAAI,EACnB,MACJ,KAAK,EACDs9H,GAAgBx9H,EAAIE,GAAK,EACzB,MACJ,KAAK,EACDs9H,EAAgBl2H,KAAKW,MAAMjI,EAAI,GAAKsH,KAAKW,MAAM/H,EAAI,GAAM,EACzD,MACJ,KAAK,EAEDs9H,GAAuB,GADvBr6D,EAAOnjE,EAAIE,IACoBijE,EAAO,EACtC,MACJ,KAAK,EAEDq6D,GAAwB,GADxBr6D,EAAOnjE,EAAIE,IACqBijE,EAAO,EAAM,EAC7C,MACJ,KAAK,EAEDq6D,GADAr6D,EAAOnjE,EAAIE,GACa,GAAOF,EAAIE,EAAK,GAAQ,EAChD,MACJ,QACI,MAAM,IAAI,EAAyB,yBAA2Bq9H,GAEtE,OAAwB,IAAjBC,CACX,EAKAnB,EAASE,8BAAgC,SAAU1oE,EAAQ4pE,GAKvD,IAJA,IAAIhB,EAAU,EACViB,EAASD,EAAe5pE,EAAO7iD,YAAc6iD,EAAO9iD,WACpD4sH,EAASF,EAAe5pE,EAAO9iD,WAAa8iD,EAAO7iD,YACnD4jB,EAAQi/B,EAAO6oE,WACV7+H,EAAI,EAAGA,EAAI6/H,EAAQ7/H,IAAK,CAG7B,IAFA,IAAI+/H,EAAkB,EAClBC,GAAW,EACN58H,EAAI,EAAGA,EAAI08H,EAAQ18H,IAAK,CAC7B,IAAIm3D,EAAMqlE,EAAe7oG,EAAM/2B,GAAGoD,GAAK2zB,EAAM3zB,GAAGpD,GAC5Cu6D,IAAQylE,EACRD,KAGIA,GAAmB,IACnBnB,GAAWJ,EAASyB,IAAMF,EAAkB,IAEhDA,EAAkB,EAClBC,EAAUzlE,EAElB,CACIwlE,GAAmB,IACnBnB,GAAWJ,EAASyB,IAAMF,EAAkB,GAEpD,CACA,OAAOnB,CACX,EAEAJ,EAASyB,GAAK,EACdzB,EAASO,GAAK,EACdP,EAASY,GAAK,GACdZ,EAASgB,GAAK,GACPhB,CACX,CA7L6B,GCNzB,GAAsC,SAASz+H,GAC/C,IAAIqB,EAAsB,oBAAXV,QAAyBA,OAAO+P,SAAUtQ,EAAIiB,GAAKrB,EAAEqB,GAAIpB,EAAI,EAC5E,GAAIG,EAAG,OAAOA,EAAED,KAAKH,GACrB,GAAIA,GAAyB,kBAAbA,EAAE6B,OAAqB,MAAO,CAC1CmP,KAAM,WAEF,OADIhR,GAAKC,GAAKD,EAAE6B,SAAQ7B,OAAI,GACrB,CAAEa,MAAOb,GAAKA,EAAEC,KAAMqP,MAAOtP,EACxC,GAEJ,MAAM,IAAI4B,UAAUP,EAAI,0BAA4B,kCACxD,EAWI8+H,GAA4B,WAC5B,SAASA,EAAW3yH,EAAeF,GAC/BhB,KAAKkB,MAAQA,EACblB,KAAKgB,OAASA,EAEd,IADA,IAAI8qC,EAAQ,IAAI3uC,MAAM6D,GACbrN,EAAI,EAAGA,IAAMqN,EAAQrN,IAC1Bm4C,EAAMn4C,GAAK,IAAIkO,WAAWX,GAE9BlB,KAAK8rC,MAAQA,CACjB,CAsFA,OArFA+nF,EAAWj/H,UAAUkS,UAAY,WAC7B,OAAO9G,KAAKgB,MAChB,EACA6yH,EAAWj/H,UAAUiS,SAAW,WAC5B,OAAO7G,KAAKkB,KAChB,EACA2yH,EAAWj/H,UAAUR,IAAM,SAAU4B,EAAWF,GAC5C,OAAOkK,KAAK8rC,MAAMh2C,GAAGE,EACzB,EAIA69H,EAAWj/H,UAAU49H,SAAW,WAC5B,OAAOxyH,KAAK8rC,KAChB,EAEA+nF,EAAWj/H,UAAUk/H,UAAY,SAAU99H,EAAWF,EAAWvB,GAC7DyL,KAAK8rC,MAAMh2C,GAAGE,GAAKzB,CACvB,EAIAs/H,EAAWj/H,UAAUm/H,WAAa,SAAU/9H,EAAWF,EAAWvB,GAC9DyL,KAAK8rC,MAAMh2C,GAAGE,GAAkBzB,EAAQ,EAAI,CAChD,EACAs/H,EAAWj/H,UAAUyS,MAAQ,SAAU9S,GACnC,IAAImpD,EAAKH,EACT,IACI,IAAK,IAAIuD,EAAK,GAAS9gD,KAAK8rC,OAAQ44C,EAAK5jC,EAAGp8C,QAASggF,EAAG1hF,KAAM0hF,EAAK5jC,EAAGp8C,OAAQ,CAC1E,IAAIsvH,EAAQtvC,EAAGnwF,MACf,OAAYy/H,EAAOz/H,EACvB,CAQJ,CANA,MAAOwpD,GAASL,EAAM,CAAExuC,MAAO6uC,EAAS,CACxC,QACI,IACQ2mC,IAAOA,EAAG1hF,OAASu6C,EAAKuD,EAAG31C,SAASoyC,EAAG1pD,KAAKitD,EAEhB,CAApC,QAAU,GAAIpD,EAAK,MAAMA,EAAIxuC,KAAO,CACxC,CACJ,EACA2kH,EAAWj/H,UAAUu2D,OAAS,SAAUz3D,GACpC,KAAMA,aAAamgI,GACf,OAAO,EAEX,IAAItlE,EAAQ76D,EACZ,GAAIsM,KAAKkB,QAAUqtD,EAAMrtD,MACrB,OAAO,EAEX,GAAIlB,KAAKgB,SAAWutD,EAAMvtD,OACtB,OAAO,EAEX,IAAK,IAAIlL,EAAI,EAAGkL,EAAShB,KAAKgB,OAAQlL,EAAIkL,IAAUlL,EAGhD,IAFA,IAAIm+H,EAASj0H,KAAK8rC,MAAMh2C,GACpBo+H,EAAc3lE,EAAMziB,MAAMh2C,GACrBE,EAAI,EAAGkL,EAAQlB,KAAKkB,MAAOlL,EAAIkL,IAASlL,EAC7C,GAAIi+H,EAAOj+H,KAAOk+H,EAAYl+H,GAC1B,OAAO,EAInB,OAAO,CACX,EAEA69H,EAAWj/H,UAAUwT,SAAW,WAE5B,IADA,IAAI8S,EAAS,IAAI,EACRplB,EAAI,EAAGkL,EAAShB,KAAKgB,OAAQlL,EAAIkL,IAAUlL,EAAG,CAEnD,IADA,IAAIm+H,EAASj0H,KAAK8rC,MAAMh2C,GACfE,EAAI,EAAGkL,EAAQlB,KAAKkB,MAAOlL,EAAIkL,IAASlL,EAC7C,OAAQi+H,EAAOj+H,IACX,KAAK,EACDklB,EAAOoxB,OAAO,MACd,MACJ,KAAK,EACDpxB,EAAOoxB,OAAO,MACd,MACJ,QACIpxB,EAAOoxB,OAAO,MAI1BpxB,EAAOoxB,OAAO,KAClB,CACA,OAAOpxB,EAAO9S,UAClB,EACOyrH,CACX,CAhG+B,GAiG/B,MClDA,GA/D4B,WACxB,SAASM,IACLn0H,KAAKqzH,aAAe,CACxB,CA0DA,OAzDAc,EAAOv/H,UAAUw/H,QAAU,WACvB,OAAOp0H,KAAK0jG,IAChB,EACAywB,EAAOv/H,UAAU+qE,WAAa,WAC1B,OAAO3/D,KAAKs/D,OAChB,EACA60D,EAAOv/H,UAAUmrG,WAAa,WAC1B,OAAO//F,KAAKu/F,OAChB,EACA40B,EAAOv/H,UAAUy/H,eAAiB,WAC9B,OAAOr0H,KAAKqzH,WAChB,EACAc,EAAOv/H,UAAU+lD,UAAY,WACzB,OAAO36C,KAAK2pD,MAChB,EAEAwqE,EAAOv/H,UAAUwT,SAAW,WACxB,IAAI8S,EAAS,IAAI,EAkBjB,OAjBAA,EAAOoxB,OAAO,QACdpxB,EAAOoxB,OAAO,WACdpxB,EAAOoxB,OAAOtsC,KAAK0jG,KAAO1jG,KAAK0jG,KAAKt7F,WAAa,QACjD8S,EAAOoxB,OAAO,gBACdpxB,EAAOoxB,OAAOtsC,KAAKs/D,QAAUt/D,KAAKs/D,QAAQl3D,WAAa,QACvD8S,EAAOoxB,OAAO,gBACdpxB,EAAOoxB,OAAOtsC,KAAKu/F,QAAUv/F,KAAKu/F,QAAQn3F,WAAa,QACvD8S,EAAOoxB,OAAO,oBACdpxB,EAAOoxB,OAAOtsC,KAAKqzH,YAAYjrH,YAC3BpI,KAAK2pD,QACLzuC,EAAOoxB,OAAO,gBACdpxB,EAAOoxB,OAAOtsC,KAAK2pD,OAAOvhD,aAG1B8S,EAAOoxB,OAAO,qBAElBpxB,EAAOoxB,OAAO,QACPpxB,EAAO9S,UAClB,EACA+rH,EAAOv/H,UAAU0/H,QAAU,SAAU//H,GACjCyL,KAAK0jG,KAAOnvG,CAChB,EACA4/H,EAAOv/H,UAAU2/H,WAAa,SAAUhgI,GACpCyL,KAAKs/D,QAAU/qE,CACnB,EACA4/H,EAAOv/H,UAAU4/H,WAAa,SAAUj1B,GACpCv/F,KAAKu/F,QAAUA,CACnB,EACA40B,EAAOv/H,UAAU6/H,eAAiB,SAAUlgI,GACxCyL,KAAKqzH,YAAc9+H,CACvB,EACA4/H,EAAOv/H,UAAU8/H,UAAY,SAAUngI,GACnCyL,KAAK2pD,OAASp1D,CAClB,EAEA4/H,EAAOQ,mBAAqB,SAAUtB,GAClC,OAAOA,GAAe,GAAKA,EAAcc,EAAOS,iBACpD,EACAT,EAAOS,kBAAoB,EACpBT,CACX,CA9D2B,GCpBvB,GAAwC,WACxC,IAAIx6E,EAAgB,SAAU3lD,EAAGkC,GAI7B,OAHAyjD,EAAgB1lD,OAAOkB,gBAClB,CAAEE,UAAW,cAAgB8H,OAAS,SAAUnJ,EAAGkC,GAAKlC,EAAEqB,UAAYa,CAAG,GAC1E,SAAUlC,EAAGkC,GAAK,IAAK,IAAIpB,KAAKoB,EAAOA,EAAErB,eAAeC,KAAId,EAAEc,GAAKoB,EAAEpB,GAAI,EACtE6kD,EAAc3lD,EAAGkC,EAC5B,EACA,OAAO,SAAUlC,EAAGkC,GAEhB,SAAS2jD,IAAO75C,KAAK5B,YAAcpK,CAAG,CADtC2lD,EAAc3lD,EAAGkC,GAEjBlC,EAAEY,UAAkB,OAANsB,EAAajC,OAAOQ,OAAOyB,IAAM2jD,EAAGjlD,UAAYsB,EAAEtB,UAAW,IAAIilD,EACnF,CACH,CAZ2C,GAiBxCg7E,GAAiC,SAAU96E,GAE3C,SAAS86E,IACL,OAAkB,OAAX96E,GAAmBA,EAAO96C,MAAMe,KAAMpC,YAAcoC,IAC/D,CAEA,OALA,GAAU60H,EAAiB96E,GAI3B86E,EAAgBz8G,KAAO,kBAChBy8G,CACX,CAPoC,CAOlC,GACF,MCoZA,GAnZgC,WAC5B,SAASC,IAET,CA8YA,OAzYAA,EAAWC,YAAc,SAAUprE,GAE/BA,EAAOtiD,MAAyB,IACpC,EAGAytH,EAAWE,YAAc,SAAUC,EAAU31D,EAASigC,EAAS8zB,EAAqB1pE,GAChFmrE,EAAWC,YAAYprE,GACvBmrE,EAAWI,mBAAmB31B,EAAS51C,GAEvCmrE,EAAWK,cAAc71D,EAAS+zD,EAAa1pE,GAE/CmrE,EAAWM,sBAAsB71B,EAAS51C,GAE1CmrE,EAAWO,cAAcJ,EAAU5B,EAAa1pE,EACpD,EAOAmrE,EAAWI,mBAAqB,SAAU31B,EAAS51C,GAE/CmrE,EAAWQ,4CAA4C3rE,GAEvDmrE,EAAWS,+BAA+B5rE,GAE1CmrE,EAAWU,qCAAqCj2B,EAAS51C,GAEzDmrE,EAAWW,oBAAoB9rE,EACnC,EAEAmrE,EAAWK,cAAgB,SAAU71D,EAAS+zD,EAAqB1pE,GAC/D,IAAI+rE,EAAe,IAAI,EACvBZ,EAAWa,iBAAiBr2D,EAAS+zD,EAAaqC,GAClD,IAAK,IAAI/hI,EAAI,EAAG8M,EAAOi1H,EAAa56G,UAAWnnB,EAAI8M,IAAQ9M,EAAG,CAG1D,IAAIu6D,EAAMwnE,EAAathI,IAAIshI,EAAa56G,UAAY,EAAInnB,GAEpDiiI,EAAcd,EAAWe,sBAAsBliI,GAC/Co7E,EAAK6mD,EAAY,GACjB5mD,EAAK4mD,EAAY,GAErB,GADAjsE,EAAOoqE,WAAWhlD,EAAIC,EAAI9gB,GACtBv6D,EAAI,EAAG,CAEP,IAAIs7E,EAAKtlB,EAAO9iD,WAAalT,EAAI,EAC7Bu7E,EAAK,EACTvlB,EAAOoqE,WAAW9kD,EAAIC,EAAIhhB,EAC9B,KACK,CAEG+gB,EAAK,EACLC,EAAKvlB,EAAO7iD,YAAc,GAAKnT,EAAI,GACvCg2D,EAAOoqE,WAAW9kD,EAAIC,EAAIhhB,EAC9B,CACJ,CACJ,EAGA4mE,EAAWM,sBAAwB,SAAU71B,EAAS51C,GAClD,KAAI41C,EAAQV,mBAAqB,GAAjC,CAGA,IAAIi3B,EAAkB,IAAI,EAC1BhB,EAAWiB,oBAAoBx2B,EAASu2B,GAExC,IADA,IAAIE,EAAW,GACNriI,EAAI,EAAGA,EAAI,IAAKA,EACrB,IAAK,IAAIoD,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAExB,IAAIm3D,EAAM4nE,EAAgB1hI,IAAI4hI,GAC9BA,IAEArsE,EAAOoqE,WAAWpgI,EAAGg2D,EAAO7iD,YAAc,GAAK/P,EAAGm3D,GAElDvE,EAAOoqE,WAAWpqE,EAAO7iD,YAAc,GAAK/P,EAAGpD,EAAGu6D,EACtD,CAbJ,CAeJ,EAIA4mE,EAAWO,cAAgB,SAAUJ,EAAU5B,EAAqB1pE,GAMhE,IALA,IAAIqsE,EAAW,EACXvnH,GAAa,EAEbzY,EAAI2zD,EAAO9iD,WAAa,EACxB/Q,EAAI6zD,EAAO7iD,YAAc,EACtB9Q,EAAI,GAAG,CAKV,IAHU,IAANA,IACAA,GAAK,GAEFF,GAAK,GAAKA,EAAI6zD,EAAO7iD,aAAa,CACrC,IAAK,IAAInT,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACxB,IAAIgnE,EAAK3kE,EAAIrC,EAEb,GAAKmhI,EAAWmB,QAAQtsE,EAAOv1D,IAAIumE,EAAI7kE,IAAvC,CAGA,IAAIo4D,OAAM,EACN8nE,EAAWf,EAASn6G,WACpBozC,EAAM+mE,EAAS7gI,IAAI4hI,KACjBA,GAKF9nE,GAAM,EAGU,MAAhBmlE,GAAuB,kBAAwBA,EAAa14D,EAAI7kE,KAChEo4D,GAAOA,GAEXvE,EAAOoqE,WAAWp5D,EAAI7kE,EAAGo4D,EAfzB,CAgBJ,CACAp4D,GAAK2Y,CACT,CAEA3Y,GADA2Y,GAAaA,EAEbzY,GAAK,CACT,CAEA,GAAIggI,IAAaf,EAASn6G,UACtB,MAAM,IAAI,GAAgB,0BAA4Bk7G,EAAW,IAAMf,EAASn6G,UAExF,EAMAg6G,EAAWoB,WAAa,SAAU3hI,GAC9B,OAAO,GAAK,uBAA6BA,EAC7C,EA0BAugI,EAAWqB,iBAAmB,SAAU5hI,EAAe8vE,GACnD,GAAa,IAATA,EACA,MAAM,IAAI,EAAyB,gBAIvC,IAAI+xD,EAAetB,EAAWoB,WAAW7xD,GAGzC,IAFA9vE,IAAU6hI,EAAe,EAElBtB,EAAWoB,WAAW3hI,IAAU6hI,GACnC7hI,GAAS8vE,GAASywD,EAAWoB,WAAW3hI,GAAS6hI,EAGrD,OAAO7hI,CACX,EAIAugI,EAAWa,iBAAmB,SAAUr2D,EAAS+zD,EAAqBnmE,GAClE,IAAK,sBAA0BmmE,GAC3B,MAAM,IAAI,GAAgB,wBAE9B,IAAIgD,EAAY/2D,EAAQ4G,WAAa,EAAKmtD,EAC1CnmE,EAAKiB,WAAWkoE,EAAU,GAC1B,IAAIC,EAAUxB,EAAWqB,iBAAiBE,EAAUvB,EAAWyB,gBAC/DrpE,EAAKiB,WAAWmoE,EAAS,IACzB,IAAIE,EAAW,IAAI,EAGnB,GAFAA,EAASroE,WAAW2mE,EAAW2B,uBAAwB,IACvDvpE,EAAKuB,IAAI+nE,GACc,KAAnBtpE,EAAKpyC,UACL,MAAM,IAAI,GAAgB,iCAAmCoyC,EAAKpyC,UAE1E,EAGAg6G,EAAWiB,oBAAsB,SAAUx2B,EAASryC,GAChDA,EAAKiB,WAAWoxC,EAAQV,mBAAoB,GAC5C,IAAIy3B,EAAUxB,EAAWqB,iBAAiB52B,EAAQV,mBAAoBi2B,EAAW4B,mBAEjF,GADAxpE,EAAKiB,WAAWmoE,EAAS,IACF,KAAnBppE,EAAKpyC,UACL,MAAM,IAAI,GAAgB,iCAAmCoyC,EAAKpyC,UAE1E,EAEAg6G,EAAWmB,QAAU,SAAU1hI,GAC3B,OAAiB,MAAVA,CACX,EACAugI,EAAWW,oBAAsB,SAAU9rE,GAGvC,IAAK,IAAIh2D,EAAI,EAAGA,EAAIg2D,EAAO9iD,WAAa,IAAKlT,EAAG,CAC5C,IAAIu6D,GAAOv6D,EAAI,GAAK,EAEhBmhI,EAAWmB,QAAQtsE,EAAOv1D,IAAIT,EAAG,KACjCg2D,EAAOmqE,UAAUngI,EAAG,EAAGu6D,GAGvB4mE,EAAWmB,QAAQtsE,EAAOv1D,IAAI,EAAGT,KACjCg2D,EAAOmqE,UAAU,EAAGngI,EAAGu6D,EAE/B,CACJ,EAEA4mE,EAAWS,+BAAiC,SAAU5rE,GAClD,GAA8C,IAA1CA,EAAOv1D,IAAI,EAAGu1D,EAAO7iD,YAAc,GACnC,MAAM,IAAI,GAEd6iD,EAAOmqE,UAAU,EAAGnqE,EAAO7iD,YAAc,EAAG,EAChD,EACAguH,EAAW6B,iCAAmC,SAAUC,EAAgBC,EAAgBltE,GACpF,IAAK,IAAI3zD,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACxB,IAAK8+H,EAAWmB,QAAQtsE,EAAOv1D,IAAIwiI,EAAS5gI,EAAG6gI,IAC3C,MAAM,IAAI,GAEdltE,EAAOmqE,UAAU8C,EAAS5gI,EAAG6gI,EAAQ,EACzC,CACJ,EACA/B,EAAWgC,+BAAiC,SAAUF,EAAgBC,EAAgBltE,GAClF,IAAK,IAAI7zD,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACxB,IAAKg/H,EAAWmB,QAAQtsE,EAAOv1D,IAAIwiI,EAAQC,EAAS/gI,IAChD,MAAM,IAAI,GAEd6zD,EAAOmqE,UAAU8C,EAAQC,EAAS/gI,EAAG,EACzC,CACJ,EACAg/H,EAAWiC,+BAAiC,SAAUH,EAAgBC,EAAgBltE,GAClF,IAAK,IAAI7zD,EAAI,EAAGA,EAAI,IAAKA,EAErB,IADA,IAAIkhI,EAAWlC,EAAWmC,4BAA4BnhI,GAC7CE,EAAI,EAAGA,EAAI,IAAKA,EACrB2zD,EAAOmqE,UAAU8C,EAAS5gI,EAAG6gI,EAAS/gI,EAAGkhI,EAAShhI,GAG9D,EACA8+H,EAAWoC,8BAAgC,SAAUN,EAAgBC,EAAgBltE,GACjF,IAAK,IAAI7zD,EAAI,EAAGA,EAAI,IAAKA,EAErB,IADA,IAAIkhI,EAAWlC,EAAWqC,2BAA2BrhI,GAC5CE,EAAI,EAAGA,EAAI,IAAKA,EACrB2zD,EAAOmqE,UAAU8C,EAAS5gI,EAAG6gI,EAAS/gI,EAAGkhI,EAAShhI,GAG9D,EAEA8+H,EAAWQ,4CAA8C,SAAU3rE,GAE/D,IAAIytE,EAAWtC,EAAWqC,2BAA2B,GAAG5hI,OAExDu/H,EAAWoC,8BAA8B,EAAG,EAAGvtE,GAE/CmrE,EAAWoC,8BAA8BvtE,EAAO9iD,WAAauwH,EAAU,EAAGztE,GAE1EmrE,EAAWoC,8BAA8B,EAAGvtE,EAAO9iD,WAAauwH,EAAUztE,GAI1EmrE,EAAW6B,iCAAiC,EAAGU,EAAc1tE,GAE7DmrE,EAAW6B,iCAAiChtE,EAAO9iD,WAJpC,EAI2DwwH,EAAc1tE,GAExFmrE,EAAW6B,iCAAiC,EAAGhtE,EAAO9iD,WANvC,EAM8D8iD,GAI7EmrE,EAAWgC,+BAFG,EAEqC,EAAGntE,GAEtDmrE,EAAWgC,+BAA+BntE,EAAO7iD,YAJnC,EAI2D,EAAG,EAAG6iD,GAE/EmrE,EAAWgC,+BANG,EAMqCntE,EAAO7iD,YAN5C,EAMmE6iD,EACrF,EAEAmrE,EAAWU,qCAAuC,SAAUj2B,EAAS51C,GACjE,KAAI41C,EAAQV,mBAAqB,GAKjC,IAFA,IAAIp5F,EAAQ85F,EAAQV,mBAAqB,EACrC+2B,EAAcd,EAAWwC,6CAA6C7xH,GACjE9R,EAAI,EAAG2mD,EAAWs7E,EAAYrgI,OAAQ5B,IAAM2mD,EAAU3mD,IAAK,CAChE,IAAImC,EAAI8/H,EAAYjiI,GACpB,GAAImC,GAAK,EACL,IAAK,IAAIiB,EAAI,EAAGA,IAAMujD,EAAUvjD,IAAK,CACjC,IAAIf,EAAI4/H,EAAY7+H,GAChBf,GAAK,GAAK8+H,EAAWmB,QAAQtsE,EAAOv1D,IAAI4B,EAAGF,KAI3Cg/H,EAAWiC,+BAA+B/gI,EAAI,EAAGF,EAAI,EAAG6zD,EAEhE,CAER,CACJ,EACAmrE,EAAWqC,2BAA6Bh6H,MAAMoL,KAAK,CAC/CpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IACnCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IACnCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IACnCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IACnCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IACnCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IACnCpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,MAEvCusH,EAAWmC,4BAA8B95H,MAAMoL,KAAK,CAChDpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,IAC7BpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,IAC7BpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,IAC7BpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,IAC7BpI,WAAWoI,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,MAGjCusH,EAAWwC,6CAA+Cn6H,MAAMoL,KAAK,CACjEpI,WAAWoI,KAAK,EAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAC1CpI,WAAWoI,KAAK,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,GAAI,IACzCpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,GAAI,GAAI,KAAM,GAAI,IAC1CpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,GAAI,GAAI,KAAM,GAAI,IAC1CpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,GAAI,GAAI,KAAM,GAAI,IAC1CpI,WAAWoI,KAAK,CAAC,EAAG,GAAI,GAAI,GAAI,KAAM,GAAI,IAC1CpI,WAAWoI,KAAK,CA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I,E3BvBa,I2BuBkB,EAAM,EAEhC/lI,KAAKsmI,gBAAgBvyI,GAC1BgyI,E3B1Ba,I2B0BkB,EAAM,EAGrCA,E3B7Ba,I2B6BkB,EAAM,EAGrC/lI,KAAK6lI,YAAY9xI,GACjBgyI,E3BhCY,I2BgCkB,EAAM,EAE/B/lI,KAAKsmI,gBAAgBvyI,GAC1BgyI,E3BnCY,I2BmCkB,GAAO,EAGrCA,E3BtCY,I2BsCkB,GAAO,EAGrC/lI,KAAK8lI,gBAAgB/xI,GACrBgyI,E3BzCgB,I2ByCkB,EAAM,EAEnC/lI,KAAKsmI,gBAAgBvyI,GAC1BgyI,E3B5CgB,I2B4CkB,KAGlCA,E3B/CgB,I2B+CkB,KAGlC/lI,KAAKymI,cAAc1yI,GACnBgyI,E3BlDgB,I2BkDkB,EAGlCA,E3BrDgB,K2BwDhBC,GAAkB,EAAG,CAIrB,GAHA,OAAYC,EAAM,GAClB,OAAYC,EAAe,GAC3BlmI,KAAKmmI,aAAaJ,EAAYG,EAAe,YAAmBD,GAC5DC,E3BjEU,G2BkEVlmI,KAAKhC,IAAIkoI,E3B7DG,G2B6DgCA,E3BjEpC,G2BiEmEA,E3BhElE,G2BgEkGA,E3B/DnG,G2B+DkIA,E3B9D9H,I2B+DZ,O3BnEU,E2BqEd,GAAIA,E3BhEY,G2BgEwBA,E3BrE1B,I2BsEVA,E3BjEY,G2BiEwB,EAChClmI,KAAKhC,IAAIkoI,E3BtEL,G2BsEoCA,E3BrEnC,G2BqEmEA,E3BpEpE,G2BoEmGA,E3BnE/F,I2BoEZ,O3BnEY,E2BqEhB,GAAIA,E3BtEY,G2BsEwB,EACpClmI,KAAKhC,IAAIkoI,E3BtEG,G2BsEgCA,E3B1EpC,G2B0EmEA,E3BzElE,G2ByEkGA,E3BxEnG,G2BwEkIA,E3B3EhI,I2B4EV,O3BxEY,E2B0EhB,GAAIA,E3B5ES,G2B4EwB,EACjClmI,KAAKhC,IAAIkoI,E3B1EG,G2B0EgCA,E3B9EpC,G2B8EmEA,E3B3E/D,G2B2EkGA,E3B5EtG,G2B4EqIA,E3B/EnI,I2BgFV,O3B9ES,E2BgFb,GAAIA,E3B/EQ,G2B+EwB,EAChClmI,KAAKhC,IAAIkoI,E3B9EG,G2B8EgCA,E3BlFpC,G2BkFmEA,E3B/E/D,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","sources":["webpack://deliverypoint/./node_modules/@ericblade/quagga2/dist/quagga.min.js","webpack://deliverypoint/./node_modules/@fortawesome/fontawesome-free/js/all.js","webpack://deliverypoint/./node_modules/@hotwired/stimulus/dist/stimulus.js","webpack://deliverypoint/./node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack://deliverypoint/./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack://deliverypoint/./node_modules/@zxing/browser/esm/common/HTMLCanvasElementLuminanceSource.js","webpack://deliverypoint/./node_modules/@zxing/browser/esm/common/navigator-utils.js","webpack://deliverypoint/./node_modules/@zxing/browser/esm/readers/BrowserCodeReader.js","webpack://deliverypoint/./node_modules/@zxing/browser/esm/readers/BrowserAztecCodeReader.js","webpack://deliverypoint/./node_modules/@zxing/browser/esm/readers/BrowserMultiFormatOneDReader.js","webpack://deliverypoint/./node_modules/@zxing/browser/esm/readers/BrowserDatamatrixCodeReader.js","webpack://deliverypoint/./node_modules/@zxing/browser/esm/readers/BrowserMultiFormatReader.js","webpack://deliverypoint/./node_modules/@zxing/browser/esm/readers/BrowserPDF417Reader.js","webpack://deliverypoint/./node_modules/@zxing/browser/esm/readers/BrowserQRCodeReader.js","webpack://deliverypoint/./node_modules/@zxing/browser/esm/writers/BrowserCodeSvgWriter.js","webpack://deliverypoint/./node_modules/@zxing/browser/esm/writers/BrowserQRCodeSvgWriter.js","webpack://deliverypoint/./node_modules/ts-custom-error/dist/custom-error.mjs","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/Exception.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/DecodeHintType.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/ArgumentException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/IllegalArgumentException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/BinaryBitmap.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/ChecksumException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/Binarizer.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/util/System.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/IndexOutOfBoundsException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/ArrayIndexOutOfBoundsException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/util/Arrays.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/util/Integer.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/BitArray.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/CharacterSetECI.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/FormatException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/BarcodeFormat.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/UnsupportedOperationException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/util/StringEncoding.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/StringUtils.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/util/StringBuilder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/BitMatrix.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/NotFoundException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/GlobalHistogramBinarizer.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/HybridBinarizer.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/LuminanceSource.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/InvertedLuminanceSource.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/browser/HTMLCanvasElementLuminanceSource.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/browser/VideoInputDevice.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/browser/BrowserCodeReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/Result.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/ResultMetadataType.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/decoder/Decoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/DecoderResult.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/reedsolomon/AbstractGenericGF.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/reedsolomon/GenericGFPoly.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/ArithmeticException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/reedsolomon/GenericGF.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/ReedSolomonException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/IllegalStateException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/reedsolomon/ReedSolomonDecoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/detector/MathUtils.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/util/Float.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/ResultPoint.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/DetectorResult.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/AztecDetectorResult.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/detector/WhiteRectangleDetector.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/GridSampler.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/PerspectiveTransform.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/DefaultGridSampler.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/GridSamplerInstance.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/detector/Detector.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/AztecReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/browser/BrowserAztecCodeReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/OneDReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/Code128Reader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/Code39Reader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/Code93Reader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/ITFReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/AbstractUPCEANReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/UPCEANExtension5Support.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/UPCEANExtension2Support.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/UPCEANExtensionSupport.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/UPCEANReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/EAN13Reader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/EAN8Reader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/UPCAReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/UPCEReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/MultiFormatUPCEANReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/CodaBarReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/AbstractRSSReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/DataCharacter.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/FinderPattern.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/RSSUtils.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/BitArrayBuilder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/BlockParsedResult.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/DecodedObject.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/DecodedChar.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/DecodedInformation.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/DecodedNumeric.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/FieldParser.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/GeneralAppIdDecoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AbstractExpandedDecoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01decoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01AndOtherAIs.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AnyAIDecoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01weightDecoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI013x0xDecoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI013103decoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01320xDecoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01392xDecoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01393xDecoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI013x0x1xDecoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/ExpandedPair.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/decoder/DecodedBitStreamParser.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/ExpandedRow.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/RSSExpandedReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AbstractExpandedDecoderComplement.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/Pair.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/rss/RSS14Reader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/oned/MultiFormatOneDReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/browser/BrowserBarcodeReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/decoder/Version.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/decoder/BitMatrixParser.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/decoder/DataBlock.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/BitSource.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/decoder/ErrorCorrectionLevel.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/decoder/Decoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/detector/Detector.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/DataMatrixReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/browser/BrowserDatamatrixCodeReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/decoder/DataMask.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/decoder/FormatInformation.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/decoder/ECBlocks.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/decoder/ECB.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/decoder/Version.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/decoder/Mode.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/decoder/BitMatrixParser.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/decoder/DataBlock.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/DecodedBitStreamParser.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/decoder/DecodedBitStreamParser.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/decoder/QRCodeDecoderMetaData.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/decoder/Decoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/detector/AlignmentPattern.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/detector/AlignmentPatternFinder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/detector/FinderPattern.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/detector/FinderPatternInfo.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/detector/FinderPatternFinder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/detector/Detector.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/QRCodeReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/PDF417Common.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/detector/PDF417DetectorResult.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/detector/Detector.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/ec/ModulusPoly.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/ec/ModulusBase.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/ec/ModulusGF.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/ec/ErrorCorrection.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/BoundingBox.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/BarcodeMetadata.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/util/Formatter.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/DetectionResultColumn.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/BarcodeValue.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/DetectionResultRowIndicatorColumn.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/DetectionResult.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/Codeword.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/PDF417CodewordDecoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/PDF417ResultMetadata.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/util/Long.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/NullPointerException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/util/OutputStream.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/OutOfMemoryError.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/util/ByteArrayOutputStream.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/EncodeHintType.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/decoder/PDF417ScanningDecoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/pdf417/PDF417Reader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/ReaderException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/MultiFormatReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/browser/BrowserMultiFormatReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/browser/BrowserPDF417Reader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/browser/BrowserQRCodeReader.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/encoder/constants.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/reedsolomon/ReedSolomonEncoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/encoder/MaskUtil.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/encoder/ByteMatrix.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/encoder/QRCode.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/WriterException.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/encoder/MatrixUtil.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/encoder/BlockPair.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/encoder/Encoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/qrcode/QRCodeWriter.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/browser/BrowserQRCodeSvgWriter.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/PlanarYUVLuminanceSource.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/MultiFormatWriter.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/RGBLuminanceSource.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/util/Charset.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/util/StandardCharsets.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/encoder/DefaultPlacement.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/encoder/MinimalEncoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/encoder/ErrorCorrection.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/encoder/ASCIIEncoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/encoder/Base256Encoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/encoder/C40Encoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/encoder/EdifactEncoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/encoder/SymbolInfo.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/encoder/EncoderContext.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/encoder/X12Encoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/encoder/TextEncoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/encoder/HighLevelEncoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/ECIEncoderSet.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/common/MinimalECIInput.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/encoder/AztecCode.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/datamatrix/DataMatrixWriter.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/util/Collections.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/encoder/Token.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/encoder/SimpleToken.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/encoder/BinaryShiftToken.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/encoder/TokenHelpers.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/encoder/EncoderConstants.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/encoder/LatchTable.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/encoder/ShiftTable.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/encoder/State.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/encoder/CharMap.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/encoder/HighLevelEncoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/encoder/Encoder.js","webpack://deliverypoint/./node_modules/@zxing/library/esm/core/aztec/AztecWriter.js","webpack://deliverypoint/./node_modules/daterangepicker/daterangepicker.js","webpack://deliverypoint/./node_modules/events/events.js","webpack://deliverypoint/./node_modules/moment/moment-exposed.js","webpack://deliverypoint/./node_modules/expose-loader/dist/runtime/getGlobalThis.js","webpack://deliverypoint/./node_modules/form-data/lib/browser.js","webpack://deliverypoint/./node_modules/is-electron/index.js","webpack://deliverypoint/./node_modules/jquery-timepicker/jquery.timepicker.js","webpack://deliverypoint/./node_modules/jquery-ui-touch-punch/jquery.ui.touch-punch.js","webpack://deliverypoint/./node_modules/jquery-ui/dist/jquery-ui.js","webpack://deliverypoint/./node_modules/local-time/app/assets/javascripts/local-time.js","webpack://deliverypoint/./node_modules/moment/locale/af.js","webpack://deliverypoint/./node_modules/moment/locale/ar-dz.js","webpack://deliverypoint/./node_modules/moment/locale/ar-kw.js","webpack://deliverypoint/./node_modules/moment/locale/ar-ly.js","webpack://deliverypoint/./node_modules/moment/locale/ar-ma.js","webpack://deliverypoint/./node_modules/moment/locale/ar-sa.js","webpack://deliverypoint/./node_modules/moment/locale/ar-tn.js","webpack://deliverypoint/./node_modules/moment/locale/ar.js","webpack://deliverypoint/./node_modules/moment/locale/az.js","webpack://deliverypoint/./node_modules/moment/locale/be.js","webpack://deliverypoint/./node_modules/moment/locale/bg.js","webpack://deliverypoint/./node_modules/moment/locale/bm.js","webpack://deliverypoint/./node_modules/moment/locale/bn-bd.js","webpack://deliverypoint/./node_modules/moment/locale/bn.js","webpack://deliverypoint/./node_modules/moment/locale/bo.js","webpack://deliverypoint/./node_modules/moment/locale/br.js","webpack://deliverypoint/./node_modules/moment/locale/bs.js","webpack://deliverypoint/./node_modules/moment/locale/ca.js","webpack://deliverypoint/./node_modules/moment/locale/cs.js","webpack://deliverypoint/./node_modules/moment/locale/cv.js","webpack://deliverypoint/./node_modules/moment/locale/cy.js","webpack://deliverypoint/./node_modules/moment/locale/da.js","webpack://deliverypoint/./node_modules/moment/locale/de-at.js","webpack://deliverypoint/./node_modules/moment/locale/de-ch.js","webpack://deliverypoint/./node_modules/moment/locale/de.js","webpack://deliverypoint/./node_modules/moment/locale/dv.js","webpack://deliverypoint/./node_modules/moment/locale/el.js","webpack://deliverypoint/./node_modules/moment/locale/en-au.js","webpack://deliverypoint/./node_modules/moment/locale/en-ca.js","webpack://deliverypoint/./node_modules/moment/locale/en-gb.js","webpack://deliverypoint/./node_modules/moment/locale/en-ie.js","webpack://deliverypoint/./node_modules/moment/locale/en-il.js","webpack://deliverypoint/./node_modules/moment/locale/en-in.js","webpack://deliverypoint/./node_modules/moment/locale/en-nz.js","webpack://deliverypoint/./node_modules/moment/locale/en-sg.js","webpack://deliverypoint/./node_modules/moment/locale/eo.js","webpack://deliverypoint/./node_modules/moment/locale/es-do.js","webpack://deliverypoint/./node_modules/moment/locale/es-mx.js","webpack://deliverypoint/./node_modules/moment/locale/es-us.js","webpack://deliverypoint/./node_modules/moment/locale/es.js","webpack://deliverypoint/./node_modules/moment/locale/et.js","webpack://deliverypoint/./node_modules/moment/locale/eu.js","webpack://deliverypoint/./node_modules/moment/locale/fa.js","webpack://deliverypoint/./node_modules/moment/locale/fi.js","webpack://deliverypoint/./node_modules/moment/locale/fil.js","webpack://deliverypoint/./node_modules/moment/locale/fo.js","webpack://deliverypoint/./node_modules/moment/locale/fr-ca.js","webpack://deliverypoint/./node_modules/moment/locale/fr-ch.js","webpack://deliverypoint/./node_modules/moment/locale/fr.js","webpack://deliverypoint/./node_modules/moment/locale/fy.js","webpack://deliverypoint/./node_modules/moment/locale/ga.js","webpack://deliverypoint/./node_modules/moment/locale/gd.js","webpack://deliverypoint/./node_modules/moment/locale/gl.js","webpack://deliverypoint/./node_modules/moment/locale/gom-deva.js","webpack://deliverypoint/./node_modules/moment/locale/gom-latn.js","webpack://deliverypoint/./node_modules/moment/locale/gu.js","webpack://deliverypoint/./node_modules/moment/locale/he.js","webpack://deliverypoint/./node_modules/moment/locale/hi.js","webpack://deliverypoint/./node_modules/moment/locale/hr.js","webpack://deliverypoint/./node_modules/moment/locale/hu.js","webpack://deliverypoint/./node_modules/moment/locale/hy-am.js","webpack://deliverypoint/./node_modules/moment/locale/id.js","webpack://deliverypoint/./node_modules/moment/locale/is.js","webpack://deliverypoint/./node_modules/moment/locale/it-ch.js","webpack://deliverypoint/./node_modules/moment/locale/it.js","webpack://deliverypoint/./node_modules/moment/locale/ja.js","webpack://deliverypoint/./node_modules/moment/locale/jv.js","webpack://deliverypoint/./node_modules/moment/locale/ka.js","webpack://deliverypoint/./node_modules/moment/locale/kk.js","webpack://deliverypoint/./node_modules/moment/locale/km.js","webpack://deliverypoint/./node_modules/moment/locale/kn.js","webpack://deliverypoint/./node_modules/moment/locale/ko.js","webpack://deliverypoint/./node_modules/moment/locale/ku.js","webpack://deliverypoint/./node_modules/moment/locale/ky.js","webpack://deliverypoint/./node_modules/moment/locale/lb.js","webpack://deliverypoint/./node_modules/moment/locale/lo.js","webpack://deliverypoint/./node_modules/moment/locale/lt.js","webpack://deliverypoint/./node_modules/moment/locale/lv.js","webpack://deliverypoint/./node_modules/moment/locale/me.js","webpack://deliverypoint/./node_modules/moment/locale/mi.js","webpack://deliverypoint/./node_modules/moment/locale/mk.js","webpack://deliverypoint/./node_modules/moment/locale/ml.js","webpack://deliverypoint/./node_modules/moment/locale/mn.js","webpack://deliverypoint/./node_modules/moment/locale/mr.js","webpack://deliverypoint/./node_modules/moment/locale/ms-my.js","webpack://deliverypoint/./node_modules/moment/locale/ms.js","webpack://deliverypoint/./node_modules/moment/locale/mt.js","webpack://deliverypoint/./node_modules/moment/locale/my.js","webpack://deliverypoint/./node_modules/moment/locale/nb.js","webpack://deliverypoint/./node_modules/moment/locale/ne.js","webpack://deliverypoint/./node_modules/moment/locale/nl-be.js","webpack://deliverypoint/./node_modules/moment/locale/nl.js","webpack://deliverypoint/./node_modules/moment/locale/nn.js","webpack://deliverypoint/./node_modules/moment/locale/oc-lnc.js","webpack://deliverypoint/./node_modules/moment/locale/pa-in.js","webpack://deliverypoint/./node_modules/moment/locale/pl.js","webpack://deliverypoint/./node_modules/moment/locale/pt-br.js","webpack://deliverypoint/./node_modules/moment/locale/pt.js","webpack://deliverypoint/./node_modules/moment/locale/ro.js","webpack://deliverypoint/./node_modules/moment/locale/ru.js","webpack://deliverypoint/./node_modules/moment/locale/sd.js","webpack://deliverypoint/./node_modules/moment/locale/se.js","webpack://deliverypoint/./node_modules/moment/locale/si.js","webpack://deliverypoint/./node_modules/moment/locale/sk.js","webpack://deliverypoint/./node_modules/moment/locale/sl.js","webpack://deliverypoint/./node_modules/moment/locale/sq.js","webpack://deliverypoint/./node_modules/moment/locale/sr-cyrl.js","webpack://deliverypoint/./node_modules/moment/locale/sr.js","webpack://deliverypoint/./node_modules/moment/locale/ss.js","webpack://deliverypoint/./node_modules/moment/locale/sv.js","webpack://deliverypoint/./node_modules/moment/locale/sw.js","webpack://deliverypoint/./node_modules/moment/locale/ta.js","webpack://deliverypoint/./node_modules/moment/locale/te.js","webpack://deliverypoint/./node_modules/moment/locale/tet.js","webpack://deliverypoint/./node_modules/moment/locale/tg.js","webpack://deliverypoint/./node_modules/moment/locale/th.js","webpack://deliverypoint/./node_modules/moment/locale/tk.js","webpack://deliverypoint/./node_modules/moment/locale/tl-ph.js","webpack://deliverypoint/./node_modules/moment/locale/tlh.js","webpack://deliverypoint/./node_modules/moment/locale/tr.js","webpack://deliverypoint/./node_modules/moment/locale/tzl.js","webpack://deliverypoint/./node_modules/moment/locale/tzm-latn.js","webpack://deliverypoint/./node_modules/moment/locale/tzm.js","webpack://deliverypoint/./node_modules/moment/locale/ug-cn.js","webpack://deliverypoint/./node_modules/moment/locale/uk.js","webpack://deliverypoint/./node_modules/moment/locale/ur.js","webpack://deliverypoint/./node_modules/moment/locale/uz-latn.js","webpack://deliverypoint/./node_modules/moment/locale/uz.js","webpack://deliverypoint/./node_modules/moment/locale/vi.js","webpack://deliverypoint/./node_modules/moment/locale/x-pseudo.js","webpack://deliverypoint/./node_modules/moment/locale/yo.js","webpack://deliverypoint/./node_modules/moment/locale/zh-cn.js","webpack://deliverypoint/./node_modules/moment/locale/zh-hk.js","webpack://deliverypoint/./node_modules/moment/locale/zh-mo.js","webpack://deliverypoint/./node_modules/moment/locale/zh-tw.js","webpack://deliverypoint/./node_modules/moment/moment.js","webpack://deliverypoint/./node_modules/regenerator-runtime/runtime.js","webpack://deliverypoint/./node_modules/stimulus/dist/stimulus.js","webpack://deliverypoint/./node_modules/stimulus/dist/webpack-helpers.js","webpack://deliverypoint/./node_modules/tesseract.js/src/Tesseract.js","webpack://deliverypoint/./node_modules/tesseract.js/src/constants/OEM.js","webpack://deliverypoint/./node_modules/tesseract.js/src/constants/PSM.js","webpack://deliverypoint/./node_modules/tesseract.js/src/constants/config.js","webpack://deliverypoint/./node_modules/tesseract.js/src/constants/defaultOptions.js","webpack://deliverypoint/./node_modules/tesseract.js/src/constants/languages.js","webpack://deliverypoint/./node_modules/tesseract.js/src/createJob.js","webpack://deliverypoint/./node_modules/tesseract.js/src/createScheduler.js","webpack://deliverypoint/./node_modules/tesseract.js/src/createWorker.js","webpack://deliverypoint/./node_modules/tesseract.js/src/index.js","webpack://deliverypoint/./node_modules/tesseract.js/src/utils/circularize.js","webpack://deliverypoint/./node_modules/tesseract.js/src/utils/getEnvironment.js","webpack://deliverypoint/./node_modules/tesseract.js/src/utils/getId.js","webpack://deliverypoint/./node_modules/tesseract.js/src/utils/log.js","webpack://deliverypoint/./node_modules/tesseract.js/src/utils/resolvePaths.js","webpack://deliverypoint/./node_modules/tesseract.js/src/worker/browser/defaultOptions.js","webpack://deliverypoint/./node_modules/tesseract.js/src/worker/browser/index.js","webpack://deliverypoint/./node_modules/tesseract.js/src/worker/browser/loadImage.js","webpack://deliverypoint/./node_modules/tesseract.js/src/worker/browser/onMessage.js","webpack://deliverypoint/./node_modules/tesseract.js/src/worker/browser/send.js","webpack://deliverypoint/./node_modules/tesseract.js/src/worker/browser/spawnWorker.js","webpack://deliverypoint/./node_modules/tesseract.js/src/worker/browser/terminateWorker.js","webpack://deliverypoint/./node_modules/toastr/toastr.js","webpack://deliverypoint/./node_modules/turbolinks/dist/turbolinks.js","webpack://deliverypoint/./node_modules/twilio-video/es5/cancelableroompromise.js","webpack://deliverypoint/./node_modules/twilio-video/es5/connect.js","webpack://deliverypoint/./node_modules/twilio-video/es5/createlocaltrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/createlocaltracks.js","webpack://deliverypoint/./node_modules/twilio-video/es5/data/receiver.js","webpack://deliverypoint/./node_modules/twilio-video/es5/data/sender.js","webpack://deliverypoint/./node_modules/twilio-video/es5/data/transceiver.js","webpack://deliverypoint/./node_modules/twilio-video/es5/data/transport.js","webpack://deliverypoint/./node_modules/twilio-video/es5/encodingparameters.js","webpack://deliverypoint/./node_modules/twilio-video/es5/eventemitter.js","webpack://deliverypoint/./node_modules/twilio-video/es5/eventtarget.js","webpack://deliverypoint/./node_modules/twilio-video/es5/index.js","webpack://deliverypoint/./node_modules/twilio-video/es5/localparticipant.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/audiotrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/es5/index.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/es5/localaudiotrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/es5/localdatatrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/es5/localvideotrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/index.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/localaudiotrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/localaudiotrackpublication.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/localdatatrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/localdatatrackpublication.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/localmediatrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/localtrackpublication.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/localvideotrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/localvideotrackpublication.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/mediatrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/noisecancellationimpl.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/receiver.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/remoteaudiotrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/remoteaudiotrackpublication.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/remotedatatrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/remotedatatrackpublication.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/remotemediatrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/remotetrackpublication.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/remotevideotrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/remotevideotrackpublication.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/sender.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/trackpublication.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/transceiver.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/videoprocessoreventobserver.js","webpack://deliverypoint/./node_modules/twilio-video/es5/media/track/videotrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/networkqualityconfiguration.js","webpack://deliverypoint/./node_modules/twilio-video/es5/noisecancellationadapter.js","webpack://deliverypoint/./node_modules/twilio-video/es5/participant.js","webpack://deliverypoint/./node_modules/twilio-video/es5/preflight/getCombinedConnectionStats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/preflight/getturncredentials.js","webpack://deliverypoint/./node_modules/twilio-video/es5/preflight/makestat.js","webpack://deliverypoint/./node_modules/twilio-video/es5/preflight/mos.js","webpack://deliverypoint/./node_modules/twilio-video/es5/preflight/preflighttest.js","webpack://deliverypoint/./node_modules/twilio-video/es5/preflight/syntheticaudio.js","webpack://deliverypoint/./node_modules/twilio-video/es5/preflight/syntheticvideo.js","webpack://deliverypoint/./node_modules/twilio-video/es5/preflight/timer.js","webpack://deliverypoint/./node_modules/twilio-video/es5/queueingeventemitter.js","webpack://deliverypoint/./node_modules/twilio-video/es5/remoteparticipant.js","webpack://deliverypoint/./node_modules/twilio-video/es5/room.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/index.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/localparticipant.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/localtrackpublication.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/participant.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/recording.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/remoteparticipant.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/remotetrackpublication.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/room.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/track.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/cancelableroomsignalingpromise.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/dominantspeakersignaling.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/icebox.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/iceconnectionmonitor.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/index.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/localparticipant.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/localtrackpublication.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/mediasignaling.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/networkqualitymonitor.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/networkqualitysignaling.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/peerconnection.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/peerconnectionmanager.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/publisherhintsignaling.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/recording.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/remoteparticipant.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/remotetrackpublication.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/renderhintssignaling.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/room.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/trackprioritysignaling.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/trackswitchoffsignaling.js","webpack://deliverypoint/./node_modules/twilio-video/es5/signaling/v2/twilioconnectiontransport.js","webpack://deliverypoint/./node_modules/twilio-video/es5/statemachine.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/average.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/icereport.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/icereportfactory.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/localaudiotrackstats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/localtrackstats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/localvideotrackstats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/networkqualityaudiostats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/networkqualitybandwidthstats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/networkqualityfractionloststats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/networkqualitylatencystats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/networkqualitymediastats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/networkqualityrecvstats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/networkqualitysendorrecvstats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/networkqualitysendstats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/networkqualitystats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/networkqualityvideostats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/peerconnectionreport.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/peerconnectionreportfactory.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/receiverreport.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/receiverreportfactory.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/remoteaudiotrackstats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/remotetrackstats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/remotevideotrackstats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/senderorreceiverreport.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/senderorreceiverreportfactory.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/senderreport.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/senderreportfactory.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/statsreport.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/sum.js","webpack://deliverypoint/./node_modules/twilio-video/es5/stats/trackstats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/transceiver.js","webpack://deliverypoint/./node_modules/twilio-video/es5/twilioconnection.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/asyncvar.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/backoff.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/browserdetection.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/cancelablepromise.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/constants.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/detectsilentaudio.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/detectsilentvideo.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/documentvisibilitymonitor.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/dynamicimport.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/eventobserver.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/filter.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/index.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/insightspublisher/index.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/insightspublisher/null.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/localmediarestartdeferreds.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/log.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/movingaveragedelta.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/networkmonitor.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/nullobserver.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/sdp/index.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/sdp/issue8329.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/sdp/simulcast.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/sdp/trackmatcher.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/sid.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/support.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/timeout.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/twilio-video-errors.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/twilioerror.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/twiliowarning.js","webpack://deliverypoint/./node_modules/twilio-video/es5/util/validate.js","webpack://deliverypoint/./node_modules/twilio-video/es5/vendor/inherits.js","webpack://deliverypoint/./node_modules/twilio-video/es5/vendor/loglevel.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webaudio/audiocontext.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webaudio/detectsilence.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webaudio/workaround180748.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/getstats.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/getusermedia.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/index.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/mediastream.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/mediastreamtrack.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/rtcicecandidate.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/rtcpeerconnection/chrome.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/rtcpeerconnection/firefox.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/rtcpeerconnection/index.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/rtcpeerconnection/safari.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/rtcrtpsender.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/rtcsessiondescription/chrome.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/rtcsessiondescription/firefox.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/rtcsessiondescription/index.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/util/index.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/util/latch.js","webpack://deliverypoint/./node_modules/twilio-video/es5/webrtc/util/sdp.js","webpack://deliverypoint/./node_modules/twilio-video/src/ws.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/bind.js","webpack://deliverypoint/./node_modules/axios/lib/utils.js","webpack://deliverypoint/./node_modules/axios/lib/core/AxiosError.js","webpack://deliverypoint/./node_modules/axios/lib/env/classes/FormData.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/toFormData.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/buildURL.js","webpack://deliverypoint/./node_modules/axios/lib/core/InterceptorManager.js","webpack://deliverypoint/./node_modules/axios/lib/defaults/transitional.js","webpack://deliverypoint/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://deliverypoint/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://deliverypoint/./node_modules/axios/lib/platform/browser/index.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://deliverypoint/./node_modules/axios/lib/defaults/index.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://deliverypoint/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://deliverypoint/./node_modules/axios/lib/core/transformData.js","webpack://deliverypoint/./node_modules/axios/lib/cancel/isCancel.js","webpack://deliverypoint/./node_modules/axios/lib/cancel/CanceledError.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/cookies.js","webpack://deliverypoint/./node_modules/axios/lib/core/buildFullPath.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/combineURLs.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/speedometer.js","webpack://deliverypoint/./node_modules/axios/lib/adapters/xhr.js","webpack://deliverypoint/./node_modules/axios/lib/adapters/adapters.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/null.js","webpack://deliverypoint/./node_modules/axios/lib/core/settle.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://deliverypoint/./node_modules/axios/lib/core/dispatchRequest.js","webpack://deliverypoint/./node_modules/axios/lib/core/mergeConfig.js","webpack://deliverypoint/./node_modules/axios/lib/env/data.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/validator.js","webpack://deliverypoint/./node_modules/axios/lib/core/Axios.js","webpack://deliverypoint/./node_modules/axios/lib/cancel/CancelToken.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://deliverypoint/./node_modules/axios/lib/axios.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/spread.js","webpack://deliverypoint/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://deliverypoint/./node_modules/hotkeys-js/dist/hotkeys.esm.js","webpack://deliverypoint/./node_modules/stimulus-use/dist/index.js","webpack://deliverypoint/./node_modules/stimulus-dropdown/dist/stimulus-dropdown.mjs"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.Quagga=e():t.Quagga=e()}(window,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/\",n(n.s=72)}([function(t,e){t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){function n(e){return t.exports=n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},t.exports.__esModule=!0,t.exports.default=t.exports,n(e)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){function n(t,e){for(var n=0;n0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t}function st(t,e){return t[0]*e[0]+t[1]*e[1]}function ft(t,e,n){var r=e[0]*n[1]-e[1]*n[0];return t[0]=t[1]=0,t[2]=r,t}function lt(t,e,n,r){var o=e[0],i=e[1];return t[0]=o+r*(n[0]-o),t[1]=i+r*(n[1]-i),t}function dt(t,e){e=e||1;var n=2*s()*Math.PI;return t[0]=Math.cos(n)*e,t[1]=Math.sin(n)*e,t}function ht(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[2]*o,t[1]=n[1]*r+n[3]*o,t}function vt(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[2]*o+n[4],t[1]=n[1]*r+n[3]*o+n[5],t}function pt(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[3]*o+n[6],t[1]=n[1]*r+n[4]*o+n[7],t}function yt(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[4]*o+n[12],t[1]=n[1]*r+n[5]*o+n[13],t}function gt(t,e,n,r){var o=e[0]-n[0],i=e[1]-n[1],a=Math.sin(r),u=Math.cos(r);return t[0]=o*u-i*a+n[0],t[1]=o*a+i*u+n[1],t}function xt(t,e){var n=t[0],r=t[1],o=e[0],i=e[1],a=Math.sqrt(n*n+r*r)*Math.sqrt(o*o+i*i),u=a&&(n*o+r*i)/a;return Math.acos(Math.min(Math.max(u,-1),1))}function mt(t){return t[0]=0,t[1]=0,t}function _t(t){return\"vec2(\"+t[0]+\", \"+t[1]+\")\"}function bt(t,e){return t[0]===e[0]&&t[1]===e[1]}function wt(t,e){var n=t[0],r=t[1],o=e[0],i=e[1];return Math.abs(n-o)<=u*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(r-i)<=u*Math.max(1,Math.abs(r),Math.abs(i))}var Ot,Rt=ot,Mt=H,Ct=X,Et=Q,At=nt,St=rt,kt=it,Pt=(Ot=F(),function(t,e,n,r,o,i){var a,u;for(e||(e=2),n||(n=0),u=r?Math.min(r*e+n,t.length):t.length,a=n;a0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t}function ee(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function ne(t,e,n){var r=e[0],o=e[1],i=e[2],a=n[0],u=n[1],c=n[2];return t[0]=o*c-i*u,t[1]=i*a-r*c,t[2]=r*u-o*a,t}function re(t,e,n,r){var o=e[0],i=e[1],a=e[2];return t[0]=o+r*(n[0]-o),t[1]=i+r*(n[1]-i),t[2]=a+r*(n[2]-a),t}function oe(t,e,n,r,o,i){var a=i*i,u=a*(2*i-3)+1,c=a*(i-2)+i,s=a*(i-1),f=a*(3-2*i);return t[0]=e[0]*u+n[0]*c+r[0]*s+o[0]*f,t[1]=e[1]*u+n[1]*c+r[1]*s+o[1]*f,t[2]=e[2]*u+n[2]*c+r[2]*s+o[2]*f,t}function ie(t,e,n,r,o,i){var a=1-i,u=a*a,c=i*i,s=u*a,f=3*i*u,l=3*c*a,d=c*i;return t[0]=e[0]*s+n[0]*f+r[0]*l+o[0]*d,t[1]=e[1]*s+n[1]*f+r[1]*l+o[1]*d,t[2]=e[2]*s+n[2]*f+r[2]*l+o[2]*d,t}function ae(t,e){e=e||1;var n=2*s()*Math.PI,r=2*s()-1,o=Math.sqrt(1-r*r)*e;return t[0]=Math.cos(n)*o,t[1]=Math.sin(n)*o,t[2]=r*e,t}function ue(t,e,n){var r=e[0],o=e[1],i=e[2],a=n[3]*r+n[7]*o+n[11]*i+n[15];return a=a||1,t[0]=(n[0]*r+n[4]*o+n[8]*i+n[12])/a,t[1]=(n[1]*r+n[5]*o+n[9]*i+n[13])/a,t[2]=(n[2]*r+n[6]*o+n[10]*i+n[14])/a,t}function ce(t,e,n){var r=e[0],o=e[1],i=e[2];return t[0]=r*n[0]+o*n[3]+i*n[6],t[1]=r*n[1]+o*n[4]+i*n[7],t[2]=r*n[2]+o*n[5]+i*n[8],t}function se(t,e,n){var r=n[0],o=n[1],i=n[2],a=n[3],u=e[0],c=e[1],s=e[2],f=o*s-i*c,l=i*u-r*s,d=r*c-o*u,h=o*d-i*l,v=i*f-r*d,p=r*l-o*f,y=2*a;return f*=y,l*=y,d*=y,h*=2,v*=2,p*=2,t[0]=u+f+h,t[1]=c+l+v,t[2]=s+d+p,t}function fe(t,e,n,r){var o=[],i=[];return o[0]=e[0]-n[0],o[1]=e[1]-n[1],o[2]=e[2]-n[2],i[0]=o[0],i[1]=o[1]*Math.cos(r)-o[2]*Math.sin(r),i[2]=o[1]*Math.sin(r)+o[2]*Math.cos(r),t[0]=i[0]+n[0],t[1]=i[1]+n[1],t[2]=i[2]+n[2],t}function le(t,e,n,r){var o=[],i=[];return o[0]=e[0]-n[0],o[1]=e[1]-n[1],o[2]=e[2]-n[2],i[0]=o[2]*Math.sin(r)+o[0]*Math.cos(r),i[1]=o[1],i[2]=o[2]*Math.cos(r)-o[0]*Math.sin(r),t[0]=i[0]+n[0],t[1]=i[1]+n[1],t[2]=i[2]+n[2],t}function de(t,e,n,r){var o=[],i=[];return o[0]=e[0]-n[0],o[1]=e[1]-n[1],o[2]=e[2]-n[2],i[0]=o[0]*Math.cos(r)-o[1]*Math.sin(r),i[1]=o[0]*Math.sin(r)+o[1]*Math.cos(r),i[2]=o[2],t[0]=i[0]+n[0],t[1]=i[1]+n[1],t[2]=i[2]+n[2],t}function he(t,e){var n=t[0],r=t[1],o=t[2],i=e[0],a=e[1],u=e[2],c=Math.sqrt(n*n+r*r+o*o)*Math.sqrt(i*i+a*a+u*u),s=c&&ee(t,e)/c;return Math.acos(Math.min(Math.max(s,-1),1))}function ve(t){return t[0]=0,t[1]=0,t[2]=0,t}function pe(t){return\"vec3(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\")\"}function ye(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function ge(t,e){var n=t[0],r=t[1],o=t[2],i=e[0],a=e[1],c=e[2];return Math.abs(n-i)<=u*Math.max(1,Math.abs(n),Math.abs(i))&&Math.abs(r-a)<=u*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(o-c)<=u*Math.max(1,Math.abs(o),Math.abs(c))}var xe=Nt,me=Ft,_e=Bt,be=Yt,we=$t,Oe=jt,Re=Zt,Me=function(){var t=Tt();return function(e,n,r,o,i,a){var u,c;for(n||(n=3),r||(r=0),c=o?Math.min(o*n+r,e.length):e.length,u=r;u0;e--){var n=Math.floor(Math.random()*(e+1)),r=[t[n],t[e]];t[e]=r[0],t[n]=r[1]}return t},toPointList:function(t){var e=t.reduce((function(t,e){var n=\"[\".concat(e.join(\",\"),\"]\");return t.push(n),t}),[]);return\"[\".concat(e.join(\",\\r\\n\"),\"]\")},threshold:function(t,e,n){return t.reduce((function(r,o){return n.apply(t,[o])>=e&&r.push(o),r}),[])},maxIndex:function(t){for(var e=0,n=0;nt[e]&&(e=n);return e},max:function(t){for(var e=0,n=0;ne&&(e=t[n]);return e},sum:function(t){for(var e=t.length,n=0;e--;)n+=t[e];return n}}},function(t,e,n){\"use strict\";n.d(e,\"h\",(function(){return u})),n.d(e,\"i\",(function(){return s})),n.d(e,\"b\",(function(){return f})),n.d(e,\"j\",(function(){return l})),n.d(e,\"e\",(function(){return d})),n.d(e,\"c\",(function(){return h})),n.d(e,\"f\",(function(){return v})),n.d(e,\"g\",(function(){return p})),n.d(e,\"a\",(function(){return g})),n.d(e,\"d\",(function(){return m}));var r=n(5),o=n(9);r.a.setMatrixArrayType(Array);var i=function(t,e){var n=[],o={rad:0,vec:r.c.clone([0,0])},i={};function a(t){i[t.id]=t,n.push(t)}function u(){var t,e=0;for(t=0;te},getPoints:function(){return n},getCenter:function(){return o}}},a=function(t,e,n){return{rad:t[n],point:t,id:e}};function u(t,e){return{x:t,y:e,toVec2:function(){return r.c.clone([this.x,this.y])},toVec3:function(){return r.d.clone([this.x,this.y,1])},round:function(){return this.x=this.x>0?Math.floor(this.x+.5):Math.floor(this.x-.5),this.y=this.y>0?Math.floor(this.y+.5):Math.floor(this.y-.5),this}}}function c(t,e){e||(e=8);for(var n=t.data,r=n.length,o=8-e,i=new Int32Array(1<>o]++;return i}function s(t,e){var n=function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,r=8-n;function i(t,n){for(var r=0,o=t;o<=n;o++)r+=e[o];return r}function a(t,n){for(var r=0,o=t;o<=n;o++)r+=o*e[o];return r}function u(){var r,u,s,f,l=[0],d=(1<c)for((i=s[u]).score=o,i.item=t[r],c=Number.MAX_VALUE,a=0;a1&&void 0!==arguments[1]?arguments[1]:[0,0,0],n=t[0],r=t[1],o=t[2],i=o*r,a=i*(1-Math.abs(n/60%2-1)),u=o-i,c=0,s=0,f=0;return n<60?(c=i,s=a):n<120?(c=a,s=i):n<180?(s=i,f=a):n<240?(s=a,f=i):n<300?(c=a,f=i):n<360&&(c=i,f=a),e[0]=255*(c+u)|0,e[1]=255*(s+u)|0,e[2]=255*(f+u)|0,e}function y(t){for(var e=[],n=[],r=1;re[r]?r++:n++;return o}(r,o),u=[8,10,15,20,32,60,80],c={\"x-small\":5,small:4,medium:3,large:2,\"x-large\":1},s=c[t]||c.medium,f=u[s],l=Math.floor(i/f);function d(t){for(var e=0,n=t[Math.floor(t.length/2)];e0&&(n=Math.abs(t[e]-l)>Math.abs(t[e-1]-l)?t[e-1]:t[e]),l/nu[s-1]/u[s]?{x:n,y:n}:null}return(n=d(a))||(n=d(y(i)))||(n=d(y(l*f))),n}var x={top:function(t,e){return\"%\"===t.unit?Math.floor(e.height*(t.value/100)):null},right:function(t,e){return\"%\"===t.unit?Math.floor(e.width-e.width*(t.value/100)):null},bottom:function(t,e){return\"%\"===t.unit?Math.floor(e.height-e.height*(t.value/100)):null},left:function(t,e){return\"%\"===t.unit?Math.floor(e.width*(t.value/100)):null}};function m(t,e,n){var r={width:t,height:e},o=Object.keys(n).reduce((function(t,e){var o=function(t){return{value:parseFloat(t),unit:(t.indexOf(\"%\"),t.length,\"%\")}}(n[e]),i=x[e](o,r);return t[e]=i,t}),{});return{sx:o.left,sy:o.top,sw:o.right-o.left,sh:o.bottom-o.top}}},function(t,e,n){\"use strict\";var r=n(61),o=n.n(r),i=n(3),a=n.n(i),u=n(4),c=n.n(u),s=n(0),f=n.n(s),l=n(5),d=n(9),h=n(10);function v(t){if(t<0)throw new Error(\"expected positive number, received \".concat(t))}l.a.setMatrixArrayType(Array);var p=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Uint8Array,o=arguments.length>3?arguments[3]:void 0;a()(this,t),f()(this,\"data\",void 0),f()(this,\"size\",void 0),f()(this,\"indexMapping\",void 0),n?this.data=n:(this.data=new r(e.x*e.y),o&&d.a.init(this.data,0)),this.size=e}return c()(t,[{key:\"inImageWithBorder\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return v(e),t.x>=0&&t.y>=0&&t.x0&&((a=p[r-1]).m00+=1,a.m01+=n,a.m10+=e,a.m11+=e*n,a.m02+=o,a.m20+=e*e);for(i=0;i=0?x:-x)+g,a.theta=(180*f/g+90)%180-90,a.theta<0&&(a.theta+=180),a.rad=f>g?f-g:f,a.vec=l.c.clone([Math.cos(f),Math.sin(f)]),y.push(a));return y}},{key:\"getAsRGBA\",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=new Uint8ClampedArray(4*this.size.x*this.size.y),n=0;n1&&void 0!==arguments[1]?arguments[1]:1;console.warn(\"* imagewrapper show getcontext 2d\");var n=t.getContext(\"2d\");if(!n)throw new Error(\"Unable to get canvas context\");var r=n.getImageData(0,0,t.width,t.height),o=this.getAsRGBA(e);t.width=this.size.x,t.height=this.size.y;var i=new ImageData(o,r.width,r.height);n.putImageData(i,0,0)}},{key:\"overlay\",value:function(t,e,n){var r=e<0||e>360?360:e,i=[0,1,1],a=[0,0,0],u=[255,255,255],c=[0,0,0];console.warn(\"* imagewrapper overlay getcontext 2d\");var s=t.getContext(\"2d\");if(!s)throw new Error(\"Unable to get canvas context\");for(var f=s.getImageData(n.x,n.y,this.size.x,this.size.y),l=f.data,d=this.data.length;d--;){i[0]=this.data[d]*r;var v=4*d,p=i[0]<=0?u:i[0]>=360?c:Object(h.g)(i,a),y=o()(p,3);l[v]=y[0],l[v+1]=y[1],l[v+2]=y[2],l[v+3]=255}s.putImageData(f,n.x,n.y)}}]),t}();e.a=p},function(t,e){function n(t,e,n,r,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void n(t)}u.done?e(c):Promise.resolve(c).then(r,o)}t.exports=function(t){return function(){var e=this,r=arguments;return new Promise((function(o,i){var a=t.apply(e,r);function u(t){n(a,o,i,u,c,\"next\",t)}function c(t){n(a,o,i,u,c,\"throw\",t)}u(void 0)}))}},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(140);function o(){return\"undefined\"!=typeof Reflect&&Reflect.get?(t.exports=o=Reflect.get.bind(),t.exports.__esModule=!0,t.exports.default=t.exports):(t.exports=o=function(t,e,n){var o=r(t,e);if(o){var i=Object.getOwnPropertyDescriptor(o,e);return i.get?i.get.call(arguments.length<3?t:n):i.value}},t.exports.__esModule=!0,t.exports.default=t.exports),o.apply(this,arguments)}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&(\"object\"==e||\"function\"==e)}},function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){\"use strict\";e.a={drawRect:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth||1,n.beginPath(),n.strokeRect(t.x,t.y,e.x,e.y)},drawPath:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth,n.beginPath(),n.moveTo(t[0][e.x],t[0][e.y]);for(var o=1;od&&(d=i.box[o][0]),i.box[o][1]v&&(v=i.box[o][1]);for(u=[[s,f],[d,f],[d,v],[s,v]],c=r.halfSample?2:1,a=h.b.invert(a,a),o=0;o<4;o++)h.c.transformMat2(u[o],u[o],a);for(o=0;o<4;o++)h.c.scale(u[o],u[o],c);return u}function M(t,e){l.subImageAsCopy(a,Object(p.h)(t,e)),b.skeletonize()}function C(t,e,n,r){var o,i,u,c,s=[],f=[],l=Math.ceil(d.x/3);if(t.length>=2){for(o=0;ol&&s.push(t[o]);if(s.length>=2){for(u=function(t){var e=Object(p.b)(t,.9),n=Object(p.j)(e,1,(function(t){return t.getPoints().length})),r=[],o=[];if(1===n.length){r=n[0].item.getPoints();for(var i=0;i1&&u.length>=s.length/4*3&&u.length>t.length/4&&(i/=u.length,c={index:e[1]*O.x+e[0],pos:{x:n,y:r},box:[h.c.clone([n,r]),h.c.clone([n+a.size.x,r]),h.c.clone([n+a.size.x,r+a.size.y]),h.c.clone([n,r+a.size.y])],moments:u,rad:i,vec:h.c.clone([Math.cos(i),Math.sin(i)])},f.push(c))}}return f}e.a={init:function(e,n){r=n,_=e,function(){o=r.halfSample?new v.a({x:_.size.x/2|0,y:_.size.y/2|0}):_,d=Object(p.a)(r.patchSize,o.size),O.x=o.size.x/d.x|0,O.y=o.size.y/d.y|0,l=new v.a(o.size,void 0,Uint8Array,!1),u=new v.a(d,void 0,Array,!0);var e=new ArrayBuffer(65536);a=new v.a(d,new Uint8Array(e,0,d.x*d.y)),i=new v.a(d,new Uint8Array(e,d.x*d.y*3,d.x*d.y),void 0,!0),b=Object(m.a)(\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:t,{size:d.x},e),f=new v.a({x:o.size.x/a.size.x|0,y:o.size.y/a.size.y|0},void 0,Array,!0),c=new v.a(f.size,void 0,void 0,!0),s=new v.a(f.size,void 0,Int32Array,!0)}(),function(){if(!r.useWorker&&\"undefined\"!=typeof document){w.dom.binary=document.createElement(\"canvas\"),w.dom.binary.className=\"binaryBuffer\";var t=!!r.willReadFrequently;console.warn(\"* initCanvas willReadFrequently\",t,r),w.ctx.binary=w.dom.binary.getContext(\"2d\",{willReadFrequently:t}),w.dom.binary.width=l.size.x,w.dom.binary.height=l.size.y}}()},locate:function(){r.halfSample&&Object(p.f)(_,o),Object(p.i)(o,l),l.zeroBorder();var t=function(){var t,e,n,r,o,c,s=[];for(t=0;t.95&&a(i):s.data[i]=Number.MAX_VALUE}for(y.a.init(c.data,0),y.a.init(s.data,0),y.a.init(f.data,null),e=0;e0&&r[s.data[n]-1]++;return(r=r.map((function(t,e){return{val:t,label:e+1}}))).sort((function(t,e){return e.val-t.val})),r.filter((function(t){return t.val>=5}))}(e);return 0===n.length?null:function(t,e){var n,r,o,i,a=[],u=[];for(n=0;n-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}},function(t,e){function n(e,r){return t.exports=n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},t.exports.__esModule=!0,t.exports.default=t.exports,n(e,r)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(22),o=n(20);t.exports=function(t){return\"symbol\"==typeof t||o(t)&&\"[object Symbol]\"==r(t)}},function(t,e,n){var r=n(41);t.exports=function(t){if(\"string\"==typeof t||r(t))return t;var e=t+\"\";return\"0\"==e&&1/t==-1/0?\"-0\":e}},function(t,e,n){var r=n(34)(n(19),\"Map\");t.exports=r},function(t,e,n){(function(e){var n=\"object\"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(this,n(45))},function(t,e){var n;n=function(){return this}();try{n=n||new Function(\"return this\")()}catch(t){\"object\"==typeof window&&(n=window)}t.exports=n},function(t,e,n){var r=n(92),o=n(99),i=n(101),a=n(102),u=n(103);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++et.length)&&(e=t.length);for(var n=0,r=new Array(e);n0){a=a-1|0;r[n+a|0]=(r[t+a|0]|0)-(r[e+a|0]|0)|0}}function c(t,e,n){t|=0;e|=0;n|=0;var a=0;a=i(o,o)|0;while((a|0)>0){a=a-1|0;r[n+a|0]=r[t+a|0]|0|(r[e+a|0]|0)|0}}function s(t){t|=0;var e=0;var n=0;n=i(o,o)|0;while((n|0)>0){n=n-1|0;e=(e|0)+(r[t+n|0]|0)|0}return e|0}function f(t,e){t|=0;e|=0;var n=0;n=i(o,o)|0;while((n|0)>0){n=n-1|0;r[t+n|0]=e}}function l(t,e){t|=0;e|=0;var n=0;var i=0;var a=0;var u=0;var c=0;var s=0;var f=0;var l=0;for(n=1;(n|0)<(o-1|0);n=n+1|0){l=l+o|0;for(i=1;(i|0)<(o-1|0);i=i+1|0){u=l-o|0;c=l+o|0;s=i-1|0;f=i+1|0;a=(r[t+u+s|0]|0)+(r[t+u+f|0]|0)+(r[t+l+i|0]|0)+(r[t+c+s|0]|0)+(r[t+c+f|0]|0)|0;if((a|0)>(0|0)){r[e+l+i|0]=1}else{r[e+l+i|0]=0}}}}function d(t,e){t|=0;e|=0;var n=0;n=i(o,o)|0;while((n|0)>0){n=n-1|0;r[e+n|0]=r[t+n|0]|0}}function h(t){t|=0;var e=0;var n=0;for(e=0;(e|0)<(o-1|0);e=e+1|0){r[t+e|0]=0;r[t+n|0]=0;n=n+o-1|0;r[t+n|0]=0;n=n+1|0}for(e=0;(e|0)<(o|0);e=e+1|0){r[t+n|0]=0;n=n+1|0}}function v(){var t=0;var e=0;var n=0;var r=0;var v=0;var p=0;e=i(o,o)|0;n=e+e|0;r=n+e|0;f(r,0);h(t);do{a(t,e);l(e,n);u(t,n,n);c(r,n,r);d(e,t);v=s(t)|0;p=(v|0)==0|0}while(!p)}return{skeletonize:v}}},,,,,,,function(t,e,n){t.exports=n(166)},function(t,e,n){var r=n(74),o=n(47),i=n(104),a=n(106),u=n(14),c=n(55),s=n(53);t.exports=function t(e,n,f,l,d){e!==n&&i(n,(function(i,c){if(d||(d=new r),u(i))a(e,n,c,f,t,l,d);else{var h=l?l(s(e,c),i,c+\"\",e,n,d):void 0;void 0===h&&(h=i),o(e,c,h)}}),c)}},function(t,e,n){var r=n(24),o=n(80),i=n(81),a=n(82),u=n(83),c=n(84);function s(t){var e=this.__data__=new r(t);this.size=e.size}s.prototype.clear=o,s.prototype.delete=i,s.prototype.get=a,s.prototype.has=u,s.prototype.set=c,t.exports=s},function(t,e){t.exports=function(){this.__data__=[],this.size=0}},function(t,e,n){var r=n(25),o=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0)&&(n==e.length-1?e.pop():o.call(e,n,1),--this.size,!0)}},function(t,e,n){var r=n(25);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},function(t,e,n){var r=n(25);t.exports=function(t){return r(this.__data__,t)>-1}},function(t,e,n){var r=n(25);t.exports=function(t,e){var n=this.__data__,o=r(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},function(t,e,n){var r=n(24);t.exports=function(){this.__data__=new r,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var r=n(24),o=n(43),i=n(46);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(t,e),this.size=n.size,this}},function(t,e,n){var r=n(35),o=n(88),i=n(14),a=n(90),u=/^\\[object .+?Constructor\\]$/,c=Function.prototype,s=Object.prototype,f=c.toString,l=s.hasOwnProperty,d=RegExp(\"^\"+f.call(l).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");t.exports=function(t){return!(!i(t)||o(t))&&(r(t)?d:u).test(a(t))}},function(t,e,n){var r=n(27),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,u=r?r.toStringTag:void 0;t.exports=function(t){var e=i.call(t,u),n=t[u];try{t[u]=void 0;var r=!0}catch(t){}var o=a.call(t);return r&&(e?t[u]=n:delete t[u]),o}},function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,e,n){var r,o=n(89),i=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+r:\"\";t.exports=function(t){return!!i&&i in t}},function(t,e,n){var r=n(19)[\"__core-js_shared__\"];t.exports=r},function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+\"\"}catch(t){}}return\"\"}},function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},function(t,e,n){var r=n(93),o=n(24),i=n(43);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},function(t,e,n){var r=n(94),o=n(95),i=n(96),a=n(97),u=n(98);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e1?n[i-1]:void 0,u=i>2?n[2]:void 0;for(a=t.length>3&&\"function\"==typeof a?(i--,a):void 0,u&&o(n[0],n[1],u)&&(a=i<3?void 0:a,i=1),e=Object(e);++r0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},function(t,e,n){var r=n(26),o=n(38),i=n(31),a=n(14);t.exports=function(t,e,n){if(!a(n))return!1;var u=typeof e;return!!(\"number\"==u?o(n)&&i(e,n.length):\"string\"==u&&e in n)&&r(n[e],t)}},function(t,e){\"undefined\"!=typeof window&&(window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)})),\"function\"!=typeof Math.imul&&(Math.imul=function(t,e){var n=65535&t,r=65535&e;return n*r+((t>>>16&65535)*r+n*(e>>>16&65535)<<16>>>0)|0}),\"function\"!=typeof Object.assign&&(Object.assign=function(t){\"use strict\";if(null===t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),n=1;n=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return n(\"end\");if(o.tryLoc<=this.prev){var u=i.call(o,\"catchLoc\"),c=i.call(o,\"finallyLoc\");if(u&&c){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,\"finallyLoc\")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if(\"throw\"===r.type){var o=r.arg;E(n)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),v}},e}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(2);t.exports=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=r(t)););return t},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(60);t.exports=function(t){if(Array.isArray(t))return r(t)},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){t.exports=function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){t.exports=function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(145),o=n(155);t.exports=function(t,e){return r(t,e,(function(e,n){return o(t,n)}))}},function(t,e,n){var r=n(146),o=n(154),i=n(32);t.exports=function(t,e,n){for(var a=-1,u=e.length,c={};++a0&&i(f)?n>1?t(f,n-1,i,a,u):r(u,f):a||(u[u.length]=f)}return u}},function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,o=t.length;++n1&&void 0!==arguments[1]?arguments[1]:0,n=e;n2&&void 0!==arguments[2]?arguments[2]:this.SINGLE_CODE_ERROR||1,r=0,o=0,i=0,a=0,u=0,c=0,s=0,f=0;fn)return Number.MAX_VALUE;r+=o}return r/a}},{key:\"_nextSet\",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=e;n1&&(t[n[r]]=o)}},{key:\"decodePattern\",value:function(t){this._row=t;var e=this.decode();return null===e?(this._row.reverse(),(e=this.decode())&&(e.direction=o.Reverse,e.start=this._row.length-e.start,e.end=this._row.length-e.end)):e.direction=o.Forward,e&&(e.format=this.FORMAT),e}},{key:\"_matchRange\",value:function(t,e,n){var r;for(r=t=t<0?0:t;r0&&void 0!==arguments[0]?arguments[0]:this._nextUnset(this._row),e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._row.length,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=[],o=0;r[o]=0;for(var i=t;i2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=[],i=0,a={error:Number.MAX_VALUE,code:-1,start:0,end:0},u=0,c=0,s=this.AVG_CODE_ERROR;e||(e=this._nextSet(this._row));for(var f=0;f=0&&this._matchRange(r,t.start,0))return t;e=t.end,t=null}return t}},{key:\"_verifyTrailingWhitespace\",value:function(t){var e=t.end+(t.end-t.start)/2;return er&&(r=o),othis._counters.length)return-1;for(var n=this._computeAlternatingThreshold(t,e),r=this._computeAlternatingThreshold(t+1,e),o=64,i=0,a=0,u=0;u<7;u++)i=0==(1&u)?n:r,this._counters[t+u]>i&&(a|=o),o>>=1;return a}},{key:\"_isStartEnd\",value:function(t){for(var e=0;e=this._calculatePatternLength(t)/2)&&(e+8>=this._counters.length||this._counters[e+7]>=this._calculatePatternLength(e)/2)}},{key:\"_charToPattern\",value:function(t){for(var e=t.charCodeAt(0),n=0;n=0;a--){var u=2==(1&a)?r.bar:r.space,c=1==(1&n)?u.wide:u.narrow;c.size+=this._counters[o+a],c.counts++,n>>=1}o+=8}return[\"space\",\"bar\"].forEach((function(t){var e=r[t];e.wide.min=Math.floor((e.narrow.size/e.narrow.counts+e.wide.size/e.wide.counts)/2),e.narrow.max=Math.ceil(e.wide.min),e.wide.max=Math.ceil((2*e.wide.size+1.5)/e.wide.counts)})),r}},{key:\"_validateResult\",value:function(t,e){for(var n,r=this._thresholdResultPattern(t,e),o=e,i=0;i=0;a--){var u=0==(1&a)?r.bar:r.space,c=1==(1&n)?u.wide:u.narrow,s=this._counters[o+a];if(sc.max)return!1;n>>=1}o+=8}return!0}},{key:\"decode\",value:function(t,e){if(this._counters=this._fillCounters(),!(e=this._findStart()))return null;var n,r=e.startCounter,o=[];do{if((n=this._toPattern(r))<0)return null;var i=this._patternToChar(n);if(null===i)return null;if(o.push(i),r+=8,o.length>1&&this._isStartEnd(n))break}while(rthis._counters.length?this._counters.length:r;var a=e.start+this._sumCounters(e.startCounter,r-8);return{code:o.join(\"\"),start:e.start,end:a,startInfo:e,decodedCodes:o,format:this.FORMAT}}}]),n}(k);function W(t){var e=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return R()(this,n)}}var q=function(t){w()(n,t);var e=W(n);function n(){var t;y()(this,n);for(var r=arguments.length,o=new Array(r),i=0;ithis.AVG_CODE_ERROR?null:(this.CODE_PATTERN[n.code]&&(n.correction.bar=this.calculateCorrection(this.CODE_PATTERN[n.code],r,this.MODULE_INDICES.bar),n.correction.space=this.calculateCorrection(this.CODE_PATTERN[n.code],r,this.MODULE_INDICES.space)),n)}r[++a]=1,i=!i}return null}},{key:\"_correct\",value:function(t,e){this._correctBars(t,e.bar,this.MODULE_INDICES.bar),this._correctBars(t,e.space,this.MODULE_INDICES.space)}},{key:\"_findStart\",value:function(){for(var t=[0,0,0,0,0,0],e=this._nextSet(this._row),n={error:Number.MAX_VALUE,code:-1,start:0,end:0,correction:{bar:1,space:1}},r=!1,o=0,i=e;i3;){n=this._findNextWidth(t,n),r=0;for(var i=0,a=0;an&&(i|=1<0;u++)if(t[u]>n&&(r--,2*t[u]>=o))return-1;return i}}return-1}},{key:\"_findNextWidth\",value:function(t,e){for(var n=Number.MAX_VALUE,r=0;re&&(n=t[r]);return n}},{key:\"_patternToChar\",value:function(t){for(var e=0;e<$.length;e++)if($[e]===t)return String.fromCharCode(Y[e]);return null}},{key:\"_verifyTrailingWhitespace\",value:function(t,e,n){var r=S.a.sum(n);return 3*(e-t-r)>=r}},{key:\"decode\",value:function(){var t=new Uint16Array([0,0,0,0,0,0,0,0,0]),e=[],n=this._findStart();if(!n)return null;var r,o,i=this._nextSet(this._row,n.end);do{t=this._toCounters(i,t);var a=this._toPattern(t);if(a<0)return null;if(null===(r=this._patternToChar(a)))return null;e.push(r),o=i,i+=S.a.sum(t),i=this._nextSet(this._row,i)}while(\"*\"!==r);return e.pop(),e.length&&this._verifyTrailingWhitespace(o,i,t)?{code:e.join(\"\"),start:n.start,end:i,startInfo:n,decodedCodes:e,format:this.FORMAT}:null}}]),n}(k);function K(t){var e=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return R()(this,n)}}var J=/[AEIO]/g,tt=function(t){w()(n,t);var e=K(n);function n(){var t;y()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i4)return-1;if(0==(1&o))for(var a=0;a=\"a\"&&o<=\"d\"){if(r>e-2)return null;var i=t[++r],a=i.charCodeAt(0),u=void 0;switch(o){case\"a\":if(!(i>=\"A\"&&i<=\"Z\"))return null;u=String.fromCharCode(a-64);break;case\"b\":if(i>=\"A\"&&i<=\"E\")u=String.fromCharCode(a-38);else if(i>=\"F\"&&i<=\"J\")u=String.fromCharCode(a-11);else if(i>=\"K\"&&i<=\"O\")u=String.fromCharCode(a+16);else if(i>=\"P\"&&i<=\"S\")u=String.fromCharCode(a+43);else{if(!(i>=\"T\"&&i<=\"Z\"))return null;u=String.fromCharCode(127)}break;case\"c\":if(i>=\"A\"&&i<=\"O\")u=String.fromCharCode(a-32);else{if(\"Z\"!==i)return null;u=\":\"}break;case\"d\":if(!(i>=\"A\"&&i<=\"Z\"))return null;u=String.fromCharCode(a+32);break;default:return console.warn(\"* code_93_reader _decodeExtended hit default case, this may be an error\",u),null}n.push(u)}else n.push(o)}return n}},{key:\"_matchCheckChar\",value:function(t,e,n){var r=t.slice(0,e),o=r.length,i=r.reduce((function(t,e,r){return t+((-1*r+(o-1))%n+1)*at.indexOf(e.charCodeAt(0))}),0);return at[i%47]===t[e].charCodeAt(0)}},{key:\"_verifyChecksums\",value:function(t){return this._matchCheckChar(t,t.length-2,20)&&this._matchCheckChar(t,t.length-1,15)}},{key:\"decode\",value:function(t,e){if(!(e=this._findStart()))return null;var n,r,o=new Uint16Array([0,0,0,0,0,0]),i=[],a=this._nextSet(this._row,e.end);do{o=this._toCounters(a,o);var u=this._toPattern(o);if(u<0)return null;if(null===(r=this._patternToChar(u)))return null;i.push(r),n=a,a+=S.a.sum(o),a=this._nextSet(this._row,a)}while(\"*\"!==r);return i.pop(),i.length&&this._verifyEnd(n,a)&&this._verifyChecksums(i)?(i=i.slice(0,i.length-2),null===(i=this._decodeExtended(i))?null:{code:i.join(\"\"),start:e.start,end:a,startInfo:e,decodedCodes:i,format:this.FORMAT}):null}}]),n}(k);function st(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ft(t){for(var e=1;e.48?null:o}n[++a]=1,i=!i}return null}},{key:\"_findStart\",value:function(){for(var t=this._nextSet(this._row),e=null;!e;){if(!(e=this._findPattern(dt,t,!1,!0)))return null;var n=e.start-(e.end-e.start);if(n>=0&&this._matchRange(n,e.start,0))return e;t=e.end,e=null}return null}},{key:\"_calculateFirstDigit\",value:function(t){for(var e=0;e=10?(r.code-=10,o|=1<<5-i):o|=0<<5-i,e.push(r.code),n.push(r)}var a=this._calculateFirstDigit(o);if(null===a)return null;e.unshift(a);var u=this._findPattern(ht,r.end,!0,!1);if(null===u||!u.end)return null;n.push(u);for(var c=0;c<6;c++){if(!(u=this._decodeCode(u.end,10)))return null;n.push(u),e.push(u.code)}return u}},{key:\"_verifyTrailingWhitespace\",value:function(t){var e=t.end+(t.end-t.start);return e=0;n-=2)e+=t[n];e*=3;for(var r=t.length-1;r>=0;r-=2)e+=t[r];return e%10==0}},{key:\"_decodeExtensions\",value:function(t){var e=this._nextSet(this._row,t),n=this._findPattern(vt,e,!1,!1);if(null===n)return null;for(var r=0;r0){var u=this._decodeExtensions(a.end);if(!u)return null;if(!u.decodedCodes)return null;var c=u.decodedCodes[u.decodedCodes.length-1],s={start:c.start+((c.end-c.start)/2|0),end:c.end};if(!this._verifyTrailingWhitespace(s))return null;o={supplement:u,code:n.join(\"\")+u.code}}return ft(ft({code:n.join(\"\"),start:i.start,end:a.end,startInfo:i,decodedCodes:r},o),{},{format:this.FORMAT})}}]),n}(k);function xt(t){var e=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return R()(this,n)}}var mt=function(t){w()(n,t);var e=xt(n);function n(){var t;y()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i=10&&(n|=1<<1-c),1!==c&&(r=this._nextSet(this._row,u.end),r=this._nextUnset(this._row,r))}if(2!==i.length||parseInt(i.join(\"\"))%4!==n)return null;var s=this._findStart();return{code:i.join(\"\"),decodedCodes:a,end:u.end,format:this.FORMAT,startInfo:s,start:s.start}}}]),n}(gt);function _t(t){var e=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return R()(this,n)}}var bt=[24,20,18,17,12,6,3,10,9,5];var wt=function(t){w()(n,t);var e=_t(n);function n(){var t;y()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i=10&&(n|=1<<4-c),4!==c&&(r=this._nextSet(this._row,i.end),r=this._nextUnset(this._row,r))}if(5!==a.length)return null;if(function(t){for(var e=t.length,n=0,r=e-2;r>=0;r-=2)n+=t[r];n*=3;for(var o=e-1;o>=0;o-=2)n+=t[o];return(n*=3)%10}(a)!==function(t){for(var e=0;e<10;e++)if(t===bt[e])return e;return null}(n))return null;var s=this._findStart();return{code:a.join(\"\"),decodedCodes:u,end:i.end,format:this.FORMAT,startInfo:s,start:s.start}}}]),n}(gt);function Ot(t){var e=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return R()(this,n)}}var Rt=function(t){w()(n,t);var e=Ot(n);function n(){var t;y()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=new Array(t.length).fill(0),i=0,a={error:Number.MAX_VALUE,start:0,end:0},u=this.AVG_CODE_ERROR;n=n||!1,r=r||!1,e||(e=this._nextSet(this._row));for(var c=e;c=0&&this._matchRange(t,n.start,0))return n;e=n.end,n=null}return null}},{key:\"_verifyTrailingWhitespace\",value:function(t){var e=t.end+(t.end-t.start)/2;return e=10&&(r.code=r.code-10,o|=1<<5-i),e.push(r.code),n.push(r)}return this._determineParity(o,e)?r:null}},{key:\"_determineParity\",value:function(t,e){for(var n=0;nMath.abs(f-c),h=[],v=t.data,p=t.size.x,y=255,g=0;function x(t,e){u=v[e*p+t],y=ug?u:g,h.push(u)}d&&(i=c,c=s,s=i,i=f,f=l,l=i),c>f&&(i=c,c=f,f=i,i=s,s=l,l=i);var m=f-c,_=Math.abs(l-s);r=m/2|0,o=s;var b=sf?Dt.UP:Dt.DOWN,l.push({pos:0,val:s[0]}),i=0;id&&s[i+1]>.5*f?Dt.UP:r)&&(l.push({pos:i,val:s[i]}),r=o);for(l.push({pos:s.length,val:s[s.length-1]}),a=l[0].pos;af?0:1;for(i=1;il[i].val?l[i].val+(l[i+1].val-l[i].val)/3*2|0:l[i+1].val+(l[i].val-l[i+1].val)/3|0,a=l[i].pos;ad?0:1;return{line:s,threshold:d}},Tt.debug={printFrequency:function(t,e){var n,r=e.getContext(\"2d\");for(e.width=t.length,e.height=256,r.beginPath(),r.strokeStyle=\"blue\",n=0;n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function zt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&(!e.inImageWithBorder(t[0])||!e.inImageWithBorder(t[1]));)o(-(r-=Math.ceil(r/2)));return t}(r,u,Math.floor(.1*a)))?null:(null===(o=i(r))&&(o=function(t,e,n){var r,o,a,u=Math.sqrt(Math.pow(t[1][0]-t[0][0],2)+Math.pow(t[1][1]-t[0][1],2)),c=null,s=Math.sin(n),f=Math.cos(n);for(r=1;r<16&&null===c;r++)a={y:(o=u/16*r*(r%2==0?-1:1))*s,x:o*f},e[0].y+=a.x,e[0].x-=a.y,e[1].y+=a.x,e[1].x-=a.y,c=i(e);return c}(t,r,u)),null===o?null:{codeResult:o.codeResult,line:r,angle:u,pattern:o.barcodeLine.line,threshold:o.barcodeLine.threshold})}return o(),{decodeFromBoundingBox:function(t){return s(t)},decodeFromBoundingBoxes:function(e){var n,r,o=[],i=t.multiple;for(n=0;n2&&void 0!==arguments[2]&&arguments[2];r(t,{callback:e,async:n,once:!0})},unsubscribe:function(n,r){if(n){var o=e(n);o.subscribers=o&&r?o.subscribers.filter((function(t){return t.callback!==r})):[]}else t={}}}}(),Ft=n(62),Bt=n.n(Ft),Wt=n(63);function qt(t){var e=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return R()(this,n)}}var Vt,Gt=function(t){w()(n,t);var e=qt(n);function n(t,r){var o;return y()(this,n),o=e.call(this,t),A()(_()(o),\"code\",void 0),o.code=r,Object.setPrototypeOf(_()(o),n.prototype),o}return x()(n)}(n.n(Wt)()(Error)),Ht=\"This may mean that the user has declined camera access, or the browser does not support media APIs. If you are running in iOS, you must use Safari.\";function Xt(){try{return navigator.mediaDevices.enumerateDevices()}catch(e){var t=new Gt(\"enumerateDevices is not defined. \".concat(Ht),-1);return Promise.reject(t)}}function Qt(t){try{return navigator.mediaDevices.getUserMedia(t)}catch(t){var e=new Gt(\"getUserMedia is not defined. \".concat(Ht),-1);return Promise.reject(e)}}function Yt(t){return new Promise((function(e,n){var r=10;!function o(){r>0?t.videoWidth>10&&t.videoHeight>10?e():window.setTimeout(o,500):n(new Gt(\"Unable to play video stream. Is webcam working?\",-1)),r--}()}))}function $t(t,e){return Zt.apply(this,arguments)}function Zt(){return(Zt=l()(h.a.mark((function t(e,n){var r;return h.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Qt(n);case 2:if(r=t.sent,Vt=r,!e){t.next=11;break}return e.setAttribute(\"autoplay\",\"true\"),e.setAttribute(\"muted\",\"true\"),e.setAttribute(\"playsinline\",\"true\"),e.srcObject=r,e.addEventListener(\"loadedmetadata\",(function(){e.play().catch((function(t){console.warn(\"* Error while trying to play video stream:\",t)}))})),t.abrupt(\"return\",Yt(e));case 11:return t.abrupt(\"return\",Promise.resolve());case 12:case\"end\":return t.stop()}}),t)})))).apply(this,arguments)}function Kt(t){var e=Bt()(t,[\"width\",\"height\",\"facingMode\",\"aspectRatio\",\"deviceId\"]);return void 0!==t.minAspectRatio&&t.minAspectRatio>0&&(e.aspectRatio=t.minAspectRatio,console.log(\"WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead\")),void 0!==t.facing&&(e.facingMode=t.facing,console.log(\"WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'\")),e}function Jt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=Kt(t);return e&&e.deviceId&&e.facingMode&&delete e.facingMode,Promise.resolve({audio:!1,video:e})}function te(){return(te=l()(h.a.mark((function t(){var e;return h.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Xt();case 2:return e=t.sent,t.abrupt(\"return\",e.filter((function(t){return\"videoinput\"===t.kind})));case 4:case\"end\":return t.stop()}}),t)})))).apply(this,arguments)}function ee(){if(!Vt)return null;var t=Vt.getVideoTracks();return t&&null!=t&&t.length?t[0]:null}var ne={requestedVideoElement:null,request:function(t,e){return l()(h.a.mark((function n(){var r;return h.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return ne.requestedVideoElement=t,n.next=3,Jt(e);case 3:return r=n.sent,n.abrupt(\"return\",$t(t,r));case 5:case\"end\":return n.stop()}}),n)})))()},release:function(){var t=Vt&&Vt.getVideoTracks();return null!==ne.requestedVideoElement&&ne.requestedVideoElement.pause(),new Promise((function(e){setTimeout((function(){t&&t.length&&t.forEach((function(t){return t.stop()})),Vt=null,ne.requestedVideoElement=null,e()}),0)}))},enumerateVideoDevices:function(){return te.apply(this,arguments)},getActiveStreamLabel:function(){var t=ee();return t?t.label:\"\"},getActiveTrack:ee,disableTorch:function(){return l()(h.a.mark((function t(){var e;return h.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e=ee())){t.next=11;break}return t.prev=2,t.next=5,e.applyConstraints({advanced:[{torch:!1}]});case 5:t.next=11;break;case 7:throw t.prev=7,t.t0=t.catch(2),t.t0 instanceof OverconstrainedError&&console.warn(\"quagga2/CameraAccess: Torch not supported on this device\"),t.t0;case 11:case\"end\":return t.stop()}}),t,null,[[2,7]])})))()},enableTorch:function(){return l()(h.a.mark((function t(){var e;return h.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e=ee())){t.next=11;break}return t.prev=2,t.next=5,e.applyConstraints({advanced:[{torch:!0}]});case 5:t.next=11;break;case 7:throw t.prev=7,t.t0=t.catch(2),t.t0 instanceof OverconstrainedError&&console.warn(\"quagga2/CameraAccess: Torch not supported on this device\"),t.t0;case 11:case\"end\":return t.stop()}}),t,null,[[2,7]])})))()}},re=ne;var oe={create:function(t){var e,n=document.createElement(\"canvas\"),r=n.getContext(\"2d\",{willReadFrequently:!!t.willReadFrequently}),o=[],i=null!==(e=t.capacity)&&void 0!==e?e:20,a=!0===t.capture;function u(e){return!!i&&e&&!function(t,e){return e&&e.some((function(e){return Object.keys(e).every((function(n){return e[n]===t[n]}))}))}(e,t.blacklist)&&function(t,e){return\"function\"!=typeof e||e(t)}(e,t.filter)}return{addResult:function(t,e,c){var s={};u(c)&&(i--,s.codeResult=c,a&&(n.width=e.x,n.height=e.y,v.a.drawImage(t,e,r),s.frame=n.toDataURL()),o.push(s))},getResults:function(){return o}}}},ie={inputStream:{name:\"Live\",type:\"LiveStream\",constraints:{width:640,height:480,facingMode:\"environment\"},area:{top:\"0%\",right:\"0%\",left:\"0%\",bottom:\"0%\"},singleChannel:!1},locate:!0,numOfWorkers:4,decoder:{readers:[\"code_128_reader\"]},locator:{halfSample:!0,patchSize:\"medium\"}},ae=n(5),ue=n(10),ce=Math.PI/180;var se={create:function(t,e){var n,r={},o=t.getConfig(),i=(Object(ue.h)(t.getRealWidth(),t.getRealHeight()),t.getCanvasSize()),a=Object(ue.h)(t.getWidth(),t.getHeight()),u=t.getTopRight(),c=u.x,s=u.y,f=null,l=null,d=o.willReadFrequently;return(n=e||document.createElement(\"canvas\")).width=i.x,n.height=i.y,console.warn(\"*** frame_grabber_browser: willReadFrequently=\",d,\"canvas=\",n),f=n.getContext(\"2d\",{willReadFrequently:!!d}),l=new Uint8Array(a.x*a.y),r.attachData=function(t){l=t},r.getData=function(){return l},r.grab=function(){var e,r=o.halfSample,u=t.getFrame(),d=u,h=0;if(d){if(function(t,e){t.width!==e.x&&(t.width=e.x),t.height!==e.y&&(t.height=e.y)}(n,i),\"ImageStream\"===o.type&&(d=u.img,u.tags&&u.tags.orientation))switch(u.tags.orientation){case 6:h=90*ce;break;case 8:h=-90*ce}return 0!==h?(f.translate(i.x/2,i.y/2),f.rotate(h),f.drawImage(d,-i.y/2,-i.x/2,i.y,i.x),f.rotate(-h),f.translate(-i.x/2,-i.y/2)):f.drawImage(d,0,0,i.x,i.y),e=f.getImageData(c,s,a.x,a.y).data,r?Object(ue.e)(e,a,l):Object(ue.c)(e,l,o),!0}return!1},r.getSize=function(){return a},r}},fe=se,le={274:\"orientation\"},de=Object.keys(le).map((function(t){return le[t]}));function he(t){return new Promise((function(e){var n=new FileReader;n.onload=function(t){return e(t.target.result)},n.readAsArrayBuffer(t)}))}function ve(t){return new Promise((function(e,n){var r=new XMLHttpRequest;r.open(\"GET\",t,!0),r.responseType=\"blob\",r.onreadystatechange=function(){r.readyState!==XMLHttpRequest.DONE||200!==r.status&&0!==r.status||e(this.response)},r.onerror=n,r.send()}))}function pe(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:de,n=new DataView(t),r=t.byteLength,o=e.reduce((function(t,e){var n=Object.keys(le).filter((function(t){return le[t]===e}))[0];return n&&(t[n]=e),t}),{}),i=2;if(255!==n.getUint8(0)||216!==n.getUint8(1))return!1;for(;i1&&void 0!==arguments[1]?arguments[1]:de;return/^blob:/i.test(t)?ve(t).then(he).then((function(t){return pe(t,e)})):Promise.resolve(null)}(t,[\"orientation\"]).then((function(t){s[0].tags=t,e(s)})).catch((function(t){console.log(t),e(s)})):e(s))},i=0;i0&&n.forEach((function(n){t.removeEventListener(e,n)}))}))},trigger:function(o,a){var s,f,l,d,h,v=i[o];if(\"canrecord\"===o&&(d=t.videoWidth,h=t.videoHeight,e=null!==(f=r)&&void 0!==f&&f.size?d/h>1?r.size:Math.floor(d/h*r.size):d,n=null!==(l=r)&&void 0!==l&&l.size?d/h>1?Math.floor(h/d*r.size):r.size:h,u.x=e,u.y=n),v&&v.length>0)for(s=0;s0)for(n=0;n1?n.size:Math.floor(r/o*n.size):r,e=null!==(f=n)&&void 0!==f&&f.size?r/o>1?Math.floor(o/r*n.size):n.size:o,p.x=t,p.y=e,u=!0,i=0,setTimeout((function(){y(\"canrecord\",[])}),0)}),1,s,null===(l=n)||void 0===l?void 0:l.sequence)},ended:function(){return l},setAttribute:function(){},getConfig:function(){return n},pause:function(){a=!0},play:function(){a=!1},setCurrentTime:function(t){i=t},addEventListener:function(t,e){-1!==d.indexOf(t)&&(h[t]||(h[t]=[]),h[t].push(e))},clearEventHandlers:function(){Object.keys(h).forEach((function(t){return delete h[t]}))},setTopRight:function(t){v.x=t.x,v.y=t.y},getTopRight:function(){return v},setCanvasSize:function(t){p.x=t.x,p.y=t.y},getCanvasSize:function(){return p},getFrame:function(){var t,e;if(!u)return null;a||(t=null===(e=c)||void 0===e?void 0:e[i],i=t&&r&&r()};if(e)for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:\"LiveStream\",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;switch(t){case\"VideoStream\":var r=document.createElement(\"video\");return{video:r,inputStream:n.createVideoStream(r)};case\"ImageStream\":return{inputStream:n.createImageStream()};case\"LiveStream\":var o=null;return e&&((o=e.querySelector(\"video\"))||(o=document.createElement(\"video\"),e.appendChild(o))),{video:o,inputStream:n.createLiveStream(o)};default:return console.error(\"* setupInputStream invalid type \".concat(t)),{video:null,inputStream:null}}}(n,this.getViewPort(),we),i=o.video,a=o.inputStream;\"LiveStream\"===n&&i&&re.request(i,r).then((function(){return a.trigger(\"canrecord\")})).catch((function(e){return t(e)})),a&&(a.setAttribute(\"preload\",\"auto\"),a.setInputStream(this.context.config.inputStream),a.addEventListener(\"canrecord\",this.canRecord.bind(void 0,t))),this.context.inputStream=a}}},{key:\"getBoundingBoxes\",value:function(){var t;return null!==(t=this.context.config)&&void 0!==t&&t.locate?Oe.a.locate():[[ae.c.clone(this.context.boxSize[0]),ae.c.clone(this.context.boxSize[1]),ae.c.clone(this.context.boxSize[2]),ae.c.clone(this.context.boxSize[3])]]}},{key:\"transformResult\",value:function(t){var e=this,n=this.context.inputStream.getTopRight(),r=n.x,o=n.y;if((0!==r||0!==o)&&(t.barcodes&&t.barcodes.forEach((function(t){return e.transformResult(t)})),t.line&&2===t.line.length&&function(t,e,n){t[0].x+=e,t[0].y+=n,t[1].x+=e,t[1].y+=n}(t.line,r,o),t.box&&Ue(t.box,r,o),t.boxes&&t.boxes.length>0))for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1?arguments[1]:void 0,n=t;t&&this.context.onUIThread&&(this.transformResult(t),this.addResult(t,e),n=t.barcodes||t),Nt.publish(\"processed\",n),this.hasCodeResult(t)&&Nt.publish(\"detected\",n)}},{key:\"locateAndDecode\",value:(n=l()(h.a.mark((function t(){var e,n,r,o,i;return h.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e=this.getBoundingBoxes())){t.next=12;break}return t.next=4,this.context.decoder.decodeFromBoundingBoxes(e);case 4:if(t.t0=t.sent,t.t0){t.next=7;break}t.t0={};case 7:(r=t.t0).boxes=e,this.publishResult(r,null===(n=this.context.inputImageWrapper)||void 0===n?void 0:n.data),t.next=16;break;case 12:return t.next=14,this.context.decoder.decodeFromImage(this.context.inputImageWrapper);case 14:(o=t.sent)?this.publishResult(o,null===(i=this.context.inputImageWrapper)||void 0===i?void 0:i.data):this.publishResult();case 16:case\"end\":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:\"startContinuousUpdate\",value:function(){var t,e=this,n=null,r=1e3/((null===(t=this.context.config)||void 0===t?void 0:t.frequency)||60);this.context.stopped=!1;var o=this.context;!function t(i){n=n||i,o.stopped||(i>=n&&(n+=r,e.update()),window.requestAnimationFrame(t))}(performance.now())}},{key:\"start\",value:function(){var t,e;this.context.onUIThread&&\"LiveStream\"===(null===(t=this.context.config)||void 0===t||null===(e=t.inputStream)||void 0===e?void 0:e.type)?this.startContinuousUpdate():this.update()}},{key:\"stop\",value:(e=l()(h.a.mark((function t(){var e;return h.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.context.stopped=!0,ze(0),null===(e=this.context.config)||void 0===e||!e.inputStream||\"LiveStream\"!==this.context.config.inputStream.type){t.next=6;break}return t.next=5,re.release();case 5:this.context.inputStream.clearEventHandlers();case 6:case\"end\":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:\"setReaders\",value:function(t){this.context.decoder&&this.context.decoder.setReaders(t),function(t){Te.forEach((function(e){return e.worker.postMessage({cmd:\"setReaders\",readers:t})}))}(t)}},{key:\"registerReader\",value:function(t,e){Lt.registerReader(t,e),this.context.decoder&&this.context.decoder.registerReader(t,e),function(t,e){Te.forEach((function(n){return n.worker.postMessage({cmd:\"registerReader\",name:t,reader:e})}))}(t,e)}}]),t}(),Ne=new Le,Fe=Ne.context,Be={init:function(t,e,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ne;return e||(r=new Promise((function(t,n){e=function(e){e?n(e):t()}}))),o.context.config=c()({},ie,t),o.context.config.numOfWorkers>0&&(o.context.config.numOfWorkers=0),n?(o.context.onUIThread=!1,o.initializeData(n),e&&e()):o.initInputStream(e),r},start:function(){return Ne.start()},stop:function(){return Ne.stop()},pause:function(){Fe.stopped=!0},onDetected:function(t){t&&(\"function\"==typeof t||\"object\"===a()(t)&&t.callback)?Nt.subscribe(\"detected\",t):console.trace(\"* warning: Quagga.onDetected called with invalid callback, ignoring\")},offDetected:function(t){Nt.unsubscribe(\"detected\",t)},onProcessed:function(t){t&&(\"function\"==typeof t||\"object\"===a()(t)&&t.callback)?Nt.subscribe(\"processed\",t):console.trace(\"* warning: Quagga.onProcessed called with invalid callback, ignoring\")},offProcessed:function(t){Nt.unsubscribe(\"processed\",t)},setReaders:function(t){t?Ne.setReaders(t):console.trace(\"* warning: Quagga.setReaders called with no readers, ignoring\")},registerReader:function(t,e){t?e?Ne.registerReader(t,e):console.trace(\"* warning: Quagga.registerReader called with no reader, ignoring\"):console.trace(\"* warning: Quagga.registerReader called with no name, ignoring\")},registerResultCollector:function(t){t&&\"function\"==typeof t.addResult&&(Fe.resultCollector=t)},get canvas(){return Fe.canvasContainer},decodeSingle:function(t,e){var n=this,r=new Le;return(t=c()({inputStream:{type:\"ImageStream\",sequence:!1,size:800,src:t.src},numOfWorkers:1,locator:{halfSample:!1}},t)).numOfWorkers>0&&(t.numOfWorkers=0),t.numOfWorkers>0&&(\"undefined\"==typeof Blob||\"undefined\"==typeof Worker)&&(console.warn(\"* no Worker and/or Blob support - forcing numOfWorkers to 0\"),t.numOfWorkers=0),new Promise((function(o,i){try{n.init(t,(function(){Nt.once(\"processed\",(function(t){r.stop(),e&&e.call(null,t),o(t)}),!0),r.start()}),null,r)}catch(t){i(t)}}))},get default(){return Be},Readers:r,CameraAccess:re,ImageDebug:v.a,ImageWrapper:s.a,ResultCollector:oe};e.default=Be}]).default}));","/*!\n * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n * Copyright 2022 Fonticons, Inc.\n */\n(function () {\n 'use strict';\n\n var _WINDOW = {};\n var _DOCUMENT = {};\n\n try {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n } catch (e) {}\n\n var _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n var WINDOW = _WINDOW;\n var DOCUMENT = _DOCUMENT;\n var IS_BROWSER = !!WINDOW.document;\n var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\n var IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5;\n\n var NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\n var PRODUCTION = function () {\n try {\n return \"production\" === 'production';\n } catch (e) {\n return false;\n }\n }();\n var FAMILY_CLASSIC = 'classic';\n var FAMILY_SHARP = 'sharp';\n var FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];\n\n function familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get: function get(target, prop) {\n return prop in target ? target[prop] : target[FAMILY_CLASSIC];\n }\n });\n }\n var PREFIX_TO_STYLE = familyProxy((_familyProxy = {}, _defineProperty(_familyProxy, FAMILY_CLASSIC, {\n 'fa': 'solid',\n 'fas': 'solid',\n 'fa-solid': 'solid',\n 'far': 'regular',\n 'fa-regular': 'regular',\n 'fal': 'light',\n 'fa-light': 'light',\n 'fat': 'thin',\n 'fa-thin': 'thin',\n 'fad': 'duotone',\n 'fa-duotone': 'duotone',\n 'fab': 'brands',\n 'fa-brands': 'brands',\n 'fak': 'kit',\n 'fa-kit': 'kit'\n }), _defineProperty(_familyProxy, FAMILY_SHARP, {\n 'fa': 'solid',\n 'fass': 'solid',\n 'fa-solid': 'solid'\n }), _familyProxy));\n var STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'thin': 'fat',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n }), _defineProperty(_familyProxy2, FAMILY_SHARP, {\n 'solid': 'fass'\n }), _familyProxy2));\n var PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, {\n 'fab': 'fa-brands',\n 'fad': 'fa-duotone',\n 'fak': 'fa-kit',\n 'fal': 'fa-light',\n 'far': 'fa-regular',\n 'fas': 'fa-solid',\n 'fat': 'fa-thin'\n }), _defineProperty(_familyProxy3, FAMILY_SHARP, {\n 'fass': 'fa-solid'\n }), _familyProxy3));\n var LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, {\n 'fa-brands': 'fab',\n 'fa-duotone': 'fad',\n 'fa-kit': 'fak',\n 'fa-light': 'fal',\n 'fa-regular': 'far',\n 'fa-solid': 'fas',\n 'fa-thin': 'fat'\n }), _defineProperty(_familyProxy4, FAMILY_SHARP, {\n 'fa-solid': 'fass'\n }), _familyProxy4));\n // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\n var FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal',\n '100': 'fat'\n }), _defineProperty(_familyProxy5, FAMILY_SHARP, {\n '900': 'fass'\n }), _familyProxy5));\n var oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n var oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\n var DUOTONE_CLASSES = {\n GROUP: 'duotone-group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n };\n var prefixes = new Set();\n Object.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes));\n Object.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes));\n var RESERVED_CLASSES = [].concat(FAMILIES, _toConsumableArray(prefixes), ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', 'beat', 'border', 'fade', 'beat-fade', 'bounce', 'flip-both', 'flip-horizontal', 'flip-vertical', 'flip', 'fw', 'inverse', 'layers-counter', 'layers-text', 'layers', 'li', 'pull-left', 'pull-right', 'pulse', 'rotate-180', 'rotate-270', 'rotate-90', 'rotate-by', 'shake', 'spin-pulse', 'spin-reverse', 'spin', 'stack-1x', 'stack-2x', 'stack', 'ul', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY]).concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n })).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n }));\n\n function bunker(fn) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n fn.apply(void 0, args);\n } catch (e) {\n if (!PRODUCTION) {\n throw e;\n }\n }\n }\n\n var w = WINDOW || {};\n if (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\n if (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\n if (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\n if (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\n var namespace = w[NAMESPACE_IDENTIFIER];\n\n function normalizeIcons(icons) {\n return Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n }\n\n function defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = normalizeIcons(icons);\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n }\n\n var icons = {\n \"monero\": [496, 512, [], \"f3d0\", \"M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z\"],\n \"hooli\": [640, 512, [], \"f427\", \"M144.5 352l38.3.8c-13.2-4.6-26-10.2-38.3-16.8zm57.7-5.3v5.3l-19.4.8c36.5 12.5 69.9 14.2 94.7 7.2-19.9.2-45.8-2.6-75.3-13.3zm408.9-115.2c15.9 0 28.9-12.9 28.9-28.9s-12.9-24.5-28.9-24.5c-15.9 0-28.9 8.6-28.9 24.5s12.9 28.9 28.9 28.9zm-29 120.5H640V241.5h-57.9zm-73.7 0h57.9V156.7L508.4 184zm-31-119.4c-18.2-18.2-50.4-17.1-50.4-17.1s-32.3-1.1-50.4 17.1c-18.2 18.2-16.8 33.9-16.8 52.6s-1.4 34.3 16.8 52.5 50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.8-33.8 16.8-52.5-.1-18.8 1.3-34.5-16.8-52.6zm-39.8 71.9c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9zm-106.2-71.9c-18.2-18.2-50.4-17.1-50.4-17.1s-32.2-1.1-50.4 17.1c-1.9 1.9-3.7 3.9-5.3 6-38.2-29.6-72.5-46.5-102.1-61.1v-20.7l-22.5 10.6c-54.4-22.1-89-18.2-97.3.1 0 0-24.9 32.8 61.8 110.8V352h57.9v-28.6c-6.5-4.2-13-8.7-19.4-13.6-14.8-11.2-27.4-21.6-38.4-31.4v-31c13.1 14.7 30.5 31.4 53.4 50.3l4.5 3.6v-29.8c0-6.9 1.7-18.2 10.8-18.2s10.6 6.9 10.6 15V317c18 12.2 37.3 22.1 57.7 29.6v-93.9c0-18.7-13.4-37.4-40.6-37.4-15.8-.1-30.5 8.2-38.5 21.9v-54.3c41.9 20.9 83.9 46.5 99.9 58.3-10.2 14.6-9.3 28.1-9.3 43.7 0 18.7-1.4 34.3 16.8 52.5s50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.7-33.8 16.7-52.5 0-18.5 1.5-34.2-16.7-52.3zM65.2 184v63.3c-48.7-54.5-38.9-76-35.2-79.1 13.5-11.4 37.5-8 64.4 2.1zm226.5 120.5c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9z\"],\n \"yelp\": [384, 512, [], \"f1e9\", \"M42.9 240.32l99.62 48.61c19.2 9.4 16.2 37.51-4.5 42.71L30.5 358.45a22.79 22.79 0 0 1-28.21-19.6 197.16 197.16 0 0 1 9-85.32 22.8 22.8 0 0 1 31.61-13.21zm44 239.25a199.45 199.45 0 0 0 79.42 32.11A22.78 22.78 0 0 0 192.94 490l3.9-110.82c.7-21.3-25.5-31.91-39.81-16.1l-74.21 82.4a22.82 22.82 0 0 0 4.09 34.09zm145.34-109.92l58.81 94a22.93 22.93 0 0 0 34 5.5 198.36 198.36 0 0 0 52.71-67.61A23 23 0 0 0 364.17 370l-105.42-34.26c-20.31-6.5-37.81 15.8-26.51 33.91zm148.33-132.23a197.44 197.44 0 0 0-50.41-69.31 22.85 22.85 0 0 0-34 4.4l-62 91.92c-11.9 17.7 4.7 40.61 25.2 34.71L366 268.63a23 23 0 0 0 14.61-31.21zM62.11 30.18a22.86 22.86 0 0 0-9.9 32l104.12 180.44c11.7 20.2 42.61 11.9 42.61-11.4V22.88a22.67 22.67 0 0 0-24.5-22.8 320.37 320.37 0 0 0-112.33 30.1z\"],\n \"cc-visa\": [576, 512, [], \"f1f0\", \"M470.1 231.3s7.6 37.2 9.3 45H446c3.3-8.9 16-43.5 16-43.5-.2.3 3.3-9.1 5.3-14.9l2.8 13.4zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM152.5 331.2L215.7 176h-42.5l-39.3 106-4.3-21.5-14-71.4c-2.3-9.9-9.4-12.7-18.2-13.1H32.7l-.7 3.1c15.8 4 29.9 9.8 42.2 17.1l35.8 135h42.5zm94.4.2L272.1 176h-40.2l-25.1 155.4h40.1zm139.9-50.8c.2-17.7-10.6-31.2-33.7-42.3-14.1-7.1-22.7-11.9-22.7-19.2.2-6.6 7.3-13.4 23.1-13.4 13.1-.3 22.7 2.8 29.9 5.9l3.6 1.7 5.5-33.6c-7.9-3.1-20.5-6.6-36-6.6-39.7 0-67.6 21.2-67.8 51.4-.3 22.3 20 34.7 35.2 42.2 15.5 7.6 20.8 12.6 20.8 19.3-.2 10.4-12.6 15.2-24.1 15.2-16 0-24.6-2.5-37.7-8.3l-5.3-2.5-5.6 34.9c9.4 4.3 26.8 8.1 44.8 8.3 42.2.1 69.7-20.8 70-53zM528 331.4L495.6 176h-31.1c-9.6 0-16.9 2.8-21 12.9l-59.7 142.5H426s6.9-19.2 8.4-23.3H486c1.2 5.5 4.8 23.3 4.8 23.3H528z\"],\n \"lastfm\": [512, 512, [], \"f202\", \"M225.8 367.1l-18.8-51s-30.5 34-76.2 34c-40.5 0-69.2-35.2-69.2-91.5 0-72.1 36.4-97.9 72.1-97.9 66.5 0 74.8 53.3 100.9 134.9 18.8 56.9 54 102.6 155.4 102.6 72.7 0 122-22.3 122-80.9 0-72.9-62.7-80.6-115-92.1-25.8-5.9-33.4-16.4-33.4-34 0-19.9 15.8-31.7 41.6-31.7 28.2 0 43.4 10.6 45.7 35.8l58.6-7c-4.7-52.8-41.1-74.5-100.9-74.5-52.8 0-104.4 19.9-104.4 83.9 0 39.9 19.4 65.1 68 76.8 44.9 10.6 79.8 13.8 79.8 45.7 0 21.7-21.1 30.5-61 30.5-59.2 0-83.9-31.1-97.9-73.9-32-96.8-43.6-163-161.3-163C45.7 113.8 0 168.3 0 261c0 89.1 45.7 137.2 127.9 137.2 66.2 0 97.9-31.1 97.9-31.1z\"],\n \"shopware\": [512, 512, [], \"f5b5\", \"M403.5 455.41A246.17 246.17 0 0 1 256 504C118.81 504 8 393 8 256 8 118.81 119 8 256 8a247.39 247.39 0 0 1 165.7 63.5 3.57 3.57 0 0 1-2.86 6.18A418.62 418.62 0 0 0 362.13 74c-129.36 0-222.4 53.47-222.4 155.35 0 109 92.13 145.88 176.83 178.73 33.64 13 65.4 25.36 87 41.59a3.58 3.58 0 0 1 0 5.72zM503 233.09a3.64 3.64 0 0 0-1.27-2.44c-51.76-43-93.62-60.48-144.48-60.48-84.13 0-80.25 52.17-80.25 53.63 0 42.6 52.06 62 112.34 84.49 31.07 11.59 63.19 23.57 92.68 39.93a3.57 3.57 0 0 0 5-1.82A249 249 0 0 0 503 233.09z\"],\n \"creative-commons-nc\": [496, 512, [], \"f4e8\", \"M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-101.8 178.5-104.1l-93.4-41.6c-7.7 37.1-41.2 53-68.2 55.4v38.1h-28.8V368c-27.5-.3-52.6-10.2-75.3-29.7l34.1-34.5c31.7 29.4 86.4 31.8 86.4-2.2 0-6.2-2.2-11.2-6.6-15.1-14.2-6-1.8-.1-219.3-97.4zM248.4 52.3c-38.4 0-112.4 8.7-170.5 93l94.8 42.5c10-31.3 40.4-42.9 63.8-44.3v-38.1h28.8v38.1c22.7 1.2 43.4 8.9 62 23L295 199.7c-42.7-29.9-83.5-8-70 11.1 53.4 24.1 43.8 19.8 93 41.6l127.1 56.7c4.1-17.4 6.2-35.1 6.2-53.1 0-57-19.8-105-59.3-143.9-39.3-39.9-87.2-59.8-143.6-59.8z\"],\n \"aws\": [640, 512, [], \"f375\", \"M180.41 203.01c-.72 22.65 10.6 32.68 10.88 39.05a8.164 8.164 0 0 1-4.1 6.27l-12.8 8.96a10.66 10.66 0 0 1-5.63 1.92c-.43-.02-8.19 1.83-20.48-25.61a78.608 78.608 0 0 1-62.61 29.45c-16.28.89-60.4-9.24-58.13-56.21-1.59-38.28 34.06-62.06 70.93-60.05 7.1.02 21.6.37 46.99 6.27v-15.62c2.69-26.46-14.7-46.99-44.81-43.91-2.4.01-19.4-.5-45.84 10.11-7.36 3.38-8.3 2.82-10.75 2.82-7.41 0-4.36-21.48-2.94-24.2 5.21-6.4 35.86-18.35 65.94-18.18a76.857 76.857 0 0 1 55.69 17.28 70.285 70.285 0 0 1 17.67 52.36l-.01 69.29zM93.99 235.4c32.43-.47 46.16-19.97 49.29-30.47 2.46-10.05 2.05-16.41 2.05-27.4-9.67-2.32-23.59-4.85-39.56-4.87-15.15-1.14-42.82 5.63-41.74 32.26-1.24 16.79 11.12 31.4 29.96 30.48zm170.92 23.05c-7.86.72-11.52-4.86-12.68-10.37l-49.8-164.65c-.97-2.78-1.61-5.65-1.92-8.58a4.61 4.61 0 0 1 3.86-5.25c.24-.04-2.13 0 22.25 0 8.78-.88 11.64 6.03 12.55 10.37l35.72 140.83 33.16-140.83c.53-3.22 2.94-11.07 12.8-10.24h17.16c2.17-.18 11.11-.5 12.68 10.37l33.42 142.63L420.98 80.1c.48-2.18 2.72-11.37 12.68-10.37h19.72c.85-.13 6.15-.81 5.25 8.58-.43 1.85 3.41-10.66-52.75 169.9-1.15 5.51-4.82 11.09-12.68 10.37h-18.69c-10.94 1.15-12.51-9.66-12.68-10.75L328.67 110.7l-32.78 136.99c-.16 1.09-1.73 11.9-12.68 10.75h-18.3zm273.48 5.63c-5.88.01-33.92-.3-57.36-12.29a12.802 12.802 0 0 1-7.81-11.91v-10.75c0-8.45 6.2-6.9 8.83-5.89 10.04 4.06 16.48 7.14 28.81 9.6 36.65 7.53 52.77-2.3 56.72-4.48 13.15-7.81 14.19-25.68 5.25-34.95-10.48-8.79-15.48-9.12-53.13-21-4.64-1.29-43.7-13.61-43.79-52.36-.61-28.24 25.05-56.18 69.52-55.95 12.67-.01 46.43 4.13 55.57 15.62 1.35 2.09 2.02 4.55 1.92 7.04v10.11c0 4.44-1.62 6.66-4.87 6.66-7.71-.86-21.39-11.17-49.16-10.75-6.89-.36-39.89.91-38.41 24.97-.43 18.96 26.61 26.07 29.7 26.89 36.46 10.97 48.65 12.79 63.12 29.58 17.14 22.25 7.9 48.3 4.35 55.44-19.08 37.49-68.42 34.44-69.26 34.42zm40.2 104.86c-70.03 51.72-171.69 79.25-258.49 79.25A469.127 469.127 0 0 1 2.83 327.46c-6.53-5.89-.77-13.96 7.17-9.47a637.37 637.37 0 0 0 316.88 84.12 630.22 630.22 0 0 0 241.59-49.55c11.78-5 21.77 7.8 10.12 16.38zm29.19-33.29c-8.96-11.52-59.28-5.38-81.81-2.69-6.79.77-7.94-5.12-1.79-9.47 40.07-28.17 105.88-20.1 113.44-10.63 7.55 9.47-2.05 75.41-39.56 106.91-5.76 4.87-11.27 2.3-8.71-4.1 8.44-21.25 27.39-68.49 18.43-80.02z\"],\n \"redhat\": [512, 512, [], \"f7bc\", \"M341.52 285.56c33.65 0 82.34-6.94 82.34-47 .22-6.74.86-1.82-20.88-96.24-4.62-19.15-8.68-27.84-42.31-44.65-26.09-13.34-82.92-35.37-99.73-35.37-15.66 0-20.2 20.17-38.87 20.17-18 0-31.31-15.06-48.12-15.06-16.14 0-26.66 11-34.78 33.62-27.5 77.55-26.28 74.27-26.12 78.27 0 24.8 97.64 106.11 228.47 106.11M429 254.84c4.65 22 4.65 24.35 4.65 27.25 0 37.66-42.33 58.56-98 58.56-125.74.08-235.91-73.65-235.91-122.33a49.55 49.55 0 0 1 4.06-19.72C58.56 200.86 0 208.93 0 260.63c0 84.67 200.63 189 359.49 189 121.79 0 152.51-55.08 152.51-98.58 0-34.21-29.59-73.05-82.93-96.24\"],\n \"yoast\": [448, 512, [], \"f2b1\", \"M91.3 76h186l-7 18.9h-179c-39.7 0-71.9 31.6-71.9 70.3v205.4c0 35.4 24.9 70.3 84 70.3V460H91.3C41.2 460 0 419.8 0 370.5V165.2C0 115.9 40.7 76 91.3 76zm229.1-56h66.5C243.1 398.1 241.2 418.9 202.2 459.3c-20.8 21.6-49.3 31.7-78.3 32.7v-51.1c49.2-7.7 64.6-49.9 64.6-75.3 0-20.1.6-12.6-82.1-223.2h61.4L218.2 299 320.4 20zM448 161.5V460H234c6.6-9.6 10.7-16.3 12.1-19.4h182.5V161.5c0-32.5-17.1-51.9-48.2-62.9l6.7-17.6c41.7 13.6 60.9 43.1 60.9 80.5z\"],\n \"cloudflare\": [640, 512, [], \"e07d\", \"M407.906,319.913l-230.8-2.928a4.58,4.58,0,0,1-3.632-1.926,4.648,4.648,0,0,1-.494-4.147,6.143,6.143,0,0,1,5.361-4.076L411.281,303.9c27.631-1.26,57.546-23.574,68.022-50.784l13.286-34.542a7.944,7.944,0,0,0,.524-2.936,7.735,7.735,0,0,0-.164-1.631A151.91,151.91,0,0,0,201.257,198.4,68.12,68.12,0,0,0,94.2,269.59C41.924,271.106,0,313.728,0,366.12a96.054,96.054,0,0,0,1.029,13.958,4.508,4.508,0,0,0,4.445,3.871l426.1.051c.043,0,.08-.019.122-.02a5.606,5.606,0,0,0,5.271-4l3.273-11.265c3.9-13.4,2.448-25.8-4.1-34.9C430.124,325.423,420.09,320.487,407.906,319.913ZM513.856,221.1c-2.141,0-4.271.062-6.391.164a3.771,3.771,0,0,0-3.324,2.653l-9.077,31.193c-3.9,13.4-2.449,25.786,4.1,34.89,6.02,8.4,16.054,13.323,28.238,13.9l49.2,2.939a4.491,4.491,0,0,1,3.51,1.894,4.64,4.64,0,0,1,.514,4.169,6.153,6.153,0,0,1-5.351,4.075l-51.125,2.939c-27.754,1.27-57.669,23.574-68.145,50.784l-3.695,9.606a2.716,2.716,0,0,0,2.427,3.68c.046,0,.088.017.136.017h175.91a4.69,4.69,0,0,0,4.539-3.37,124.807,124.807,0,0,0,4.682-34C640,277.3,583.524,221.1,513.856,221.1Z\"],\n \"ups\": [384, 512, [], \"f7e0\", \"M103.2 303c-5.2 3.6-32.6 13.1-32.6-19V180H37.9v102.6c0 74.9 80.2 51.1 97.9 39V180h-32.6zM4 74.82v220.9c0 103.7 74.9 135.2 187.7 184.1 112.4-48.9 187.7-80.2 187.7-184.1V74.82c-116.3-61.6-281.8-49.6-375.4 0zm358.1 220.9c0 86.6-53.2 113.6-170.4 165.3-117.5-51.8-170.5-78.7-170.5-165.3v-126.4c102.3-93.8 231.6-100 340.9-89.8zm-209.6-107.4v212.8h32.7v-68.7c24.4 7.3 71.7-2.6 71.7-78.5 0-97.4-80.7-80.92-104.4-65.6zm32.7 117.3v-100.3c8.4-4.2 38.4-12.7 38.4 49.3 0 67.9-36.4 51.8-38.4 51zm79.1-86.4c.1 47.3 51.6 42.5 52.2 70.4.6 23.5-30.4 23-50.8 4.9v30.1c36.2 21.5 81.9 8.1 83.2-33.5 1.7-51.5-54.1-46.6-53.4-73.2.6-20.3 30.6-20.5 48.5-2.2v-28.4c-28.5-22-79.9-9.2-79.7 31.9z\"],\n \"wpexplorer\": [512, 512, [], \"f2de\", \"M512 256c0 141.2-114.7 256-256 256C114.8 512 0 397.3 0 256S114.7 0 256 0s256 114.7 256 256zm-32 0c0-123.2-100.3-224-224-224C132.5 32 32 132.5 32 256s100.5 224 224 224 224-100.5 224-224zM160.9 124.6l86.9 37.1-37.1 86.9-86.9-37.1 37.1-86.9zm110 169.1l46.6 94h-14.6l-50-100-48.9 100h-14l51.1-106.9-22.3-9.4 6-14 68.6 29.1-6 14.3-16.5-7.1zm-11.8-116.3l68.6 29.4-29.4 68.3L230 246l29.1-68.6zm80.3 42.9l54.6 23.1-23.4 54.3-54.3-23.1 23.1-54.3z\"],\n \"dyalog\": [416, 512, [], \"f399\", \"M0 32v119.2h64V96h107.2C284.6 96 352 176.2 352 255.9 352 332 293.4 416 171.2 416H0v64h171.2C331.9 480 416 367.3 416 255.9c0-58.7-22.1-113.4-62.3-154.3C308.9 56 245.7 32 171.2 32H0z\"],\n \"bity\": [496, 512, [], \"f37a\", \"M78.4 67.2C173.8-22 324.5-24 421.5 71c14.3 14.1-6.4 37.1-22.4 21.5-84.8-82.4-215.8-80.3-298.9-3.2-16.3 15.1-36.5-8.3-21.8-22.1zm98.9 418.6c19.3 5.7 29.3-23.6 7.9-30C73 421.9 9.4 306.1 37.7 194.8c5-19.6-24.9-28.1-30.2-7.1-32.1 127.4 41.1 259.8 169.8 298.1zm148.1-2c121.9-40.2 192.9-166.9 164.4-291-4.5-19.7-34.9-13.8-30 7.9 24.2 107.7-37.1 217.9-143.2 253.4-21.2 7-10.4 36 8.8 29.7zm-62.9-79l.2-71.8c0-8.2-6.6-14.8-14.8-14.8-8.2 0-14.8 6.7-14.8 14.8l-.2 71.8c0 8.2 6.6 14.8 14.8 14.8s14.8-6.6 14.8-14.8zm71-269c2.1 90.9 4.7 131.9-85.5 132.5-92.5-.7-86.9-44.3-85.5-132.5 0-21.8-32.5-19.6-32.5 0v71.6c0 69.3 60.7 90.9 118 90.1 57.3.8 118-20.8 118-90.1v-71.6c0-19.6-32.5-21.8-32.5 0z\"],\n \"stackpath\": [448, 512, [], \"f842\", \"M244.6 232.4c0 8.5-4.26 20.49-21.34 20.49h-19.61v-41.47h19.61c17.13 0 21.34 12.36 21.34 20.98zM448 32v448H0V32zM151.3 287.84c0-21.24-12.12-34.54-46.72-44.85-20.57-7.41-26-10.91-26-18.63s7-14.61 20.41-14.61c14.09 0 20.79 8.45 20.79 18.35h30.7l.19-.57c.5-19.57-15.06-41.65-51.12-41.65-23.37 0-52.55 10.75-52.55 38.29 0 19.4 9.25 31.29 50.74 44.37 17.26 6.15 21.91 10.4 21.91 19.48 0 15.2-19.13 14.23-19.47 14.23-20.4 0-25.65-9.1-25.65-21.9h-30.8l-.18.56c-.68 31.32 28.38 45.22 56.63 45.22 29.98 0 51.12-13.55 51.12-38.29zm125.38-55.63c0-25.3-18.43-45.46-53.42-45.46h-51.78v138.18h32.17v-47.36h19.61c30.25 0 53.42-15.95 53.42-45.36zM297.94 325L347 186.78h-31.09L268 325zm106.52-138.22h-31.09L325.46 325h29.94z\"],\n \"buysellads\": [448, 512, [], \"f20d\", \"M224 150.7l42.9 160.7h-85.8L224 150.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-65.3 325.3l-94.5-298.7H159.8L65.3 405.3H156l111.7-91.6 24.2 91.6h90.8z\"],\n \"first-order\": [448, 512, [], \"f2b0\", \"M12.9 229.2c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4h-.2zM224 96.6c-7.1 0-14.6.6-21.4 1.7l3.7 67.4-22-64c-14.3 3.7-27.7 9.4-40 16.6l29.4 61.4-45.1-50.9c-11.4 8.9-21.7 19.1-30.6 30.9l50.6 45.4-61.1-29.7c-7.1 12.3-12.9 25.7-16.6 40l64.3 22.6-68-4c-.9 7.1-1.4 14.6-1.4 22s.6 14.6 1.4 21.7l67.7-4-64 22.6c3.7 14.3 9.4 27.7 16.6 40.3l61.1-29.7L97.7 352c8.9 11.7 19.1 22.3 30.9 30.9l44.9-50.9-29.5 61.4c12.3 7.4 25.7 13.1 40 16.9l22.3-64.6-4 68c7.1 1.1 14.6 1.7 21.7 1.7 7.4 0 14.6-.6 21.7-1.7l-4-68.6 22.6 65.1c14.3-4 27.7-9.4 40-16.9L274.9 332l44.9 50.9c11.7-8.9 22-19.1 30.6-30.9l-50.6-45.1 61.1 29.4c7.1-12.3 12.9-25.7 16.6-40.3l-64-22.3 67.4 4c1.1-7.1 1.4-14.3 1.4-21.7s-.3-14.9-1.4-22l-67.7 4 64-22.3c-3.7-14.3-9.1-28-16.6-40.3l-60.9 29.7 50.6-45.4c-8.9-11.7-19.1-22-30.6-30.9l-45.1 50.9 29.4-61.1c-12.3-7.4-25.7-13.1-40-16.9L241.7 166l4-67.7c-7.1-1.2-14.3-1.7-21.7-1.7zM443.4 128v256L224 512 4.6 384V128L224 0l219.4 128zm-17.1 10.3L224 20.9 21.7 138.3v235.1L224 491.1l202.3-117.7V138.3zM224 37.1l187.7 109.4v218.9L224 474.9 36.3 365.4V146.6L224 37.1zm0 50.9c-92.3 0-166.9 75.1-166.9 168 0 92.6 74.6 167.7 166.9 167.7 92 0 166.9-75.1 166.9-167.7 0-92.9-74.9-168-166.9-168z\"],\n \"modx\": [448, 512, [], \"f285\", \"M356 241.8l36.7 23.7V480l-133-83.8L356 241.8zM440 75H226.3l-23 37.8 153.5 96.5L440 75zm-89 142.8L55.2 32v214.5l46 29L351 217.8zM97 294.2L8 437h213.7l125-200.5L97 294.2z\"],\n \"guilded\": [448, 512, [], \"e07e\", \"M443.427,64H4.571c0,103.26,22.192,180.06,43.418,222.358C112.046,414.135,224,448,225.256,448a312.824,312.824,0,0,0,140.55-103.477c25.907-33.923,53.1-87.19,65.916-145.761H171.833c4.14,36.429,22.177,67.946,45.1,86.944h88.589c-17.012,28.213-48.186,54.4-80.456,69.482-31.232-13.259-69.09-46.544-96.548-98.362-26.726-53.833-27.092-105.883-27.092-105.883H437.573A625.91,625.91,0,0,0,443.427,64Z\"],\n \"vnv\": [640, 512, [], \"f40b\", \"M104.9 352c-34.1 0-46.4-30.4-46.4-30.4L2.6 210.1S-7.8 192 13 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.7-74.5c5.6-9.5 8.4-18.1 18.8-18.1h32.8c20.8 0 10.4 18.1 10.4 18.1l-55.8 111.5S174.2 352 140 352h-35.1zm395 0c-34.1 0-46.4-30.4-46.4-30.4l-55.9-111.5S387.2 192 408 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.8-74.5c5.6-9.5 8.4-18.1 18.8-18.1H627c20.8 0 10.4 18.1 10.4 18.1l-55.9 111.5S569.3 352 535.1 352h-35.2zM337.6 192c34.1 0 46.4 30.4 46.4 30.4l55.9 111.5s10.4 18.1-10.4 18.1h-32.8c-10.4 0-13.2-8.7-18.8-18.1l-36.7-74.5s-5.2-13.1-21.1-13.1c-15.9 0-21.1 13.1-21.1 13.1l-36.7 74.5c-5.6 9.4-8.4 18.1-18.8 18.1h-32.9c-20.8 0-10.4-18.1-10.4-18.1l55.9-111.5s12.2-30.4 46.4-30.4h35.1z\"],\n \"square-js\": [448, 512, [\"js-square\"], \"f3b9\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"],\n \"microsoft\": [448, 512, [], \"f3ca\", \"M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z\"],\n \"qq\": [448, 512, [], \"f1d6\", \"M433.754 420.445c-11.526 1.393-44.86-52.741-44.86-52.741 0 31.345-16.136 72.247-51.051 101.786 16.842 5.192 54.843 19.167 45.803 34.421-7.316 12.343-125.51 7.881-159.632 4.037-34.122 3.844-152.316 8.306-159.632-4.037-9.045-15.25 28.918-29.214 45.783-34.415-34.92-29.539-51.059-70.445-51.059-101.792 0 0-33.334 54.134-44.859 52.741-5.37-.65-12.424-29.644 9.347-99.704 10.261-33.024 21.995-60.478 40.144-105.779C60.683 98.063 108.982.006 224 0c113.737.006 163.156 96.133 160.264 214.963 18.118 45.223 29.912 72.85 40.144 105.778 21.768 70.06 14.716 99.053 9.346 99.704z\"],\n \"orcid\": [512, 512, [], \"f8d2\", \"M294.75 188.19h-45.92V342h47.47c67.62 0 83.12-51.34 83.12-76.91 0-41.64-26.54-76.9-84.67-76.9zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-80.79 360.76h-29.84v-207.5h29.84zm-14.92-231.14a19.57 19.57 0 1 1 19.57-19.57 19.64 19.64 0 0 1-19.57 19.57zM300 369h-81V161.26h80.6c76.73 0 110.44 54.83 110.44 103.85C410 318.39 368.38 369 300 369z\"],\n \"java\": [384, 512, [], \"f4e4\", \"M277.74 312.9c9.8-6.7 23.4-12.5 23.4-12.5s-38.7 7-77.2 10.2c-47.1 3.9-97.7 4.7-123.1 1.3-60.1-8 33-30.1 33-30.1s-36.1-2.4-80.6 19c-52.5 25.4 130 37 224.5 12.1zm-85.4-32.1c-19-42.7-83.1-80.2 0-145.8C296 53.2 242.84 0 242.84 0c21.5 84.5-75.6 110.1-110.7 162.6-23.9 35.9 11.7 74.4 60.2 118.2zm114.6-176.2c.1 0-175.2 43.8-91.5 140.2 24.7 28.4-6.5 54-6.5 54s62.7-32.4 33.9-72.9c-26.9-37.8-47.5-56.6 64.1-121.3zm-6.1 270.5a12.19 12.19 0 0 1-2 2.6c128.3-33.7 81.1-118.9 19.8-97.3a17.33 17.33 0 0 0-8.2 6.3 70.45 70.45 0 0 1 11-3c31-6.5 75.5 41.5-20.6 91.4zM348 437.4s14.5 11.9-15.9 21.2c-57.9 17.5-240.8 22.8-291.6.7-18.3-7.9 16-19 26.8-21.3 11.2-2.4 17.7-2 17.7-2-20.3-14.3-131.3 28.1-56.4 40.2C232.84 509.4 401 461.3 348 437.4zM124.44 396c-78.7 22 47.9 67.4 148.1 24.5a185.89 185.89 0 0 1-28.2-13.8c-44.7 8.5-65.4 9.1-106 4.5-33.5-3.8-13.9-15.2-13.9-15.2zm179.8 97.2c-78.7 14.8-175.8 13.1-233.3 3.6 0-.1 11.8 9.7 72.4 13.6 92.2 5.9 233.8-3.3 237.1-46.9 0 0-6.4 16.5-76.2 29.7zM260.64 353c-59.2 11.4-93.5 11.1-136.8 6.6-33.5-3.5-11.6-19.7-11.6-19.7-86.8 28.8 48.2 61.4 169.5 25.9a60.37 60.37 0 0 1-21.1-12.8z\"],\n \"invision\": [448, 512, [], \"f7b0\", \"M407.4 32H40.6C18.2 32 0 50.2 0 72.6v366.8C0 461.8 18.2 480 40.6 480h366.8c22.4 0 40.6-18.2 40.6-40.6V72.6c0-22.4-18.2-40.6-40.6-40.6zM176.1 145.6c.4 23.4-22.4 27.3-26.6 27.4-14.9 0-27.1-12-27.1-27 .1-35.2 53.1-35.5 53.7-.4zM332.8 377c-65.6 0-34.1-74-25-106.6 14.1-46.4-45.2-59-59.9.7l-25.8 103.3H177l8.1-32.5c-31.5 51.8-94.6 44.4-94.6-4.3.1-14.3.9-14 23-104.1H81.7l9.7-35.6h76.4c-33.6 133.7-32.6 126.9-32.9 138.2 0 20.9 40.9 13.5 57.4-23.2l19.8-79.4h-32.3l9.7-35.6h68.8l-8.9 40.5c40.5-75.5 127.9-47.8 101.8 38-14.2 51.1-14.6 50.7-14.9 58.8 0 15.5 17.5 22.6 31.8-16.9L386 325c-10.5 36.7-29.4 52-53.2 52z\"],\n \"creative-commons-pd-alt\": [496, 512, [], \"f4ed\", \"M247.6 8C104.7 8 0 123.1 0 256c0 138.5 113.6 248 247.6 248C377.5 504 496 403.1 496 256 496 118.1 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.4 85.5-203.3 203.7-203.3 112.6 0 202.9 89.5 202.8 203.3 0 121.7-99.6 202.8-202.8 202.8zM316.7 186h-53.2v137.2h53.2c21.4 0 70-5.1 70-68.6 0-63.4-48.6-68.6-70-68.6zm.8 108.5h-19.9v-79.7l19.4-.1c3.8 0 35-2.1 35 39.9 0 24.6-10.5 39.9-34.5 39.9zM203.7 186h-68.2v137.3h34.6V279h27c54.1 0 57.1-37.5 57.1-46.5 0-31-16.8-46.5-50.5-46.5zm-4.9 67.3h-29.2v-41.6h28.3c30.9 0 28.8 41.6.9 41.6z\"],\n \"centercode\": [512, 512, [], \"f380\", \"M329.2 268.6c-3.8 35.2-35.4 60.6-70.6 56.8-35.2-3.8-60.6-35.4-56.8-70.6 3.8-35.2 35.4-60.6 70.6-56.8 35.1 3.8 60.6 35.4 56.8 70.6zm-85.8 235.1C96.7 496-8.2 365.5 10.1 224.3c11.2-86.6 65.8-156.9 139.1-192 161-77.1 349.7 37.4 354.7 216.6 4.1 147-118.4 262.2-260.5 254.8zm179.9-180c27.9-118-160.5-205.9-237.2-234.2-57.5 56.3-69.1 188.6-33.8 344.4 68.8 15.8 169.1-26.4 271-110.2z\"],\n \"glide-g\": [448, 512, [], \"f2a6\", \"M407.1 211.2c-3.5-1.4-11.6-3.8-15.4-3.8-37.1 0-62.2 16.8-93.5 34.5l-.9-.9c7-47.3 23.5-91.9 23.5-140.4C320.8 29.1 282.6 0 212.4 0 97.3 0 39 113.7 39 198.4 39 286.3 90.3 335 177.6 335c12 0 11-1 11 3.8-16.9 128.9-90.8 133.1-90.8 94.6 0-39.2 45-58.6 45.5-61-.3-12.2-47-27.6-58.9-27.6-33.9.1-52.4 51.2-52.4 79.3C32 476 64.8 512 117.5 512c77.4 0 134-77.8 151.4-145.4 15.1-60.5 11.2-63.3 19.7-67.6 32.2-16.2 57.5-27 93.8-27 17.8 0 30.5 3.7 58.9 8.4 2.9 0 6.7-2.9 6.7-5.8 0-8-33.4-60.5-40.9-63.4zm-175.3-84.4c-9.3 44.7-18.6 89.6-27.8 134.3-2.3 10.2-13.3 7.8-22 7.8-38.3 0-49-41.8-49-73.1 0-47 18-109.3 61.8-133.4 7-4.1 14.8-6.7 22.6-6.7 18.6 0 20 13.3 20 28.7-.1 14.3-2.7 28.5-5.6 42.4z\"],\n \"drupal\": [448, 512, [], \"f1a9\", \"M303.973,108.136C268.2,72.459,234.187,38.35,224.047,0c-9.957,38.35-44.25,72.459-80.019,108.136C90.467,161.7,29.716,222.356,29.716,313.436c-2.337,107.3,82.752,196.18,190.053,198.517S415.948,429.2,418.285,321.9q.091-4.231,0-8.464C418.285,222.356,357.534,161.7,303.973,108.136Zm-174.326,223a130.282,130.282,0,0,0-15.211,24.153,4.978,4.978,0,0,1-3.319,2.766h-1.659c-4.333,0-9.219-8.481-9.219-8.481h0c-1.29-2.028-2.489-4.149-3.687-6.361l-.83-1.752c-11.247-25.72-1.475-62.318-1.475-62.318h0a160.585,160.585,0,0,1,23.231-49.873A290.8,290.8,0,0,1,138.5,201.613l9.219,9.219,43.512,44.434a4.979,4.979,0,0,1,0,6.638L145.78,312.33h0Zm96.612,127.311a67.2,67.2,0,0,1-49.781-111.915c14.2-16.871,31.528-33.464,50.334-55.313,22.309,23.785,36.875,40.1,51.164,57.986a28.413,28.413,0,0,1,2.95,4.425,65.905,65.905,0,0,1,11.984,37.981,66.651,66.651,0,0,1-66.466,66.836ZM352.371,351.6h0a7.743,7.743,0,0,1-6.176,5.347H344.9a11.249,11.249,0,0,1-6.269-5.07h0a348.21,348.21,0,0,0-39.456-48.952L281.387,284.49,222.3,223.185a497.888,497.888,0,0,1-35.4-36.322,12.033,12.033,0,0,0-.922-1.382,35.4,35.4,0,0,1-4.7-9.219V174.51a31.346,31.346,0,0,1,9.218-27.656c11.432-11.431,22.955-22.954,33.833-34.939,11.984,13.275,24.8,26,37.428,38.627h0a530.991,530.991,0,0,1,69.6,79.1,147.494,147.494,0,0,1,27.011,83.8A134.109,134.109,0,0,1,352.371,351.6Z\"],\n \"hire-a-helper\": [512, 512, [], \"f3b0\", \"M443.1 0H71.9C67.9 37.3 37.4 67.8 0 71.7v371.5c37.4 4.9 66 32.4 71.9 68.8h372.2c3-36.4 32.5-65.8 67.9-69.8V71.7c-36.4-5.9-65-35.3-68.9-71.7zm-37 404.9c-36.3 0-18.8-2-55.1-2-35.8 0-21 2-56.1 2-5.9 0-4.9-8.2 0-9.8 22.8-7.6 22.9-10.2 24.6-12.8 10.4-15.6 5.9-83 5.9-113 0-5.3-6.4-12.8-13.8-12.8H200.4c-7.4 0-13.8 7.5-13.8 12.8 0 30-4.5 97.4 5.9 113 1.7 2.5 1.8 5.2 24.6 12.8 4.9 1.6 6 9.8 0 9.8-35.1 0-20.3-2-56.1-2-36.3 0-18.8 2-55.1 2-7.9 0-5.8-10.8 0-10.8 10.2-3.4 13.5-3.5 21.7-13.8 7.7-12.9 7.9-44.4 7.9-127.8V151.3c0-22.2-12.2-28.3-28.6-32.4-8.8-2.2-4-11.8 1-11.8 36.5 0 20.6 2 57.1 2 32.7 0 16.5-2 49.2-2 3.3 0 8.5 8.3 1 10.8-4.9 1.6-27.6 3.7-27.6 39.3 0 45.6-.2 55.8 1 68.8 0 1.3 2.3 12.8 12.8 12.8h109.2c10.5 0 12.8-11.5 12.8-12.8 1.2-13 1-23.2 1-68.8 0-35.6-22.7-37.7-27.6-39.3-7.5-2.5-2.3-10.8 1-10.8 32.7 0 16.5 2 49.2 2 36.5 0 20.6-2 57.1-2 4.9 0 9.9 9.6 1 11.8-16.4 4.1-28.6 10.3-28.6 32.4v101.2c0 83.4.1 114.9 7.9 127.8 8.2 10.2 11.4 10.4 21.7 13.8 5.8 0 7.8 10.8 0 10.8z\"],\n \"creative-commons-by\": [496, 512, [], \"f4e7\", \"M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z\"],\n \"unity\": [448, 512, [], \"e049\", \"M243.583 91.6027L323.695 138.384C326.575 140.026 326.68 144.583 323.695 146.225L228.503 201.854C225.623 203.55 222.22 203.444 219.549 201.854L124.357 146.225C121.425 144.636 121.373 139.973 124.357 138.384L204.417 91.6027V0L0 119.417V358.252L78.3843 312.477V218.914C78.3319 215.576 82.2066 213.192 85.0865 214.993L180.279 270.622C183.159 272.318 184.782 275.338 184.782 278.464V389.669C184.834 393.007 180.959 395.391 178.079 393.589L97.9673 346.808L19.583 392.583L224 512L428.417 392.583L350.033 346.808L269.921 393.589C267.093 395.338 263.114 393.06 263.218 389.669V278.464C263.218 275.126 265.051 272.159 267.721 270.622L362.914 214.993C365.741 213.245 369.72 215.47 369.616 218.914V312.477L448 358.252V119.417L243.583 0V91.6027Z\"],\n \"whmcs\": [448, 512, [], \"f40d\", \"M448 161v-21.3l-28.5-8.8-2.2-10.4 20.1-20.7L427 80.4l-29 7.5-7.2-7.5 7.5-28.2-19.1-11.6-21.3 21-10.7-3.2-7-26.4h-22.6l-6.2 26.4-12.1 3.2-19.7-21-19.4 11 8.1 27.7-8.1 8.4-28.5-7.5-11 19.1 20.7 21-2.9 10.4-28.5 7.8-.3 21.7 28.8 7.5 2.4 12.1-20.1 19.9 10.4 18.5 29.6-7.5 7.2 8.6-8.1 26.9 19.9 11.6 19.4-20.4 11.6 2.9 6.7 28.5 22.6.3 6.7-28.8 11.6-3.5 20.7 21.6 20.4-12.1-8.8-28 7.8-8.1 28.8 8.8 10.3-20.1-20.9-18.8 2.2-12.1 29.1-7zm-119.2 45.2c-31.3 0-56.8-25.4-56.8-56.8s25.4-56.8 56.8-56.8 56.8 25.4 56.8 56.8c0 31.5-25.4 56.8-56.8 56.8zm72.3 16.4l46.9 14.5V277l-55.1 13.4-4.1 22.7 38.9 35.3-19.2 37.9-54-16.7-14.6 15.2 16.7 52.5-38.3 22.7-38.9-40.5-21.7 6.6-12.6 54-42.4-.5-12.6-53.6-21.7-5.6-36.4 38.4-37.4-21.7 15.2-50.5-13.7-16.1-55.5 14.1-19.7-34.8 37.9-37.4-4.8-22.8-54-14.1.5-40.9L54 219.9l5.7-19.7-38.9-39.4L41.5 125l53.6 14.1 15.2-15.7-15.2-52 36.4-20.7 36.8 39.4L191 84l11.6-52H245l11.6 45.9L234 72l-6.3-1.7-3.3 5.7-11 19.1-3.3 5.6 4.6 4.6 17.2 17.4-.3 1-23.8 6.5-6.2 1.7-.1 6.4-.2 12.9C153.8 161.6 118 204 118 254.7c0 58.3 47.3 105.7 105.7 105.7 50.5 0 92.7-35.4 103.2-82.8l13.2.2 6.9.1 1.6-6.7 5.6-24 1.9-.6 17.1 17.8 4.7 4.9 5.8-3.4 20.4-12.1 5.8-3.5-2-6.5-6.8-21.2z\"],\n \"rocketchat\": [576, 512, [], \"f3e8\", \"M284.046,224.8a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,284.046,224.8Zm-110.45,0a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,173.6,224.8Zm220.923,0a34.114,34.114,0,1,0,34.317,34.113A34.215,34.215,0,0,0,394.519,224.8Zm153.807-55.319c-15.535-24.172-37.31-45.57-64.681-63.618-52.886-34.817-122.374-54-195.666-54a405.975,405.975,0,0,0-72.032,6.357,238.524,238.524,0,0,0-49.51-36.588C99.684-11.7,40.859.711,11.135,11.421A14.291,14.291,0,0,0,5.58,34.782C26.542,56.458,61.222,99.3,52.7,138.252c-33.142,33.9-51.112,74.776-51.112,117.337,0,43.372,17.97,84.248,51.112,118.148,8.526,38.956-26.154,81.816-47.116,103.491a14.284,14.284,0,0,0,5.555,23.34c29.724,10.709,88.549,23.147,155.324-10.2a238.679,238.679,0,0,0,49.51-36.589A405.972,405.972,0,0,0,288,460.14c73.313,0,142.8-19.159,195.667-53.975,27.371-18.049,49.145-39.426,64.679-63.619,17.309-26.923,26.07-55.916,26.07-86.125C574.394,225.4,565.634,196.43,548.326,169.485ZM284.987,409.9a345.65,345.65,0,0,1-89.446-11.5l-20.129,19.393a184.366,184.366,0,0,1-37.138,27.585,145.767,145.767,0,0,1-52.522,14.87c.983-1.771,1.881-3.563,2.842-5.356q30.258-55.68,16.325-100.078c-32.992-25.962-52.778-59.2-52.778-95.4,0-83.1,104.254-150.469,232.846-150.469s232.867,67.373,232.867,150.469C517.854,342.525,413.6,409.9,284.987,409.9Z\"],\n \"vk\": [448, 512, [], \"f189\", \"M31.4907 63.4907C0 94.9813 0 145.671 0 247.04V264.96C0 366.329 0 417.019 31.4907 448.509C62.9813 480 113.671 480 215.04 480H232.96C334.329 480 385.019 480 416.509 448.509C448 417.019 448 366.329 448 264.96V247.04C448 145.671 448 94.9813 416.509 63.4907C385.019 32 334.329 32 232.96 32H215.04C113.671 32 62.9813 32 31.4907 63.4907ZM75.6 168.267H126.747C128.427 253.76 166.133 289.973 196 297.44V168.267H244.16V242C273.653 238.827 304.64 205.227 315.093 168.267H363.253C359.313 187.435 351.46 205.583 340.186 221.579C328.913 237.574 314.461 251.071 297.733 261.227C316.41 270.499 332.907 283.63 346.132 299.751C359.357 315.873 369.01 334.618 374.453 354.747H321.44C316.555 337.262 306.614 321.61 292.865 309.754C279.117 297.899 262.173 290.368 244.16 288.107V354.747H238.373C136.267 354.747 78.0267 284.747 75.6 168.267Z\"],\n \"untappd\": [640, 512, [], \"f405\", \"M401.3 49.9c-79.8 160.1-84.6 152.5-87.9 173.2l-5.2 32.8c-1.9 12-6.6 23.5-13.7 33.4L145.6 497.1c-7.6 10.6-20.4 16.2-33.4 14.6-40.3-5-77.8-32.2-95.3-68.5-5.7-11.8-4.5-25.8 3.1-36.4l148.9-207.9c7.1-9.9 16.4-18 27.2-23.7l29.3-15.5c18.5-9.8 9.7-11.9 135.6-138.9 1-4.8 1-7.3 3.6-8 3-.7 6.6-1 6.3-4.6l-.4-4.6c-.2-1.9 1.3-3.6 3.2-3.6 4.5-.1 13.2 1.2 25.6 10 12.3 8.9 16.4 16.8 17.7 21.1.6 1.8-.6 3.7-2.4 4.2l-4.5 1.1c-3.4.9-2.5 4.4-2.3 7.4.1 2.8-2.3 3.6-6.5 6.1zM230.1 36.4c3.4.9 2.5 4.4 2.3 7.4-.2 2.7 2.1 3.5 6.4 6 7.9 15.9 15.3 30.5 22.2 44 .7 1.3 2.3 1.5 3.3.5 11.2-12 24.6-26.2 40.5-42.6 1.3-1.4 1.4-3.5.1-4.9-8-8.2-16.5-16.9-25.6-26.1-1-4.7-1-7.3-3.6-8-3-.8-6.6-1-6.3-4.6.3-3.3 1.4-8.1-2.8-8.2-4.5-.1-13.2 1.1-25.6 10-12.3 8.9-16.4 16.8-17.7 21.1-1.4 4.2 3.6 4.6 6.8 5.4zM620 406.7L471.2 198.8c-13.2-18.5-26.6-23.4-56.4-39.1-11.2-5.9-14.2-10.9-30.5-28.9-1-1.1-2.9-.9-3.6.5-46.3 88.8-47.1 82.8-49 94.8-1.7 10.7-1.3 20 .3 29.8 1.9 12 6.6 23.5 13.7 33.4l148.9 207.9c7.6 10.6 20.2 16.2 33.1 14.7 40.3-4.9 78-32 95.7-68.6 5.4-11.9 4.3-25.9-3.4-36.6z\"],\n \"mailchimp\": [448, 512, [], \"f59e\", \"M330.61 243.52a36.15 36.15 0 0 1 9.3 0c1.66-3.83 1.95-10.43.45-17.61-2.23-10.67-5.25-17.14-11.48-16.13s-6.47 8.74-4.24 19.42c1.26 6 3.49 11.14 6 14.32zM277.05 252c4.47 2 7.2 3.26 8.28 2.13 1.89-1.94-3.48-9.39-12.12-13.09a31.44 31.44 0 0 0-30.61 3.68c-3 2.18-5.81 5.22-5.41 7.06.85 3.74 10-2.71 22.6-3.48 7-.44 12.8 1.75 17.26 3.71zm-9 5.13c-9.07 1.42-15 6.53-13.47 10.1.9.34 1.17.81 5.21-.81a37 37 0 0 1 18.72-1.95c2.92.34 4.31.52 4.94-.49 1.46-2.22-5.71-8-15.39-6.85zm54.17 17.1c3.38-6.87-10.9-13.93-14.3-7s10.92 13.88 14.32 6.97zm15.66-20.47c-7.66-.13-7.95 15.8-.26 15.93s7.98-15.81.28-15.96zm-218.79 78.9c-1.32.31-6 1.45-8.47-2.35-5.2-8 11.11-20.38 3-35.77-9.1-17.47-27.82-13.54-35.05-5.54-8.71 9.6-8.72 23.54-5 24.08 4.27.57 4.08-6.47 7.38-11.63a12.83 12.83 0 0 1 17.85-3.72c11.59 7.59 1.37 17.76 2.28 28.62 1.39 16.68 18.42 16.37 21.58 9a2.08 2.08 0 0 0-.2-2.33c.03.89.68-1.3-3.35-.39zm299.72-17.07c-3.35-11.73-2.57-9.22-6.78-20.52 2.45-3.67 15.29-24-3.07-43.25-10.4-10.92-33.9-16.54-41.1-18.54-1.5-11.39 4.65-58.7-21.52-83 20.79-21.55 33.76-45.29 33.73-65.65-.06-39.16-48.15-51-107.42-26.47l-12.55 5.33c-.06-.05-22.71-22.27-23.05-22.57C169.5-18-41.77 216.81 25.78 273.85l14.76 12.51a72.49 72.49 0 0 0-4.1 33.5c3.36 33.4 36 60.42 67.53 60.38 57.73 133.06 267.9 133.28 322.29 3 1.74-4.47 9.11-24.61 9.11-42.38s-10.09-25.27-16.53-25.27zm-316 48.16c-22.82-.61-47.46-21.15-49.91-45.51-6.17-61.31 74.26-75.27 84-12.33 4.54 29.64-4.67 58.49-34.12 57.81zM84.3 249.55C69.14 252.5 55.78 261.09 47.6 273c-4.88-4.07-14-12-15.59-15-13.01-24.85 14.24-73 33.3-100.21C112.42 90.56 186.19 39.68 220.36 48.91c5.55 1.57 23.94 22.89 23.94 22.89s-34.15 18.94-65.8 45.35c-42.66 32.85-74.89 80.59-94.2 132.4zM323.18 350.7s-35.74 5.3-69.51-7.07c6.21-20.16 27 6.1 96.4-13.81 15.29-4.38 35.37-13 51-25.35a102.85 102.85 0 0 1 7.12 24.28c3.66-.66 14.25-.52 11.44 18.1-3.29 19.87-11.73 36-25.93 50.84A106.86 106.86 0 0 1 362.55 421a132.45 132.45 0 0 1-20.34 8.58c-53.51 17.48-108.3-1.74-126-43a66.33 66.33 0 0 1-3.55-9.74c-7.53-27.2-1.14-59.83 18.84-80.37 1.23-1.31 2.48-2.85 2.48-4.79a8.45 8.45 0 0 0-1.92-4.54c-7-10.13-31.19-27.4-26.33-60.83 3.5-24 24.49-40.91 44.07-39.91l5 .29c8.48.5 15.89 1.59 22.88 1.88 11.69.5 22.2-1.19 34.64-11.56 4.2-3.5 7.57-6.54 13.26-7.51a17.45 17.45 0 0 1 13.6 2.24c10 6.64 11.4 22.73 11.92 34.49.29 6.72 1.1 23 1.38 27.63.63 10.67 3.43 12.17 9.11 14 3.19 1.05 6.15 1.83 10.51 3.06 13.21 3.71 21 7.48 26 12.31a16.38 16.38 0 0 1 4.74 9.29c1.56 11.37-8.82 25.4-36.31 38.16-46.71 21.68-93.68 14.45-100.48 13.68-20.15-2.71-31.63 23.32-19.55 41.15 22.64 33.41 122.4 20 151.37-21.35.69-1 .12-1.59-.73-1-41.77 28.58-97.06 38.21-128.46 26-4.77-1.85-14.73-6.44-15.94-16.67 43.6 13.49 71 .74 71 .74s2.03-2.79-.56-2.53zm-68.47-5.7zm-83.4-187.5c16.74-19.35 37.36-36.18 55.83-45.63a.73.73 0 0 1 1 1c-1.46 2.66-4.29 8.34-5.19 12.65a.75.75 0 0 0 1.16.79c11.49-7.83 31.48-16.22 49-17.3a.77.77 0 0 1 .52 1.38 41.86 41.86 0 0 0-7.71 7.74.75.75 0 0 0 .59 1.19c12.31.09 29.66 4.4 41 10.74.76.43.22 1.91-.64 1.72-69.55-15.94-123.08 18.53-134.5 26.83a.76.76 0 0 1-1-1.12z\"],\n \"css3-alt\": [384, 512, [], \"f38b\", \"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z\"],\n \"square-reddit\": [448, 512, [\"reddit-square\"], \"f1a2\", \"M283.2 345.5c2.7 2.7 2.7 6.8 0 9.2-24.5 24.5-93.8 24.6-118.4 0-2.7-2.4-2.7-6.5 0-9.2 2.4-2.4 6.5-2.4 8.9 0 18.7 19.2 81 19.6 100.5 0 2.4-2.3 6.6-2.3 9 0zm-91.3-53.8c0-14.9-11.9-26.8-26.5-26.8-14.9 0-26.8 11.9-26.8 26.8 0 14.6 11.9 26.5 26.8 26.5 14.6 0 26.5-11.9 26.5-26.5zm90.7-26.8c-14.6 0-26.5 11.9-26.5 26.8 0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-11.9 26.8-26.5 0-14.9-11.9-26.8-26.8-26.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-99.7 140.6c-10.1 0-19 4.2-25.6 10.7-24.1-16.7-56.5-27.4-92.5-28.6l18.7-84.2 59.5 13.4c0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-12.2 26.8-26.8 0-14.6-11.9-26.8-26.8-26.8-10.4 0-19.3 6.2-23.8 14.9l-65.7-14.6c-3.3-.9-6.5 1.5-7.4 4.8l-20.5 92.8c-35.7 1.5-67.8 12.2-91.9 28.9-6.5-6.8-15.8-11-25.9-11-37.5 0-49.8 50.4-15.5 67.5-1.2 5.4-1.8 11-1.8 16.7 0 56.5 63.7 102.3 141.9 102.3 78.5 0 142.2-45.8 142.2-102.3 0-5.7-.6-11.6-2.1-17 33.6-17.2 21.2-67.2-16.1-67.2z\"],\n \"vimeo-v\": [448, 512, [], \"f27d\", \"M447.8 153.6c-2 43.6-32.4 103.3-91.4 179.1-60.9 79.2-112.4 118.8-154.6 118.8-26.1 0-48.2-24.1-66.3-72.3C100.3 250 85.3 174.3 56.2 174.3c-3.4 0-15.1 7.1-35.2 21.1L0 168.2c51.6-45.3 100.9-95.7 131.8-98.5 34.9-3.4 56.3 20.5 64.4 71.5 28.7 181.5 41.4 208.9 93.6 126.7 18.7-29.6 28.8-52.1 30.2-67.6 4.8-45.9-35.8-42.8-63.3-31 22-72.1 64.1-107.1 126.2-105.1 45.8 1.2 67.5 31.1 64.9 89.4z\"],\n \"contao\": [512, 512, [], \"f26d\", \"M45.4 305c14.4 67.1 26.4 129 68.2 175H34c-18.7 0-34-15.2-34-34V66c0-18.7 15.2-34 34-34h57.7C77.9 44.6 65.6 59.2 54.8 75.6c-45.4 70-27 146.8-9.4 229.4zM478 32h-90.2c21.4 21.4 39.2 49.5 52.7 84.1l-137.1 29.3c-14.9-29-37.8-53.3-82.6-43.9-24.6 5.3-41 19.3-48.3 34.6-8.8 18.7-13.2 39.8 8.2 140.3 21.1 100.2 33.7 117.7 49.5 131.2 12.9 11.1 33.4 17 58.3 11.7 44.5-9.4 55.7-40.7 57.4-73.2l137.4-29.6c3.2 71.5-18.7 125.2-57.4 163.6H478c18.7 0 34-15.2 34-34V66c0-18.8-15.2-34-34-34z\"],\n \"square-font-awesome\": [448, 512, [], \"e5ad\", \"M384.5,32.5h-320c-35.3,0-64,28.7-64,64v320c0,35.3,28.7,64,64,64h320c35.3,0,64-28.7,64-64v-320 C448.5,61.2,419.8,32.5,384.5,32.5z M336.5,312.5c-31.6,11.2-41.2,16-59.8,16c-31.4,0-43.2-16-74.6-16c-10.2,0-18.2,1.6-25.6,4v-32 c7.4-2.2,15.4-4,25.6-4c31.2,0,43.2,16,74.6,16c10.2,0,17.8-1.4,27.8-4.6v-96c-10,3.2-17.6,4.6-27.8,4.6c-31.4,0-43.2-16-74.6-16 c-25.4,0-37.4,10.4-57.6,14.4v153.6c0,8.8-7.2,16-16,16c-8.8,0-16-7.2-16-16v-192c0-8.8,7.2-16,16-16c8.8,0,16,7.2,16,16v6.4 c20.2-4,32.2-14.4,57.6-14.4c31.2,0,43.2,16,74.6,16c18.6,0,28.2-4.8,59.8-16V312.5z\"],\n \"deskpro\": [480, 512, [], \"f38f\", \"M205.9 512l31.1-38.4c12.3-.2 25.6-1.4 36.5-6.6 38.9-18.6 38.4-61.9 38.3-63.8-.1-5-.8-4.4-28.9-37.4H362c-.2 50.1-7.3 68.5-10.2 75.7-9.4 23.7-43.9 62.8-95.2 69.4-8.7 1.1-32.8 1.2-50.7 1.1zm200.4-167.7c38.6 0 58.5-13.6 73.7-30.9l-175.5-.3-17.4 31.3 119.2-.1zm-43.6-223.9v168.3h-73.5l-32.7 55.5H250c-52.3 0-58.1-56.5-58.3-58.9-1.2-13.2-21.3-11.6-20.1 1.8 1.4 15.8 8.8 40 26.4 57.1h-91c-25.5 0-110.8-26.8-107-114V16.9C0 .9 9.7.3 15 .1h82c.2 0 .3.1.5.1 4.3-.4 50.1-2.1 50.1 43.7 0 13.3 20.2 13.4 20.2 0 0-18.2-5.5-32.8-15.8-43.7h84.2c108.7-.4 126.5 79.4 126.5 120.2zm-132.5 56l64 29.3c13.3-45.5-42.2-71.7-64-29.3z\"],\n \"sistrix\": [448, 512, [], \"f3ee\", \"M448 449L301.2 300.2c20-27.9 31.9-62.2 31.9-99.2 0-93.1-74.7-168.9-166.5-168.9C74.7 32 0 107.8 0 200.9s74.7 168.9 166.5 168.9c39.8 0 76.3-14.2 105-37.9l146 148.1 30.5-31zM166.5 330.8c-70.6 0-128.1-58.3-128.1-129.9S95.9 71 166.5 71s128.1 58.3 128.1 129.9-57.4 129.9-128.1 129.9z\"],\n \"square-instagram\": [448, 512, [\"instagram-square\"], \"e055\", \"M224,202.66A53.34,53.34,0,1,0,277.36,256,53.38,53.38,0,0,0,224,202.66Zm124.71-41a54,54,0,0,0-30.41-30.41c-21-8.29-71-6.43-94.3-6.43s-73.25-1.93-94.31,6.43a54,54,0,0,0-30.41,30.41c-8.28,21-6.43,71.05-6.43,94.33S91,329.26,99.32,350.33a54,54,0,0,0,30.41,30.41c21,8.29,71,6.43,94.31,6.43s73.24,1.93,94.3-6.43a54,54,0,0,0,30.41-30.41c8.35-21,6.43-71.05,6.43-94.33S357.1,182.74,348.75,161.67ZM224,338a82,82,0,1,1,82-82A81.9,81.9,0,0,1,224,338Zm85.38-148.3a19.14,19.14,0,1,1,19.13-19.14A19.1,19.1,0,0,1,309.42,189.74ZM400,32H48A48,48,0,0,0,0,80V432a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V80A48,48,0,0,0,400,32ZM382.88,322c-1.29,25.63-7.14,48.34-25.85,67s-41.4,24.63-67,25.85c-26.41,1.49-105.59,1.49-132,0-25.63-1.29-48.26-7.15-67-25.85s-24.63-41.42-25.85-67c-1.49-26.42-1.49-105.61,0-132,1.29-25.63,7.07-48.34,25.85-67s41.47-24.56,67-25.78c26.41-1.49,105.59-1.49,132,0,25.63,1.29,48.33,7.15,67,25.85s24.63,41.42,25.85,67.05C384.37,216.44,384.37,295.56,382.88,322Z\"],\n \"battle-net\": [512, 512, [], \"f835\", \"M448.61 225.62c26.87.18 35.57-7.43 38.92-12.37 12.47-16.32-7.06-47.6-52.85-71.33 17.76-33.58 30.11-63.68 36.34-85.3 3.38-11.83 1.09-19 .45-20.25-1.72 10.52-15.85 48.46-48.2 100.05-25-11.22-56.52-20.1-93.77-23.8-8.94-16.94-34.88-63.86-60.48-88.93C252.18 7.14 238.7 1.07 228.18.22h-.05c-13.83-1.55-22.67 5.85-27.4 11-17.2 18.53-24.33 48.87-25 84.07-7.24-12.35-17.17-24.63-28.5-25.93h-.18c-20.66-3.48-38.39 29.22-36 81.29-38.36 1.38-71 5.75-93 11.23-9.9 2.45-16.22 7.27-17.76 9.72 1-.38 22.4-9.22 111.56-9.22 5.22 53 29.75 101.82 26 93.19-9.73 15.4-38.24 62.36-47.31 97.7-5.87 22.88-4.37 37.61.15 47.14 5.57 12.75 16.41 16.72 23.2 18.26 25 5.71 55.38-3.63 86.7-21.14-7.53 12.84-13.9 28.51-9.06 39.34 7.31 19.65 44.49 18.66 88.44-9.45 20.18 32.18 40.07 57.94 55.7 74.12a39.79 39.79 0 0 0 8.75 7.09c5.14 3.21 8.58 3.37 8.58 3.37-8.24-6.75-34-38-62.54-91.78 22.22-16 45.65-38.87 67.47-69.27 122.82 4.6 143.29-24.76 148-31.64 14.67-19.88 3.43-57.44-57.32-93.69zm-77.85 106.22c23.81-37.71 30.34-67.77 29.45-92.33 27.86 17.57 47.18 37.58 49.06 58.83 1.14 12.93-8.1 29.12-78.51 33.5zM216.9 387.69c9.76-6.23 19.53-13.12 29.2-20.49 6.68 13.33 13.6 26.1 20.6 38.19-40.6 21.86-68.84 12.76-49.8-17.7zm215-171.35c-10.29-5.34-21.16-10.34-32.38-15.05a722.459 722.459 0 0 0 22.74-36.9c39.06 24.1 45.9 53.18 9.64 51.95zM279.18 398c-5.51-11.35-11-23.5-16.5-36.44 43.25 1.27 62.42-18.73 63.28-20.41 0 .07-25 15.64-62.53 12.25a718.78 718.78 0 0 0 85.06-84q13.06-15.31 24.93-31.11c-.36-.29-1.54-3-16.51-12-51.7 60.27-102.34 98-132.75 115.92-20.59-11.18-40.84-31.78-55.71-61.49-20-39.92-30-82.39-31.57-116.07 12.3.91 25.27 2.17 38.85 3.88-22.29 36.8-14.39 63-13.47 64.23 0-.07-.95-29.17 20.14-59.57a695.23 695.23 0 0 0 44.67 152.84c.93-.38 1.84.88 18.67-8.25-26.33-74.47-33.76-138.17-34-173.43 20-12.42 48.18-19.8 81.63-17.81 44.57 2.67 86.36 15.25 116.32 30.71q-10.69 15.66-23.33 32.47C365.63 152 339.1 145.84 337.5 146c.11 0 25.9 14.07 41.52 47.22a717.63 717.63 0 0 0-115.34-31.71 646.608 646.608 0 0 0-39.39-6.05c-.07.45-1.81 1.85-2.16 20.33C300 190.28 358.78 215.68 389.36 233c.74 23.55-6.95 51.61-25.41 79.57-24.6 37.31-56.39 67.23-84.77 85.43zm27.4-287c-44.56-1.66-73.58 7.43-94.69 20.67 2-52.3 21.31-76.38 38.21-75.28C267 52.15 305 108.55 306.58 111zm-130.65 3.1c.48 12.11 1.59 24.62 3.21 37.28-14.55-.85-28.74-1.25-42.4-1.26-.08 3.24-.12-51 24.67-49.59h.09c5.76 1.09 10.63 6.88 14.43 13.57zm-28.06 162c20.76 39.7 43.3 60.57 65.25 72.31-46.79 24.76-77.53 20-84.92 4.51-.2-.21-11.13-15.3 19.67-76.81zm210.06 74.8\"],\n \"the-red-yeti\": [512, 512, [], \"f69d\", \"M488.23 241.7l20.7 7.1c-9.6-23.9-23.9-37-31.7-44.8l7.1-18.2c.2 0 12.3-27.8-2.5-30.7-.6-11.3-6.6-27-18.4-27-7.6-10.6-17.7-12.3-30.7-5.9a122.2 122.2 0 0 0-25.3 16.5c-5.3-6.4-3 .4-3-29.8-37.1-24.3-45.4-11.7-74.8 3l.5.5a239.36 239.36 0 0 0-68.4-13.3c-5.5-8.7-18.6-19.1-25.1-25.1l24.8 7.1c-5.5-5.5-26.8-12.9-34.2-15.2 18.2-4.1 29.8-20.8 42.5-33-34.9-10.1-67.9-5.9-97.9 11.8l12-44.2L182 0c-31.6 24.2-33 41.9-33.7 45.5-.9-2.4-6.3-19.6-15.2-27a35.12 35.12 0 0 0-.5 25.3c3 8.4 5.9 14.8 8.4 18.9-16-3.3-28.3-4.9-49.2 0h-3.7l33 14.3a194.26 194.26 0 0 0-46.7 67.4l-1.7 8.4 1.7 1.7 7.6-4.7c-3.3 11.6-5.3 19.4-6.6 25.8a200.18 200.18 0 0 0-27.8 40.3c-15 1-31.8 10.8-40.3 14.3l3 3.4 28.8 1c-.5 1-.7 2.2-1.2 3.2-7.3 6.4-39.8 37.7-33 80.7l20.2-22.4c.5 1.7.7 3.4 1.2 5.2 0 25.5.4 89.6 64.9 150.5 43.6 40 96 60.2 157.5 60.2 121.7 0 223-87.3 223-211.5 6.8-9.7-1.2 3 16.7-25.1l13 14.3 2.5-.5A181.84 181.84 0 0 0 495 255a44.74 44.74 0 0 0-6.8-13.3zM398 111.2l-.5 21.9c5.5 18.1 16.9 17.2 22.4 17.2l-3.4-4.7 22.4-5.4a242.44 242.44 0 0 1-27 0c12.8-2.1 33.3-29 43-11.3 3.4 7.6 6.4 17.2 9.3 27.8l1.7-5.9a56.38 56.38 0 0 1-1.7-15.2c5.4.5 8.8 3.4 9.3 10.1.5 6.4 1.7 14.8 3.4 25.3l4.7-11.3c4.6 0 4.5-3.6-2.5 20.7-20.9-8.7-35.1-8.4-46.5-8.4l18.2-16c-25.3 8.2-33 10.8-54.8 20.9-1.1-5.4-5-13.5-16-19.9-3.2 3.8-2.8.9-.7 14.8h-2.5a62.32 62.32 0 0 0-8.4-23.1l4.2-3.4c8.4-7.1 11.8-14.3 10.6-21.9-.5-6.4-5.4-13.5-13.5-20.7 5.6-3.4 15.2-.4 28.3 8.5zm-39.6-10.1c2.7 1.9 11.4 5.4 18.9 17.2 4.2 8.4 4 9.8 3.4 11.1-.5 2.4-.5 4.3-3 7.1-1.7 2.5-5.4 4.7-11.8 7.6-7.6-13-16.5-23.6-27.8-31.2zM91 143.1l1.2-1.7c1.2-2.9 4.2-7.6 9.3-15.2l2.5-3.4-13 12.3 5.4-4.7-10.1 9.3-4.2 1.2c12.3-24.1 23.1-41.3 32.5-50.2 9.3-9.3 16-16 20.2-19.4l-6.4 1.2c-11.3-4.2-19.4-7.1-24.8-8.4 2.5-.5 3.7-.5 3.2-.5 10.3 0 17.5.5 20.9 1.2a52.35 52.35 0 0 0 16 2.5l.5-1.7-8.4-35.8 13.5 29a42.89 42.89 0 0 0 5.9-14.3c1.7-6.4 5.4-13 10.1-19.4s7.6-10.6 9.3-11.3a234.68 234.68 0 0 0-6.4 25.3l-1.7 7.1-.5 4.7 2.5 2.5C190.4 39.9 214 34 239.8 34.5l21.1.5c-11.8 13.5-27.8 21.9-48.5 24.8a201.26 201.26 0 0 1-23.4 2.9l-.2-.5-2.5-1.2a20.75 20.75 0 0 0-14 2c-2.5-.2-4.9-.5-7.1-.7l-2.5 1.7.5 1.2c2 .2 3.9.5 6.2.7l-2 3.4 3.4-.5-10.6 11.3c-4.2 3-5.4 6.4-4.2 9.3l5.4-3.4h1.2a39.4 39.4 0 0 1 25.3-15.2v-3c6.4.5 13 1 19.4 1.2 6.4 0 8.4.5 5.4 1.2a189.6 189.6 0 0 1 20.7 13.5c13.5 10.1 23.6 21.9 30 35.4 8.8 18.2 13.5 37.1 13.5 56.6a141.13 141.13 0 0 1-3 28.3 209.91 209.91 0 0 1-16 46l2.5.5c18.2-19.7 41.9-16 49.2-16l-6.4 5.9 22.4 17.7-1.7 30.7c-5.4-12.3-16.5-21.1-33-27.8 16.5 14.8 23.6 21.1 21.9 20.2-4.8-2.8-3.5-1.9-10.8-3.7 4.1 4.1 17.5 18.8 18.2 20.7l.2.2-.2.2c0 1.8 1.6-1.2-14 22.9-75.2-15.3-106.27-42.7-141.2-63.2l11.8 1.2c-11.8-18.5-15.6-17.7-38.4-26.1L149 225c-8.8-3-18.2-3-28.3.5l7.6-10.6-1.2-1.7c-14.9 4.3-19.8 9.2-22.6 11.3-1.1-5.5-2.8-12.4-12.3-28.8l-1.2 27-13.2-5c1.5-25.2 5.4-50.5 13.2-74.6zm276.5 330c-49.9 25-56.1 22.4-59 23.9-29.8-11.8-50.9-31.7-63.5-58.8l30 16.5c-9.8-9.3-18.3-16.5-38.4-44.3l11.8 23.1-17.7-7.6c14.2 21.1 23.5 51.7 66.6 73.5-120.8 24.2-199-72.1-200.9-74.3a262.57 262.57 0 0 0 35.4 24.8c3.4 1.7 7.1 2.5 10.1 1.2l-16-20.7c9.2 4.2 9.5 4.5 69.1 29-42.5-20.7-73.8-40.8-93.2-60.2-.5 6.4-1.2 10.1-1.2 10.1a80.25 80.25 0 0 1 20.7 26.6c-39-18.9-57.6-47.6-71.3-82.6 49.9 55.1 118.9 37.5 120.5 37.1 34.8 16.4 69.9 23.6 113.9 10.6 3.3 0 20.3 17 25.3 39.1l4.2-3-2.5-23.6c9 9 24.9 22.6 34.4 13-15.6-5.3-23.5-9.5-29.5-31.7 4.6 4.2 7.6 9 27.8 15l1.2-1.2-10.5-14.2c11.7-4.8-3.5 1 32-10.8 4.3 34.3 9 49.2.7 89.5zm115.3-214.4l-2.5.5 3 9.3c-3.5 5.9-23.7 44.3-71.6 79.7-39.5 29.8-76.6 39.1-80.9 40.3l-7.6-7.1-1.2 3 14.3 16-7.1-4.7 3.4 4.2h-1.2l-21.9-13.5 9.3 26.6-19-27.9-1.2 2.5 7.6 29c-6.1-8.2-21-32.6-56.8-39.6l32.5 21.2a214.82 214.82 0 0 1-93.2-6.4c-4.2-1.2-8.9-2.5-13.5-4.2l1.2-3-44.8-22.4 26.1 22.4c-57.7 9.1-113-25.4-126.4-83.4l-2.5-16.4-22.27 22.3c19.5-57.5 25.6-57.9 51.4-70.1-9.1-5.3-1.6-3.3-38.4-9.3 15.8-5.8 33-15.4 73 5.2a18.5 18.5 0 0 1 3.7-1.7c.6-3.2.4-.8 1-11.8 3.9 10 3.6 8.7 3 9.3l1.7.5c12.7-6.5 8.9-4.5 17-8.9l-5.4 13.5 22.3-5.8-8.4 8.4 2.5 2.5c4.5-1.8 30.3 3.4 40.8 16l-23.6-2.5c39.4 23 51.5 54 55.8 69.6l1.7-1.2c-2.8-22.3-12.4-33.9-16-40.1 4.2 5 39.2 34.6 110.4 46-11.3-.5-23.1 5.4-34.9 18.9l46.7-20.2-9.3 21.9c7.6-10.1 14.8-23.6 21.2-39.6v-.5l1.2-3-1.2 16c13.5-41.8 25.3-78.5 35.4-109.7l13.5-27.8v-2l-5.4-4.2h10.1l5.9 4.2 2.5-1.2-3.4-16 12.3 18.9 41.8-20.2-14.8 13 .5 2.9 17.7-.5a184 184 0 0 1 33 4.2l-23.6 2.5-1.2 3 26.6 23.1a254.21 254.21 0 0 1 27 32c-11.2-3.3-10.3-3.4-21.2-3.4l12.3 32.5zm-6.1-71.3l-3.9 13-14.3-11.8zm-254.8 7.1c1.7 10.6 4.7 17.7 8.8 21.9-9.3 6.6-27.5 13.9-46.5 16l.5 1.2a50.22 50.22 0 0 0 24.8-2.5l-7.1 13c4.2-1.7 10.1-7.1 17.7-14.8 11.9-5.5 12.7-5.1 20.2-16-12.7-6.4-15.7-13.7-18.4-18.8zm3.7-102.3c-6.4-3.4-10.6 3-12.3 18.9s2.5 29.5 11.8 39.6 18.2 10.6 26.1 3 3.4-23.6-11.3-47.7a39.57 39.57 0 0 0-14.27-13.8zm-4.7 46.3c5.4 2.2 10.5 1.9 12.3-10.6v-4.7l-1.2.5c-4.3-3.1-2.5-4.5-1.7-6.2l.5-.5c-.9-1.2-5-8.1-12.5 4.7-.5-13.5.5-21.9 3-24.8 1.2-2.5 4.7-1.2 11.3 4.2 6.4 5.4 11.3 16 15.2 32.5 6.5 28-19.8 26.2-26.9 4.9zm-45-5.5c1.6.3 9.3-1.1 9.3-14.8h-.5c-5.4-1.1-2.2-5.5-.7-5.9-1.7-3-3.4-4.2-5.4-4.7-8.1 0-11.6 12.7-8.1 21.2a7.51 7.51 0 0 0 5.43 4.2zM216 82.9l-2.5.5.5 3a48.94 48.94 0 0 1 26.1 5.9c-2.5-5.5-10-14.3-28.3-14.3l.5 2.5zm-71.8 49.4c21.7 16.8 16.5 21.4 46.5 23.6l-2.9-4.7a42.67 42.67 0 0 0 14.8-28.3c1.7-16-1.2-29.5-8.8-41.3l13-7.6a2.26 2.26 0 0 0-.5-1.7 14.21 14.21 0 0 0-13.5 1.7c-12.7 6.7-28 20.9-29 22.4-1.7 1.7-3.4 5.9-5.4 13.5a99.61 99.61 0 0 0-2.9 23.6c-4.7-8-10.5-6.4-19.9-5.9l7.1 7.6c-16.5 0-23.3 15.4-23.6 16 6.8 0 4.6-7.6 30-12.3-4.3-6.3-3.3-5-4.9-6.6zm18.7-18.7c1.2-7.6 3.4-13 6.4-17.2 5.4-6.4 10.6-10.1 16-11.8 4.2-1.7 7.1 1.2 10.1 9.3a72.14 72.14 0 0 1 3 25.3c-.5 9.3-3.4 17.2-8.4 23.1-2.9 3.4-5.4 5.9-6.4 7.6a39.21 39.21 0 0 1-11.3-.5l-7.1-3.4-5.4-6.4c.8-10 1.3-18.8 3.1-26zm42 56.1c-34.8 14.4-34.7 14-36.1 14.3-20.8 4.7-19-24.4-18.9-24.8l5.9-1.2-.5-2.5c-20.2-2.6-31 4.2-32.5 4.9.5.5 3 3.4 5.9 9.3 4.2-6.4 8.8-10.1 15.2-10.6a83.47 83.47 0 0 0 1.7 33.7c.1.5 2.6 17.4 27.5 24.1 11.3 3 27 1.2 48.9-5.4l-9.2.5c-4.2-14.8-6.4-24.8-5.9-29.5 11.3-8.8 21.9-11.3 30.7-7.6h2.5l-11.8-7.6-7.1.5c-5.9 1.2-12.3 4.2-19.4 8.4z\"],\n \"square-hacker-news\": [448, 512, [\"hacker-news-square\"], \"f3af\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.2 229.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"],\n \"edge\": [512, 512, [], \"f282\", \"M120.1 37.44C161.1 12.23 207.7-.7753 255 .0016C423 .0016 512 123.8 512 219.5C511.9 252.2 499 283.4 476.1 306.7C453.2 329.9 422.1 343.2 389.4 343.7C314.2 343.7 297.9 320.6 297.9 311.7C297.9 307.9 299.1 305.5 302.7 302.3L303.7 301.1L304.1 299.5C314.6 288 320 273.3 320 257.9C320 179.2 237.8 115.2 136 115.2C98.46 114.9 61.46 124.1 28.48 142.1C55.48 84.58 111.2 44.5 119.8 38.28C120.6 37.73 120.1 37.44 120.1 37.44V37.44zM135.7 355.5C134.3 385.5 140.3 415.5 152.1 442.7C165.7 469.1 184.8 493.7 208.6 512C149.1 500.5 97.11 468.1 59.2 422.7C21.12 376.3 0 318.4 0 257.9C0 206.7 62.4 163.5 136 163.5C172.6 162.9 208.4 174.4 237.8 196.2L234.2 197.4C182.7 215 135.7 288.1 135.7 355.5V355.5zM469.8 400L469.1 400.1C457.3 418.9 443.2 435.2 426.9 449.6C396.1 477.6 358.8 495.1 318.1 499.5C299.5 499.8 281.3 496.3 264.3 488.1C238.7 477.8 217.2 458.1 202.7 435.1C188.3 411.2 181.6 383.4 183.7 355.5C183.1 335.4 189.1 315.2 198.7 297.3C212.6 330.4 236.2 358.6 266.3 378.1C296.4 397.6 331.8 407.6 367.7 406.7C398.7 407 429.8 400 457.9 386.2L459.8 385.3C463.7 383 467.5 381.4 471.4 385.3C475.9 390.2 473.2 394.5 470.2 399.3C470 399.5 469.9 399.8 469.8 400V400z\"],\n \"napster\": [496, 512, [], \"f3d2\", \"M298.3 373.6c-14.2 13.6-31.3 24.1-50.4 30.5-19-6.4-36.2-16.9-50.3-30.5h100.7zm44-199.6c20-16.9 43.6-29.2 69.6-36.2V299c0 219.4-328 217.6-328 .3V137.7c25.9 6.9 49.6 19.6 69.5 36.4 56.8-40 132.5-39.9 188.9-.1zm-208.8-58.5c64.4-60 164.3-60.1 228.9-.2-7.1 3.5-13.9 7.3-20.6 11.5-58.7-30.5-129.2-30.4-187.9.1-6.3-4-13.9-8.2-20.4-11.4zM43.8 93.2v69.3c-58.4 36.5-58.4 121.1.1 158.3 26.4 245.1 381.7 240.3 407.6 1.5l.3-1.7c58.7-36.3 58.9-121.7.2-158.2V93.2c-17.3.5-34 3-50.1 7.4-82-91.5-225.5-91.5-307.5.1-16.3-4.4-33.1-7-50.6-7.5zM259.2 352s36-.3 61.3-1.5c10.2-.5 21.1-4 25.5-6.5 26.3-15.1 25.4-39.2 26.2-47.4-79.5-.6-99.9-3.9-113 55.4zm-135.5-55.3c.8 8.2-.1 32.3 26.2 47.4 4.4 2.5 15.2 6 25.5 6.5 25.3 1.1 61.3 1.5 61.3 1.5-13.2-59.4-33.7-56.1-113-55.4zm169.1 123.4c-3.2-5.3-6.9-7.3-6.9-7.3-24.8 7.3-52.2 6.9-75.9 0 0 0-2.9 1.5-6.4 6.6-2.8 4.1-3.7 9.6-3.7 9.6 29.1 17.6 67.1 17.6 96.2 0-.1-.1-.3-4-3.3-8.9z\"],\n \"square-snapchat\": [448, 512, [\"snapchat-square\"], \"f2ad\", \"M384,32H64A64,64,0,0,0,0,96V416a64,64,0,0,0,64,64H384a64,64,0,0,0,64-64V96A64,64,0,0,0,384,32Zm-3.907,319.309-.083.1a32.364,32.364,0,0,1-8.717,6.823,90.26,90.26,0,0,1-20.586,8.2,12.694,12.694,0,0,0-3.852,1.76c-2.158,1.909-2.1,4.64-4.4,8.55a23.137,23.137,0,0,1-6.84,7.471c-6.707,4.632-14.244,4.923-22.23,5.23-7.214.274-15.39.581-24.729,3.669-3.761,1.245-7.753,3.694-12.377,6.533-11.265,6.9-26.68,16.353-52.3,16.353s-40.925-9.4-52.106-16.279c-4.657-2.888-8.675-5.362-12.543-6.64-9.339-3.08-17.516-3.4-24.729-3.67-7.986-.307-15.523-.6-22.231-5.229a23.085,23.085,0,0,1-6.01-6.11c-3.2-4.632-2.855-7.8-5.254-9.895a13.428,13.428,0,0,0-4.1-1.834,89.986,89.986,0,0,1-20.313-8.127,32.905,32.905,0,0,1-8.3-6.284c-6.583-6.757-8.276-14.776-5.686-21.824,3.436-9.338,11.571-12.111,19.4-16.262,14.776-8.027,26.348-18.055,34.433-29.884a68.236,68.236,0,0,0,5.985-10.567c.789-2.158.772-3.329.241-4.416a7.386,7.386,0,0,0-2.208-2.217c-2.532-1.676-5.113-3.353-6.882-4.5-3.27-2.141-5.868-3.818-7.529-4.98-6.267-4.383-10.65-9.04-13.4-14.245a28.4,28.4,0,0,1-1.369-23.584c4.134-10.924,14.469-17.706,26.978-17.706a37.141,37.141,0,0,1,7.845.83c.689.15,1.37.307,2.042.482-.108-7.43.058-15.357.722-23.119,2.358-27.261,11.912-41.589,21.874-52.994a86.836,86.836,0,0,1,22.28-17.931C188.254,100.383,205.312,96,224,96s35.828,4.383,50.944,13.016a87.169,87.169,0,0,1,22.239,17.9c9.961,11.406,19.516,25.709,21.874,52.995a231.194,231.194,0,0,1,.713,23.118c.673-.174,1.362-.332,2.051-.481a37.131,37.131,0,0,1,7.844-.83c12.5,0,22.82,6.782,26.971,17.706a28.37,28.37,0,0,1-1.4,23.559c-2.74,5.2-7.123,9.861-13.39,14.244-1.668,1.187-4.258,2.864-7.529,4.981-1.835,1.187-4.541,2.947-7.164,4.682a6.856,6.856,0,0,0-1.951,2.034c-.506,1.046-.539,2.191.166,4.208a69.015,69.015,0,0,0,6.085,10.792c8.268,12.1,20.188,22.313,35.454,30.407,1.486.772,2.98,1.5,4.441,2.258.722.332,1.569.763,2.491,1.3,4.9,2.723,9.2,6.01,11.455,12.153C387.821,336.915,386.269,344.7,380.093,351.309Zm-16.719-18.461c-50.313-24.314-58.332-61.918-58.689-64.749-.431-3.379-.921-6.035,2.806-9.472,3.594-3.328,19.541-13.19,23.965-16.278,7.33-5.114,10.534-10.219,8.16-16.495-1.66-4.316-5.686-5.976-9.961-5.976a18.5,18.5,0,0,0-3.993.448c-8.035,1.743-15.838,5.769-20.354,6.857a7.1,7.1,0,0,1-1.66.224c-2.408,0-3.279-1.071-3.088-3.968.564-8.783,1.759-25.925.373-41.937-1.884-22.032-8.99-32.948-17.432-42.6-4.051-4.624-23.135-24.654-59.536-24.654S168.53,134.359,164.479,139c-8.434,9.654-15.531,20.57-17.432,42.6-1.386,16.013-.141,33.147.373,41.937.166,2.756-.68,3.968-3.088,3.968a7.1,7.1,0,0,1-1.66-.224c-4.507-1.087-12.31-5.113-20.346-6.856a18.494,18.494,0,0,0-3.993-.449c-4.25,0-8.3,1.636-9.961,5.977-2.374,6.276.847,11.381,8.168,16.494,4.425,3.088,20.371,12.958,23.966,16.279,3.719,3.437,3.237,6.093,2.805,9.471-.356,2.79-8.384,40.394-58.689,64.749-2.946,1.428-7.96,4.45.88,9.331,13.88,7.628,23.111,6.807,30.3,11.43,6.093,3.927,2.5,12.394,6.923,15.449,5.454,3.76,21.583-.266,42.335,6.6,17.433,5.744,28.116,22.015,58.963,22.015s41.788-16.3,58.938-21.973c20.795-6.865,36.89-2.839,42.336-6.6,4.433-3.055.822-11.522,6.923-15.448,7.181-4.624,16.411-3.8,30.3-11.472C371.36,337.355,366.346,334.333,363.374,332.848Z\"],\n \"google-plus-g\": [640, 512, [], \"f0d5\", \"M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z\"],\n \"artstation\": [512, 512, [], \"f77a\", \"M2 377.4l43 74.3A51.35 51.35 0 0 0 90.9 480h285.4l-59.2-102.6zM501.8 350L335.6 59.3A51.38 51.38 0 0 0 290.2 32h-88.4l257.3 447.6 40.7-70.5c1.9-3.2 21-29.7 2-59.1zM275 304.5l-115.5-200L44 304.5z\"],\n \"markdown\": [640, 512, [], \"f60f\", \"M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z\"],\n \"sourcetree\": [448, 512, [], \"f7d3\", \"M427.2 203c0-112.1-90.9-203-203-203C112.1-.2 21.2 90.6 21 202.6A202.86 202.86 0 0 0 161.5 396v101.7a14.3 14.3 0 0 0 14.3 14.3h96.4a14.3 14.3 0 0 0 14.3-14.3V396.1A203.18 203.18 0 0 0 427.2 203zm-271.6 0c0-90.8 137.3-90.8 137.3 0-.1 89.9-137.3 91-137.3 0z\"],\n \"google-plus\": [512, 512, [], \"f2b3\", \"M256,8C119.1,8,8,119.1,8,256S119.1,504,256,504,504,392.9,504,256,392.9,8,256,8ZM185.3,380a124,124,0,0,1,0-248c31.3,0,60.1,11,83,32.3l-33.6,32.6c-13.2-12.9-31.3-19.1-49.4-19.1-42.9,0-77.2,35.5-77.2,78.1S142.3,334,185.3,334c32.6,0,64.9-19.1,70.1-53.3H185.3V238.1H302.2a109.2,109.2,0,0,1,1.9,20.7c0,70.8-47.5,121.2-118.8,121.2ZM415.5,273.8v35.5H380V273.8H344.5V238.3H380V202.8h35.5v35.5h35.2v35.5Z\"],\n \"diaspora\": [512, 512, [], \"f791\", \"M251.64 354.55c-1.4 0-88 119.9-88.7 119.9S76.34 414 76 413.25s86.6-125.7 86.6-127.4c0-2.2-129.6-44-137.6-47.1-1.3-.5 31.4-101.8 31.7-102.1.6-.7 144.4 47 145.5 47 .4 0 .9-.6 1-1.3.4-2 1-148.6 1.7-149.6.8-1.2 104.5-.7 105.1-.3 1.5 1 3.5 156.1 6.1 156.1 1.4 0 138.7-47 139.3-46.3.8.9 31.9 102.2 31.5 102.6-.9.9-140.2 47.1-140.6 48.8-.3 1.4 82.8 122.1 82.5 122.9s-85.5 63.5-86.3 63.5c-1-.2-89-125.5-90.9-125.5z\"],\n \"foursquare\": [368, 512, [], \"f180\", \"M323.1 3H49.9C12.4 3 0 31.3 0 49.1v433.8c0 20.3 12.1 27.7 18.2 30.1 6.2 2.5 22.8 4.6 32.9-7.1C180 356.5 182.2 354 182.2 354c3.1-3.4 3.4-3.1 6.8-3.1h83.4c35.1 0 40.6-25.2 44.3-39.7l48.6-243C373.8 25.8 363.1 3 323.1 3zm-16.3 73.8l-11.4 59.7c-1.2 6.5-9.5 13.2-16.9 13.2H172.1c-12 0-20.6 8.3-20.6 20.3v13c0 12 8.6 20.6 20.6 20.6h90.4c8.3 0 16.6 9.2 14.8 18.2-1.8 8.9-10.5 53.8-11.4 58.8-.9 4.9-6.8 13.5-16.9 13.5h-73.5c-13.5 0-17.2 1.8-26.5 12.6 0 0-8.9 11.4-89.5 108.3-.9.9-1.8.6-1.8-.3V75.9c0-7.7 6.8-16.6 16.6-16.6h219c8.2 0 15.6 7.7 13.5 17.5z\"],\n \"stack-overflow\": [384, 512, [], \"f16c\", \"M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z\"],\n \"github-alt\": [480, 512, [], \"f113\", \"M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z\"],\n \"phoenix-squadron\": [512, 512, [], \"f511\", \"M96 63.38C142.49 27.25 201.55 7.31 260.51 8.81c29.58-.38 59.11 5.37 86.91 15.33-24.13-4.63-49-6.34-73.38-2.45C231.17 27 191 48.84 162.21 80.87c5.67-1 10.78-3.67 16-5.86 18.14-7.87 37.49-13.26 57.23-14.83 19.74-2.13 39.64-.43 59.28 1.92-14.42 2.79-29.12 4.57-43 9.59-34.43 11.07-65.27 33.16-86.3 62.63-13.8 19.71-23.63 42.86-24.67 67.13-.35 16.49 5.22 34.81 19.83 44a53.27 53.27 0 0 0 37.52 6.74c15.45-2.46 30.07-8.64 43.6-16.33 11.52-6.82 22.67-14.55 32-24.25 3.79-3.22 2.53-8.45 2.62-12.79-2.12-.34-4.38-1.11-6.3.3a203 203 0 0 1-35.82 15.37c-20 6.17-42.16 8.46-62.1.78 12.79 1.73 26.06.31 37.74-5.44 20.23-9.72 36.81-25.2 54.44-38.77a526.57 526.57 0 0 1 88.9-55.31c25.71-12 52.94-22.78 81.57-24.12-15.63 13.72-32.15 26.52-46.78 41.38-14.51 14-27.46 29.5-40.11 45.18-3.52 4.6-8.95 6.94-13.58 10.16a150.7 150.7 0 0 0-51.89 60.1c-9.33 19.68-14.5 41.85-11.77 63.65 1.94 13.69 8.71 27.59 20.9 34.91 12.9 8 29.05 8.07 43.48 5.1 32.8-7.45 61.43-28.89 81-55.84 20.44-27.52 30.52-62.2 29.16-96.35-.52-7.5-1.57-15-1.66-22.49 8 19.48 14.82 39.71 16.65 60.83 2 14.28.75 28.76-1.62 42.9-1.91 11-5.67 21.51-7.78 32.43a165 165 0 0 0 39.34-81.07 183.64 183.64 0 0 0-14.21-104.64c20.78 32 32.34 69.58 35.71 107.48.49 12.73.49 25.51 0 38.23A243.21 243.21 0 0 1 482 371.34c-26.12 47.34-68 85.63-117.19 108-78.29 36.23-174.68 31.32-248-14.68A248.34 248.34 0 0 1 25.36 366 238.34 238.34 0 0 1 0 273.08v-31.34C3.93 172 40.87 105.82 96 63.38m222 80.33a79.13 79.13 0 0 0 16-4.48c5-1.77 9.24-5.94 10.32-11.22-8.96 4.99-17.98 9.92-26.32 15.7z\"],\n \"pagelines\": [384, 512, [], \"f18c\", \"M384 312.7c-55.1 136.7-187.1 54-187.1 54-40.5 81.8-107.4 134.4-184.6 134.7-16.1 0-16.6-24.4 0-24.4 64.4-.3 120.5-42.7 157.2-110.1-41.1 15.9-118.6 27.9-161.6-82.2 109-44.9 159.1 11.2 178.3 45.5 9.9-24.4 17-50.9 21.6-79.7 0 0-139.7 21.9-149.5-98.1 119.1-47.9 152.6 76.7 152.6 76.7 1.6-16.7 3.3-52.6 3.3-53.4 0 0-106.3-73.7-38.1-165.2 124.6 43 61.4 162.4 61.4 162.4.5 1.6.5 23.8 0 33.4 0 0 45.2-89 136.4-57.5-4.2 134-141.9 106.4-141.9 106.4-4.4 27.4-11.2 53.4-20 77.5 0 0 83-91.8 172-20z\"],\n \"algolia\": [448, 512, [], \"f36c\", \"M229.3 182.6c-49.3 0-89.2 39.9-89.2 89.2 0 49.3 39.9 89.2 89.2 89.2s89.2-39.9 89.2-89.2c0-49.3-40-89.2-89.2-89.2zm62.7 56.6l-58.9 30.6c-1.8.9-3.8-.4-3.8-2.3V201c0-1.5 1.3-2.7 2.7-2.6 26.2 1 48.9 15.7 61.1 37.1.7 1.3.2 3-1.1 3.7zM389.1 32H58.9C26.4 32 0 58.4 0 90.9V421c0 32.6 26.4 59 58.9 59H389c32.6 0 58.9-26.4 58.9-58.9V90.9C448 58.4 421.6 32 389.1 32zm-202.6 84.7c0-10.8 8.7-19.5 19.5-19.5h45.3c10.8 0 19.5 8.7 19.5 19.5v15.4c0 1.8-1.7 3-3.3 2.5-12.3-3.4-25.1-5.1-38.1-5.1-13.5 0-26.7 1.8-39.4 5.5-1.7.5-3.4-.8-3.4-2.5v-15.8zm-84.4 37l9.2-9.2c7.6-7.6 19.9-7.6 27.5 0l7.7 7.7c1.1 1.1 1 3-.3 4-6.2 4.5-12.1 9.4-17.6 14.9-5.4 5.4-10.4 11.3-14.8 17.4-1 1.3-2.9 1.5-4 .3l-7.7-7.7c-7.6-7.5-7.6-19.8 0-27.4zm127.2 244.8c-70 0-126.6-56.7-126.6-126.6s56.7-126.6 126.6-126.6c70 0 126.6 56.6 126.6 126.6 0 69.8-56.7 126.6-126.6 126.6z\"],\n \"red-river\": [448, 512, [], \"f3e3\", \"M353.2 32H94.8C42.4 32 0 74.4 0 126.8v258.4C0 437.6 42.4 480 94.8 480h258.4c52.4 0 94.8-42.4 94.8-94.8V126.8c0-52.4-42.4-94.8-94.8-94.8zM144.9 200.9v56.3c0 27-21.9 48.9-48.9 48.9V151.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9h-56.3c-12.3-.6-24.6 11.6-24 24zm176.3 72h-56.3c-12.3-.6-24.6 11.6-24 24v56.3c0 27-21.9 48.9-48.9 48.9V247.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9z\"],\n \"creative-commons-sa\": [496, 512, [], \"f4ef\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zM137.7 221c13-83.9 80.5-95.7 108.9-95.7 99.8 0 127.5 82.5 127.5 134.2 0 63.6-41 132.9-128.9 132.9-38.9 0-99.1-20-109.4-97h62.5c1.5 30.1 19.6 45.2 54.5 45.2 23.3 0 58-18.2 58-82.8 0-82.5-49.1-80.6-56.7-80.6-33.1 0-51.7 14.6-55.8 43.8h18.2l-49.2 49.2-49-49.2h19.4z\"],\n \"safari\": [512, 512, [], \"f267\", \"M274.69,274.69l-37.38-37.38L166,346ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM411.85,182.79l14.78-6.13A8,8,0,0,1,437.08,181h0a8,8,0,0,1-4.33,10.46L418,197.57a8,8,0,0,1-10.45-4.33h0A8,8,0,0,1,411.85,182.79ZM314.43,94l6.12-14.78A8,8,0,0,1,331,74.92h0a8,8,0,0,1,4.33,10.45l-6.13,14.78a8,8,0,0,1-10.45,4.33h0A8,8,0,0,1,314.43,94ZM256,60h0a8,8,0,0,1,8,8V84a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V68A8,8,0,0,1,256,60ZM181,74.92a8,8,0,0,1,10.46,4.33L197.57,94a8,8,0,1,1-14.78,6.12l-6.13-14.78A8,8,0,0,1,181,74.92Zm-63.58,42.49h0a8,8,0,0,1,11.31,0L140,128.72A8,8,0,0,1,140,140h0a8,8,0,0,1-11.31,0l-11.31-11.31A8,8,0,0,1,117.41,117.41ZM60,256h0a8,8,0,0,1,8-8H84a8,8,0,0,1,8,8h0a8,8,0,0,1-8,8H68A8,8,0,0,1,60,256Zm40.15,73.21-14.78,6.13A8,8,0,0,1,74.92,331h0a8,8,0,0,1,4.33-10.46L94,314.43a8,8,0,0,1,10.45,4.33h0A8,8,0,0,1,100.15,329.21Zm4.33-136h0A8,8,0,0,1,94,197.57l-14.78-6.12A8,8,0,0,1,74.92,181h0a8,8,0,0,1,10.45-4.33l14.78,6.13A8,8,0,0,1,104.48,193.24ZM197.57,418l-6.12,14.78a8,8,0,0,1-14.79-6.12l6.13-14.78A8,8,0,1,1,197.57,418ZM264,444a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V428a8,8,0,0,1,8-8h0a8,8,0,0,1,8,8Zm67-6.92h0a8,8,0,0,1-10.46-4.33L314.43,418a8,8,0,0,1,4.33-10.45h0a8,8,0,0,1,10.45,4.33l6.13,14.78A8,8,0,0,1,331,437.08Zm63.58-42.49h0a8,8,0,0,1-11.31,0L372,383.28A8,8,0,0,1,372,372h0a8,8,0,0,1,11.31,0l11.31,11.31A8,8,0,0,1,394.59,394.59ZM286.25,286.25,110.34,401.66,225.75,225.75,401.66,110.34ZM437.08,331h0a8,8,0,0,1-10.45,4.33l-14.78-6.13a8,8,0,0,1-4.33-10.45h0A8,8,0,0,1,418,314.43l14.78,6.12A8,8,0,0,1,437.08,331ZM444,264H428a8,8,0,0,1-8-8h0a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8h0A8,8,0,0,1,444,264Z\"],\n \"google\": [488, 512, [], \"f1a0\", \"M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z\"],\n \"square-font-awesome-stroke\": [448, 512, [\"font-awesome-alt\"], \"f35c\", \"M201.6,152c-25.4,0-37.4,10.4-57.6,14.4V160c0-8.8-7.2-16-16-16s-16,7.2-16,16v192c0,0.8,0.1,1.6,0.2,2.4 c0.1,0.4,0.1,0.8,0.2,1.2c1.6,7.1,8,12.4,15.6,12.4s14-5.3,15.6-12.4c0.1-0.4,0.2-0.8,0.2-1.2c0.1-0.8,0.2-1.6,0.2-2.4V198.4 c4-0.8,7.7-1.8,11.2-3c14.3-4.7,26-11.4,46.4-11.4c31.4,0,43.2,16,74.6,16c8.9,0,15.9-1.1,24.2-3.5c1.2-0.3,2.4-0.7,3.6-1.1v96 c-10,3.2-17.6,4.6-27.8,4.6c-31.4,0-43.4-16-74.6-16c-10.2,0-18.2,1.8-25.6,4v32c7.4-2.4,15.4-4,25.6-4c31.4,0,43.2,16,74.6,16 c18.6,0,28.2-4.8,59.8-16V152c-31.6,11.2-41.2,16-59.8,16C244.8,168,232.8,152,201.6,152z M384,32H64C28.7,32,0,60.7,0,96v320 c0,35.3,28.7,64,64,64h320c35.3,0,64-28.7,64-64V96C448,60.7,419.3,32,384,32z M416,416c0,17.6-14.4,32-32,32H64 c-17.6,0-32-14.4-32-32V96c0-17.6,14.4-32,32-32h320c17.6,0,32,14.4,32,32V416z\"],\n \"atlassian\": [512, 512, [], \"f77b\", \"M152.2 236.4c-7.7-8.2-19.7-7.7-24.8 2.8L1.6 490.2c-5 10 2.4 21.7 13.4 21.7h175c5.8.1 11-3.2 13.4-8.4 37.9-77.8 15.1-196.3-51.2-267.1zM244.4 8.1c-122.3 193.4-8.5 348.6 65 495.5 2.5 5.1 7.7 8.4 13.4 8.4H497c11.2 0 18.4-11.8 13.4-21.7 0 0-234.5-470.6-240.4-482.3-5.3-10.6-18.8-10.8-25.6.1z\"],\n \"linkedin-in\": [448, 512, [], \"f0e1\", \"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z\"],\n \"digital-ocean\": [512, 512, [], \"f391\", \"M87 481.8h73.7v-73.6H87zM25.4 346.6v61.6H87v-61.6zm466.2-169.7c-23-74.2-82.4-133.3-156.6-156.6C164.9-32.8 8 93.7 8 255.9h95.8c0-101.8 101-180.5 208.1-141.7 39.7 14.3 71.5 46.1 85.8 85.7 39.1 107-39.7 207.8-141.4 208v.3h-.3V504c162.6 0 288.8-156.8 235.6-327.1zm-235.3 231v-95.3h-95.6v95.6H256v-.3z\"],\n \"nimblr\": [384, 512, [], \"f5a8\", \"M246.6 299.29c15.57 0 27.15 11.46 27.15 27s-11.62 27-27.15 27c-15.7 0-27.15-11.57-27.15-27s11.55-27 27.15-27zM113 326.25c0-15.61 11.68-27 27.15-27s27.15 11.46 27.15 27-11.47 27-27.15 27c-15.44 0-27.15-11.31-27.15-27M191.76 159C157 159 89.45 178.77 59.25 227L14 0v335.48C14 433.13 93.61 512 191.76 512s177.76-78.95 177.76-176.52S290.13 159 191.76 159zm0 308.12c-73.27 0-132.51-58.9-132.51-131.59s59.24-131.59 132.51-131.59 132.51 58.86 132.51 131.54S265 467.07 191.76 467.07z\"],\n \"chromecast\": [512, 512, [], \"f838\", \"M447.8,64H64c-23.6,0-42.7,19.1-42.7,42.7v63.9H64v-63.9h383.8v298.6H298.6V448H448c23.6,0,42.7-19.1,42.7-42.7V106.7 C490.7,83.1,471.4,64,447.8,64z M21.3,383.6L21.3,383.6l0,63.9h63.9C85.2,412.2,56.6,383.6,21.3,383.6L21.3,383.6z M21.3,298.6V341 c58.9,0,106.6,48.1,106.6,107h42.7C170.7,365.6,103.7,298.7,21.3,298.6z M213.4,448h42.7c-0.5-129.5-105.3-234.3-234.8-234.6l0,42.4 C127.3,255.6,213.3,342,213.4,448z\"],\n \"evernote\": [384, 512, [], \"f839\", \"M120.82 132.21c1.6 22.31-17.55 21.59-21.61 21.59-68.93 0-73.64-1-83.58 3.34-.56.22-.74 0-.37-.37L123.79 46.45c.38-.37.6-.22.38.37-4.35 9.99-3.35 15.09-3.35 85.39zm79 308c-14.68-37.08 13-76.93 52.52-76.62 17.49 0 22.6 23.21 7.95 31.42-6.19 3.3-24.95 1.74-25.14 19.2-.05 17.09 19.67 25 31.2 24.89A45.64 45.64 0 0 0 312 393.45v-.08c0-11.63-7.79-47.22-47.54-55.34-7.72-1.54-65-6.35-68.35-50.52-3.74 16.93-17.4 63.49-43.11 69.09-8.74 1.94-69.68 7.64-112.92-36.77 0 0-18.57-15.23-28.23-57.95-3.38-15.75-9.28-39.7-11.14-62 0-18 11.14-30.45 25.07-32.2 81 0 90 2.32 101-7.8 9.82-9.24 7.8-15.5 7.8-102.78 1-8.3 7.79-30.81 53.41-24.14 6 .86 31.91 4.18 37.48 30.64l64.26 11.15c20.43 3.71 70.94 7 80.6 57.94 22.66 121.09 8.91 238.46 7.8 238.46C362.15 485.53 267.06 480 267.06 480c-18.95-.23-54.25-9.4-67.27-39.83zm80.94-204.84c-1 1.92-2.2 6 .85 7 14.09 4.93 39.75 6.84 45.88 5.53 3.11-.25 3.05-4.43 2.48-6.65-3.53-21.85-40.83-26.5-49.24-5.92z\"],\n \"hacker-news\": [448, 512, [], \"f1d4\", \"M0 32v448h448V32H0zm21.2 197.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"],\n \"creative-commons-sampling\": [496, 512, [], \"f4f0\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm3.6 53.2c2.8-.3 11.5 1 11.5 11.5l6.6 107.2 4.9-59.3c0-6 4.7-10.6 10.6-10.6 5.9 0 10.6 4.7 10.6 10.6 0 2.5-.5-5.7 5.7 81.5l5.8-64.2c.3-2.9 2.9-9.3 10.2-9.3 3.8 0 9.9 2.3 10.6 8.9l11.5 96.5 5.3-12.8c1.8-4.4 5.2-6.6 10.2-6.6h58v21.3h-50.9l-18.2 44.3c-3.9 9.9-19.5 9.1-20.8-3.1l-4-31.9-7.5 92.6c-.3 3-3 9.3-10.2 9.3-3 0-9.8-2.1-10.6-9.3 0-1.9.6 5.8-6.2-77.9l-5.3 72.2c-1.1 4.8-4.8 9.3-10.6 9.3-2.9 0-9.8-2-10.6-9.3 0-1.9.5 6.7-5.8-87.7l-5.8 94.8c0 6.3-3.6 12.4-10.6 12.4-5.2 0-10.6-4.1-10.6-12l-5.8-87.7c-5.8 92.5-5.3 84-5.3 85.9-1.1 4.8-4.8 9.3-10.6 9.3-3 0-9.8-2.1-10.6-9.3 0-.7-.4-1.1-.4-2.6l-6.2-88.6L182 348c-.7 6.5-6.7 9.3-10.6 9.3-5.8 0-9.6-4.1-10.6-8.9L149.7 272c-2 4-3.5 8.4-11.1 8.4H87.2v-21.3H132l13.7-27.9c4.4-9.9 18.2-7.2 19.9 2.7l3.1 20.4 8.4-97.9c0-6 4.8-10.6 10.6-10.6.5 0 10.6-.2 10.6 12.4l4.9 69.1 6.6-92.6c0-10.1 9.5-10.6 10.2-10.6.6 0 10.6.7 10.6 10.6l5.3 80.6 6.2-97.9c.1-1.1-.6-10.3 9.9-11.5z\"],\n \"adversal\": [512, 512, [], \"f36a\", \"M482.1 32H28.7C5.8 32 0 37.9 0 60.9v390.2C0 474.4 5.8 480 28.7 480h453.4c24.4 0 29.9-5.2 29.9-29.7V62.2c0-24.6-5.4-30.2-29.9-30.2zM178.4 220.3c-27.5-20.2-72.1-8.7-84.2 23.4-4.3 11.1-9.3 9.5-17.5 8.3-9.7-1.5-17.2-3.2-22.5-5.5-28.8-11.4 8.6-55.3 24.9-64.3 41.1-21.4 83.4-22.2 125.3-4.8 40.9 16.8 34.5 59.2 34.5 128.5 2.7 25.8-4.3 58.3 9.3 88.8 1.9 4.4.4 7.9-2.7 10.7-8.4 6.7-39.3 2.2-46.6-7.4-1.9-2.2-1.8-3.6-3.9-6.2-3.6-3.9-7.3-2.2-11.9 1-57.4 36.4-140.3 21.4-147-43.3-3.1-29.3 12.4-57.1 39.6-71 38.2-19.5 112.2-11.8 114-30.9 1.1-10.2-1.9-20.1-11.3-27.3zm286.7 222c0 15.1-11.1 9.9-17.8 9.9H52.4c-7.4 0-18.2 4.8-17.8-10.7.4-13.9 10.5-9.1 17.1-9.1 132.3-.4 264.5-.4 396.8 0 6.8 0 16.6-4.4 16.6 9.9zm3.8-340.5v291c0 5.7-.7 13.9-8.1 13.9-12.4-.4-27.5 7.1-36.1-5.6-5.8-8.7-7.8-4-12.4-1.2-53.4 29.7-128.1 7.1-144.4-85.2-6.1-33.4-.7-67.1 15.7-100 11.8-23.9 56.9-76.1 136.1-30.5v-71c0-26.2-.1-26.2 26-26.2 3.1 0 6.6.4 9.7 0 10.1-.8 13.6 4.4 13.6 14.3-.1.2-.1.3-.1.5zm-51.5 232.3c-19.5 47.6-72.9 43.3-90 5.2-15.1-33.3-15.5-68.2.4-101.5 16.3-34.1 59.7-35.7 81.5-4.8 20.6 28.8 14.9 84.6 8.1 101.1zm-294.8 35.3c-7.5-1.3-33-3.3-33.7-27.8-.4-13.9 7.8-23 19.8-25.8 24.4-5.9 49.3-9.9 73.7-14.7 8.9-2 7.4 4.4 7.8 9.5 1.4 33-26.1 59.2-67.6 58.8z\"],\n \"creative-commons\": [496, 512, [], \"f25e\", \"M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z\"],\n \"watchman-monitoring\": [512, 512, [], \"e087\", \"M256,16C123.452,16,16,123.452,16,256S123.452,496,256,496,496,388.548,496,256,388.548,16,256,16ZM121.69,429.122C70.056,388.972,36.741,326.322,36.741,256a218.519,218.519,0,0,1,9.587-64.122l102.9-17.895-.121,10.967-13.943,2.013s-.144,12.5-.144,19.549a12.778,12.778,0,0,0,4.887,10.349l9.468,7.4Zm105.692-283.27,8.48-7.618s6.934-5.38-.143-9.344c-7.188-4.024-39.53-34.5-39.53-34.5-5.348-5.477-8.257-7.347-15.46,0,0,0-32.342,30.474-39.529,34.5-7.078,3.964-.144,9.344-.144,9.344l8.481,7.618-.048,4.369L75.982,131.045c39.644-56.938,105.532-94.3,180.018-94.3A218.754,218.754,0,0,1,420.934,111.77l-193.512,37.7Zm34.063,329.269-33.9-250.857,9.467-7.4a12.778,12.778,0,0,0,4.888-10.349c0-7.044-.144-19.549-.144-19.549l-13.943-2.013-.116-10.474,241.711,31.391A218.872,218.872,0,0,1,475.259,256C475.259,375.074,379.831,472.212,261.445,475.121Z\"],\n \"fonticons\": [448, 512, [], \"f280\", \"M0 32v448h448V32zm187 140.9c-18.4 0-19 9.9-19 27.4v23.3c0 2.4-3.5 4.4-.6 4.4h67.4l-11.1 37.3H168v112.9c0 5.8-2 6.7 3.2 7.3l43.5 4.1v25.1H84V389l21.3-2c5.2-.6 6.7-2.3 6.7-7.9V267.7c0-2.3-2.9-2.3-5.8-2.3H84V228h28v-21c0-49.6 26.5-70 77.3-70 34.1 0 64.7 8.2 64.7 52.8l-50.7 6.1c.3-18.7-4.4-23-16.3-23zm74.3 241.8v-25.1l20.4-2.6c5.2-.6 7.6-1.7 7.6-7.3V271.8c0-4.1-2.9-6.7-6.7-7.9l-24.2-6.4 6.7-29.5h80.2v151.7c0 5.8-2.6 6.4 2.9 7.3l15.7 2.6v25.1zm80.8-255.5l9 33.2-7.3 7.3-31.2-16.6-31.2 16.6-7.3-7.3 9-33.2-21.8-24.2 3.5-9.6h27.7l15.5-28h9.3l15.5 28h27.7l3.5 9.6z\"],\n \"weixin\": [576, 512, [], \"f1d7\", \"M385.2 167.6c6.4 0 12.6.3 18.8 1.1C387.4 90.3 303.3 32 207.7 32 100.5 32 13 104.8 13 197.4c0 53.4 29.3 97.5 77.9 131.6l-19.3 58.6 68-34.1c24.4 4.8 43.8 9.7 68.2 9.7 6.2 0 12.1-.3 18.3-.8-4-12.9-6.2-26.6-6.2-40.8-.1-84.9 72.9-154 165.3-154zm-104.5-52.9c14.5 0 24.2 9.7 24.2 24.4 0 14.5-9.7 24.2-24.2 24.2-14.8 0-29.3-9.7-29.3-24.2.1-14.7 14.6-24.4 29.3-24.4zm-136.4 48.6c-14.5 0-29.3-9.7-29.3-24.2 0-14.8 14.8-24.4 29.3-24.4 14.8 0 24.4 9.7 24.4 24.4 0 14.6-9.6 24.2-24.4 24.2zM563 319.4c0-77.9-77.9-141.3-165.4-141.3-92.7 0-165.4 63.4-165.4 141.3S305 460.7 397.6 460.7c19.3 0 38.9-5.1 58.6-9.9l53.4 29.3-14.8-48.6C534 402.1 563 363.2 563 319.4zm-219.1-24.5c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.8 0 24.4 9.7 24.4 19.3 0 10-9.7 19.6-24.4 19.6zm107.1 0c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.5 0 24.4 9.7 24.4 19.3.1 10-9.9 19.6-24.4 19.6z\"],\n \"shirtsinbulk\": [448, 512, [], \"f214\", \"M100 410.3l30.6 13.4 4.4-9.9-30.6-13.4zm39.4 17.5l30.6 13.4 4.4-9.9-30.6-13.4zm172.1-14l4.4 9.9 30.6-13.4-4.4-9.9zM179.1 445l30.3 13.7 4.4-9.9-30.3-13.4zM60.4 392.8L91 406.2l4.4-9.6-30.6-13.7zm211.4 38.5l4.4 9.9 30.6-13.4-4.4-9.9zm-39.3 17.5l4.4 9.9 30.6-13.7-4.4-9.6zm118.4-52.2l4.4 9.6 30.6-13.4-4.4-9.9zM170 46.6h-33.5v10.5H170zm-47.2 0H89.2v10.5h33.5zm-47.3 0H42.3v10.5h33.3zm141.5 0h-33.2v10.5H217zm94.5 0H278v10.5h33.5zm47.3 0h-33.5v10.5h33.5zm-94.6 0H231v10.5h33.2zm141.5 0h-33.3v10.5h33.3zM52.8 351.1H42v33.5h10.8zm70-215.9H89.2v10.5h33.5zm-70 10.6h22.8v-10.5H42v33.5h10.8zm168.9 228.6c50.5 0 91.3-40.8 91.3-91.3 0-50.2-40.8-91.3-91.3-91.3-50.2 0-91.3 41.1-91.3 91.3 0 50.5 41.1 91.3 91.3 91.3zm-48.2-111.1c0-25.4 29.5-31.8 49.6-31.8 16.9 0 29.2 5.8 44.3 12l-8.8 16.9h-.9c-6.4-9.9-24.8-13.1-35.6-13.1-9 0-29.8 1.8-29.8 14.9 0 21.6 78.5-10.2 78.5 37.9 0 25.4-31.5 31.2-51 31.2-18.1 0-32.4-2.9-47.2-12.2l9-18.4h.9c6.1 12.2 23.6 14.9 35.9 14.9 8.7 0 32.7-1.2 32.7-14.3 0-26.1-77.6 6.3-77.6-38zM52.8 178.4H42V212h10.8zm342.4 206.2H406v-33.5h-10.8zM52.8 307.9H42v33.5h10.8zM0 3.7v406l221.7 98.6L448 409.7V3.7zm418.8 387.1L222 476.5 29.2 390.8V120.7h389.7v270.1zm0-299.3H29.2V32.9h389.7v58.6zm-366 130.1H42v33.5h10.8zm0 43.2H42v33.5h10.8zM170 135.2h-33.5v10.5H170zm225.2 163.1H406v-33.5h-10.8zm0-43.2H406v-33.5h-10.8zM217 135.2h-33.2v10.5H217zM395.2 212H406v-33.5h-10.8zm0 129.5H406V308h-10.8zm-131-206.3H231v10.5h33.2zm47.3 0H278v10.5h33.5zm83.7 33.6H406v-33.5h-33.5v10.5h22.8zm-36.4-33.6h-33.5v10.5h33.5z\"],\n \"codepen\": [512, 512, [], \"f1cb\", \"M502.285 159.704l-234-156c-7.987-4.915-16.511-4.96-24.571 0l-234 156C3.714 163.703 0 170.847 0 177.989v155.999c0 7.143 3.714 14.286 9.715 18.286l234 156.022c7.987 4.915 16.511 4.96 24.571 0l234-156.022c6-3.999 9.715-11.143 9.715-18.286V177.989c-.001-7.142-3.715-14.286-9.716-18.285zM278 63.131l172.286 114.858-76.857 51.429L278 165.703V63.131zm-44 0v102.572l-95.429 63.715-76.857-51.429L234 63.131zM44 219.132l55.143 36.857L44 292.846v-73.714zm190 229.715L61.714 333.989l76.857-51.429L234 346.275v102.572zm22-140.858l-77.715-52 77.715-52 77.715 52-77.715 52zm22 140.858V346.275l95.429-63.715 76.857 51.429L278 448.847zm190-156.001l-55.143-36.857L468 219.132v73.714z\"],\n \"git-alt\": [448, 512, [], \"f841\", \"M439.55 236.05L244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z\"],\n \"lyft\": [512, 512, [], \"f3c3\", \"M0 81.1h77.8v208.7c0 33.1 15 52.8 27.2 61-12.7 11.1-51.2 20.9-80.2-2.8C7.8 334 0 310.7 0 289V81.1zm485.9 173.5v-22h23.8v-76.8h-26.1c-10.1-46.3-51.2-80.7-100.3-80.7-56.6 0-102.7 46-102.7 102.7V357c16 2.3 35.4-.3 51.7-14 17.1-14 24.8-37.2 24.8-59v-6.7h38.8v-76.8h-38.8v-23.3c0-34.6 52.2-34.6 52.2 0v77.1c0 56.6 46 102.7 102.7 102.7v-76.5c-14.5 0-26.1-11.7-26.1-25.9zm-294.3-99v113c0 15.4-23.8 15.4-23.8 0v-113H91v132.7c0 23.8 8 54 45 63.9 37 9.8 58.2-10.6 58.2-10.6-2.1 13.4-14.5 23.3-34.9 25.3-15.5 1.6-35.2-3.6-45-7.8v70.3c25.1 7.5 51.5 9.8 77.6 4.7 47.1-9.1 76.8-48.4 76.8-100.8V155.1h-77.1v.5z\"],\n \"rev\": [448, 512, [], \"f5b2\", \"M289.67 274.89a65.57 65.57 0 1 1-65.56-65.56 65.64 65.64 0 0 1 65.56 65.56zm139.55-5.05h-.13a204.69 204.69 0 0 0-74.32-153l-45.38 26.2a157.07 157.07 0 0 1 71.81 131.84C381.2 361.5 310.73 432 224.11 432S67 361.5 67 274.88c0-81.88 63-149.27 143-156.43v39.12l108.77-62.79L210 32v38.32c-106.7 7.25-191 96-191 204.57 0 111.59 89.12 202.29 200.06 205v.11h210.16V269.84z\"],\n \"windows\": [448, 512, [], \"f17a\", \"M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z\"],\n \"wizards-of-the-coast\": [640, 512, [], \"f730\", \"M219.19 345.69c-1.9 1.38-11.07 8.44-.26 23.57 4.64 6.42 14.11 12.79 21.73 6.55 6.5-4.88 7.35-12.92.26-23.04-5.47-7.76-14.28-12.88-21.73-7.08zm336.75 75.94c-.34 1.7-.55 1.67.79 0 2.09-4.19 4.19-10.21 4.98-19.9 3.14-38.49-40.33-71.49-101.34-78.03-54.73-6.02-124.38 9.17-188.8 60.49l-.26 1.57c2.62 4.98 4.98 10.74 3.4 21.21l.79.26c63.89-58.4 131.19-77.25 184.35-73.85 58.4 3.67 100.03 34.04 100.03 68.08-.01 9.96-2.63 15.72-3.94 20.17zM392.28 240.42c.79 7.07 4.19 10.21 9.17 10.47 5.5.26 9.43-2.62 10.47-6.55.79-3.4 2.09-29.85 2.09-29.85s-11.26 6.55-14.93 10.47c-3.66 3.68-7.33 8.39-6.8 15.46zm-50.02-151.1C137.75 89.32 13.1 226.8.79 241.2c-1.05.52-1.31.79.79 1.31 60.49 16.5 155.81 81.18 196.13 202.16l1.05.26c55.25-69.92 140.88-128.05 236.99-128.05 80.92 0 130.15 42.16 130.15 80.39 0 18.33-6.55 33.52-22.26 46.35 0 .96-.2.79.79.79 14.66-10.74 27.5-28.8 27.5-48.18 0-22.78-12.05-38.23-12.05-38.23 7.07 7.07 10.74 16.24 10.74 16.24 5.76-40.85 26.97-62.32 26.97-62.32-2.36-9.69-6.81-17.81-6.81-17.81 7.59 8.12 14.4 27.5 14.4 41.37 0 10.47-3.4 22.78-12.57 31.95l.26.52c8.12-4.98 16.5-16.76 16.5-37.97 0-15.71-4.71-25.92-4.71-25.92 5.76-5.24 11.26-9.17 15.97-11.78.79 3.4 2.09 9.69 2.36 14.93 0 1.05.79 1.83 1.05 0 .79-5.76-.26-16.24-.26-16.5 6.02-3.14 9.69-4.45 9.69-4.45C617.74 176 489.43 89.32 342.26 89.32zm-99.24 289.62c-11.06 8.99-24.2 4.08-30.64-4.19-7.45-9.58-6.76-24.09 4.19-32.47 14.85-11.35 27.08-.49 31.16 5.5.28.39 12.13 16.57-4.71 31.16zm2.09-136.43l9.43-17.81 11.78 70.96-12.57 6.02-24.62-28.8 14.14-26.71 3.67 4.45-1.83-8.11zm18.59 117.58l-.26-.26c2.05-4.1-2.5-6.61-17.54-31.69-1.31-2.36-3.14-2.88-4.45-2.62l-.26-.52c7.86-5.76 15.45-10.21 25.4-15.71l.52.26c1.31 1.83 2.09 2.88 3.4 4.71l-.26.52c-1.05-.26-2.36-.79-5.24.26-2.09.79-7.86 3.67-12.31 7.59v1.31c1.57 2.36 3.93 6.55 5.76 9.69h.26c10.05-6.28 7.56-4.55 11.52-7.86h.26c.52 1.83.52 1.83 1.83 5.5l-.26.26c-3.06.61-4.65.34-11.52 5.5v.26c9.46 17.02 11.01 16.75 12.57 15.97l.26.26c-2.34 1.59-6.27 4.21-9.68 6.57zm55.26-32.47c-3.14 1.57-6.02 2.88-9.95 4.98l-.26-.26c1.29-2.59 1.16-2.71-11.78-32.47l-.26-.26c-.15 0-8.9 3.65-9.95 7.33h-.52l-1.05-5.76.26-.52c7.29-4.56 25.53-11.64 27.76-12.57l.52.26 3.14 4.98-.26.52c-3.53-1.76-7.35.76-12.31 2.62v.26c12.31 32.01 12.67 30.64 14.66 30.64v.25zm44.77-16.5c-4.19 1.05-5.24 1.31-9.69 2.88l-.26-.26.52-4.45c-1.05-3.4-3.14-11.52-3.67-13.62l-.26-.26c-3.4.79-8.9 2.62-12.83 3.93l-.26.26c.79 2.62 3.14 9.95 4.19 13.88.79 2.36 1.83 2.88 2.88 3.14v.52c-3.67 1.05-7.07 2.62-10.21 3.93l-.26-.26c1.05-1.31 1.05-2.88.26-4.98-1.05-3.14-8.12-23.83-9.17-27.23-.52-1.83-1.57-3.14-2.62-3.14v-.52c3.14-1.05 6.02-2.09 10.74-3.4l.26.26-.26 4.71c1.31 3.93 2.36 7.59 3.14 9.69h.26c3.93-1.31 9.43-2.88 12.83-3.93l.26-.26-2.62-9.43c-.52-1.83-1.05-3.4-2.62-3.93v-.26c4.45-1.05 7.33-1.83 10.74-2.36l.26.26c-1.05 1.31-1.05 2.88-.52 4.45 1.57 6.28 4.71 20.43 6.28 26.45.54 2.62 1.85 3.41 2.63 3.93zm32.21-6.81l-.26.26c-4.71.52-14.14 2.36-22.52 4.19l-.26-.26.79-4.19c-1.57-7.86-3.4-18.59-4.98-26.19-.26-1.83-.79-2.88-2.62-3.67l.79-.52c9.17-1.57 20.16-2.36 24.88-2.62l.26.26c.52 2.36.79 3.14 1.57 5.5l-.26.26c-1.14-1.14-3.34-3.2-16.24-.79l-.26.26c.26 1.57 1.05 6.55 1.57 9.95l.26.26c9.52-1.68 4.76-.06 10.74-2.36h.26c0 1.57-.26 1.83-.26 5.24h-.26c-4.81-1.03-2.15-.9-10.21 0l-.26.26c.26 2.09 1.57 9.43 2.09 12.57l.26.26c1.15.38 14.21-.65 16.24-4.71h.26c-.53 2.38-1.05 4.21-1.58 6.04zm10.74-44.51c-4.45 2.36-8.12 2.88-11 2.88-.25.02-11.41 1.09-17.54-9.95-6.74-10.79-.98-25.2 5.5-31.69 8.8-8.12 23.35-10.1 28.54-17.02 8.03-10.33-13.04-22.31-29.59-5.76l-2.62-2.88 5.24-16.24c25.59-1.57 45.2-3.04 50.02 16.24.79 3.14 0 9.43-.26 12.05 0 2.62-1.83 18.85-2.09 23.04-.52 4.19-.79 18.33-.79 20.69.26 2.36.52 4.19 1.57 5.5 1.57 1.83 5.76 1.83 5.76 1.83l-.79 4.71c-11.82-1.07-10.28-.59-20.43-1.05-3.22-5.15-2.23-3.28-4.19-7.86 0 .01-4.19 3.94-7.33 5.51zm37.18 21.21c-6.35-10.58-19.82-7.16-21.73 5.5-2.63 17.08 14.3 19.79 20.69 10.21l.26.26c-.52 1.83-1.83 6.02-1.83 6.28l-.52.52c-10.3 6.87-28.5-2.5-25.66-18.59 1.94-10.87 14.44-18.93 28.8-9.95l.26.52c0 1.06-.27 3.41-.27 5.25zm5.77-87.73v-6.55c.69 0 19.65 3.28 27.76 7.33l-1.57 17.54s10.21-9.43 15.45-10.74c5.24-1.57 14.93 7.33 14.93 7.33l-11.26 11.26c-12.07-6.35-19.59-.08-20.69.79-5.29 38.72-8.6 42.17 4.45 46.09l-.52 4.71c-17.55-4.29-18.53-4.5-36.92-7.33l.79-4.71c7.25 0 7.48-5.32 7.59-6.81 0 0 4.98-53.16 4.98-55.25-.02-2.87-4.99-3.66-4.99-3.66zm10.99 114.44c-8.12-2.09-14.14-11-10.74-20.69 3.14-9.43 12.31-12.31 18.85-10.21 9.17 2.62 12.83 11.78 10.74 19.38-2.61 8.9-9.42 13.87-18.85 11.52zm42.16 9.69c-2.36-.52-7.07-2.36-8.64-2.88v-.26l1.57-1.83c.59-8.24.59-7.27.26-7.59-4.82-1.81-6.66-2.36-7.07-2.36-1.31 1.83-2.88 4.45-3.67 5.5l-.79 3.4v.26c-1.31-.26-3.93-1.31-6.02-1.57v-.26l2.62-1.83c3.4-4.71 9.95-14.14 13.88-20.16v-2.09l.52-.26c2.09.79 5.5 2.09 7.59 2.88.48.48.18-1.87-1.05 25.14-.24 1.81.02 2.6.8 3.91zm-4.71-89.82c11.25-18.27 30.76-16.19 34.04-3.4L539.7 198c2.34-6.25-2.82-9.9-4.45-11.26l1.83-3.67c12.22 10.37 16.38 13.97 22.52 20.43-25.91 73.07-30.76 80.81-24.62 84.32l-1.83 4.45c-6.37-3.35-8.9-4.42-17.81-8.64l2.09-6.81c-.26-.26-3.93 3.93-9.69 3.67-19.06-1.3-22.89-31.75-9.67-52.9zm29.33 79.34c0-5.71-6.34-7.89-7.86-5.24-1.31 2.09 1.05 4.98 2.88 8.38 1.57 2.62 2.62 6.28 1.05 9.43-2.64 6.34-12.4 5.31-15.45-.79 0-.7-.27.09 1.83-4.71l.79-.26c-.57 5.66 6.06 9.61 8.38 4.98 1.05-2.09-.52-5.5-2.09-8.38-1.57-2.62-3.67-6.28-1.83-9.69 2.72-5.06 11.25-4.47 14.66 2.36v.52l-2.36 3.4zm21.21 13.36c-1.96-3.27-.91-2.14-4.45-4.71h-.26c-2.36 4.19-5.76 10.47-8.64 16.24-1.31 2.36-1.05 3.4-.79 3.93l-.26.26-5.76-4.45.26-.26 2.09-1.31c3.14-5.76 6.55-12.05 9.17-17.02v-.26c-2.64-1.98-1.22-1.51-6.02-1.83v-.26l3.14-3.4h.26c3.67 2.36 9.95 6.81 12.31 8.9l.26.26-1.31 3.91zm27.23-44.26l-2.88-2.88c.79-2.36 1.83-4.98 2.09-7.59.75-9.74-11.52-11.84-11.52-4.98 0 4.98 7.86 19.38 7.86 27.76 0 10.21-5.76 15.71-13.88 16.5-8.38.79-20.16-10.47-20.16-10.47l4.98-14.4 2.88 2.09c-2.97 17.8 17.68 20.37 13.35 5.24-1.06-4.02-18.75-34.2 2.09-38.23 13.62-2.36 23.04 16.5 23.04 16.5l-7.85 10.46zm35.62-10.21c-11-30.38-60.49-127.53-191.95-129.62-53.42-1.05-94.27 15.45-132.76 37.97l85.63-9.17-91.39 20.69 25.14 19.64-3.93-16.5c7.5-1.71 39.15-8.45 66.77-8.9l-22.26 80.39c13.61-.7 18.97-8.98 19.64-22.78l4.98-1.05.26 26.71c-22.46 3.21-37.3 6.69-49.49 9.95l13.09-43.21-61.54-36.66 2.36 8.12 10.21 4.98c6.28 18.59 19.38 56.56 20.43 58.66 1.95 4.28 3.16 5.78 12.05 4.45l1.05 4.98c-16.08 4.86-23.66 7.61-39.02 14.4l-2.36-4.71c4.4-2.94 8.73-3.94 5.5-12.83-23.7-62.5-21.48-58.14-22.78-59.44l2.36-4.45 33.52 67.3c-3.84-11.87 1.68 1.69-32.99-78.82l-41.9 88.51 4.71-13.88-35.88-42.16 27.76 93.48-11.78 8.38C95 228.58 101.05 231.87 93.23 231.52c-5.5-.26-13.62 5.5-13.62 5.5L74.63 231c30.56-23.53 31.62-24.33 58.4-42.68l4.19 7.07s-5.76 4.19-7.86 7.07c-5.9 9.28 1.67 13.28 61.8 75.68l-18.85-58.92 39.8-10.21 25.66 30.64 4.45-12.31-4.98-24.62 13.09-3.4.52 3.14 3.67-10.47-94.27 29.33 11.26-4.98-13.62-42.42 17.28-9.17 30.11 36.14 28.54-13.09c-1.41-7.47-2.47-14.5-4.71-19.64l17.28 13.88 4.71-2.09-59.18-42.68 23.08 11.5c18.98-6.07 25.23-7.47 32.21-9.69l2.62 11c-12.55 12.55 1.43 16.82 6.55 19.38l-13.62-61.01 12.05 28.28c4.19-1.31 7.33-2.09 7.33-2.09l2.62 8.64s-3.14 1.05-6.28 2.09l8.9 20.95 33.78-65.73-20.69 61.01c42.42-24.09 81.44-36.66 131.98-35.88 67.04 1.05 167.33 40.85 199.8 139.83.78 2.1-.01 2.63-.79.27zM203.48 152.43s1.83-.52 4.19-1.31l9.43 7.59c-.4 0-3.44-.25-11.26 2.36l-2.36-8.64zm143.76 38.5c-1.57-.6-26.46-4.81-33.26 20.69l21.73 17.02 11.53-37.71zM318.43 67.07c-58.4 0-106.05 12.05-114.96 14.4v.79c8.38 2.09 14.4 4.19 21.21 11.78l1.57.26c6.55-1.83 48.97-13.88 110.24-13.88 180.16 0 301.67 116.79 301.67 223.37v9.95c0 1.31.79 2.62 1.05.52.52-2.09.79-8.64.79-19.64.26-83.79-96.63-227.55-321.57-227.55zm211.06 169.68c1.31-5.76 0-12.31-7.33-13.09-9.62-1.13-16.14 23.79-17.02 33.52-.79 5.5-1.31 14.93 6.02 14.93 4.68-.01 9.72-.91 18.33-35.36zm-61.53 42.95c-2.62-.79-9.43-.79-12.57 10.47-1.83 6.81.52 13.35 6.02 14.66 3.67 1.05 8.9.52 11.78-10.74 2.62-9.94-1.83-13.61-5.23-14.39zM491 300.65c1.83.52 3.14 1.05 5.76 1.83 0-1.83.52-8.38.79-12.05-1.05 1.31-5.5 8.12-6.55 9.95v.27z\"],\n \"square-viadeo\": [448, 512, [\"viadeo-square\"], \"f2aa\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM280.7 381.2c-42.4 46.2-120 46.6-162.4 0-68-73.6-19.8-196.1 81.2-196.1 13.3 0 26.6 2.1 39.1 6.7-4.3 8.4-7.3 17.6-8.4 27.1-9.7-4.1-20.2-6-30.7-6-48.8 0-84.6 41.7-84.6 88.9 0 43 28.5 78.7 69.5 85.9 61.5-24 72.9-117.6 72.9-175 0-7.3 0-14.8-.6-22.1-11.2-32.9-26.6-64.6-44.2-94.5 27.1 18.3 41.9 62.5 44.2 94.1v.4c7.7 22.5 11.8 46.2 11.8 70 0 54.1-21.9 99-68.3 128.2l-2.4.2c50 1 86.2-38.6 86.2-87.2 0-12.2-2.1-24.3-6.9-35.7 9.5-1.9 18.5-5.6 26.4-10.5 15.3 36.6 12.6 87.3-22.8 125.6zM309 233.7c-13.3 0-25.1-7.1-34.4-16.1 21.9-12 49.6-30.7 62.3-53 1.5-3 4.1-8.6 4.5-12-12.5 27.9-44.2 49.8-73.9 56.7-4.7-7.3-7.5-15.5-7.5-24.3 0-10.3 5.2-24.1 12.9-31.6 21.6-20.5 53-8.5 72.4-50 32.5 46.2 13.1 130.3-36.3 130.3z\"],\n \"meetup\": [512, 512, [], \"f2e0\", \"M99 414.3c1.1 5.7-2.3 11.1-8 12.3-5.4 1.1-10.9-2.3-12-8-1.1-5.4 2.3-11.1 7.7-12.3 5.4-1.2 11.1 2.3 12.3 8zm143.1 71.4c-6.3 4.6-8 13.4-3.7 20 4.6 6.6 13.4 8.3 20 3.7 6.3-4.6 8-13.4 3.4-20-4.2-6.5-13.1-8.3-19.7-3.7zm-86-462.3c6.3-1.4 10.3-7.7 8.9-14-1.1-6.6-7.4-10.6-13.7-9.1-6.3 1.4-10.3 7.7-9.1 14 1.4 6.6 7.6 10.6 13.9 9.1zM34.4 226.3c-10-6.9-23.7-4.3-30.6 6-6.9 10-4.3 24 5.7 30.9 10 7.1 23.7 4.6 30.6-5.7 6.9-10.4 4.3-24.1-5.7-31.2zm272-170.9c10.6-6.3 13.7-20 7.7-30.3-6.3-10.6-19.7-14-30-7.7s-13.7 20-7.4 30.6c6 10.3 19.4 13.7 29.7 7.4zm-191.1 58c7.7-5.4 9.4-16 4.3-23.7s-15.7-9.4-23.1-4.3c-7.7 5.4-9.4 16-4.3 23.7 5.1 7.8 15.6 9.5 23.1 4.3zm372.3 156c-7.4 1.7-12.3 9.1-10.6 16.9 1.4 7.4 8.9 12.3 16.3 10.6 7.4-1.4 12.3-8.9 10.6-16.6-1.5-7.4-8.9-12.3-16.3-10.9zm39.7-56.8c-1.1-5.7-6.6-9.1-12-8-5.7 1.1-9.1 6.9-8 12.6 1.1 5.4 6.6 9.1 12.3 8 5.4-1.5 9.1-6.9 7.7-12.6zM447 138.9c-8.6 6-10.6 17.7-4.9 26.3 5.7 8.6 17.4 10.6 26 4.9 8.3-6 10.3-17.7 4.6-26.3-5.7-8.7-17.4-10.9-25.7-4.9zm-6.3 139.4c26.3 43.1 15.1 100-26.3 129.1-17.4 12.3-37.1 17.7-56.9 17.1-12 47.1-69.4 64.6-105.1 32.6-1.1.9-2.6 1.7-3.7 2.9-39.1 27.1-92.3 17.4-119.4-22.3-9.7-14.3-14.6-30.6-15.1-46.9-65.4-10.9-90-94-41.1-139.7-28.3-46.9.6-107.4 53.4-114.9C151.6 70 234.1 38.6 290.1 82c67.4-22.3 136.3 29.4 130.9 101.1 41.1 12.6 52.8 66.9 19.7 95.2zm-70 74.3c-3.1-20.6-40.9-4.6-43.1-27.1-3.1-32 43.7-101.1 40-128-3.4-24-19.4-29.1-33.4-29.4-13.4-.3-16.9 2-21.4 4.6-2.9 1.7-6.6 4.9-11.7-.3-6.3-6-11.1-11.7-19.4-12.9-12.3-2-17.7 2-26.6 9.7-3.4 2.9-12 12.9-20 9.1-3.4-1.7-15.4-7.7-24-11.4-16.3-7.1-40 4.6-48.6 20-12.9 22.9-38 113.1-41.7 125.1-8.6 26.6 10.9 48.6 36.9 47.1 11.1-.6 18.3-4.6 25.4-17.4 4-7.4 41.7-107.7 44.6-112.6 2-3.4 8.9-8 14.6-5.1 5.7 3.1 6.9 9.4 6 15.1-1.1 9.7-28 70.9-28.9 77.7-3.4 22.9 26.9 26.6 38.6 4 3.7-7.1 45.7-92.6 49.4-98.3 4.3-6.3 7.4-8.3 11.7-8 3.1 0 8.3.9 7.1 10.9-1.4 9.4-35.1 72.3-38.9 87.7-4.6 20.6 6.6 41.4 24.9 50.6 11.4 5.7 62.5 15.7 58.5-11.1zm5.7 92.3c-10.3 7.4-12.9 22-5.7 32.6 7.1 10.6 21.4 13.1 32 6 10.6-7.4 13.1-22 6-32.6-7.4-10.6-21.7-13.5-32.3-6z\"],\n \"centos\": [448, 512, [], \"f789\", \"M289.6 97.5l31.6 31.7-76.3 76.5V97.5zm-162.4 31.7l76.3 76.5V97.5h-44.7zm41.5-41.6h44.7v127.9l10.8 10.8 10.8-10.8V87.6h44.7L224.2 32zm26.2 168.1l-10.8-10.8H55.5v-44.8L0 255.7l55.5 55.6v-44.8h128.6l10.8-10.8zm79.3-20.7h107.9v-44.8l-31.6-31.7zm173.3 20.7L392 200.1v44.8H264.3l-10.8 10.8 10.8 10.8H392v44.8l55.5-55.6zM65.4 176.2l32.5-31.7 90.3 90.5h15.3v-15.3l-90.3-90.5 31.6-31.7H65.4zm316.7-78.7h-78.5l31.6 31.7-90.3 90.5V235h15.3l90.3-90.5 31.6 31.7zM203.5 413.9V305.8l-76.3 76.5 31.6 31.7h44.7zM65.4 235h108.8l-76.3-76.5-32.5 31.7zm316.7 100.2l-31.6 31.7-90.3-90.5h-15.3v15.3l90.3 90.5-31.6 31.7h78.5zm0-58.8H274.2l76.3 76.5 31.6-31.7zm-60.9 105.8l-76.3-76.5v108.1h44.7zM97.9 352.9l76.3-76.5H65.4v44.8zm181.8 70.9H235V295.9l-10.8-10.8-10.8 10.8v127.9h-44.7l55.5 55.6zm-166.5-41.6l90.3-90.5v-15.3h-15.3l-90.3 90.5-32.5-31.7v78.7h79.4z\"],\n \"adn\": [496, 512, [], \"f170\", \"M248 167.5l64.9 98.8H183.1l64.9-98.8zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-99.8 82.7L248 115.5 99.8 338.7h30.4l33.6-51.7h168.6l33.6 51.7h30.2z\"],\n \"cloudsmith\": [332, 512, [], \"f384\", \"M332.5 419.9c0 46.4-37.6 84.1-84 84.1s-84-37.7-84-84.1 37.6-84 84-84 84 37.6 84 84zm-84-243.9c46.4 0 80-37.6 80-84s-33.6-84-80-84-88 37.6-88 84-29.6 76-76 76-84 41.6-84 88 37.6 80 84 80 84-33.6 84-80 33.6-80 80-80z\"],\n \"pied-piper-alt\": [576, 512, [], \"f1a8\", \"M244 246c-3.2-2-6.3-2.9-10.1-2.9-6.6 0-12.6 3.2-19.3 3.7l1.7 4.9zm135.9 197.9c-19 0-64.1 9.5-79.9 19.8l6.9 45.1c35.7 6.1 70.1 3.6 106-9.8-4.8-10-23.5-55.1-33-55.1zM340.8 177c6.6 2.8 11.5 9.2 22.7 22.1 2-1.4 7.5-5.2 7.5-8.6 0-4.9-11.8-13.2-13.2-23 11.2-5.7 25.2-6 37.6-8.9 68.1-16.4 116.3-52.9 146.8-116.7C548.3 29.3 554 16.1 554.6 2l-2 2.6c-28.4 50-33 63.2-81.3 100-31.9 24.4-69.2 40.2-106.6 54.6l-6.3-.3v-21.8c-19.6 1.6-19.7-14.6-31.6-23-18.7 20.6-31.6 40.8-58.9 51.1-12.7 4.8-19.6 10-25.9 21.8 34.9-16.4 91.2-13.5 98.8-10zM555.5 0l-.6 1.1-.3.9.6-.6zm-59.2 382.1c-33.9-56.9-75.3-118.4-150-115.5l-.3-6c-1.1-13.5 32.8 3.2 35.1-31l-14.4 7.2c-19.8-45.7-8.6-54.3-65.5-54.3-14.7 0-26.7 1.7-41.4 4.6 2.9 18.6 2.2 36.7-10.9 50.3l19.5 5.5c-1.7 3.2-2.9 6.3-2.9 9.8 0 21 42.8 2.9 42.8 33.6 0 18.4-36.8 60.1-54.9 60.1-8 0-53.7-50-53.4-60.1l.3-4.6 52.3-11.5c13-2.6 12.3-22.7-2.9-22.7-3.7 0-43.1 9.2-49.4 10.6-2-5.2-7.5-14.1-13.8-14.1-3.2 0-6.3 3.2-9.5 4-9.2 2.6-31 2.9-21.5 20.1L15.9 298.5c-5.5 1.1-8.9 6.3-8.9 11.8 0 6 5.5 10.9 11.5 10.9 8 0 131.3-28.4 147.4-32.2 2.6 3.2 4.6 6.3 7.8 8.6 20.1 14.4 59.8 85.9 76.4 85.9 24.1 0 58-22.4 71.3-41.9 3.2-4.3 6.9-7.5 12.4-6.9.6 13.8-31.6 34.2-33 43.7-1.4 10.2-1 35.2-.3 41.1 26.7 8.1 52-3.6 77.9-2.9 4.3-21 10.6-41.9 9.8-63.5l-.3-9.5c-1.4-34.2-10.9-38.5-34.8-58.6-1.1-1.1-2.6-2.6-3.7-4 2.2-1.4 1.1-1 4.6-1.7 88.5 0 56.3 183.6 111.5 229.9 33.1-15 72.5-27.9 103.5-47.2-29-25.6-52.6-45.7-72.7-79.9zm-196.2 46.1v27.2l11.8-3.4-2.9-23.8zm-68.7-150.4l24.1 61.2 21-13.8-31.3-50.9zm84.4 154.9l2 12.4c9-1.5 58.4-6.6 58.4-14.1 0-1.4-.6-3.2-.9-4.6-26.8 0-36.9 3.8-59.5 6.3z\"],\n \"square-dribbble\": [448, 512, [\"dribbble-square\"], \"f397\", \"M90.2 228.2c8.9-42.4 37.4-77.7 75.7-95.7 3.6 4.9 28 38.8 50.7 79-64 17-120.3 16.8-126.4 16.7zM314.6 154c-33.6-29.8-79.3-41.1-122.6-30.6 3.8 5.1 28.6 38.9 51 80 48.6-18.3 69.1-45.9 71.6-49.4zM140.1 364c40.5 31.6 93.3 36.7 137.3 18-2-12-10-53.8-29.2-103.6-55.1 18.8-93.8 56.4-108.1 85.6zm98.8-108.2c-3.4-7.8-7.2-15.5-11.1-23.2C159.6 253 93.4 252.2 87.4 252c0 1.4-.1 2.8-.1 4.2 0 35.1 13.3 67.1 35.1 91.4 22.2-37.9 67.1-77.9 116.5-91.8zm34.9 16.3c17.9 49.1 25.1 89.1 26.5 97.4 30.7-20.7 52.5-53.6 58.6-91.6-4.6-1.5-42.3-12.7-85.1-5.8zm-20.3-48.4c4.8 9.8 8.3 17.8 12 26.8 45.5-5.7 90.7 3.4 95.2 4.4-.3-32.3-11.8-61.9-30.9-85.1-2.9 3.9-25.8 33.2-76.3 53.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 176c0-88.2-71.8-160-160-160S64 167.8 64 256s71.8 160 160 160 160-71.8 160-160z\"],\n \"codiepie\": [472, 512, [], \"f284\", \"M422.5 202.9c30.7 0 33.5 53.1-.3 53.1h-10.8v44.3h-26.6v-97.4h37.7zM472 352.6C429.9 444.5 350.4 504 248 504 111 504 0 393 0 256S111 8 248 8c97.4 0 172.8 53.7 218.2 138.4l-186 108.8L472 352.6zm-38.5 12.5l-60.3-30.7c-27.1 44.3-70.4 71.4-122.4 71.4-82.5 0-149.2-66.7-149.2-148.9 0-82.5 66.7-149.2 149.2-149.2 48.4 0 88.9 23.5 116.9 63.4l59.5-34.6c-40.7-62.6-104.7-100-179.2-100-121.2 0-219.5 98.3-219.5 219.5S126.8 475.5 248 475.5c78.6 0 146.5-42.1 185.5-110.4z\"],\n \"node\": [640, 512, [], \"f419\", \"M316.3 452c-2.1 0-4.2-.6-6.1-1.6L291 439c-2.9-1.6-1.5-2.2-.5-2.5 3.8-1.3 4.6-1.6 8.7-4 .4-.2 1-.1 1.4.1l14.8 8.8c.5.3 1.3.3 1.8 0L375 408c.5-.3.9-.9.9-1.6v-66.7c0-.7-.3-1.3-.9-1.6l-57.8-33.3c-.5-.3-1.2-.3-1.8 0l-57.8 33.3c-.6.3-.9 1-.9 1.6v66.7c0 .6.4 1.2.9 1.5l15.8 9.1c8.6 4.3 13.9-.8 13.9-5.8v-65.9c0-.9.7-1.7 1.7-1.7h7.3c.9 0 1.7.7 1.7 1.7v65.9c0 11.5-6.2 18-17.1 18-3.3 0-6 0-13.3-3.6l-15.2-8.7c-3.7-2.2-6.1-6.2-6.1-10.5v-66.7c0-4.3 2.3-8.4 6.1-10.5l57.8-33.4c3.7-2.1 8.5-2.1 12.1 0l57.8 33.4c3.7 2.2 6.1 6.2 6.1 10.5v66.7c0 4.3-2.3 8.4-6.1 10.5l-57.8 33.4c-1.7 1.1-3.8 1.7-6 1.7zm46.7-65.8c0-12.5-8.4-15.8-26.2-18.2-18-2.4-19.8-3.6-19.8-7.8 0-3.5 1.5-8.1 14.8-8.1 11.9 0 16.3 2.6 18.1 10.6.2.8.8 1.3 1.6 1.3h7.5c.5 0 .9-.2 1.2-.5.3-.4.5-.8.4-1.3-1.2-13.8-10.3-20.2-28.8-20.2-16.5 0-26.3 7-26.3 18.6 0 12.7 9.8 16.1 25.6 17.7 18.9 1.9 20.4 4.6 20.4 8.3 0 6.5-5.2 9.2-17.4 9.2-15.3 0-18.7-3.8-19.8-11.4-.1-.8-.8-1.4-1.7-1.4h-7.5c-.9 0-1.7.7-1.7 1.7 0 9.7 5.3 21.3 30.6 21.3 18.5 0 29-7.2 29-19.8zm54.5-50.1c0 6.1-5 11.1-11.1 11.1s-11.1-5-11.1-11.1c0-6.3 5.2-11.1 11.1-11.1 6-.1 11.1 4.8 11.1 11.1zm-1.8 0c0-5.2-4.2-9.3-9.4-9.3-5.1 0-9.3 4.1-9.3 9.3 0 5.2 4.2 9.4 9.3 9.4 5.2-.1 9.4-4.3 9.4-9.4zm-4.5 6.2h-2.6c-.1-.6-.5-3.8-.5-3.9-.2-.7-.4-1.1-1.3-1.1h-2.2v5h-2.4v-12.5h4.3c1.5 0 4.4 0 4.4 3.3 0 2.3-1.5 2.8-2.4 3.1 1.7.1 1.8 1.2 2.1 2.8.1 1 .3 2.7.6 3.3zm-2.8-8.8c0-1.7-1.2-1.7-1.8-1.7h-2v3.5h1.9c1.6 0 1.9-1.1 1.9-1.8zM137.3 191c0-2.7-1.4-5.1-3.7-6.4l-61.3-35.3c-1-.6-2.2-.9-3.4-1h-.6c-1.2 0-2.3.4-3.4 1L3.7 184.6C1.4 185.9 0 188.4 0 191l.1 95c0 1.3.7 2.5 1.8 3.2 1.1.7 2.5.7 3.7 0L42 268.3c2.3-1.4 3.7-3.8 3.7-6.4v-44.4c0-2.6 1.4-5.1 3.7-6.4l15.5-8.9c1.2-.7 2.4-1 3.7-1 1.3 0 2.6.3 3.7 1l15.5 8.9c2.3 1.3 3.7 3.8 3.7 6.4v44.4c0 2.6 1.4 5.1 3.7 6.4l36.4 20.9c1.1.7 2.6.7 3.7 0 1.1-.6 1.8-1.9 1.8-3.2l.2-95zM472.5 87.3v176.4c0 2.6-1.4 5.1-3.7 6.4l-61.3 35.4c-2.3 1.3-5.1 1.3-7.4 0l-61.3-35.4c-2.3-1.3-3.7-3.8-3.7-6.4v-70.8c0-2.6 1.4-5.1 3.7-6.4l61.3-35.4c2.3-1.3 5.1-1.3 7.4 0l15.3 8.8c1.7 1 3.9-.3 3.9-2.2v-94c0-2.8 3-4.6 5.5-3.2l36.5 20.4c2.3 1.2 3.8 3.7 3.8 6.4zm-46 128.9c0-.7-.4-1.3-.9-1.6l-21-12.2c-.6-.3-1.3-.3-1.9 0l-21 12.2c-.6.3-.9.9-.9 1.6v24.3c0 .7.4 1.3.9 1.6l21 12.1c.6.3 1.3.3 1.8 0l21-12.1c.6-.3.9-.9.9-1.6v-24.3zm209.8-.7c2.3-1.3 3.7-3.8 3.7-6.4V192c0-2.6-1.4-5.1-3.7-6.4l-60.9-35.4c-2.3-1.3-5.1-1.3-7.4 0l-61.3 35.4c-2.3 1.3-3.7 3.8-3.7 6.4v70.8c0 2.7 1.4 5.1 3.7 6.4l60.9 34.7c2.2 1.3 5 1.3 7.3 0l36.8-20.5c2.5-1.4 2.5-5 0-6.4L550 241.6c-1.2-.7-1.9-1.9-1.9-3.2v-22.2c0-1.3.7-2.5 1.9-3.2l19.2-11.1c1.1-.7 2.6-.7 3.7 0l19.2 11.1c1.1.7 1.9 1.9 1.9 3.2v17.4c0 2.8 3.1 4.6 5.6 3.2l36.7-21.3zM559 219c-.4.3-.7.7-.7 1.2v13.6c0 .5.3 1 .7 1.2l11.8 6.8c.4.3 1 .3 1.4 0L584 235c.4-.3.7-.7.7-1.2v-13.6c0-.5-.3-1-.7-1.2l-11.8-6.8c-.4-.3-1-.3-1.4 0L559 219zm-254.2 43.5v-70.4c0-2.6-1.6-5.1-3.9-6.4l-61.1-35.2c-2.1-1.2-5-1.4-7.4 0l-61.1 35.2c-2.3 1.3-3.9 3.7-3.9 6.4v70.4c0 2.8 1.9 5.2 4 6.4l61.2 35.2c2.4 1.4 5.2 1.3 7.4 0l61-35.2c1.8-1 3.1-2.7 3.6-4.7.1-.5.2-1.1.2-1.7zm-74.3-124.9l-.8.5h1.1l-.3-.5zm76.2 130.2l-.4-.7v.9l.4-.2z\"],\n \"mix\": [448, 512, [], \"f3cb\", \"M0 64v348.9c0 56.2 88 58.1 88 0V174.3c7.9-52.9 88-50.4 88 6.5v175.3c0 57.9 96 58 96 0V240c5.3-54.7 88-52.5 88 4.3v23.8c0 59.9 88 56.6 88 0V64H0z\"],\n \"steam\": [496, 512, [], \"f1b6\", \"M496 256c0 137-111.2 248-248.4 248-113.8 0-209.6-76.3-239-180.4l95.2 39.3c6.4 32.1 34.9 56.4 68.9 56.4 39.2 0 71.9-32.4 70.2-73.5l84.5-60.2c52.1 1.3 95.8-40.9 95.8-93.5 0-51.6-42-93.5-93.7-93.5s-93.7 42-93.7 93.5v1.2L176.6 279c-15.5-.9-30.7 3.4-43.5 12.1L0 236.1C10.2 108.4 117.1 8 247.6 8 384.8 8 496 119 496 256zM155.7 384.3l-30.5-12.6a52.79 52.79 0 0 0 27.2 25.8c26.9 11.2 57.8-1.6 69-28.4 5.4-13 5.5-27.3.1-40.3-5.4-13-15.5-23.2-28.5-28.6-12.9-5.4-26.7-5.2-38.9-.6l31.5 13c19.8 8.2 29.2 30.9 20.9 50.7-8.3 19.9-31 29.2-50.8 21zm173.8-129.9c-34.4 0-62.4-28-62.4-62.3s28-62.3 62.4-62.3 62.4 28 62.4 62.3-27.9 62.3-62.4 62.3zm.1-15.6c25.9 0 46.9-21 46.9-46.8 0-25.9-21-46.8-46.9-46.8s-46.9 21-46.9 46.8c.1 25.8 21.1 46.8 46.9 46.8z\"],\n \"cc-apple-pay\": [576, 512, [], \"f416\", \"M302.2 218.4c0 17.2-10.5 27.1-29 27.1h-24.3v-54.2h24.4c18.4 0 28.9 9.8 28.9 27.1zm47.5 62.6c0 8.3 7.2 13.7 18.5 13.7 14.4 0 25.2-9.1 25.2-21.9v-7.7l-23.5 1.5c-13.3.9-20.2 5.8-20.2 14.4zM576 79v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM127.8 197.2c8.4.7 16.8-4.2 22.1-10.4 5.2-6.4 8.6-15 7.7-23.7-7.4.3-16.6 4.9-21.9 11.3-4.8 5.5-8.9 14.4-7.9 22.8zm60.6 74.5c-.2-.2-19.6-7.6-19.8-30-.2-18.7 15.3-27.7 16-28.2-8.8-13-22.4-14.4-27.1-14.7-12.2-.7-22.6 6.9-28.4 6.9-5.9 0-14.7-6.6-24.3-6.4-12.5.2-24.2 7.3-30.5 18.6-13.1 22.6-3.4 56 9.3 74.4 6.2 9.1 13.7 19.1 23.5 18.7 9.3-.4 13-6 24.2-6 11.3 0 14.5 6 24.3 5.9 10.2-.2 16.5-9.1 22.8-18.2 6.9-10.4 9.8-20.4 10-21zm135.4-53.4c0-26.6-18.5-44.8-44.9-44.8h-51.2v136.4h21.2v-46.6h29.3c26.8 0 45.6-18.4 45.6-45zm90 23.7c0-19.7-15.8-32.4-40-32.4-22.5 0-39.1 12.9-39.7 30.5h19.1c1.6-8.4 9.4-13.9 20-13.9 13 0 20.2 6 20.2 17.2v7.5l-26.4 1.6c-24.6 1.5-37.9 11.6-37.9 29.1 0 17.7 13.7 29.4 33.4 29.4 13.3 0 25.6-6.7 31.2-17.4h.4V310h19.6v-68zM516 210.9h-21.5l-24.9 80.6h-.4l-24.9-80.6H422l35.9 99.3-1.9 6c-3.2 10.2-8.5 14.2-17.9 14.2-1.7 0-4.9-.2-6.2-.3v16.4c1.2.4 6.5.5 8.1.5 20.7 0 30.4-7.9 38.9-31.8L516 210.9z\"],\n \"scribd\": [384, 512, [], \"f28a\", \"M42.3 252.7c-16.1-19-24.7-45.9-24.8-79.9 0-100.4 75.2-153.1 167.2-153.1 98.6-1.6 156.8 49 184.3 70.6l-50.5 72.1-37.3-24.6 26.9-38.6c-36.5-24-79.4-36.5-123-35.8-50.7-.8-111.7 27.2-111.7 76.2 0 18.7 11.2 20.7 28.6 15.6 23.3-5.3 41.9.6 55.8 14 26.4 24.3 23.2 67.6-.7 91.9-29.2 29.5-85.2 27.3-114.8-8.4zm317.7 5.9c-15.5-18.8-38.9-29.4-63.2-28.6-38.1-2-71.1 28-70.5 67.2-.7 16.8 6 33 18.4 44.3 14.1 13.9 33 19.7 56.3 14.4 17.4-5.1 28.6-3.1 28.6 15.6 0 4.3-.5 8.5-1.4 12.7-16.7 40.9-59.5 64.4-121.4 64.4-51.9.2-102.4-16.4-144.1-47.3l33.7-39.4-35.6-27.4L0 406.3l15.4 13.8c52.5 46.8 120.4 72.5 190.7 72.2 51.4 0 94.4-10.5 133.6-44.1 57.1-51.4 54.2-149.2 20.3-189.6z\"],\n \"openid\": [448, 512, [], \"f19b\", \"M271.5 432l-68 32C88.5 453.7 0 392.5 0 318.2c0-71.5 82.5-131 191.7-144.3v43c-71.5 12.5-124 53-124 101.3 0 51 58.5 93.3 135.7 103v-340l68-33.2v384zM448 291l-131.3-28.5 36.8-20.7c-19.5-11.5-43.5-20-70-24.8v-43c46.2 5.5 87.7 19.5 120.3 39.3l35-19.8L448 291z\"],\n \"instalod\": [512, 512, [], \"e081\", \"M153.384,480H387.113L502.554,275.765,204.229,333.211ZM504.726,240.078,387.113,32H155.669L360.23,267.9ZM124.386,48.809,7.274,256,123.236,461.154,225.627,165.561Z\"],\n \"expeditedssl\": [496, 512, [], \"f23e\", \"M248 43.4C130.6 43.4 35.4 138.6 35.4 256S130.6 468.6 248 468.6 460.6 373.4 460.6 256 365.4 43.4 248 43.4zm-97.4 132.9c0-53.7 43.7-97.4 97.4-97.4s97.4 43.7 97.4 97.4v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6c0-82.1-124-82.1-124 0v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6zM389.7 380c0 9.7-8 17.7-17.7 17.7H124c-9.7 0-17.7-8-17.7-17.7V238.3c0-9.7 8-17.7 17.7-17.7h248c9.7 0 17.7 8 17.7 17.7V380zm-248-137.3v132.9c0 2.5-1.9 4.4-4.4 4.4h-8.9c-2.5 0-4.4-1.9-4.4-4.4V242.7c0-2.5 1.9-4.4 4.4-4.4h8.9c2.5 0 4.4 1.9 4.4 4.4zm141.7 48.7c0 13-7.2 24.4-17.7 30.4v31.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-31.6c-10.5-6.1-17.7-17.4-17.7-30.4 0-19.7 15.8-35.4 35.4-35.4s35.5 15.8 35.5 35.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 478.3C121 486.3 17.7 383 17.7 256S121 25.7 248 25.7 478.3 129 478.3 256 375 486.3 248 486.3z\"],\n \"sellcast\": [448, 512, [], \"f2da\", \"M353.4 32H94.7C42.6 32 0 74.6 0 126.6v258.7C0 437.4 42.6 480 94.7 480h258.7c52.1 0 94.7-42.6 94.7-94.6V126.6c0-52-42.6-94.6-94.7-94.6zm-50 316.4c-27.9 48.2-89.9 64.9-138.2 37.2-22.9 39.8-54.9 8.6-42.3-13.2l15.7-27.2c5.9-10.3 19.2-13.9 29.5-7.9 18.6 10.8-.1-.1 18.5 10.7 27.6 15.9 63.4 6.3 79.4-21.3 15.9-27.6 6.3-63.4-21.3-79.4-17.8-10.2-.6-.4-18.6-10.6-24.6-14.2-3.4-51.9 21.6-37.5 18.6 10.8-.1-.1 18.5 10.7 48.4 28 65.1 90.3 37.2 138.5zm21.8-208.8c-17 29.5-16.3 28.8-19 31.5-6.5 6.5-16.3 8.7-26.5 3.6-18.6-10.8.1.1-18.5-10.7-27.6-15.9-63.4-6.3-79.4 21.3s-6.3 63.4 21.3 79.4c0 0 18.5 10.6 18.6 10.6 24.6 14.2 3.4 51.9-21.6 37.5-18.6-10.8.1.1-18.5-10.7-48.2-27.8-64.9-90.1-37.1-138.4 27.9-48.2 89.9-64.9 138.2-37.2l4.8-8.4c14.3-24.9 52-3.3 37.7 21.5z\"],\n \"square-twitter\": [448, 512, [\"twitter-square\"], \"f081\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z\"],\n \"r-project\": [581, 512, [], \"f4f7\", \"M581 226.6C581 119.1 450.9 32 290.5 32S0 119.1 0 226.6C0 322.4 103.3 402 239.4 418.1V480h99.1v-61.5c24.3-2.7 47.6-7.4 69.4-13.9L448 480h112l-67.4-113.7c54.5-35.4 88.4-84.9 88.4-139.7zm-466.8 14.5c0-73.5 98.9-133 220.8-133s211.9 40.7 211.9 133c0 50.1-26.5 85-70.3 106.4-2.4-1.6-4.7-2.9-6.4-3.7-10.2-5.2-27.8-10.5-27.8-10.5s86.6-6.4 86.6-92.7-90.6-87.9-90.6-87.9h-199V361c-74.1-21.5-125.2-67.1-125.2-119.9zm225.1 38.3v-55.6c57.8 0 87.8-6.8 87.8 27.3 0 36.5-38.2 28.3-87.8 28.3zm-.9 72.5H365c10.8 0 18.9 11.7 24 19.2-16.1 1.9-33 2.8-50.6 2.9v-22.1z\"],\n \"delicious\": [448, 512, [], \"f1a5\", \"M446.5 68c-.4-1.5-.9-3-1.4-4.5-.9-2.5-2-4.8-3.3-7.1-1.4-2.4-3-4.8-4.7-6.9-2.1-2.5-4.4-4.8-6.9-6.8-1.1-.9-2.2-1.7-3.3-2.5-1.3-.9-2.6-1.7-4-2.4-1.8-1-3.6-1.8-5.5-2.5-1.7-.7-3.5-1.3-5.4-1.7-3.8-1-7.9-1.5-12-1.5H48C21.5 32 0 53.5 0 80v352c0 4.1.5 8.2 1.5 12 2 7.7 5.8 14.6 11 20.3 1 1.1 2.1 2.2 3.3 3.3 5.7 5.2 12.6 9 20.3 11 3.8 1 7.9 1.5 12 1.5h352c26.5 0 48-21.5 48-48V80c-.1-4.1-.6-8.2-1.6-12zM416 432c0 8.8-7.2 16-16 16H224V256H32V80c0-8.8 7.2-16 16-16h176v192h192z\"],\n \"freebsd\": [448, 512, [], \"f3a4\", \"M303.7 96.2c11.1-11.1 115.5-77 139.2-53.2 23.7 23.7-42.1 128.1-53.2 139.2-11.1 11.1-39.4.9-63.1-22.9-23.8-23.7-34.1-52-22.9-63.1zM109.9 68.1C73.6 47.5 22 24.6 5.6 41.1c-16.6 16.6 7.1 69.4 27.9 105.7 18.5-32.2 44.8-59.3 76.4-78.7zM406.7 174c3.3 11.3 2.7 20.7-2.7 26.1-20.3 20.3-87.5-27-109.3-70.1-18-32.3-11.1-53.4 14.9-48.7 5.7-3.6 12.3-7.6 19.6-11.6-29.8-15.5-63.6-24.3-99.5-24.3-119.1 0-215.6 96.5-215.6 215.6 0 119 96.5 215.6 215.6 215.6S445.3 380.1 445.3 261c0-38.4-10.1-74.5-27.7-105.8-3.9 7-7.6 13.3-10.9 18.8z\"],\n \"vuejs\": [448, 512, [], \"f41f\", \"M356.9 64.3H280l-56 88.6-48-88.6H0L224 448 448 64.3h-91.1zm-301.2 32h53.8L224 294.5 338.4 96.3h53.8L224 384.5 55.7 96.3z\"],\n \"accusoft\": [640, 512, [], \"f369\", \"M322.1 252v-1l-51.2-65.8s-12 1.6-25 15.1c-9 9.3-242.1 239.1-243.4 240.9-7 10 1.6 6.8 15.7 1.7.8 0 114.5-36.6 114.5-36.6.5-.6-.1-.1.6-.6-.4-5.1-.8-26.2-1-27.7-.6-5.2 2.2-6.9 7-8.9l92.6-33.8c.6-.8 88.5-81.7 90.2-83.3zm160.1 120.1c13.3 16.1 20.7 13.3 30.8 9.3 3.2-1.2 115.4-47.6 117.8-48.9 8-4.3-1.7-16.7-7.2-23.4-2.1-2.5-205.1-245.6-207.2-248.3-9.7-12.2-14.3-12.9-38.4-12.8-10.2 0-106.8.5-116.5.6-19.2.1-32.9-.3-19.2 16.9C250 75 476.5 365.2 482.2 372.1zm152.7 1.6c-2.3-.3-24.6-4.7-38-7.2 0 0-115 50.4-117.5 51.6-16 7.3-26.9-3.2-36.7-14.6l-57.1-74c-5.4-.9-60.4-9.6-65.3-9.3-3.1.2-9.6.8-14.4 2.9-4.9 2.1-145.2 52.8-150.2 54.7-5.1 2-11.4 3.6-11.1 7.6.2 2.5 2 2.6 4.6 3.5 2.7.8 300.9 67.6 308 69.1 15.6 3.3 38.5 10.5 53.6 1.7 2.1-1.2 123.8-76.4 125.8-77.8 5.4-4 4.3-6.8-1.7-8.2z\"],\n \"ioxhost\": [640, 512, [], \"f208\", \"M616 160h-67.3C511.2 70.7 422.9 8 320 8 183 8 72 119 72 256c0 16.4 1.6 32.5 4.7 48H24c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h67.3c37.5 89.3 125.8 152 228.7 152 137 0 248-111 248-248 0-16.4-1.6-32.5-4.7-48H616c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24zm-96 96c0 110.5-89.5 200-200 200-75.7 0-141.6-42-175.5-104H424c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24H125.8c-3.8-15.4-5.8-31.4-5.8-48 0-110.5 89.5-200 200-200 75.7 0 141.6 42 175.5 104H216c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h298.2c3.8 15.4 5.8 31.4 5.8 48zm-304-24h208c13.3 0 24 10.7 24 24 0 13.2-10.7 24-24 24H216c-13.3 0-24-10.7-24-24 0-13.2 10.7-24 24-24z\"],\n \"fonticons-fi\": [384, 512, [], \"f3a2\", \"M114.4 224h92.4l-15.2 51.2h-76.4V433c0 8-2.8 9.2 4.4 10l59.6 5.6V483H0v-35.2l29.2-2.8c7.2-.8 9.2-3.2 9.2-10.8V278.4c0-3.2-4-3.2-8-3.2H0V224h38.4v-28.8c0-68 36.4-96 106-96 46.8 0 88.8 11.2 88.8 72.4l-69.6 8.4c.4-25.6-6-31.6-22.4-31.6-25.2 0-26 13.6-26 37.6v32c0 3.2-4.8 6-.8 6zM384 483H243.2v-34.4l28-3.6c7.2-.8 10.4-2.4 10.4-10V287c0-5.6-4-9.2-9.2-10.8l-33.2-8.8 9.2-40.4h110v208c0 8-3.6 8.8 4 10l21.6 3.6V483zm-30-347.2l12.4 45.6-10 10-42.8-22.8-42.8 22.8-10-10 12.4-45.6-30-36.4 4.8-10h38L307.2 51H320l21.2 38.4h38l4.8 13.2-30 33.2z\"],\n \"app-store\": [512, 512, [], \"f36f\", \"M255.9 120.9l9.1-15.7c5.6-9.8 18.1-13.1 27.9-7.5 9.8 5.6 13.1 18.1 7.5 27.9l-87.5 151.5h63.3c20.5 0 32 24.1 23.1 40.8H113.8c-11.3 0-20.4-9.1-20.4-20.4 0-11.3 9.1-20.4 20.4-20.4h52l66.6-115.4-20.8-36.1c-5.6-9.8-2.3-22.2 7.5-27.9 9.8-5.6 22.2-2.3 27.9 7.5l8.9 15.7zm-78.7 218l-19.6 34c-5.6 9.8-18.1 13.1-27.9 7.5-9.8-5.6-13.1-18.1-7.5-27.9l14.6-25.2c16.4-5.1 29.8-1.2 40.4 11.6zm168.9-61.7h53.1c11.3 0 20.4 9.1 20.4 20.4 0 11.3-9.1 20.4-20.4 20.4h-29.5l19.9 34.5c5.6 9.8 2.3 22.2-7.5 27.9-9.8 5.6-22.2 2.3-27.9-7.5-33.5-58.1-58.7-101.6-75.4-130.6-17.1-29.5-4.9-59.1 7.2-69.1 13.4 23 33.4 57.7 60.1 104zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm216 248c0 118.7-96.1 216-216 216-118.7 0-216-96.1-216-216 0-118.7 96.1-216 216-216 118.7 0 216 96.1 216 216z\"],\n \"cc-mastercard\": [576, 512, [], \"f1f1\", \"M482.9 410.3c0 6.8-4.6 11.7-11.2 11.7-6.8 0-11.2-5.2-11.2-11.7 0-6.5 4.4-11.7 11.2-11.7 6.6 0 11.2 5.2 11.2 11.7zm-310.8-11.7c-7.1 0-11.2 5.2-11.2 11.7 0 6.5 4.1 11.7 11.2 11.7 6.5 0 10.9-4.9 10.9-11.7-.1-6.5-4.4-11.7-10.9-11.7zm117.5-.3c-5.4 0-8.7 3.5-9.5 8.7h19.1c-.9-5.7-4.4-8.7-9.6-8.7zm107.8.3c-6.8 0-10.9 5.2-10.9 11.7 0 6.5 4.1 11.7 10.9 11.7 6.8 0 11.2-4.9 11.2-11.7 0-6.5-4.4-11.7-11.2-11.7zm105.9 26.1c0 .3.3.5.3 1.1 0 .3-.3.5-.3 1.1-.3.3-.3.5-.5.8-.3.3-.5.5-1.1.5-.3.3-.5.3-1.1.3-.3 0-.5 0-1.1-.3-.3 0-.5-.3-.8-.5-.3-.3-.5-.5-.5-.8-.3-.5-.3-.8-.3-1.1 0-.5 0-.8.3-1.1 0-.5.3-.8.5-1.1.3-.3.5-.3.8-.5.5-.3.8-.3 1.1-.3.5 0 .8 0 1.1.3.5.3.8.3 1.1.5s.2.6.5 1.1zm-2.2 1.4c.5 0 .5-.3.8-.3.3-.3.3-.5.3-.8 0-.3 0-.5-.3-.8-.3 0-.5-.3-1.1-.3h-1.6v3.5h.8V426h.3l1.1 1.4h.8l-1.1-1.3zM576 81v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V81c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM64 220.6c0 76.5 62.1 138.5 138.5 138.5 27.2 0 53.9-8.2 76.5-23.1-72.9-59.3-72.4-171.2 0-230.5-22.6-15-49.3-23.1-76.5-23.1-76.4-.1-138.5 62-138.5 138.2zm224 108.8c70.5-55 70.2-162.2 0-217.5-70.2 55.3-70.5 162.6 0 217.5zm-142.3 76.3c0-8.7-5.7-14.4-14.7-14.7-4.6 0-9.5 1.4-12.8 6.5-2.4-4.1-6.5-6.5-12.2-6.5-3.8 0-7.6 1.4-10.6 5.4V392h-8.2v36.7h8.2c0-18.9-2.5-30.2 9-30.2 10.2 0 8.2 10.2 8.2 30.2h7.9c0-18.3-2.5-30.2 9-30.2 10.2 0 8.2 10 8.2 30.2h8.2v-23zm44.9-13.7h-7.9v4.4c-2.7-3.3-6.5-5.4-11.7-5.4-10.3 0-18.2 8.2-18.2 19.3 0 11.2 7.9 19.3 18.2 19.3 5.2 0 9-1.9 11.7-5.4v4.6h7.9V392zm40.5 25.6c0-15-22.9-8.2-22.9-15.2 0-5.7 11.9-4.8 18.5-1.1l3.3-6.5c-9.4-6.1-30.2-6-30.2 8.2 0 14.3 22.9 8.3 22.9 15 0 6.3-13.5 5.8-20.7.8l-3.5 6.3c11.2 7.6 32.6 6 32.6-7.5zm35.4 9.3l-2.2-6.8c-3.8 2.1-12.2 4.4-12.2-4.1v-16.6h13.1V392h-13.1v-11.2h-8.2V392h-7.6v7.3h7.6V416c0 17.6 17.3 14.4 22.6 10.9zm13.3-13.4h27.5c0-16.2-7.4-22.6-17.4-22.6-10.6 0-18.2 7.9-18.2 19.3 0 20.5 22.6 23.9 33.8 14.2l-3.8-6c-7.8 6.4-19.6 5.8-21.9-4.9zm59.1-21.5c-4.6-2-11.6-1.8-15.2 4.4V392h-8.2v36.7h8.2V408c0-11.6 9.5-10.1 12.8-8.4l2.4-7.6zm10.6 18.3c0-11.4 11.6-15.1 20.7-8.4l3.8-6.5c-11.6-9.1-32.7-4.1-32.7 15 0 19.8 22.4 23.8 32.7 15l-3.8-6.5c-9.2 6.5-20.7 2.6-20.7-8.6zm66.7-18.3H408v4.4c-8.3-11-29.9-4.8-29.9 13.9 0 19.2 22.4 24.7 29.9 13.9v4.6h8.2V392zm33.7 0c-2.4-1.2-11-2.9-15.2 4.4V392h-7.9v36.7h7.9V408c0-11 9-10.3 12.8-8.4l2.4-7.6zm40.3-14.9h-7.9v19.3c-8.2-10.9-29.9-5.1-29.9 13.9 0 19.4 22.5 24.6 29.9 13.9v4.6h7.9v-51.7zm7.6-75.1v4.6h.8V302h1.9v-.8h-4.6v.8h1.9zm6.6 123.8c0-.5 0-1.1-.3-1.6-.3-.3-.5-.8-.8-1.1-.3-.3-.8-.5-1.1-.8-.5 0-1.1-.3-1.6-.3-.3 0-.8.3-1.4.3-.5.3-.8.5-1.1.8-.5.3-.8.8-.8 1.1-.3.5-.3 1.1-.3 1.6 0 .3 0 .8.3 1.4 0 .3.3.8.8 1.1.3.3.5.5 1.1.8.5.3 1.1.3 1.4.3.5 0 1.1 0 1.6-.3.3-.3.8-.5 1.1-.8.3-.3.5-.8.8-1.1.3-.6.3-1.1.3-1.4zm3.2-124.7h-1.4l-1.6 3.5-1.6-3.5h-1.4v5.4h.8v-4.1l1.6 3.5h1.1l1.4-3.5v4.1h1.1v-5.4zm4.4-80.5c0-76.2-62.1-138.3-138.5-138.3-27.2 0-53.9 8.2-76.5 23.1 72.1 59.3 73.2 171.5 0 230.5 22.6 15 49.5 23.1 76.5 23.1 76.4.1 138.5-61.9 138.5-138.4z\"],\n \"itunes-note\": [384, 512, [], \"f3b5\", \"M381.9 388.2c-6.4 27.4-27.2 42.8-55.1 48-24.5 4.5-44.9 5.6-64.5-10.2-23.9-20.1-24.2-53.4-2.7-74.4 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 6.4-7.2 4.4-4.1 4.4-163.2 0-11.2-5.5-14.3-17-12.3-8.2 1.4-185.7 34.6-185.7 34.6-10.2 2.2-13.4 5.2-13.4 16.7 0 234.7 1.1 223.9-2.5 239.5-4.2 18.2-15.4 31.9-30.2 39.5-16.8 9.3-47.2 13.4-63.4 10.4-43.2-8.1-58.4-58-29.1-86.6 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 10.1-11.5 1.8-256.6 5.2-270.2.8-5.2 3-9.6 7.1-12.9 4.2-3.5 11.8-5.5 13.4-5.5 204-38.2 228.9-43.1 232.4-43.1 11.5-.8 18.1 6 18.1 17.6.2 344.5 1.1 326-1.8 338.5z\"],\n \"golang\": [640, 512, [], \"e40f\", \"M400.1 194.8C389.2 197.6 380.2 199.1 371 202.4C363.7 204.3 356.3 206.3 347.8 208.5L347.2 208.6C343 209.8 342.6 209.9 338.7 205.4C334 200.1 330.6 196.7 324.1 193.5C304.4 183.9 285.4 186.7 267.7 198.2C246.5 211.9 235.6 232.2 235.9 257.4C236.2 282.4 253.3 302.9 277.1 306.3C299.1 309.1 316.9 301.7 330.9 285.8C333 283.2 334.9 280.5 337 277.5V277.5L337 277.5C337.8 276.5 338.5 275.4 339.3 274.2H279.2C272.7 274.2 271.1 270.2 273.3 264.9C277.3 255.2 284.8 239 289.2 230.9C290.1 229.1 292.3 225.1 296.1 225.1H397.2C401.7 211.7 409 198.2 418.8 185.4C441.5 155.5 468.1 139.9 506 133.4C537.8 127.8 567.7 130.9 594.9 149.3C619.5 166.1 634.7 188.9 638.8 218.8C644.1 260.9 631.9 295.1 602.1 324.4C582.4 345.3 557.2 358.4 528.2 364.3C522.6 365.3 517.1 365.8 511.7 366.3C508.8 366.5 506 366.8 503.2 367.1C474.9 366.5 449 358.4 427.2 339.7C411.9 326.4 401.3 310.1 396.1 291.2C392.4 298.5 388.1 305.6 382.1 312.3C360.5 341.9 331.2 360.3 294.2 365.2C263.6 369.3 235.3 363.4 210.3 344.7C187.3 327.2 174.2 304.2 170.8 275.5C166.7 241.5 176.7 210.1 197.2 184.2C219.4 155.2 248.7 136.8 284.5 130.3C313.8 124.1 341.8 128.4 367.1 145.6C383.6 156.5 395.4 171.4 403.2 189.5C405.1 192.3 403.8 193.9 400.1 194.8zM48.3 200.4C47.05 200.4 46.74 199.8 47.36 198.8L53.91 190.4C54.53 189.5 56.09 188.9 57.34 188.9H168.6C169.8 188.9 170.1 189.8 169.5 190.7L164.2 198.8C163.6 199.8 162 200.7 161.1 200.7L48.3 200.4zM1.246 229.1C0 229.1-.3116 228.4 .3116 227.5L6.855 219.1C7.479 218.2 9.037 217.5 10.28 217.5H152.4C153.6 217.5 154.2 218.5 153.9 219.4L151.4 226.9C151.1 228.1 149.9 228.8 148.6 228.8L1.246 229.1zM75.72 255.9C75.1 256.8 75.41 257.7 76.65 257.7L144.6 258C145.5 258 146.8 257.1 146.8 255.9L147.4 248.4C147.4 247.1 146.8 246.2 145.5 246.2H83.2C81.95 246.2 80.71 247.1 80.08 248.1L75.72 255.9zM577.2 237.9C577 235.3 576.9 233.1 576.5 230.9C570.9 200.1 542.5 182.6 512.9 189.5C483.9 196 465.2 214.4 458.4 243.7C452.8 268 464.6 292.6 487 302.6C504.2 310.1 521.3 309.2 537.8 300.7C562.4 287.1 575.8 268 577.4 241.2C577.3 240 577.3 238.9 577.2 237.9z\"],\n \"kickstarter\": [448, 512, [], \"f3bb\", \"M400 480H48c-26.4 0-48-21.6-48-48V80c0-26.4 21.6-48 48-48h352c26.4 0 48 21.6 48 48v352c0 26.4-21.6 48-48 48zM199.6 178.5c0-30.7-17.6-45.1-39.7-45.1-25.8 0-40 19.8-40 44.5v154.8c0 25.8 13.7 45.6 40.5 45.6 21.5 0 39.2-14 39.2-45.6v-41.8l60.6 75.7c12.3 14.9 39 16.8 55.8 0 14.6-15.1 14.8-36.8 4-50.4l-49.1-62.8 40.5-58.7c9.4-13.5 9.5-34.5-5.6-49.1-16.4-15.9-44.6-17.3-61.4 7l-44.8 64.7v-38.8z\"],\n \"grav\": [512, 512, [], \"f2d6\", \"M301.1 212c4.4 4.4 4.4 11.9 0 16.3l-9.7 9.7c-4.4 4.7-11.9 4.7-16.6 0l-10.5-10.5c-4.4-4.7-4.4-11.9 0-16.6l9.7-9.7c4.4-4.4 11.9-4.4 16.6 0l10.5 10.8zm-30.2-19.7c3-3 3-7.8 0-10.5-2.8-3-7.5-3-10.5 0-2.8 2.8-2.8 7.5 0 10.5 3.1 2.8 7.8 2.8 10.5 0zm-26 5.3c-3 2.8-3 7.5 0 10.2 2.8 3 7.5 3 10.5 0 2.8-2.8 2.8-7.5 0-10.2-3-3-7.7-3-10.5 0zm72.5-13.3c-19.9-14.4-33.8-43.2-11.9-68.1 21.6-24.9 40.7-17.2 59.8.8 11.9 11.3 29.3 24.9 17.2 48.2-12.5 23.5-45.1 33.2-65.1 19.1zm47.7-44.5c-8.9-10-23.3 6.9-15.5 16.1 7.4 9 32.1 2.4 15.5-16.1zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-66.2 42.6c2.5-16.1-20.2-16.6-25.2-25.7-13.6-24.1-27.7-36.8-54.5-30.4 11.6-8 23.5-6.1 23.5-6.1.3-6.4 0-13-9.4-24.9 3.9-12.5.3-22.4.3-22.4 15.5-8.6 26.8-24.4 29.1-43.2 3.6-31-18.8-59.2-49.8-62.8-22.1-2.5-43.7 7.7-54.3 25.7-23.2 40.1 1.4 70.9 22.4 81.4-14.4-1.4-34.3-11.9-40.1-34.3-6.6-25.7 2.8-49.8 8.9-61.4 0 0-4.4-5.8-8-8.9 0 0-13.8 0-24.6 5.3 11.9-15.2 25.2-14.4 25.2-14.4 0-6.4-.6-14.9-3.6-21.6-5.4-11-23.8-12.9-31.7 2.8.1-.2.3-.4.4-.5-5 11.9-1.1 55.9 16.9 87.2-2.5 1.4-9.1 6.1-13 10-21.6 9.7-56.2 60.3-56.2 60.3-28.2 10.8-77.2 50.9-70.6 79.7.3 3 1.4 5.5 3 7.5-2.8 2.2-5.5 5-8.3 8.3-11.9 13.8-5.3 35.2 17.7 24.4 15.8-7.2 29.6-20.2 36.3-30.4 0 0-5.5-5-16.3-4.4 27.7-6.6 34.3-9.4 46.2-9.1 8 3.9 8-34.3 8-34.3 0-14.7-2.2-31-11.1-41.5 12.5 12.2 29.1 32.7 28 60.6-.8 18.3-15.2 23-15.2 23-9.1 16.6-43.2 65.9-30.4 106 0 0-9.7-14.9-10.2-22.1-17.4 19.4-46.5 52.3-24.6 64.5 26.6 14.7 108.8-88.6 126.2-142.3 34.6-20.8 55.4-47.3 63.9-65 22 43.5 95.3 94.5 101.1 59z\"],\n \"weibo\": [512, 512, [], \"f18a\", \"M407 177.6c7.6-24-13.4-46.8-37.4-41.7-22 4.8-28.8-28.1-7.1-32.8 50.1-10.9 92.3 37.1 76.5 84.8-6.8 21.2-38.8 10.8-32-10.3zM214.8 446.7C108.5 446.7 0 395.3 0 310.4c0-44.3 28-95.4 76.3-143.7C176 67 279.5 65.8 249.9 161c-4 13.1 12.3 5.7 12.3 6 79.5-33.6 140.5-16.8 114 51.4-3.7 9.4 1.1 10.9 8.3 13.1 135.7 42.3 34.8 215.2-169.7 215.2zm143.7-146.3c-5.4-55.7-78.5-94-163.4-85.7-84.8 8.6-148.8 60.3-143.4 116s78.5 94 163.4 85.7c84.8-8.6 148.8-60.3 143.4-116zM347.9 35.1c-25.9 5.6-16.8 43.7 8.3 38.3 72.3-15.2 134.8 52.8 111.7 124-7.4 24.2 29.1 37 37.4 12 31.9-99.8-55.1-195.9-157.4-174.3zm-78.5 311c-17.1 38.8-66.8 60-109.1 46.3-40.8-13.1-58-53.4-40.3-89.7 17.7-35.4 63.1-55.4 103.4-45.1 42 10.8 63.1 50.2 46 88.5zm-86.3-30c-12.9-5.4-30 .3-38 12.9-8.3 12.9-4.3 28 8.6 34 13.1 6 30.8.3 39.1-12.9 8-13.1 3.7-28.3-9.7-34zm32.6-13.4c-5.1-1.7-11.4.6-14.3 5.4-2.9 5.1-1.4 10.6 3.7 12.9 5.1 2 11.7-.3 14.6-5.4 2.8-5.2 1.1-10.9-4-12.9z\"],\n \"uncharted\": [448, 512, [], \"e084\", \"M171.73,232.813A5.381,5.381,0,0,0,176.7,229.5,48.081,48.081,0,0,1,191.6,204.244c1.243-.828,1.657-2.484,1.657-4.141a4.22,4.22,0,0,0-2.071-3.312L74.429,128.473,148.958,85a9.941,9.941,0,0,0,4.968-8.281,9.108,9.108,0,0,0-4.968-8.281L126.6,55.6a9.748,9.748,0,0,0-9.523,0l-100.2,57.966a9.943,9.943,0,0,0-4.969,8.281V236.954a9.109,9.109,0,0,0,4.969,8.281L39.235,258.07a8.829,8.829,0,0,0,4.968,1.242,9.4,9.4,0,0,0,6.625-2.484,10.8,10.8,0,0,0,2.9-7.039V164.5L169.66,232.4A4.5,4.5,0,0,0,171.73,232.813ZM323.272,377.73a12.478,12.478,0,0,0-4.969,1.242l-74.528,43.062V287.882c0-2.9-2.9-5.8-6.211-4.555a53.036,53.036,0,0,1-28.984.414,4.86,4.86,0,0,0-6.21,4.555V421.619l-74.529-43.061a8.83,8.83,0,0,0-4.969-1.242,9.631,9.631,0,0,0-9.523,9.523v26.085a9.107,9.107,0,0,0,4.969,8.281l100.2,57.553A8.829,8.829,0,0,0,223.486,480a11.027,11.027,0,0,0,4.969-1.242l100.2-57.553a9.941,9.941,0,0,0,4.968-8.281V386.839C332.8,382.285,328.24,377.73,323.272,377.73ZM286.007,78a23,23,0,1,0-23-23A23,23,0,0,0,286.007,78Zm63.627-10.086a23,23,0,1,0,23,23A23,23,0,0,0,349.634,67.914ZM412.816,151.6a23,23,0,1,0-23-23A23,23,0,0,0,412.816,151.6Zm-63.182-9.2a23,23,0,1,0,23,23A23,23,0,0,0,349.634,142.4Zm-63.627,83.244a23,23,0,1,0-23-23A23,23,0,0,0,286.007,225.648Zm-62.074,36.358a23,23,0,1,0-23-23A23,23,0,0,0,223.933,262.006Zm188.883-82.358a23,23,0,1,0,23,23A23,23,0,0,0,412.816,179.648Zm0,72.272a23,23,0,1,0,23,23A23,23,0,0,0,412.816,251.92Z\"],\n \"firstdraft\": [384, 512, [], \"f3a1\", \"M384 192h-64v128H192v128H0v-25.6h166.4v-128h128v-128H384V192zm-25.6 38.4v128h-128v128H64V512h192V384h128V230.4h-25.6zm25.6 192h-89.6V512H320v-64h64v-25.6zM0 0v384h128V256h128V128h128V0H0z\"],\n \"square-youtube\": [448, 512, [61798, \"youtube-square\"], \"f431\", \"M186.8 202.1l95.2 54.1-95.2 54.1V202.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-42 176.3s0-59.6-7.6-88.2c-4.2-15.8-16.5-28.2-32.2-32.4C337.9 128 224 128 224 128s-113.9 0-142.2 7.7c-15.7 4.2-28 16.6-32.2 32.4-7.6 28.5-7.6 88.2-7.6 88.2s0 59.6 7.6 88.2c4.2 15.8 16.5 27.7 32.2 31.9C110.1 384 224 384 224 384s113.9 0 142.2-7.7c15.7-4.2 28-16.1 32.2-31.9 7.6-28.5 7.6-88.1 7.6-88.1z\"],\n \"wikipedia-w\": [640, 512, [], \"f266\", \"M640 51.2l-.3 12.2c-28.1.8-45 15.8-55.8 40.3-25 57.8-103.3 240-155.3 358.6H415l-81.9-193.1c-32.5 63.6-68.3 130-99.2 193.1-.3.3-15 0-15-.3C172 352.3 122.8 243.4 75.8 133.4 64.4 106.7 26.4 63.4.2 63.7c0-3.1-.3-10-.3-14.2h161.9v13.9c-19.2 1.1-52.8 13.3-43.3 34.2 21.9 49.7 103.6 240.3 125.6 288.6 15-29.7 57.8-109.2 75.3-142.8-13.9-28.3-58.6-133.9-72.8-160-9.7-17.8-36.1-19.4-55.8-19.7V49.8l142.5.3v13.1c-19.4.6-38.1 7.8-29.4 26.1 18.9 40 30.6 68.1 48.1 104.7 5.6-10.8 34.7-69.4 48.1-100.8 8.9-20.6-3.9-28.6-38.6-29.4.3-3.6 0-10.3.3-13.6 44.4-.3 111.1-.3 123.1-.6v13.6c-22.5.8-45.8 12.8-58.1 31.7l-59.2 122.8c6.4 16.1 63.3 142.8 69.2 156.7L559.2 91.8c-8.6-23.1-36.4-28.1-47.2-28.3V49.6l127.8 1.1.2.5z\"],\n \"wpressr\": [496, 512, [\"rendact\"], \"f3e4\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm171.33 158.6c-15.18 34.51-30.37 69.02-45.63 103.5-2.44 5.51-6.89 8.24-12.97 8.24-23.02-.01-46.03.06-69.05-.05-5.12-.03-8.25 1.89-10.34 6.72-10.19 23.56-20.63 47-30.95 70.5-1.54 3.51-4.06 5.29-7.92 5.29-45.94-.01-91.87-.02-137.81 0-3.13 0-5.63-1.15-7.72-3.45-11.21-12.33-22.46-24.63-33.68-36.94-2.69-2.95-2.79-6.18-1.21-9.73 8.66-19.54 17.27-39.1 25.89-58.66 12.93-29.35 25.89-58.69 38.75-88.08 1.7-3.88 4.28-5.68 8.54-5.65 14.24.1 28.48.02 42.72.05 6.24.01 9.2 4.84 6.66 10.59-13.6 30.77-27.17 61.55-40.74 92.33-5.72 12.99-11.42 25.99-17.09 39-3.91 8.95 7.08 11.97 10.95 5.6.23-.37-1.42 4.18 30.01-67.69 1.36-3.1 3.41-4.4 6.77-4.39 15.21.08 30.43.02 45.64.04 5.56.01 7.91 3.64 5.66 8.75-8.33 18.96-16.71 37.9-24.98 56.89-4.98 11.43 8.08 12.49 11.28 5.33.04-.08 27.89-63.33 32.19-73.16 2.02-4.61 5.44-6.51 10.35-6.5 26.43.05 52.86 0 79.29.05 12.44.02 13.93-13.65 3.9-13.64-25.26.03-50.52.02-75.78.02-6.27 0-7.84-2.47-5.27-8.27 5.78-13.06 11.59-26.11 17.3-39.21 1.73-3.96 4.52-5.79 8.84-5.78 23.09.06 25.98.02 130.78.03 6.08-.01 8.03 2.79 5.62 8.27z\"],\n \"angellist\": [448, 512, [], \"f209\", \"M347.1 215.4c11.7-32.6 45.4-126.9 45.4-157.1 0-26.6-15.7-48.9-43.7-48.9-44.6 0-84.6 131.7-97.1 163.1C242 144 196.6 0 156.6 0c-31.1 0-45.7 22.9-45.7 51.7 0 35.3 34.2 126.8 46.6 162-6.3-2.3-13.1-4.3-20-4.3-23.4 0-48.3 29.1-48.3 52.6 0 8.9 4.9 21.4 8 29.7-36.9 10-51.1 34.6-51.1 71.7C46 435.6 114.4 512 210.6 512c118 0 191.4-88.6 191.4-202.9 0-43.1-6.9-82-54.9-93.7zM311.7 108c4-12.3 21.1-64.3 37.1-64.3 8.6 0 10.9 8.9 10.9 16 0 19.1-38.6 124.6-47.1 148l-34-6 33.1-93.7zM142.3 48.3c0-11.9 14.5-45.7 46.3 47.1l34.6 100.3c-15.6-1.3-27.7-3-35.4 1.4-10.9-28.8-45.5-119.7-45.5-148.8zM140 244c29.3 0 67.1 94.6 67.1 107.4 0 5.1-4.9 11.4-10.6 11.4-20.9 0-76.9-76.9-76.9-97.7.1-7.7 12.7-21.1 20.4-21.1zm184.3 186.3c-29.1 32-66.3 48.6-109.7 48.6-59.4 0-106.3-32.6-128.9-88.3-17.1-43.4 3.8-68.3 20.6-68.3 11.4 0 54.3 60.3 54.3 73.1 0 4.9-7.7 8.3-11.7 8.3-16.1 0-22.4-15.5-51.1-51.4-29.7 29.7 20.5 86.9 58.3 86.9 26.1 0 43.1-24.2 38-42 3.7 0 8.3.3 11.7-.6 1.1 27.1 9.1 59.4 41.7 61.7 0-.9 2-7.1 2-7.4 0-17.4-10.6-32.6-10.6-50.3 0-28.3 21.7-55.7 43.7-71.7 8-6 17.7-9.7 27.1-13.1 9.7-3.7 20-8 27.4-15.4-1.1-11.2-5.7-21.1-16.9-21.1-27.7 0-120.6 4-120.6-39.7 0-6.7.1-13.1 17.4-13.1 32.3 0 114.3 8 138.3 29.1 18.1 16.1 24.3 113.2-31 174.7zm-98.6-126c9.7 3.1 19.7 4 29.7 6-7.4 5.4-14 12-20.3 19.1-2.8-8.5-6.2-16.8-9.4-25.1z\"],\n \"galactic-republic\": [496, 512, [], \"f50c\", \"M248 504C111.25 504 0 392.75 0 256S111.25 8 248 8s248 111.25 248 248-111.25 248-248 248zm0-479.47C120.37 24.53 16.53 128.37 16.53 256S120.37 487.47 248 487.47 479.47 383.63 479.47 256 375.63 24.53 248 24.53zm27.62 21.81v24.62a185.933 185.933 0 0 1 83.57 34.54l17.39-17.36c-28.75-22.06-63.3-36.89-100.96-41.8zm-55.37.07c-37.64 4.94-72.16 19.8-100.88 41.85l17.28 17.36h.08c24.07-17.84 52.55-30.06 83.52-34.67V46.41zm12.25 50.17v82.87c-10.04 2.03-19.42 5.94-27.67 11.42l-58.62-58.59-21.93 21.93 58.67 58.67c-5.47 8.23-9.45 17.59-11.47 27.62h-82.9v31h82.9c2.02 10.02 6.01 19.31 11.47 27.54l-58.67 58.69 21.93 21.93 58.62-58.62a77.873 77.873 0 0 0 27.67 11.47v82.9h31v-82.9c10.05-2.03 19.37-6.06 27.62-11.55l58.67 58.69 21.93-21.93-58.67-58.69c5.46-8.23 9.47-17.52 11.5-27.54h82.87v-31h-82.87c-2.02-10.02-6.03-19.38-11.5-27.62l58.67-58.67-21.93-21.93-58.67 58.67c-8.25-5.49-17.57-9.47-27.62-11.5V96.58h-31zm183.24 30.72l-17.36 17.36a186.337 186.337 0 0 1 34.67 83.67h24.62c-4.95-37.69-19.83-72.29-41.93-101.03zm-335.55.13c-22.06 28.72-36.91 63.26-41.85 100.91h24.65c4.6-30.96 16.76-59.45 34.59-83.52l-17.39-17.39zM38.34 283.67c4.92 37.64 19.75 72.18 41.8 100.9l17.36-17.39c-17.81-24.07-29.92-52.57-34.51-83.52H38.34zm394.7 0c-4.61 30.99-16.8 59.5-34.67 83.6l17.36 17.36c22.08-28.74 36.98-63.29 41.93-100.96h-24.62zM136.66 406.38l-17.36 17.36c28.73 22.09 63.3 36.98 100.96 41.93v-24.64c-30.99-4.63-59.53-16.79-83.6-34.65zm222.53.05c-24.09 17.84-52.58 30.08-83.57 34.67v24.57c37.67-4.92 72.21-19.79 100.96-41.85l-17.31-17.39h-.08z\"],\n \"nfc-directional\": [512, 512, [], \"e530\", \"M211.8 488.6C213.4 491.1 213.9 494.2 213.2 497.1C212.6 500 210.8 502.6 208.3 504.2C205.7 505.8 202.7 506.3 199.7 505.7C138.3 491.8 84.1 455.8 47.53 404.5C10.97 353.2-5.395 290.3 1.57 227.7C8.536 165 38.34 107.2 85.29 65.21C132.2 23.2 193-.0131 256 0C257.5 0 258.1 .2931 260.3 .8627C261.7 1.432 262.1 2.267 264 3.319C265.1 4.371 265.9 5.619 266.5 6.993C267 8.367 267.3 9.839 267.3 11.32V112.3L291.8 86.39C292.8 85.31 294 84.44 295.4 83.84C296.7 83.23 298.2 82.9 299.7 82.86C301.2 82.81 302.6 83.06 304 83.59C305.4 84.12 306.7 84.92 307.8 85.94C308.8 86.96 309.7 88.18 310.3 89.54C310.9 90.89 311.3 92.35 311.3 93.84C311.3 95.32 311.1 96.8 310.6 98.18C310 99.57 309.2 100.8 308.2 101.9L264.2 148.5C263.1 149.6 261.9 150.5 260.5 151.1C259 151.7 257.5 152 255.1 152C254.5 152 252.9 151.7 251.5 151.1C250.1 150.5 248.8 149.6 247.8 148.5L203.7 101.9C201.7 99.74 200.6 96.83 200.7 93.84C200.7 90.84 202 87.1 204.2 85.94C206.4 83.88 209.3 82.77 212.3 82.86C215.3 82.94 218.1 84.21 220.2 86.39L244.7 112.4V22.89C188.3 25.64 134.9 48.73 94.23 87.87C53.58 127 28.49 179.6 23.61 235.8C18.73 292 34.38 348.1 67.68 393.7C100.1 439.2 149.7 471.2 204.7 483.6C207.6 484.3 210.2 486.1 211.8 488.6L211.8 488.6zM171.4 126.1C170.6 127.4 169.5 128.5 168.3 129.3C147.8 143.2 131.1 161.9 119.5 183.8C107.9 205.7 101.8 230.1 101.8 254.9C101.8 279.7 107.9 304.1 119.5 325.1C131.1 347.9 147.8 366.6 168.3 380.5C170.8 382.2 172.5 384.8 173 387.8C173.6 390.7 172.1 393.8 171.3 396.2C169.6 398.7 166.1 400.4 164 400.1C161.1 401.5 158 400.9 155.6 399.2C132 383.2 112.8 361.7 99.46 336.5C86.15 311.4 79.19 283.4 79.19 254.9C79.19 226.5 86.15 198.4 99.46 173.3C112.8 148.1 132 126.6 155.6 110.6C156.8 109.8 158.2 109.2 159.6 108.8C161.1 108.5 162.6 108.5 164.1 108.8C165.5 109 166.9 109.6 168.2 110.4C169.5 111.2 170.5 112.3 171.4 113.5C172.2 114.7 172.8 116.1 173.1 117.6C173.4 119.1 173.4 120.6 173.1 122C172.8 123.5 172.3 124.9 171.4 126.1H171.4zM340.9 383.5C341.7 382.3 342.8 381.2 343.1 380.4V380.3C364.4 366.3 381.1 347.6 392.7 325.7C404.2 303.9 410.2 279.5 410.2 254.8C410.2 230.1 404.2 205.7 392.7 183.8C381.1 161.1 364.4 143.3 343.1 129.3C342.8 128.5 341.7 127.4 340.9 126.2C340.1 124.9 339.5 123.5 339.3 122.1C338.1 120.6 339 119.1 339.3 117.7C339.6 116.2 340.2 114.8 341 113.6C341.9 112.4 342.1 111.3 344.2 110.5C345.4 109.7 346.8 109.2 348.3 108.9C349.8 108.6 351.2 108.6 352.7 108.9C354.2 109.2 355.5 109.8 356.8 110.7C380.2 126.7 399.5 148.2 412.7 173.3C426 198.4 432.1 226.4 432.1 254.8C432.1 283.3 426 311.3 412.7 336.4C399.5 361.5 380.2 383 356.8 399C355.5 399.9 354.2 400.5 352.7 400.8C351.2 401.1 349.8 401.1 348.3 400.8C346.8 400.5 345.4 399.1 344.2 399.2C342.1 398.4 341.9 397.3 341 396.1C340.2 394.9 339.6 393.5 339.3 392C339 390.6 338.1 389.1 339.3 387.6C339.5 386.2 340.1 384.8 340.9 383.5V383.5zM312.3 6.307C368.5 19.04 418.7 50.28 455 95.01C485.4 132.6 504.6 178 510.3 226C515.9 274 507.9 322.7 487.1 366.3C466.2 409.9 433.5 446.8 392.6 472.6C351.7 498.3 304.4 512 256 512C254.5 512 253.1 511.7 251.7 511.1C250.3 510.6 249.1 509.7 248 508.7C246.1 507.6 246.1 506.4 245.6 505C245 503.6 244.7 502.2 244.7 500.7V401.5L220.2 427.5C218.1 429.7 215.3 430.1 212.3 431.1C209.3 431.2 206.4 430 204.2 427.1C202 425.9 200.7 423.1 200.7 420.1C200.6 417.1 201.7 414.2 203.7 412L247.8 365.4C249.1 363.2 252.9 362 255.1 362C259.1 362 262 363.2 264.2 365.4L308.2 412C310.3 414.2 311.4 417.1 311.3 420.1C311.2 423.1 309.9 425.9 307.8 427.1C305.6 430 302.7 431.2 299.7 431.1C296.7 430.1 293.8 429.7 291.8 427.5L267.3 401.6V489.1C323.7 486.3 377.1 463.3 417.8 424.1C458.5 384.1 483.6 332.4 488.5 276.2C493.3 219.1 477.7 163.9 444.4 118.3C411.1 72.75 362.4 40.79 307.4 28.36C305.9 28.03 304.6 27.42 303.3 26.57C302.1 25.71 301.1 24.63 300.3 23.37C299.5 22.12 298.1 20.72 298.7 19.26C298.5 17.8 298.5 16.3 298.8 14.85C299.2 13.41 299.8 12.04 300.6 10.82C301.5 9.61 302.6 8.577 303.8 7.784C305.1 6.99 306.5 6.451 307.9 6.198C309.4 5.945 310.9 5.982 312.3 6.307L312.3 6.307zM353.1 256.1C353.1 287.5 335.6 317.2 303.8 339.6C301.7 341.1 299 341.9 296.4 341.6C293.7 341.4 291.2 340.3 289.4 338.4L219.3 268.6C217.1 266.5 215.1 263.6 215.9 260.6C215.9 257.6 217.1 254.7 219.2 252.6C221.4 250.5 224.2 249.3 227.2 249.3C230.2 249.3 233.1 250.5 235.2 252.6L298.3 315.4C319.1 298.3 330.5 277.5 330.5 256.1C330.5 232.2 316.4 209.1 290.8 191C288.3 189.3 286.7 186.7 286.2 183.7C285.7 180.8 286.3 177.7 288.1 175.3C289.8 172.8 292.4 171.2 295.4 170.7C298.3 170.2 301.4 170.8 303.8 172.6C335.6 195 353.1 224.7 353.1 256.1V256.1zM216.7 341.5C213.7 342 210.7 341.3 208.2 339.6C176.5 317.2 158.1 287.5 158.1 256.1C158.1 224.7 176.5 195 208.2 172.6C210.4 171 213.1 170.3 215.7 170.5C218.4 170.8 220.8 171.9 222.7 173.8L292.8 243.6C294.9 245.7 296.1 248.6 296.1 251.6C296.1 254.6 294.1 257.4 292.8 259.6C290.7 261.7 287.8 262.9 284.9 262.9C281.9 262.9 278.1 261.7 276.9 259.6L213.8 196.7C192.9 214 181.6 234.7 181.6 256.1C181.6 279.1 195.7 303.1 221.3 321.1C223.7 322.9 225.4 325.5 225.9 328.5C226.4 331.4 225.7 334.4 224 336.9C222.3 339.3 219.6 341 216.7 341.5L216.7 341.5z\"],\n \"skype\": [448, 512, [], \"f17e\", \"M424.7 299.8c2.9-14 4.7-28.9 4.7-43.8 0-113.5-91.9-205.3-205.3-205.3-14.9 0-29.7 1.7-43.8 4.7C161.3 40.7 137.7 32 112 32 50.2 32 0 82.2 0 144c0 25.7 8.7 49.3 23.3 68.2-2.9 14-4.7 28.9-4.7 43.8 0 113.5 91.9 205.3 205.3 205.3 14.9 0 29.7-1.7 43.8-4.7 19 14.6 42.6 23.3 68.2 23.3 61.8 0 112-50.2 112-112 .1-25.6-8.6-49.2-23.2-68.1zm-194.6 91.5c-65.6 0-120.5-29.2-120.5-65 0-16 9-30.6 29.5-30.6 31.2 0 34.1 44.9 88.1 44.9 25.7 0 42.3-11.4 42.3-26.3 0-18.7-16-21.6-42-28-62.5-15.4-117.8-22-117.8-87.2 0-59.2 58.6-81.1 109.1-81.1 55.1 0 110.8 21.9 110.8 55.4 0 16.9-11.4 31.8-30.3 31.8-28.3 0-29.2-33.5-75-33.5-25.7 0-42 7-42 22.5 0 19.8 20.8 21.8 69.1 33 41.4 9.3 90.7 26.8 90.7 77.6 0 59.1-57.1 86.5-112 86.5z\"],\n \"joget\": [496, 512, [], \"f3b7\", \"M378.1 45C337.6 19.9 292.6 8 248.2 8 165 8 83.8 49.9 36.9 125.9c-71.9 116.6-35.6 269.3 81 341.2s269.3 35.6 341.2-80.9c71.9-116.6 35.6-269.4-81-341.2zm51.8 323.2c-40.4 65.5-110.4 101.5-182 101.5-6.8 0-13.6-.4-20.4-1-9-13.6-19.9-33.3-23.7-42.4-5.7-13.7-27.2-45.6 31.2-67.1 51.7-19.1 176.7-16.5 208.8-17.6-4 9-8.6 17.9-13.9 26.6zm-200.8-86.3c-55.5-1.4-81.7-20.8-58.5-48.2s51.1-40.7 68.9-51.2c17.9-10.5 27.3-33.7-23.6-29.7C87.3 161.5 48.6 252.1 37.6 293c-8.8-49.7-.1-102.7 28.5-149.1C128 43.4 259.6 12.2 360.1 74.1c74.8 46.1 111.2 130.9 99.3 212.7-24.9-.5-179.3-3.6-230.3-4.9zm183.8-54.8c-22.7-6-57 11.3-86.7 27.2-29.7 15.8-31.1 8.2-31.1 8.2s40.2-28.1 50.7-34.5 31.9-14 13.4-24.6c-3.2-1.8-6.7-2.7-10.4-2.7-17.8 0-41.5 18.7-67.5 35.6-31.5 20.5-65.3 31.3-65.3 31.3l169.5-1.6 46.5-23.4s3.6-9.5-19.1-15.5z\"],\n \"fedora\": [448, 512, [], \"f798\", \"M.0413 255.8C.1219 132.2 100.3 32 224 32C347.7 32 448 132.3 448 256C448 379.7 347.8 479.9 224.1 480H50.93C22.84 480 .0832 457.3 .0416 429.2H0V255.8H.0413zM342.6 192.7C342.6 153 307 124.2 269.4 124.2C234.5 124.2 203.6 150.5 199.3 184.1C199.1 187.9 198.9 189.1 198.9 192.6C198.8 213.7 198.9 235.4 198.1 257C199 283.1 199.1 309.1 198.1 333.6C198.1 360.7 178.7 379.1 153.4 379.1C128.1 379.1 107.6 358.9 107.6 333.6C108.1 305.9 130.2 288.3 156.1 287.5H156.3L182.6 287.3V250L156.3 250.2C109.2 249.8 71.72 286.7 70.36 333.6C70.36 379.2 107.9 416.5 153.4 416.5C196.4 416.5 232.1 382.9 236 340.9L236.2 287.4L268.8 287.1C294.1 287.3 293.8 249.3 268.6 249.8L236.2 250.1C236.2 243.7 236.3 237.3 236.3 230.9C236.4 218.2 236.4 205.5 236.2 192.7C236.3 176.2 252 161.5 269.4 161.5C286.9 161.5 305.3 170.2 305.3 192.7C305.3 195.9 305.2 197.8 305 199C303.1 209.5 310.2 219.4 320.7 220.9C331.3 222.4 340.9 214.8 341.9 204.3C342.5 200.1 342.6 196.4 342.6 192.7H342.6z\"],\n \"stripe-s\": [384, 512, [], \"f42a\", \"M155.3 154.6c0-22.3 18.6-30.9 48.4-30.9 43.4 0 98.5 13.3 141.9 36.7V26.1C298.3 7.2 251.1 0 203.8 0 88.1 0 11 60.4 11 161.4c0 157.9 216.8 132.3 216.8 200.4 0 26.4-22.9 34.9-54.7 34.9-47.2 0-108.2-19.5-156.1-45.5v128.5a396.09 396.09 0 0 0 156 32.4c118.6 0 200.3-51 200.3-153.6 0-170.2-218-139.7-218-203.9z\"],\n \"meta\": [640, 512, [], \"e49b\", \"M640 317.9C640 409.2 600.6 466.4 529.7 466.4C467.1 466.4 433.9 431.8 372.8 329.8L341.4 277.2C333.1 264.7 326.9 253 320.2 242.2C300.1 276 273.1 325.2 273.1 325.2C206.1 441.8 168.5 466.4 116.2 466.4C43.42 466.4 0 409.1 0 320.5C0 177.5 79.78 42.4 183.9 42.4C234.1 42.4 277.7 67.08 328.7 131.9C365.8 81.8 406.8 42.4 459.3 42.4C558.4 42.4 640 168.1 640 317.9H640zM287.4 192.2C244.5 130.1 216.5 111.7 183 111.7C121.1 111.7 69.22 217.8 69.22 321.7C69.22 370.2 87.7 397.4 118.8 397.4C149 397.4 167.8 378.4 222 293.6C222 293.6 246.7 254.5 287.4 192.2V192.2zM531.2 397.4C563.4 397.4 578.1 369.9 578.1 322.5C578.1 198.3 523.8 97.08 454.9 97.08C421.7 97.08 393.8 123 360 175.1C369.4 188.9 379.1 204.1 389.3 220.5L426.8 282.9C485.5 377 500.3 397.4 531.2 397.4L531.2 397.4z\"],\n \"laravel\": [512, 512, [], \"f3bd\", \"M504.4,115.83a5.72,5.72,0,0,0-.28-.68,8.52,8.52,0,0,0-.53-1.25,6,6,0,0,0-.54-.71,9.36,9.36,0,0,0-.72-.94c-.23-.22-.52-.4-.77-.6a8.84,8.84,0,0,0-.9-.68L404.4,55.55a8,8,0,0,0-8,0L300.12,111h0a8.07,8.07,0,0,0-.88.69,7.68,7.68,0,0,0-.78.6,8.23,8.23,0,0,0-.72.93c-.17.24-.39.45-.54.71a9.7,9.7,0,0,0-.52,1.25c-.08.23-.21.44-.28.68a8.08,8.08,0,0,0-.28,2.08V223.18l-80.22,46.19V63.44a7.8,7.8,0,0,0-.28-2.09c-.06-.24-.2-.45-.28-.68a8.35,8.35,0,0,0-.52-1.24c-.14-.26-.37-.47-.54-.72a9.36,9.36,0,0,0-.72-.94,9.46,9.46,0,0,0-.78-.6,9.8,9.8,0,0,0-.88-.68h0L115.61,1.07a8,8,0,0,0-8,0L11.34,56.49h0a6.52,6.52,0,0,0-.88.69,7.81,7.81,0,0,0-.79.6,8.15,8.15,0,0,0-.71.93c-.18.25-.4.46-.55.72a7.88,7.88,0,0,0-.51,1.24,6.46,6.46,0,0,0-.29.67,8.18,8.18,0,0,0-.28,2.1v329.7a8,8,0,0,0,4,6.95l192.5,110.84a8.83,8.83,0,0,0,1.33.54c.21.08.41.2.63.26a7.92,7.92,0,0,0,4.1,0c.2-.05.37-.16.55-.22a8.6,8.6,0,0,0,1.4-.58L404.4,400.09a8,8,0,0,0,4-6.95V287.88l92.24-53.11a8,8,0,0,0,4-7V117.92A8.63,8.63,0,0,0,504.4,115.83ZM111.6,17.28h0l80.19,46.15-80.2,46.18L31.41,63.44Zm88.25,60V278.6l-46.53,26.79-33.69,19.4V123.5l46.53-26.79Zm0,412.78L23.37,388.5V77.32L57.06,96.7l46.52,26.8V338.68a6.94,6.94,0,0,0,.12.9,8,8,0,0,0,.16,1.18h0a5.92,5.92,0,0,0,.38.9,6.38,6.38,0,0,0,.42,1v0a8.54,8.54,0,0,0,.6.78,7.62,7.62,0,0,0,.66.84l0,0c.23.22.52.38.77.58a8.93,8.93,0,0,0,.86.66l0,0,0,0,92.19,52.18Zm8-106.17-80.06-45.32,84.09-48.41,92.26-53.11,80.13,46.13-58.8,33.56Zm184.52,4.57L215.88,490.11V397.8L346.6,323.2l45.77-26.15Zm0-119.13L358.68,250l-46.53-26.79V131.79l33.69,19.4L392.37,178Zm8-105.28-80.2-46.17,80.2-46.16,80.18,46.15Zm8,105.28V178L455,151.19l33.68-19.4v91.39h0Z\"],\n \"hotjar\": [448, 512, [], \"f3b1\", \"M414.9 161.5C340.2 29 121.1 0 121.1 0S222.2 110.4 93 197.7C11.3 252.8-21 324.4 14 402.6c26.8 59.9 83.5 84.3 144.6 93.4-29.2-55.1-6.6-122.4-4.1-129.6 57.1 86.4 165 0 110.8-93.9 71 15.4 81.6 138.6 27.1 215.5 80.5-25.3 134.1-88.9 148.8-145.6 15.5-59.3 3.7-127.9-26.3-180.9z\"],\n \"bluetooth-b\": [320, 512, [], \"f294\", \"M196.48 260.023l92.626-103.333L143.125 0v206.33l-86.111-86.111-31.406 31.405 108.061 108.399L25.608 368.422l31.406 31.405 86.111-86.111L145.84 512l148.552-148.644-97.912-103.333zm40.86-102.996l-49.977 49.978-.338-100.295 50.315 50.317zM187.363 313.04l49.977 49.978-50.315 50.316.338-100.294z\"],\n \"sticker-mule\": [576, 512, [], \"f3f7\", \"M561.7 199.6c-1.3.3.3 0 0 0zm-6.2-77.4c-7.7-22.3-5.1-7.2-13.4-36.9-1.6-6.5-3.6-14.5-6.2-20-4.4-8.7-4.6-7.5-4.6-9.5 0-5.3 30.7-45.3 19-46.9-5.7-.6-12.2 11.6-20.6 17-8.6 4.2-8 5-10.3 5-2.6 0-5.7-3-6.2-5-2-5.7 1.9-25.9-3.6-25.9-3.6 0-12.3 24.8-17 25.8-5.2 1.3-27.9-11.4-75.1 18-25.3 13.2-86.9 65.2-87 65.3-6.7 4.7-20 4.7-35.5 16-44.4 30.1-109.6 9.4-110.7 9-110.6-26.8-128-15.2-159 11.5-20.8 17.9-23.7 36.5-24.2 38.9-4.2 20.4 5.2 48.3 6.7 64.3 1.8 19.3-2.7 17.7 7.7 98.3.5 1 4.1 0 5.1 1.5 0 8.4-3.8 12.1-4.1 13-1.5 4.5-1.5 10.5 0 16 2.3 8.2 8.2 37.2 8.2 46.9 0 41.8.4 44 2.6 49.4 3.9 10 12.5 9.1 17 12 3.1 3.5-.5 8.5 1 12.5.5 2 3.6 4 6.2 5 9.2 3.6 27 .3 29.9-2.5 1.6-1.5.5-4.5 3.1-5 5.1 0 10.8-.5 14.4-2.5 5.1-2.5 4.1-6 1.5-10.5-.4-.8-7-13.3-9.8-16-2.1-2-5.1-3-7.2-4.5-5.8-4.9-10.3-19.4-10.3-19.5-4.6-19.4-10.3-46.3-4.1-66.8 4.6-17.2 39.5-87.7 39.6-87.8 4.1-6.5 17-11.5 27.3-7 6 1.9 19.3 22 65.4 30.9 47.9 8.7 97.4-2 112.2-2 2.8 2-1.9 13-.5 38.9 0 26.4-.4 13.7-4.1 29.9-2.2 9.7 3.4 23.2-1.5 46.9-1.4 9.8-9.9 32.7-8.2 43.4.5 1 1 2 1.5 3.5.5 4.5 1.5 8.5 4.6 10 7.3 3.6 12-3.5 9.8 11.5-.7 3.1-2.6 12 1.5 15 4.4 3.7 30.6 3.4 36.5.5 2.6-1.5 1.6-4.5 6.4-7.4 1.9-.9 11.3-.4 11.3-6.5.3-1.8-9.2-19.9-9.3-20-2.6-3.5-9.2-4.5-11.3-8-6.9-10.1-1.7-52.6.5-59.4 3-11 5.6-22.4 8.7-32.4 11-42.5 10.3-50.6 16.5-68.3.8-1.8 6.4-23.1 10.3-29.9 9.3-17 21.7-32.4 33.5-47.4 18-22.9 34-46.9 52-69.8 6.1-7 8.2-13.7 18-8 10.8 5.7 21.6 7 31.9 17 14.6 12.8 10.2 18.2 11.8 22.9 1.5 5 7.7 10.5 14.9 9.5 10.4-2 13-2.5 13.4-2.5 2.6-.5 5.7-5 7.2-8 3.1-5.5 7.2-9 7.2-16.5 0-7.7-.4-2.8-20.6-52.9z\"],\n \"creative-commons-zero\": [496, 512, [], \"f4f3\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm-.4 60.5c-81.9 0-102.5 77.3-102.5 142.8 0 65.5 20.6 142.8 102.5 142.8S350.5 321.5 350.5 256c0-65.5-20.6-142.8-102.5-142.8zm0 53.9c3.3 0 6.4.5 9.2 1.2 5.9 5.1 8.8 12.1 3.1 21.9l-54.5 100.2c-1.7-12.7-1.9-25.1-1.9-34.4 0-28.8 2-88.9 44.1-88.9zm40.8 46.2c2.9 15.4 3.3 31.4 3.3 42.7 0 28.9-2 88.9-44.1 88.9-13.5 0-32.6-7.7-20.1-26.4l60.9-105.2z\"],\n \"hips\": [640, 512, [], \"f452\", \"M251.6 157.6c0-1.9-.9-2.8-2.8-2.8h-40.9c-1.6 0-2.7 1.4-2.7 2.8v201.8c0 1.4 1.1 2.8 2.7 2.8h40.9c1.9 0 2.8-.9 2.8-2.8zM156.5 168c-16.1-11.8-36.3-17.9-60.3-18-18.1-.1-34.6 3.7-49.8 11.4V80.2c0-1.8-.9-2.7-2.8-2.7H2.7c-1.8 0-2.7.9-2.7 2.7v279.2c0 1.9.9 2.8 2.7 2.8h41c1.9 0 2.8-.9 2.8-2.8V223.3c0-.8-2.8-27 45.8-27 48.5 0 45.8 26.1 45.8 27v122.6c0 9 7.3 16.3 16.4 16.3h27.3c1.8 0 2.7-.9 2.7-2.8V223.3c0-23.4-9.3-41.8-28-55.3zm478.4 110.1c-6.8-15.7-18.4-27-34.9-34.1l-57.6-25.3c-8.6-3.6-9.2-11.2-2.6-16.1 7.4-5.5 44.3-13.9 84 6.8 1.7 1 4-.3 4-2.4v-44.7c0-1.3-.6-2.1-1.9-2.6-17.7-6.6-36.1-9.9-55.1-9.9-26.5 0-45.3 5.8-58.5 15.4-.5.4-28.4 20-22.7 53.7 3.4 19.6 15.8 34.2 37.2 43.6l53.6 23.5c11.6 5.1 15.2 13.3 12.2 21.2-3.7 9.1-13.2 13.6-36.5 13.6-24.3 0-44.7-8.9-58.4-19.1-2.1-1.4-4.4.2-4.4 2.3v34.4c0 10.4 4.9 17.3 14.6 20.7 15.6 5.5 31.6 8.2 48.2 8.2 12.7 0 25.8-1.2 36.3-4.3.7-.3 36-8.9 45.6-45.8 3.5-13.5 2.4-26.5-3.1-39.1zM376.2 149.8c-31.7 0-104.2 20.1-104.2 103.5v183.5c0 .8.6 2.7 2.7 2.7h40.9c1.9 0 2.8-.9 2.8-2.7V348c16.5 12.7 35.8 19.1 57.7 19.1 60.5 0 108.7-48.5 108.7-108.7.1-60.3-48.2-108.6-108.6-108.6zm0 170.9c-17.2 0-31.9-6.1-44-18.2-12.2-12.2-18.2-26.8-18.2-44 0-34.5 27.6-62.2 62.2-62.2 34.5 0 62.2 27.6 62.2 62.2.1 34.3-27.3 62.2-62.2 62.2zM228.3 72.5c-15.9 0-28.8 12.9-28.9 28.9 0 15.6 12.7 28.9 28.9 28.9s28.9-13.1 28.9-28.9c0-16.2-13-28.9-28.9-28.9z\"],\n \"behance\": [576, 512, [], \"f1b4\", \"M232 237.2c31.8-15.2 48.4-38.2 48.4-74 0-70.6-52.6-87.8-113.3-87.8H0v354.4h171.8c64.4 0 124.9-30.9 124.9-102.9 0-44.5-21.1-77.4-64.7-89.7zM77.9 135.9H151c28.1 0 53.4 7.9 53.4 40.5 0 30.1-19.7 42.2-47.5 42.2h-79v-82.7zm83.3 233.7H77.9V272h84.9c34.3 0 56 14.3 56 50.6 0 35.8-25.9 47-57.6 47zm358.5-240.7H376V94h143.7v34.9zM576 305.2c0-75.9-44.4-139.2-124.9-139.2-78.2 0-131.3 58.8-131.3 135.8 0 79.9 50.3 134.7 131.3 134.7 61.3 0 101-27.6 120.1-86.3H509c-6.7 21.9-34.3 33.5-55.7 33.5-41.3 0-63-24.2-63-65.3h185.1c.3-4.2.6-8.7.6-13.2zM390.4 274c2.3-33.7 24.7-54.8 58.5-54.8 35.4 0 53.2 20.8 56.2 54.8H390.4z\"],\n \"reddit\": [512, 512, [], \"f1a1\", \"M201.5 305.5c-13.8 0-24.9-11.1-24.9-24.6 0-13.8 11.1-24.9 24.9-24.9 13.6 0 24.6 11.1 24.6 24.9 0 13.6-11.1 24.6-24.6 24.6zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-132.3-41.2c-9.4 0-17.7 3.9-23.8 10-22.4-15.5-52.6-25.5-86.1-26.6l17.4-78.3 55.4 12.5c0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.3 24.9-24.9s-11.1-24.9-24.9-24.9c-9.7 0-18 5.8-22.1 13.8l-61.2-13.6c-3-.8-6.1 1.4-6.9 4.4l-19.1 86.4c-33.2 1.4-63.1 11.3-85.5 26.8-6.1-6.4-14.7-10.2-24.1-10.2-34.9 0-46.3 46.9-14.4 62.8-1.1 5-1.7 10.2-1.7 15.5 0 52.6 59.2 95.2 132 95.2 73.1 0 132.3-42.6 132.3-95.2 0-5.3-.6-10.8-1.9-15.8 31.3-16 19.8-62.5-14.9-62.5zM302.8 331c-18.2 18.2-76.1 17.9-93.6 0-2.2-2.2-6.1-2.2-8.3 0-2.5 2.5-2.5 6.4 0 8.6 22.8 22.8 87.3 22.8 110.2 0 2.5-2.2 2.5-6.1 0-8.6-2.2-2.2-6.1-2.2-8.3 0zm7.7-75c-13.6 0-24.6 11.1-24.6 24.9 0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.1 24.9-24.6 0-13.8-11-24.9-24.9-24.9z\"],\n \"discord\": [640, 512, [], \"f392\", \"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z\"],\n \"chrome\": [512, 512, [], \"f268\", \"M0 256C0 209.4 12.47 165.6 34.27 127.1L144.1 318.3C166 357.5 207.9 384 256 384C270.3 384 283.1 381.7 296.8 377.4L220.5 509.6C95.9 492.3 0 385.3 0 256zM365.1 321.6C377.4 302.4 384 279.1 384 256C384 217.8 367.2 183.5 340.7 160H493.4C505.4 189.6 512 222.1 512 256C512 397.4 397.4 511.1 256 512L365.1 321.6zM477.8 128H256C193.1 128 142.3 172.1 130.5 230.7L54.19 98.47C101 38.53 174 0 256 0C350.8 0 433.5 51.48 477.8 128V128zM168 256C168 207.4 207.4 168 256 168C304.6 168 344 207.4 344 256C344 304.6 304.6 344 256 344C207.4 344 168 304.6 168 256z\"],\n \"app-store-ios\": [448, 512, [], \"f370\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM127 384.5c-5.5 9.6-17.8 12.8-27.3 7.3-9.6-5.5-12.8-17.8-7.3-27.3l14.3-24.7c16.1-4.9 29.3-1.1 39.6 11.4L127 384.5zm138.9-53.9H84c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40zm98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52c11 0 20 9 20 20 0 11.1-9 20-20 20z\"],\n \"cc-discover\": [576, 512, [], \"f1f2\", \"M520.4 196.1c0-7.9-5.5-12.1-15.6-12.1h-4.9v24.9h4.7c10.3 0 15.8-4.4 15.8-12.8zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-44.1 138.9c22.6 0 52.9-4.1 52.9 24.4 0 12.6-6.6 20.7-18.7 23.2l25.8 34.4h-19.6l-22.2-32.8h-2.2v32.8h-16zm-55.9.1h45.3v14H444v18.2h28.3V217H444v22.2h29.3V253H428zm-68.7 0l21.9 55.2 22.2-55.2h17.5l-35.5 84.2h-8.6l-35-84.2zm-55.9-3c24.7 0 44.6 20 44.6 44.6 0 24.7-20 44.6-44.6 44.6-24.7 0-44.6-20-44.6-44.6 0-24.7 20-44.6 44.6-44.6zm-49.3 6.1v19c-20.1-20.1-46.8-4.7-46.8 19 0 25 27.5 38.5 46.8 19.2v19c-29.7 14.3-63.3-5.7-63.3-38.2 0-31.2 33.1-53 63.3-38zm-97.2 66.3c11.4 0 22.4-15.3-3.3-24.4-15-5.5-20.2-11.4-20.2-22.7 0-23.2 30.6-31.4 49.7-14.3l-8.4 10.8c-10.4-11.6-24.9-6.2-24.9 2.5 0 4.4 2.7 6.9 12.3 10.3 18.2 6.6 23.6 12.5 23.6 25.6 0 29.5-38.8 37.4-56.6 11.3l10.3-9.9c3.7 7.1 9.9 10.8 17.5 10.8zM55.4 253H32v-82h23.4c26.1 0 44.1 17 44.1 41.1 0 18.5-13.2 40.9-44.1 40.9zm67.5 0h-16v-82h16zM544 433c0 8.2-6.8 15-15 15H128c189.6-35.6 382.7-139.2 416-160zM74.1 191.6c-5.2-4.9-11.6-6.6-21.9-6.6H48v54.2h4.2c10.3 0 17-2 21.9-6.4 5.7-5.2 8.9-12.8 8.9-20.7s-3.2-15.5-8.9-20.5z\"],\n \"wpbeginner\": [512, 512, [], \"f297\", \"M462.799 322.374C519.01 386.682 466.961 480 370.944 480c-39.602 0-78.824-17.687-100.142-50.04-6.887.356-22.702.356-29.59 0C219.848 462.381 180.588 480 141.069 480c-95.49 0-148.348-92.996-91.855-157.626C-29.925 190.523 80.479 32 256.006 32c175.632 0 285.87 158.626 206.793 290.374zm-339.647-82.972h41.529v-58.075h-41.529v58.075zm217.18 86.072v-23.839c-60.506 20.915-132.355 9.198-187.589-33.971l.246 24.897c51.101 46.367 131.746 57.875 187.343 32.913zm-150.753-86.072h166.058v-58.075H189.579v58.075z\"],\n \"confluence\": [512, 512, [], \"f78d\", \"M2.3 412.2c-4.5 7.6-2.1 17.5 5.5 22.2l105.9 65.2c7.7 4.7 17.7 2.4 22.4-5.3 0-.1.1-.2.1-.2 67.1-112.2 80.5-95.9 280.9-.7 8.1 3.9 17.8.4 21.7-7.7.1-.1.1-.3.2-.4l50.4-114.1c3.6-8.1-.1-17.6-8.1-21.3-22.2-10.4-66.2-31.2-105.9-50.3C127.5 179 44.6 345.3 2.3 412.2zm507.4-312.1c4.5-7.6 2.1-17.5-5.5-22.2L398.4 12.8c-7.5-5-17.6-3.1-22.6 4.4-.2.3-.4.6-.6 1-67.3 112.6-81.1 95.6-280.6.9-8.1-3.9-17.8-.4-21.7 7.7-.1.1-.1.3-.2.4L22.2 141.3c-3.6 8.1.1 17.6 8.1 21.3 22.2 10.4 66.3 31.2 106 50.4 248 120 330.8-45.4 373.4-112.9z\"],\n \"mdb\": [576, 512, [], \"f8ca\", \"M17.37 160.41L7 352h43.91l5.59-79.83L84.43 352h44.71l25.54-77.43 4.79 77.43H205l-12.79-191.59H146.7L106 277.74 63.67 160.41zm281 0h-47.9V352h47.9s95 .8 94.2-95.79c-.78-94.21-94.18-95.78-94.18-95.78zm-1.2 146.46V204.78s46 4.27 46.8 50.57-46.78 51.54-46.78 51.54zm238.29-74.24a56.16 56.16 0 0 0 8-38.31c-5.34-35.76-55.08-34.32-55.08-34.32h-51.9v191.58H482s87 4.79 87-63.85c0-43.14-33.52-55.08-33.52-55.08zm-51.9-31.94s13.57-1.59 16 9.59c1.43 6.66-4 12-4 12h-12v-21.57zm-.1 109.46l.1-24.92V267h.08s41.58-4.73 41.19 22.43c-.33 25.65-41.35 20.74-41.35 20.74z\"],\n \"dochub\": [416, 512, [], \"f394\", \"M397.9 160H256V19.6L397.9 160zM304 192v130c0 66.8-36.5 100.1-113.3 100.1H96V84.8h94.7c12 0 23.1.8 33.1 2.5v-84C212.9 1.1 201.4 0 189.2 0H0v512h189.2C329.7 512 400 447.4 400 318.1V192h-96z\"],\n \"accessible-icon\": [448, 512, [62107], \"f368\", \"M423.9 255.8L411 413.1c-3.3 40.7-63.9 35.1-60.6-4.9l10-122.5-41.1 2.3c10.1 20.7 15.8 43.9 15.8 68.5 0 41.2-16.1 78.7-42.3 106.5l-39.3-39.3c57.9-63.7 13.1-167.2-74-167.2-25.9 0-49.5 9.9-67.2 26L73 243.2c22-20.7 50.1-35.1 81.4-40.2l75.3-85.7-42.6-24.8-51.6 46c-30 26.8-70.6-18.5-40.5-45.4l68-60.7c9.8-8.8 24.1-10.2 35.5-3.6 0 0 139.3 80.9 139.5 81.1 16.2 10.1 20.7 36 6.1 52.6L285.7 229l106.1-5.9c18.5-1.1 33.6 14.4 32.1 32.7zm-64.9-154c28.1 0 50.9-22.8 50.9-50.9C409.9 22.8 387.1 0 359 0c-28.1 0-50.9 22.8-50.9 50.9 0 28.1 22.8 50.9 50.9 50.9zM179.6 456.5c-80.6 0-127.4-90.6-82.7-156.1l-39.7-39.7C36.4 287 24 320.3 24 356.4c0 130.7 150.7 201.4 251.4 122.5l-39.7-39.7c-16 10.9-35.3 17.3-56.1 17.3z\"],\n \"ebay\": [640, 512, [], \"f4f4\", \"M606 189.5l-54.8 109.9-54.9-109.9h-37.5l10.9 20.6c-11.5-19-35.9-26-63.3-26-31.8 0-67.9 8.7-71.5 43.1h33.7c1.4-13.8 15.7-21.8 35-21.8 26 0 41 9.6 41 33v3.4c-12.7 0-28 .1-41.7.4-42.4.9-69.6 10-76.7 34.4 1-5.2 1.5-10.6 1.5-16.2 0-52.1-39.7-76.2-75.4-76.2-21.3 0-43 5.5-58.7 24.2v-80.6h-32.1v169.5c0 10.3-.6 22.9-1.1 33.1h31.5c.7-6.3 1.1-12.9 1.1-19.5 13.6 16.6 35.4 24.9 58.7 24.9 36.9 0 64.9-21.9 73.3-54.2-.5 2.8-.7 5.8-.7 9 0 24.1 21.1 45 60.6 45 26.6 0 45.8-5.7 61.9-25.5 0 6.6.3 13.3 1.1 20.2h29.8c-.7-8.2-1-17.5-1-26.8v-65.6c0-9.3-1.7-17.2-4.8-23.8l61.5 116.1-28.5 54.1h35.9L640 189.5zM243.7 313.8c-29.6 0-50.2-21.5-50.2-53.8 0-32.4 20.6-53.8 50.2-53.8 29.8 0 50.2 21.4 50.2 53.8 0 32.3-20.4 53.8-50.2 53.8zm200.9-47.3c0 30-17.9 48.4-51.6 48.4-25.1 0-35-13.4-35-25.8 0-19.1 18.1-24.4 47.2-25.3 13.1-.5 27.6-.6 39.4-.6zm-411.9 1.6h128.8v-8.5c0-51.7-33.1-75.4-78.4-75.4-56.8 0-83 30.8-83 77.6 0 42.5 25.3 74 82.5 74 31.4 0 68-11.7 74.4-46.1h-33.1c-12 35.8-87.7 36.7-91.2-21.6zm95-21.4H33.3c6.9-56.6 92.1-54.7 94.4 0z\"],\n \"amazon\": [448, 512, [], \"f270\", \"M257.2 162.7c-48.7 1.8-169.5 15.5-169.5 117.5 0 109.5 138.3 114 183.5 43.2 6.5 10.2 35.4 37.5 45.3 46.8l56.8-56S341 288.9 341 261.4V114.3C341 89 316.5 32 228.7 32 140.7 32 94 87 94 136.3l73.5 6.8c16.3-49.5 54.2-49.5 54.2-49.5 40.7-.1 35.5 29.8 35.5 69.1zm0 86.8c0 80-84.2 68-84.2 17.2 0-47.2 50.5-56.7 84.2-57.8v40.6zm136 163.5c-7.7 10-70 67-174.5 67S34.2 408.5 9.7 379c-6.8-7.7 1-11.3 5.5-8.3C88.5 415.2 203 488.5 387.7 401c7.5-3.7 13.3 2 5.5 12zm39.8 2.2c-6.5 15.8-16 26.8-21.2 31-5.5 4.5-9.5 2.7-6.5-3.8s19.3-46.5 12.7-55c-6.5-8.3-37-4.3-48-3.2-10.8 1-13 2-14-.3-2.3-5.7 21.7-15.5 37.5-17.5 15.7-1.8 41-.8 46 5.7 3.7 5.1 0 27.1-6.5 43.1z\"],\n \"unsplash\": [448, 512, [], \"e07c\", \"M448,230.17V480H0V230.17H141.13V355.09H306.87V230.17ZM306.87,32H141.13V156.91H306.87Z\"],\n \"yarn\": [496, 512, [], \"f7e3\", \"M393.9 345.2c-39 9.3-48.4 32.1-104 47.4 0 0-2.7 4-10.4 5.8-13.4 3.3-63.9 6-68.5 6.1-12.4.1-19.9-3.2-22-8.2-6.4-15.3 9.2-22 9.2-22-8.1-5-9-9.9-9.8-8.1-2.4 5.8-3.6 20.1-10.1 26.5-8.8 8.9-25.5 5.9-35.3.8-10.8-5.7.8-19.2.8-19.2s-5.8 3.4-10.5-3.6c-6-9.3-17.1-37.3 11.5-62-1.3-10.1-4.6-53.7 40.6-85.6 0 0-20.6-22.8-12.9-43.3 5-13.4 7-13.3 8.6-13.9 5.7-2.2 11.3-4.6 15.4-9.1 20.6-22.2 46.8-18 46.8-18s12.4-37.8 23.9-30.4c3.5 2.3 16.3 30.6 16.3 30.6s13.6-7.9 15.1-5c8.2 16 9.2 46.5 5.6 65.1-6.1 30.6-21.4 47.1-27.6 57.5-1.4 2.4 16.5 10 27.8 41.3 10.4 28.6 1.1 52.7 2.8 55.3.8 1.4 13.7.8 36.4-13.2 12.8-7.9 28.1-16.9 45.4-17 16.7-.5 17.6 19.2 4.9 22.2zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-79.3 75.2c-1.7-13.6-13.2-23-28-22.8-22 .3-40.5 11.7-52.8 19.2-4.8 3-8.9 5.2-12.4 6.8 3.1-44.5-22.5-73.1-28.7-79.4 7.8-11.3 18.4-27.8 23.4-53.2 4.3-21.7 3-55.5-6.9-74.5-1.6-3.1-7.4-11.2-21-7.4-9.7-20-13-22.1-15.6-23.8-1.1-.7-23.6-16.4-41.4 28-12.2.9-31.3 5.3-47.5 22.8-2 2.2-5.9 3.8-10.1 5.4h.1c-8.4 3-12.3 9.9-16.9 22.3-6.5 17.4.2 34.6 6.8 45.7-17.8 15.9-37 39.8-35.7 82.5-34 36-11.8 73-5.6 79.6-1.6 11.1 3.7 19.4 12 23.8 12.6 6.7 30.3 9.6 43.9 2.8 4.9 5.2 13.8 10.1 30 10.1 6.8 0 58-2.9 72.6-6.5 6.8-1.6 11.5-4.5 14.6-7.1 9.8-3.1 36.8-12.3 62.2-28.7 18-11.7 24.2-14.2 37.6-17.4 12.9-3.2 21-15.1 19.4-28.2z\"],\n \"square-steam\": [448, 512, [\"steam-square\"], \"f1b7\", \"M185.2 356.5c7.7-18.5-1-39.7-19.6-47.4l-29.5-12.2c11.4-4.3 24.3-4.5 36.4.5 12.2 5.1 21.6 14.6 26.7 26.7 5 12.2 5 25.6-.1 37.7-10.5 25.1-39.4 37-64.6 26.5-11.6-4.8-20.4-13.6-25.4-24.2l28.5 11.8c18.6 7.8 39.9-.9 47.6-19.4zM400 32H48C21.5 32 0 53.5 0 80v160.7l116.6 48.1c12-8.2 26.2-12.1 40.7-11.3l55.4-80.2v-1.1c0-48.2 39.3-87.5 87.6-87.5s87.6 39.3 87.6 87.5c0 49.2-40.9 88.7-89.6 87.5l-79 56.3c1.6 38.5-29.1 68.8-65.7 68.8-31.8 0-58.5-22.7-64.5-52.7L0 319.2V432c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-99.7 222.5c-32.2 0-58.4-26.1-58.4-58.3s26.2-58.3 58.4-58.3 58.4 26.2 58.4 58.3-26.2 58.3-58.4 58.3zm.1-14.6c24.2 0 43.9-19.6 43.9-43.8 0-24.2-19.6-43.8-43.9-43.8-24.2 0-43.9 19.6-43.9 43.8 0 24.2 19.7 43.8 43.9 43.8z\"],\n \"500px\": [448, 512, [], \"f26e\", \"M103.3 344.3c-6.5-14.2-6.9-18.3 7.4-23.1 25.6-8 8 9.2 43.2 49.2h.3v-93.9c1.2-50.2 44-92.2 97.7-92.2 53.9 0 97.7 43.5 97.7 96.8 0 63.4-60.8 113.2-128.5 93.3-10.5-4.2-2.1-31.7 8.5-28.6 53 0 89.4-10.1 89.4-64.4 0-61-77.1-89.6-116.9-44.6-23.5 26.4-17.6 42.1-17.6 157.6 50.7 31 118.3 22 160.4-20.1 24.8-24.8 38.5-58 38.5-93 0-35.2-13.8-68.2-38.8-93.3-24.8-24.8-57.8-38.5-93.3-38.5s-68.8 13.8-93.5 38.5c-.3.3-16 16.5-21.2 23.9l-.5.6c-3.3 4.7-6.3 9.1-20.1 6.1-6.9-1.7-14.3-5.8-14.3-11.8V20c0-5 3.9-10.5 10.5-10.5h241.3c8.3 0 8.3 11.6 8.3 15.1 0 3.9 0 15.1-8.3 15.1H130.3v132.9h.3c104.2-109.8 282.8-36 282.8 108.9 0 178.1-244.8 220.3-310.1 62.8zm63.3-260.8c-.5 4.2 4.6 24.5 14.6 20.6C306 56.6 384 144.5 390.6 144.5c4.8 0 22.8-15.3 14.3-22.8-93.2-89-234.5-57-238.3-38.2zM393 414.7C283 524.6 94 475.5 61 310.5c0-12.2-30.4-7.4-28.9 3.3 24 173.4 246 256.9 381.6 121.3 6.9-7.8-12.6-28.4-20.7-20.4zM213.6 306.6c0 4 4.3 7.3 5.5 8.5 3 3 6.1 4.4 8.5 4.4 3.8 0 2.6.2 22.3-19.5 19.6 19.3 19.1 19.5 22.3 19.5 5.4 0 18.5-10.4 10.7-18.2L265.6 284l18.2-18.2c6.3-6.8-10.1-21.8-16.2-15.7L249.7 268c-18.6-18.8-18.4-19.5-21.5-19.5-5 0-18 11.7-12.4 17.3L234 284c-18.1 17.9-20.4 19.2-20.4 22.6z\"],\n \"square-vimeo\": [448, 512, [\"vimeo-square\"], \"f194\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16.2 149.6c-1.4 31.1-23.2 73.8-65.3 127.9-43.5 56.5-80.3 84.8-110.4 84.8-18.7 0-34.4-17.2-47.3-51.6-25.2-92.3-35.9-146.4-56.7-146.4-2.4 0-10.8 5-25.1 15.1L64 192c36.9-32.4 72.1-68.4 94.1-70.4 24.9-2.4 40.2 14.6 46 51.1 20.5 129.6 29.6 149.2 66.8 90.5 13.4-21.2 20.6-37.2 21.5-48.3 3.4-32.8-25.6-30.6-45.2-22.2 15.7-51.5 45.8-76.5 90.1-75.1 32.9 1 48.4 22.4 46.5 64z\"],\n \"asymmetrik\": [576, 512, [], \"f372\", \"M517.5 309.2c38.8-40 58.1-80 58.5-116.1.8-65.5-59.4-118.2-169.4-135C277.9 38.4 118.1 73.6 0 140.5 52 114 110.6 92.3 170.7 82.3c74.5-20.5 153-25.4 221.3-14.8C544.5 91.3 588.8 195 490.8 299.2c-10.2 10.8-22 21.1-35 30.6L304.9 103.4 114.7 388.9c-65.6-29.4-76.5-90.2-19.1-151.2 20.8-22.2 48.3-41.9 79.5-58.1 20-12.2 39.7-22.6 62-30.7-65.1 20.3-122.7 52.9-161.6 92.9-27.7 28.6-41.4 57.1-41.7 82.9-.5 35.1 23.4 65.1 68.4 83l-34.5 51.7h101.6l22-34.4c22.2 1 45.3 0 68.6-2.7l-22.8 37.1h135.5L340 406.3c18.6-5.3 36.9-11.5 54.5-18.7l45.9 71.8H542L468.6 349c18.5-12.1 35-25.5 48.9-39.8zm-187.6 80.5l-25-40.6-32.7 53.3c-23.4 3.5-46.7 5.1-69.2 4.4l101.9-159.3 78.7 123c-17.2 7.4-35.3 13.9-53.7 19.2z\"],\n \"font-awesome\": [448, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", \"M448 48V384C385 407 366 416 329 416C266 416 242 384 179 384C159 384 143 388 128 392V328C143 324 159 320 179 320C242 320 266 352 329 352C349 352 364 349 384 343V135C364 141 349 144 329 144C266 144 242 112 179 112C128 112 104 133 64 141V448C64 466 50 480 32 480S0 466 0 448V64C0 46 14 32 32 32S64 46 64 64V77C104 69 128 48 179 48C242 48 266 80 329 80C366 80 385 71 448 48Z\"],\n \"gratipay\": [496, 512, [], \"f184\", \"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm114.6 226.4l-113 152.7-112.7-152.7c-8.7-11.9-19.1-50.4 13.6-72 28.1-18.1 54.6-4.2 68.5 11.9 15.9 17.9 46.6 16.9 61.7 0 13.9-16.1 40.4-30 68.1-11.9 32.9 21.6 22.6 60 13.8 72z\"],\n \"apple\": [384, 512, [], \"f179\", \"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z\"],\n \"hive\": [512, 512, [], \"e07f\", \"M260.353,254.878,131.538,33.1a2.208,2.208,0,0,0-3.829.009L.3,254.887A2.234,2.234,0,0,0,.3,257.122L129.116,478.9a2.208,2.208,0,0,0,3.83-.009L260.358,257.113A2.239,2.239,0,0,0,260.353,254.878Zm39.078-25.713a2.19,2.19,0,0,0,1.9,1.111h66.509a2.226,2.226,0,0,0,1.9-3.341L259.115,33.111a2.187,2.187,0,0,0-1.9-1.111H190.707a2.226,2.226,0,0,0-1.9,3.341ZM511.7,254.886,384.9,33.112A2.2,2.2,0,0,0,382.99,32h-66.6a2.226,2.226,0,0,0-1.906,3.34L440.652,256,314.481,476.66a2.226,2.226,0,0,0,1.906,3.34h66.6a2.2,2.2,0,0,0,1.906-1.112L511.7,257.114A2.243,2.243,0,0,0,511.7,254.886ZM366.016,284.917H299.508a2.187,2.187,0,0,0-1.9,1.111l-108.8,190.631a2.226,2.226,0,0,0,1.9,3.341h66.509a2.187,2.187,0,0,0,1.9-1.111l108.8-190.631A2.226,2.226,0,0,0,366.016,284.917Z\"],\n \"gitkraken\": [592, 512, [], \"f3a6\", \"M565.7 118.1c-2.3-6.1-9.3-9.2-15.3-6.6-5.7 2.4-8.5 8.9-6.3 14.6 10.9 29 16.9 60.5 16.9 93.3 0 134.6-100.3 245.7-230.2 262.7V358.4c7.9-1.5 15.5-3.6 23-6.2v104c106.7-25.9 185.9-122.1 185.9-236.8 0-91.8-50.8-171.8-125.8-213.3-5.7-3.2-13-.9-15.9 5-2.7 5.5-.6 12.2 4.7 15.1 67.9 37.6 113.9 110 113.9 193.2 0 93.3-57.9 173.1-139.8 205.4v-92.2c14.2-4.5 24.9-17.7 24.9-33.5 0-13.1-6.8-24.4-17.3-30.5 8.3-79.5 44.5-58.6 44.5-83.9V170c0-38-87.9-161.8-129-164.7-2.5-.2-5-.2-7.6 0C251.1 8.3 163.2 132 163.2 170v14.8c0 25.3 36.3 4.3 44.5 83.9-10.6 6.1-17.3 17.4-17.3 30.5 0 15.8 10.6 29 24.8 33.5v92.2c-81.9-32.2-139.8-112-139.8-205.4 0-83.1 46-155.5 113.9-193.2 5.4-3 7.4-9.6 4.7-15.1-2.9-5.9-10.1-8.2-15.9-5-75 41.5-125.8 121.5-125.8 213.3 0 114.7 79.2 210.8 185.9 236.8v-104c7.6 2.5 15.1 4.6 23 6.2v123.7C131.4 465.2 31 354.1 31 219.5c0-32.8 6-64.3 16.9-93.3 2.2-5.8-.6-12.2-6.3-14.6-6-2.6-13 .4-15.3 6.6C14.5 149.7 8 183.8 8 219.5c0 155.1 122.6 281.6 276.3 287.8V361.4c6.8.4 15 .5 23.4 0v145.8C461.4 501.1 584 374.6 584 219.5c0-35.7-6.5-69.8-18.3-101.4zM365.9 275.5c13 0 23.7 10.5 23.7 23.7 0 13.1-10.6 23.7-23.7 23.7-13 0-23.7-10.5-23.7-23.7 0-13.1 10.6-23.7 23.7-23.7zm-139.8 47.3c-13.2 0-23.7-10.7-23.7-23.7s10.5-23.7 23.7-23.7c13.1 0 23.7 10.6 23.7 23.7 0 13-10.5 23.7-23.7 23.7z\"],\n \"keybase\": [448, 512, [], \"f4f5\", \"M286.17 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18zm111.92-147.6c-9.5-14.62-39.37-52.45-87.26-73.71q-9.1-4.06-18.38-7.27a78.43 78.43 0 0 0-47.88-104.13c-12.41-4.1-23.33-6-32.41-5.77-.6-2-1.89-11 9.4-35L198.66 32l-5.48 7.56c-8.69 12.06-16.92 23.55-24.34 34.89a51 51 0 0 0-8.29-1.25c-41.53-2.45-39-2.33-41.06-2.33-50.61 0-50.75 52.12-50.75 45.88l-2.36 36.68c-1.61 27 19.75 50.21 47.63 51.85l8.93.54a214 214 0 0 0-46.29 35.54C14 304.66 14 374 14 429.77v33.64l23.32-29.8a148.6 148.6 0 0 0 14.56 37.56c5.78 10.13 14.87 9.45 19.64 7.33 4.21-1.87 10-6.92 3.75-20.11a178.29 178.29 0 0 1-15.76-53.13l46.82-59.83-24.66 74.11c58.23-42.4 157.38-61.76 236.25-38.59 34.2 10.05 67.45.69 84.74-23.84.72-1 1.2-2.16 1.85-3.22a156.09 156.09 0 0 1 2.8 28.43c0 23.3-3.69 52.93-14.88 81.64-2.52 6.46 1.76 14.5 8.6 15.74 7.42 1.57 15.33-3.1 18.37-11.15C429 443 434 414 434 382.32c0-38.58-13-77.46-35.91-110.92zM142.37 128.58l-15.7-.93-1.39 21.79 13.13.78a93 93 0 0 0 .32 19.57l-22.38-1.34a12.28 12.28 0 0 1-11.76-12.79L107 119c1-12.17 13.87-11.27 13.26-11.32l29.11 1.73a144.35 144.35 0 0 0-7 19.17zm148.42 172.18a10.51 10.51 0 0 1-14.35-1.39l-9.68-11.49-34.42 27a8.09 8.09 0 0 1-11.13-1.08l-15.78-18.64a7.38 7.38 0 0 1 1.34-10.34l34.57-27.18-14.14-16.74-17.09 13.45a7.75 7.75 0 0 1-10.59-1s-3.72-4.42-3.8-4.53a7.38 7.38 0 0 1 1.37-10.34L214 225.19s-18.51-22-18.6-22.14a9.56 9.56 0 0 1 1.74-13.42 10.38 10.38 0 0 1 14.3 1.37l81.09 96.32a9.58 9.58 0 0 1-1.74 13.44zM187.44 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18z\"],\n \"apple-pay\": [640, 512, [], \"f415\", \"M116.9 158.5c-7.5 8.9-19.5 15.9-31.5 14.9-1.5-12 4.4-24.8 11.3-32.6 7.5-9.1 20.6-15.6 31.3-16.1 1.2 12.4-3.7 24.7-11.1 33.8m10.9 17.2c-17.4-1-32.3 9.9-40.5 9.9-8.4 0-21-9.4-34.8-9.1-17.9.3-34.5 10.4-43.6 26.5-18.8 32.3-4.9 80 13.3 106.3 8.9 13 19.5 27.3 33.5 26.8 13.3-.5 18.5-8.6 34.5-8.6 16.1 0 20.8 8.6 34.8 8.4 14.5-.3 23.6-13 32.5-26 10.1-14.8 14.3-29.1 14.5-29.9-.3-.3-28-10.9-28.3-42.9-.3-26.8 21.9-39.5 22.9-40.3-12.5-18.6-32-20.6-38.8-21.1m100.4-36.2v194.9h30.3v-66.6h41.9c38.3 0 65.1-26.3 65.1-64.3s-26.4-64-64.1-64h-73.2zm30.3 25.5h34.9c26.3 0 41.3 14 41.3 38.6s-15 38.8-41.4 38.8h-34.8V165zm162.2 170.9c19 0 36.6-9.6 44.6-24.9h.6v23.4h28v-97c0-28.1-22.5-46.3-57.1-46.3-32.1 0-55.9 18.4-56.8 43.6h27.3c2.3-12 13.4-19.9 28.6-19.9 18.5 0 28.9 8.6 28.9 24.5v10.8l-37.8 2.3c-35.1 2.1-54.1 16.5-54.1 41.5.1 25.2 19.7 42 47.8 42zm8.2-23.1c-16.1 0-26.4-7.8-26.4-19.6 0-12.3 9.9-19.4 28.8-20.5l33.6-2.1v11c0 18.2-15.5 31.2-36 31.2zm102.5 74.6c29.5 0 43.4-11.3 55.5-45.4L640 193h-30.8l-35.6 115.1h-.6L537.4 193h-31.6L557 334.9l-2.8 8.6c-4.6 14.6-12.1 20.3-25.5 20.3-2.4 0-7-.3-8.9-.5v23.4c1.8.4 9.3.7 11.6.7z\"],\n \"padlet\": [640, 512, [], \"e4a0\", \"M297.9 0L298 .001C305.6 .1078 312.4 4.72 315.5 11.78L447.5 320.3L447.8 320.2L448 320.6L445.2 330.6L402.3 488.6C398.6 504.8 382.6 514.9 366.5 511.2L298.1 495.6L229.6 511.2C213.5 514.9 197.5 504.8 193.8 488.6L150.9 330.6L148.2 320.6L148.3 320.2L280.4 11.78C283.4 4.797 290.3 .1837 297.9 .0006L297.9 0zM160.1 322.1L291.1 361.2L298 483.7L305.9 362.2L436.5 322.9L436.7 322.8L305.7 347.9L297.1 27.72L291.9 347.9L160.1 322.1zM426 222.6L520.4 181.6H594.2L437.2 429.2L468.8 320.2L426 222.6zM597.5 181.4L638.9 257.6C642.9 265.1 635 273.5 627.3 269.8L579.7 247.1L597.5 181.4zM127.3 318.5L158.7 430L1.61 154.5C-4.292 144.1 7.128 132.5 17.55 138.3L169.4 222.5L127.3 318.5z\"],\n \"amazon-pay\": [640, 512, [], \"f42c\", \"M14 325.3c2.3-4.2 5.2-4.9 9.7-2.5 10.4 5.6 20.6 11.4 31.2 16.7a595.88 595.88 0 0 0 127.4 46.3 616.61 616.61 0 0 0 63.2 11.8 603.33 603.33 0 0 0 95 5.2c17.4-.4 34.8-1.8 52.1-3.8a603.66 603.66 0 0 0 163.3-42.8c2.9-1.2 5.9-2 9.1-1.2 6.7 1.8 9 9 4.1 13.9a70 70 0 0 1-9.6 7.4c-30.7 21.1-64.2 36.4-99.6 47.9a473.31 473.31 0 0 1-75.1 17.6 431 431 0 0 1-53.2 4.8 21.3 21.3 0 0 0-2.5.3H308a21.3 21.3 0 0 0-2.5-.3c-3.6-.2-7.2-.3-10.7-.4a426.3 426.3 0 0 1-50.4-5.3A448.4 448.4 0 0 1 164 420a443.33 443.33 0 0 1-145.6-87c-1.8-1.6-3-3.8-4.4-5.7zM172 65.1l-4.3.6a80.92 80.92 0 0 0-38 15.1c-2.4 1.7-4.6 3.5-7.1 5.4a4.29 4.29 0 0 1-.4-1.4c-.4-2.7-.8-5.5-1.3-8.2-.7-4.6-3-6.6-7.6-6.6h-11.5c-6.9 0-8.2 1.3-8.2 8.2v209.3c0 1 0 2 .1 3 .2 3 2 4.9 4.9 5 7 .1 14.1.1 21.1 0 2.9 0 4.7-2 5-5 .1-1 .1-2 .1-3v-72.4c1.1.9 1.7 1.4 2.2 1.9 17.9 14.9 38.5 19.8 61 15.4 20.4-4 34.6-16.5 43.8-34.9 7-13.9 9.9-28.7 10.3-44.1.5-17.1-1.2-33.9-8.1-49.8-8.5-19.6-22.6-32.5-43.9-36.9-3.2-.7-6.5-1-9.8-1.5-2.8-.1-5.5-.1-8.3-.1zM124.6 107a3.48 3.48 0 0 1 1.7-3.3c13.7-9.5 28.8-14.5 45.6-13.2 14.9 1.1 27.1 8.4 33.5 25.9 3.9 10.7 4.9 21.8 4.9 33 0 10.4-.8 20.6-4 30.6-6.8 21.3-22.4 29.4-42.6 28.5-14-.6-26.2-6-37.4-13.9a3.57 3.57 0 0 1-1.7-3.3c.1-14.1 0-28.1 0-42.2s.1-28 0-42.1zm205.7-41.9c-1 .1-2 .3-2.9.4a148 148 0 0 0-28.9 4.1c-6.1 1.6-12 3.8-17.9 5.8-3.6 1.2-5.4 3.8-5.3 7.7.1 3.3-.1 6.6 0 9.9.1 4.8 2.1 6.1 6.8 4.9 7.8-2 15.6-4.2 23.5-5.7 12.3-2.3 24.7-3.3 37.2-1.4 6.5 1 12.6 2.9 16.8 8.4 3.7 4.8 5.1 10.5 5.3 16.4.3 8.3.2 16.6.3 24.9a7.84 7.84 0 0 1-.2 1.4c-.5-.1-.9 0-1.3-.1a180.56 180.56 0 0 0-32-4.9c-11.3-.6-22.5.1-33.3 3.9-12.9 4.5-23.3 12.3-29.4 24.9-4.7 9.8-5.4 20.2-3.9 30.7 2 14 9 24.8 21.4 31.7 11.9 6.6 24.8 7.4 37.9 5.4 15.1-2.3 28.5-8.7 40.3-18.4a7.36 7.36 0 0 1 1.6-1.1c.6 3.8 1.1 7.4 1.8 11 .6 3.1 2.5 5.1 5.4 5.2 5.4.1 10.9.1 16.3 0a4.84 4.84 0 0 0 4.8-4.7 26.2 26.2 0 0 0 .1-2.8v-106a80 80 0 0 0-.9-12.9c-1.9-12.9-7.4-23.5-19-30.4-6.7-4-14.1-6-21.8-7.1-3.6-.5-7.2-.8-10.8-1.3-3.9.1-7.9.1-11.9.1zm35 127.7a3.33 3.33 0 0 1-1.5 3c-11.2 8.1-23.5 13.5-37.4 14.9-5.7.6-11.4.4-16.8-1.8a20.08 20.08 0 0 1-12.4-13.3 32.9 32.9 0 0 1-.1-19.4c2.5-8.3 8.4-13 16.4-15.6a61.33 61.33 0 0 1 24.8-2.2c8.4.7 16.6 2.3 25 3.4 1.6.2 2.1 1 2.1 2.6-.1 4.8 0 9.5 0 14.3s-.2 9.4-.1 14.1zm259.9 129.4c-1-5-4.8-6.9-9.1-8.3a88.42 88.42 0 0 0-21-3.9 147.32 147.32 0 0 0-39.2 1.9c-14.3 2.7-27.9 7.3-40 15.6a13.75 13.75 0 0 0-3.7 3.5 5.11 5.11 0 0 0-.5 4c.4 1.5 2.1 1.9 3.6 1.8a16.2 16.2 0 0 0 2.2-.1c7.8-.8 15.5-1.7 23.3-2.5 11.4-1.1 22.9-1.8 34.3-.9a71.64 71.64 0 0 1 14.4 2.7c5.1 1.4 7.4 5.2 7.6 10.4.4 8-1.4 15.7-3.5 23.3-4.1 15.4-10 30.3-15.8 45.1a17.6 17.6 0 0 0-1 3c-.5 2.9 1.2 4.8 4.1 4.1a10.56 10.56 0 0 0 4.8-2.5 145.91 145.91 0 0 0 12.7-13.4c12.8-16.4 20.3-35.3 24.7-55.6.8-3.6 1.4-7.3 2.1-10.9v-17.3zM493.1 199q-19.35-53.55-38.7-107.2c-2-5.7-4.2-11.3-6.3-16.9-1.1-2.9-3.2-4.8-6.4-4.8-7.6-.1-15.2-.2-22.9-.1-2.5 0-3.7 2-3.2 4.5a43.1 43.1 0 0 0 1.9 6.1q29.4 72.75 59.1 145.5c1.7 4.1 2.1 7.6.2 11.8-3.3 7.3-5.9 15-9.3 22.3-3 6.5-8 11.4-15.2 13.3a42.13 42.13 0 0 1-15.4 1.1c-2.5-.2-5-.8-7.5-1-3.4-.2-5.1 1.3-5.2 4.8q-.15 5 0 9.9c.1 5.5 2 8 7.4 8.9a108.18 108.18 0 0 0 16.9 2c17.1.4 30.7-6.5 39.5-21.4a131.63 131.63 0 0 0 9.2-18.4q35.55-89.7 70.6-179.6a26.62 26.62 0 0 0 1.6-5.5c.4-2.8-.9-4.4-3.7-4.4-6.6-.1-13.3 0-19.9 0a7.54 7.54 0 0 0-7.7 5.2c-.5 1.4-1.1 2.7-1.6 4.1l-34.8 100c-2.5 7.2-5.1 14.5-7.7 22.2-.4-1.1-.6-1.7-.9-2.4z\"],\n \"square-github\": [448, 512, [\"github-square\"], \"f092\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM277.3 415.7c-8.4 1.5-11.5-3.7-11.5-8 0-5.4.2-33 .2-55.3 0-15.6-5.2-25.5-11.3-30.7 37-4.1 76-9.2 76-73.1 0-18.2-6.5-27.3-17.1-39 1.7-4.3 7.4-22-1.7-45-13.9-4.3-45.7 17.9-45.7 17.9-13.2-3.7-27.5-5.6-41.6-5.6-14.1 0-28.4 1.9-41.6 5.6 0 0-31.8-22.2-45.7-17.9-9.1 22.9-3.5 40.6-1.7 45-10.6 11.7-15.6 20.8-15.6 39 0 63.6 37.3 69 74.3 73.1-4.8 4.3-9.1 11.7-10.6 22.3-9.5 4.3-33.8 11.7-48.3-13.9-9.1-15.8-25.5-17.1-25.5-17.1-16.2-.2-1.1 10.2-1.1 10.2 10.8 5 18.4 24.2 18.4 24.2 9.7 29.7 56.1 19.7 56.1 19.7 0 13.9.2 36.5.2 40.6 0 4.3-3 9.5-11.5 8-66-22.1-112.2-84.9-112.2-158.3 0-91.8 70.2-161.5 162-161.5S388 165.6 388 257.4c.1 73.4-44.7 136.3-110.7 158.3zm-98.1-61.1c-1.9.4-3.7-.4-3.9-1.7-.2-1.5 1.1-2.8 3-3.2 1.9-.2 3.7.6 3.9 1.9.3 1.3-1 2.6-3 3zm-9.5-.9c0 1.3-1.5 2.4-3.5 2.4-2.2.2-3.7-.9-3.7-2.4 0-1.3 1.5-2.4 3.5-2.4 1.9-.2 3.7.9 3.7 2.4zm-13.7-1.1c-.4 1.3-2.4 1.9-4.1 1.3-1.9-.4-3.2-1.9-2.8-3.2.4-1.3 2.4-1.9 4.1-1.5 2 .6 3.3 2.1 2.8 3.4zm-12.3-5.4c-.9 1.1-2.8.9-4.3-.6-1.5-1.3-1.9-3.2-.9-4.1.9-1.1 2.8-.9 4.3.6 1.3 1.3 1.8 3.3.9 4.1zm-9.1-9.1c-.9.6-2.6 0-3.7-1.5s-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3 1.1 1.5 1.1 3.3 0 4.1zm-6.5-9.7c-.9.9-2.4.4-3.5-.6-1.1-1.3-1.3-2.8-.4-3.5.9-.9 2.4-.4 3.5.6 1.1 1.3 1.3 2.8.4 3.5zm-6.7-7.4c-.4.9-1.7 1.1-2.8.4-1.3-.6-1.9-1.7-1.5-2.6.4-.6 1.5-.9 2.8-.4 1.3.7 1.9 1.8 1.5 2.6z\"],\n \"stumbleupon\": [512, 512, [], \"f1a4\", \"M502.9 266v69.7c0 62.1-50.3 112.4-112.4 112.4-61.8 0-112.4-49.8-112.4-111.3v-70.2l34.3 16 51.1-15.2V338c0 14.7 12 26.5 26.7 26.5S417 352.7 417 338v-72h85.9zm-224.7-58.2l34.3 16 51.1-15.2V173c0-60.5-51.1-109-112.1-109-60.8 0-112.1 48.2-112.1 108.2v162.4c0 14.9-12 26.7-26.7 26.7S86 349.5 86 334.6V266H0v69.7C0 397.7 50.3 448 112.4 448c61.6 0 112.4-49.5 112.4-110.8V176.9c0-14.7 12-26.7 26.7-26.7s26.7 12 26.7 26.7v30.9z\"],\n \"fedex\": [640, 512, [], \"f797\", \"M586 284.5l53.3-59.9h-62.4l-21.7 24.8-22.5-24.8H414v-16h56.1v-48.1H318.9V236h-.5c-9.6-11-21.5-14.8-35.4-14.8-28.4 0-49.8 19.4-57.3 44.9-18-59.4-97.4-57.6-121.9-14v-24.2H49v-26.2h60v-41.1H0V345h49v-77.5h48.9c-1.5 5.7-2.3 11.8-2.3 18.2 0 73.1 102.6 91.4 130.2 23.7h-42c-14.7 20.9-45.8 8.9-45.8-14.6h85.5c3.7 30.5 27.4 56.9 60.1 56.9 14.1 0 27-6.9 34.9-18.6h.5V345h212.2l22.1-25 22.3 25H640l-54-60.5zm-446.7-16.6c6.1-26.3 41.7-25.6 46.5 0h-46.5zm153.4 48.9c-34.6 0-34-62.8 0-62.8 32.6 0 34.5 62.8 0 62.8zm167.8 19.1h-94.4V169.4h95v30.2H405v33.9h55.5v28.1h-56.1v44.7h56.1v29.6zm-45.9-39.8v-24.4h56.1v-44l50.7 57-50.7 57v-45.6h-56.1zm138.6 10.3l-26.1 29.5H489l45.6-51.2-45.6-51.2h39.7l26.6 29.3 25.6-29.3h38.5l-45.4 51 46 51.4h-40.5l-26.3-29.5z\"],\n \"phoenix-framework\": [640, 512, [], \"f3dc\", \"M212.9 344.3c3.8-.1 22.8-1.4 25.6-2.2-2.4-2.6-43.6-1-68-49.6-4.3-8.6-7.5-17.6-6.4-27.6 2.9-25.5 32.9-30 52-18.5 36 21.6 63.3 91.3 113.7 97.5 37 4.5 84.6-17 108.2-45.4-.6-.1-.8-.2-1-.1-.4.1-.8.2-1.1.3-33.3 12.1-94.3 9.7-134.7-14.8-37.6-22.8-53.1-58.7-51.8-74.6 1.8-21.3 22.9-23.2 35.9-19.6 14.4 3.9 24.4 17.6 38.9 27.4 15.6 10.4 32.9 13.7 51.3 10.3 14.9-2.7 34.4-12.3 36.5-14.5-1.1-.1-1.8-.1-2.5-.2-6.2-.6-12.4-.8-18.5-1.7C279.8 194.5 262.1 47.4 138.5 37.9 94.2 34.5 39.1 46 2.2 72.9c-.8.6-1.5 1.2-2.2 1.8.1.2.1.3.2.5.8 0 1.6-.1 2.4-.2 6.3-1 12.5-.8 18.7.3 23.8 4.3 47.7 23.1 55.9 76.5 5.3 34.3-.7 50.8 8 86.1 19 77.1 91 107.6 127.7 106.4zM75.3 64.9c-.9-1-.9-1.2-1.3-2 12.1-2.6 24.2-4.1 36.6-4.8-1.1 14.7-22.2 21.3-35.3 6.8zm196.9 350.5c-42.8 1.2-92-26.7-123.5-61.4-4.6-5-16.8-20.2-18.6-23.4l.4-.4c6.6 4.1 25.7 18.6 54.8 27 24.2 7 48.1 6.3 71.6-3.3 22.7-9.3 41-.5 43.1 2.9-18.5 3.8-20.1 4.4-24 7.9-5.1 4.4-4.6 11.7 7 17.2 26.2 12.4 63-2.8 97.2 25.4 2.4 2 8.1 7.8 10.1 10.7-.1.2-.3.3-.4.5-4.8-1.5-16.4-7.5-40.2-9.3-24.7-2-46.3 5.3-77.5 6.2zm174.8-252c16.4-5.2 41.3-13.4 66.5-3.3 16.1 6.5 26.2 18.7 32.1 34.6 3.5 9.4 5.1 19.7 5.1 28.7-.2 0-.4 0-.6.1-.2-.4-.4-.9-.5-1.3-5-22-29.9-43.8-67.6-29.9-50.2 18.6-130.4 9.7-176.9-48-.7-.9-2.4-1.7-1.3-3.2.1-.2 2.1.6 3 1.3 18.1 13.4 38.3 21.9 60.3 26.2 30.5 6.1 54.6 2.9 79.9-5.2zm102.7 117.5c-32.4.2-33.8 50.1-103.6 64.4-18.2 3.7-38.7 4.6-44.9 4.2v-.4c2.8-1.5 14.7-2.6 29.7-16.6 7.9-7.3 15.3-15.1 22.8-22.9 19.5-20.2 41.4-42.2 81.9-39 23.1 1.8 29.3 8.2 36.1 12.7.3.2.4.5.7.9-.5 0-.7.1-.9 0-7-2.7-14.3-3.3-21.8-3.3zm-12.3-24.1c-.1.2-.1.4-.2.6-28.9-4.4-48-7.9-68.5 4-17 9.9-31.4 20.5-62 24.4-27.1 3.4-45.1 2.4-66.1-8-.3-.2-.6-.4-1-.6 0-.2.1-.3.1-.5 24.9 3.8 36.4 5.1 55.5-5.8 22.3-12.9 40.1-26.6 71.3-31 29.6-4.1 51.3 2.5 70.9 16.9zM268.6 97.3c-.6-.6-1.1-1.2-2.1-2.3 7.6 0 29.7-1.2 53.4 8.4 19.7 8 32.2 21 50.2 32.9 11.1 7.3 23.4 9.3 36.4 8.1 4.3-.4 8.5-1.2 12.8-1.7.4-.1.9 0 1.5.3-.6.4-1.2.9-1.8 1.2-8.1 4-16.7 6.3-25.6 7.1-26.1 2.6-50.3-3.7-73.4-15.4-19.3-9.9-36.4-22.9-51.4-38.6zM640 335.7c-3.5 3.1-22.7 11.6-42.7 5.3-12.3-3.9-19.5-14.9-31.6-24.1-10-7.6-20.9-7.9-28.1-8.4.6-.8.9-1.2 1.2-1.4 14.8-9.2 30.5-12.2 47.3-6.5 12.5 4.2 19.2 13.5 30.4 24.2 10.8 10.4 21 9.9 23.1 10.5.1-.1.2 0 .4.4zm-212.5 137c2.2 1.2 1.6 1.5 1.5 2-18.5-1.4-33.9-7.6-46.8-22.2-21.8-24.7-41.7-27.9-48.6-29.7.5-.2.8-.4 1.1-.4 13.1.1 26.1.7 38.9 3.9 25.3 6.4 35 25.4 41.6 35.3 3.2 4.8 7.3 8.3 12.3 11.1z\"],\n \"shopify\": [448, 512, [], \"e057\", \"M388.32,104.1a4.66,4.66,0,0,0-4.4-4c-2,0-37.23-.8-37.23-.8s-21.61-20.82-29.62-28.83V503.2L442.76,472S388.72,106.5,388.32,104.1ZM288.65,70.47a116.67,116.67,0,0,0-7.21-17.61C271,32.85,255.42,22,237,22a15,15,0,0,0-4,.4c-.4-.8-1.2-1.2-1.6-2C223.4,11.63,213,7.63,200.58,8c-24,.8-48,18-67.25,48.83-13.61,21.62-24,48.84-26.82,70.06-27.62,8.4-46.83,14.41-47.23,14.81-14,4.4-14.41,4.8-16,18-1.2,10-38,291.82-38,291.82L307.86,504V65.67a41.66,41.66,0,0,0-4.4.4S297.86,67.67,288.65,70.47ZM233.41,87.69c-16,4.8-33.63,10.4-50.84,15.61,4.8-18.82,14.41-37.63,25.62-50,4.4-4.4,10.41-9.61,17.21-12.81C232.21,54.86,233.81,74.48,233.41,87.69ZM200.58,24.44A27.49,27.49,0,0,1,215,28c-6.4,3.2-12.81,8.41-18.81,14.41-15.21,16.42-26.82,42-31.62,66.45-14.42,4.41-28.83,8.81-42,12.81C131.33,83.28,163.75,25.24,200.58,24.44ZM154.15,244.61c1.6,25.61,69.25,31.22,73.25,91.66,2.8,47.64-25.22,80.06-65.65,82.47-48.83,3.2-75.65-25.62-75.65-25.62l10.4-44s26.82,20.42,48.44,18.82c14-.8,19.22-12.41,18.81-20.42-2-33.62-57.24-31.62-60.84-86.86-3.2-46.44,27.22-93.27,94.47-97.68,26-1.6,39.23,4.81,39.23,4.81L221.4,225.39s-17.21-8-37.63-6.4C154.15,221,153.75,239.8,154.15,244.61ZM249.42,82.88c0-12-1.6-29.22-7.21-43.63,18.42,3.6,27.22,24,31.23,36.43Q262.63,78.68,249.42,82.88Z\"],\n \"neos\": [512, 512, [], \"f612\", \"M415.44 512h-95.11L212.12 357.46v91.1L125.69 512H28V29.82L68.47 0h108.05l123.74 176.13V63.45L386.69 0h97.69v461.5zM38.77 35.27V496l72-52.88V194l215.5 307.64h84.79l52.35-38.17h-78.27L69 13zm82.54 466.61l80-58.78v-101l-79.76-114.4v220.94L49 501.89h72.34zM80.63 10.77l310.6 442.57h82.37V10.77h-79.75v317.56L170.91 10.77zM311 191.65l72 102.81V15.93l-72 53v122.72z\"],\n \"hackerrank\": [512, 512, [], \"f5f7\", \"M477.5 128C463 103.05 285.13 0 256.16 0S49.25 102.79 34.84 128s-14.49 230.8 0 256 192.38 128 221.32 128S463 409.08 477.49 384s14.51-231 .01-256zM316.13 414.22c-4 0-40.91-35.77-38-38.69.87-.87 6.26-1.48 17.55-1.83 0-26.23.59-68.59.94-86.32 0-2-.44-3.43-.44-5.85h-79.93c0 7.1-.46 36.2 1.37 72.88.23 4.54-1.58 6-5.74 5.94-10.13 0-20.27-.11-30.41-.08-4.1 0-5.87-1.53-5.74-6.11.92-33.44 3-84-.15-212.67v-3.17c-9.67-.35-16.38-1-17.26-1.84-2.92-2.92 34.54-38.69 38.49-38.69s41.17 35.78 38.27 38.69c-.87.87-7.9 1.49-16.77 1.84v3.16c-2.42 25.75-2 79.59-2.63 105.39h80.26c0-4.55.39-34.74-1.2-83.64-.1-3.39.95-5.17 4.21-5.2 11.07-.08 22.15-.13 33.23-.06 3.46 0 4.57 1.72 4.5 5.38C333 354.64 336 341.29 336 373.69c8.87.35 16.82 1 17.69 1.84 2.88 2.91-33.62 38.69-37.58 38.69z\"],\n \"researchgate\": [448, 512, [], \"f4f8\", \"M0 32v448h448V32H0zm262.2 334.4c-6.6 3-33.2 6-50-14.2-9.2-10.6-25.3-33.3-42.2-63.6-8.9 0-14.7 0-21.4-.6v46.4c0 23.5 6 21.2 25.8 23.9v8.1c-6.9-.3-23.1-.8-35.6-.8-13.1 0-26.1.6-33.6.8v-8.1c15.5-2.9 22-1.3 22-23.9V225c0-22.6-6.4-21-22-23.9V193c25.8 1 53.1-.6 70.9-.6 31.7 0 55.9 14.4 55.9 45.6 0 21.1-16.7 42.2-39.2 47.5 13.6 24.2 30 45.6 42.2 58.9 7.2 7.8 17.2 14.7 27.2 14.7v7.3zm22.9-135c-23.3 0-32.2-15.7-32.2-32.2V167c0-12.2 8.8-30.4 34-30.4s30.4 17.9 30.4 17.9l-10.7 7.2s-5.5-12.5-19.7-12.5c-7.9 0-19.7 7.3-19.7 19.7v26.8c0 13.4 6.6 23.3 17.9 23.3 14.1 0 21.5-10.9 21.5-26.8h-17.9v-10.7h30.4c0 20.5 4.7 49.9-34 49.9zm-116.5 44.7c-9.4 0-13.6-.3-20-.8v-69.7c6.4-.6 15-.6 22.5-.6 23.3 0 37.2 12.2 37.2 34.5 0 21.9-15 36.6-39.7 36.6z\"],\n \"swift\": [448, 512, [], \"f8e1\", \"M448 156.09c0-4.51-.08-9-.2-13.52a196.31 196.31 0 0 0-2.58-29.42 99.62 99.62 0 0 0-9.22-28A94.08 94.08 0 0 0 394.84 44a99.17 99.17 0 0 0-28-9.22 195 195 0 0 0-29.43-2.59c-4.51-.12-9-.17-13.52-.2H124.14c-4.51 0-9 .08-13.52.2-2.45.07-4.91.15-7.37.27a171.68 171.68 0 0 0-22.06 2.32 103.06 103.06 0 0 0-21.21 6.1q-3.46 1.45-6.81 3.12a94.66 94.66 0 0 0-18.39 12.32c-1.88 1.61-3.69 3.28-5.43 5A93.86 93.86 0 0 0 12 85.17a99.45 99.45 0 0 0-9.22 28 196.31 196.31 0 0 0-2.54 29.4c-.13 4.51-.18 9-.21 13.52v199.83c0 4.51.08 9 .21 13.51a196.08 196.08 0 0 0 2.58 29.42 99.3 99.3 0 0 0 9.22 28A94.31 94.31 0 0 0 53.17 468a99.47 99.47 0 0 0 28 9.21 195 195 0 0 0 29.43 2.59c4.5.12 9 .17 13.52.2H323.91c4.51 0 9-.08 13.52-.2a196.59 196.59 0 0 0 29.44-2.59 99.57 99.57 0 0 0 28-9.21A94.22 94.22 0 0 0 436 426.84a99.3 99.3 0 0 0 9.22-28 194.79 194.79 0 0 0 2.59-29.42c.12-4.5.17-9 .2-13.51V172.14c-.01-5.35-.01-10.7-.01-16.05zm-69.88 241c-20-38.93-57.23-29.27-76.31-19.47-1.72 1-3.48 2-5.25 3l-.42.25c-39.5 21-92.53 22.54-145.85-.38A234.64 234.64 0 0 1 45 290.12a230.63 230.63 0 0 0 39.17 23.37c56.36 26.4 113 24.49 153 0-57-43.85-104.6-101-141.09-147.22a197.09 197.09 0 0 1-18.78-25.9c43.7 40 112.7 90.22 137.48 104.12-52.57-55.49-98.89-123.94-96.72-121.74 82.79 83.42 159.18 130.59 159.18 130.59 2.88 1.58 5 2.85 6.73 4a127.44 127.44 0 0 0 4.16-12.47c13.22-48.33-1.66-103.58-35.31-149.2C329.61 141.75 375 229.34 356.4 303.42c-.44 1.73-.95 3.4-1.44 5.09 38.52 47.4 28.04 98.17 23.13 88.59z\"],\n \"angular\": [448, 512, [], \"f420\", \"M185.7 268.1h76.2l-38.1-91.6-38.1 91.6zM223.8 32L16 106.4l31.8 275.7 176 97.9 176-97.9 31.8-275.7zM354 373.8h-48.6l-26.2-65.4H168.6l-26.2 65.4H93.7L223.8 81.5z\"],\n \"speakap\": [448, 512, [], \"f3f3\", \"M64 391.78C-15.41 303.59-8 167.42 80.64 87.64s224.8-73 304.21 15.24 72 224.36-16.64 304.14c-18.74 16.87 64 43.09 42 52.26-82.06 34.21-253.91 35-346.23-67.5zm213.31-211.6l38.5-40.86c-9.61-8.89-32-26.83-76.17-27.6-52.33-.91-95.86 28.3-96.77 80-.2 11.33.29 36.72 29.42 54.83 34.46 21.42 86.52 21.51 86 52.26-.37 21.28-26.42 25.81-38.59 25.6-3-.05-30.23-.46-47.61-24.62l-40 42.61c28.16 27 59 32.62 83.49 33.05 10.23.18 96.42.33 97.84-81 .28-15.81-2.07-39.72-28.86-56.59-34.36-21.64-85-19.45-84.43-49.75.41-23.25 31-25.37 37.53-25.26.43 0 26.62.26 39.62 17.37z\"],\n \"angrycreative\": [640, 512, [], \"f36e\", \"M640 238.2l-3.2 28.2-34.5 2.3-2 18.1 34.5-2.3-3.2 28.2-34.4 2.2-2.3 20.1 34.4-2.2-3 26.1-64.7 4.1 12.7-113.2L527 365.2l-31.9 2-23.8-117.8 30.3-2 13.6 79.4 31.7-82.4 93.1-6.2zM426.8 371.5l28.3-1.8L468 249.6l-28.4 1.9-12.8 120zM162 388.1l-19.4-36-3.5 37.4-28.2 1.7 2.7-29.1c-11 18-32 34.3-56.9 35.8C23.9 399.9-3 377 .3 339.7c2.6-29.3 26.7-62.8 67.5-65.4 37.7-2.4 47.6 23.2 51.3 28.8l2.8-30.8 38.9-2.5c20.1-1.3 38.7 3.7 42.5 23.7l2.6-26.6 64.8-4.2-2.7 27.9-36.4 2.4-1.7 17.9 36.4-2.3-2.7 27.9-36.4 2.3-1.9 19.9 36.3-2.3-2.1 20.8 55-117.2 23.8-1.6L370.4 369l8.9-85.6-22.3 1.4 2.9-27.9 75-4.9-3 28-24.3 1.6-9.7 91.9-58 3.7-4.3-15.6-39.4 2.5-8 16.3-126.2 7.7zm-44.3-70.2l-26.4 1.7C84.6 307.2 76.9 303 65 303.8c-19 1.2-33.3 17.5-34.6 33.3-1.4 16 7.3 32.5 28.7 31.2 12.8-.8 21.3-8.6 28.9-18.9l27-1.7 2.7-29.8zm56.1-7.7c1.2-12.9-7.6-13.6-26.1-12.4l-2.7 28.5c14.2-.9 27.5-2.1 28.8-16.1zm21.1 70.8l5.8-60c-5 13.5-14.7 21.1-27.9 26.6l22.1 33.4zm135.4-45l-7.9-37.8-15.8 39.3 23.7-1.5zm-170.1-74.6l-4.3-17.5-39.6 2.6-8.1 18.2-31.9 2.1 57-121.9 23.9-1.6 30.7 102 9.9-104.7 27-1.8 37.8 63.6 6.5-66.6 28.5-1.9-4 41.2c7.4-13.5 22.9-44.7 63.6-47.5 40.5-2.8 52.4 29.3 53.4 30.3l3.3-32 39.3-2.7c12.7-.9 27.8.3 36.3 9.7l-4.4-11.9 32.2-2.2 12.9 43.2 23-45.7 31-2.2-43.6 78.4-4.8 44.3-28.4 1.9 4.8-44.3-15.8-43c1 22.3-9.2 40.1-32 49.6l25.2 38.8-36.4 2.4-19.2-36.8-4 38.3-28.4 1.9 3.3-31.5c-6.7 9.3-19.7 35.4-59.6 38-26.2 1.7-45.6-10.3-55.4-39.2l-4 40.3-25 1.6-37.6-63.3-6.3 66.2-56.8 3.7zm276.6-82.1c10.2-.7 17.5-2.1 21.6-4.3 4.5-2.4 7-6.4 7.6-12.1.6-5.3-.6-8.8-3.4-10.4-3.6-2.1-10.6-2.8-22.9-2l-2.9 28.8zM327.7 214c5.6 5.9 12.7 8.5 21.3 7.9 4.7-.3 9.1-1.8 13.3-4.1 5.5-3 10.6-8 15.1-14.3l-34.2 2.3 2.4-23.9 63.1-4.3 1.2-12-31.2 2.1c-4.1-3.7-7.8-6.6-11.1-8.1-4-1.7-8.1-2.8-12.2-2.5-8 .5-15.3 3.6-22 9.2-7.7 6.4-12 14.5-12.9 24.4-1.1 9.6 1.4 17.3 7.2 23.3zm-201.3 8.2l23.8-1.6-8.3-37.6-15.5 39.2z\"],\n \"y-combinator\": [448, 512, [], \"f23b\", \"M448 32v448H0V32h448zM236 287.5L313.5 142h-32.7L235 233c-4.7 9.3-9 18.3-12.8 26.8L210 233l-45.2-91h-35l76.7 143.8v94.5H236v-92.8z\"],\n \"empire\": [496, 512, [], \"f1d1\", \"M287.6 54.2c-10.8-2.2-22.1-3.3-33.5-3.6V32.4c78.1 2.2 146.1 44 184.6 106.6l-15.8 9.1c-6.1-9.7-12.7-18.8-20.2-27.1l-18 15.5c-26-29.6-61.4-50.7-101.9-58.4l4.8-23.9zM53.4 322.4l23-7.7c-6.4-18.3-10-38.2-10-58.7s3.3-40.4 9.7-58.7l-22.7-7.7c3.6-10.8 8.3-21.3 13.6-31l-15.8-9.1C34 181 24.1 217.5 24.1 256s10 75 27.1 106.6l15.8-9.1c-5.3-10-9.7-20.3-13.6-31.1zM213.1 434c-40.4-8-75.8-29.1-101.9-58.7l-18 15.8c-7.5-8.6-14.4-17.7-20.2-27.4l-16 9.4c38.5 62.3 106.8 104.3 184.9 106.6v-18.3c-11.3-.3-22.7-1.7-33.5-3.6l4.7-23.8zM93.3 120.9l18 15.5c26-29.6 61.4-50.7 101.9-58.4l-4.7-23.8c10.8-2.2 22.1-3.3 33.5-3.6V32.4C163.9 34.6 95.9 76.4 57.4 139l15.8 9.1c6-9.7 12.6-18.9 20.1-27.2zm309.4 270.2l-18-15.8c-26 29.6-61.4 50.7-101.9 58.7l4.7 23.8c-10.8 1.9-22.1 3.3-33.5 3.6v18.3c78.1-2.2 146.4-44.3 184.9-106.6l-16.1-9.4c-5.7 9.7-12.6 18.8-20.1 27.4zM496 256c0 137-111 248-248 248S0 393 0 256 111 8 248 8s248 111 248 248zm-12.2 0c0-130.1-105.7-235.8-235.8-235.8S12.2 125.9 12.2 256 117.9 491.8 248 491.8 483.8 386.1 483.8 256zm-39-106.6l-15.8 9.1c5.3 9.7 10 20.2 13.6 31l-22.7 7.7c6.4 18.3 9.7 38.2 9.7 58.7s-3.6 40.4-10 58.7l23 7.7c-3.9 10.8-8.3 21-13.6 31l15.8 9.1C462 331 471.9 294.5 471.9 256s-9.9-75-27.1-106.6zm-183 177.7c16.3-3.3 30.4-11.6 40.7-23.5l51.2 44.8c11.9-13.6 21.3-29.3 27.1-46.8l-64.2-22.1c2.5-7.5 3.9-15.2 3.9-23.5s-1.4-16.1-3.9-23.5l64.5-22.1c-6.1-17.4-15.5-33.2-27.4-46.8l-51.2 44.8c-10.2-11.9-24.4-20.5-40.7-23.8l13.3-66.4c-8.6-1.9-17.7-2.8-27.1-2.8-9.4 0-18.5.8-27.1 2.8l13.3 66.4c-16.3 3.3-30.4 11.9-40.7 23.8l-51.2-44.8c-11.9 13.6-21.3 29.3-27.4 46.8l64.5 22.1c-2.5 7.5-3.9 15.2-3.9 23.5s1.4 16.1 3.9 23.5l-64.2 22.1c5.8 17.4 15.2 33.2 27.1 46.8l51.2-44.8c10.2 11.9 24.4 20.2 40.7 23.5l-13.3 66.7c8.6 1.7 17.7 2.8 27.1 2.8 9.4 0 18.5-1.1 27.1-2.8l-13.3-66.7z\"],\n \"envira\": [448, 512, [], \"f299\", \"M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z\"],\n \"square-gitlab\": [448, 512, [\"gitlab-square\"], \"e5ae\", \"M48 32H400C426.5 32 448 53.5 448 80V432C448 458.5 426.5 480 400 480H48C21.5 480 0 458.5 0 432V80C0 53.5 21.5 32 48 32zM382.1 224.9L337.5 108.5C336.6 106.2 334.9 104.2 332.9 102.9C331.3 101.9 329.5 101.3 327.7 101.1C325.9 100.9 324 101.2 322.3 101.8C320.6 102.5 319 103.5 317.8 104.9C316.6 106.3 315.7 107.9 315.2 109.7L285 201.9H162.1L132.9 109.7C132.4 107.9 131.4 106.3 130.2 104.9C128.1 103.6 127.4 102.5 125.7 101.9C123.1 101.2 122.1 100.1 120.3 101.1C118.5 101.3 116.7 101.9 115.1 102.9C113.1 104.2 111.5 106.2 110.6 108.5L65.94 224.9L65.47 226.1C59.05 242.9 58.26 261.3 63.22 278.6C68.18 295.9 78.62 311.1 92.97 321.9L93.14 322L93.52 322.3L161.4 373.2L215.6 414.1C217.1 415.1 220.9 416.9 223.9 416.9C226.9 416.9 229.9 415.1 232.3 414.1L286.4 373.2L354.8 322L355 321.9C369.4 311 379.8 295.8 384.8 278.6C389.7 261.3 388.1 242.9 382.5 226.1L382.1 224.9z\"],\n \"studiovinari\": [512, 512, [], \"f3f8\", \"M480.3 187.7l4.2 28v28l-25.1 44.1-39.8 78.4-56.1 67.5-79.1 37.8-17.7 24.5-7.7 12-9.6 4s17.3-63.6 19.4-63.6c2.1 0 20.3.7 20.3.7l66.7-38.6-92.5 26.1-55.9 36.8-22.8 28-6.6 1.4 20.8-73.6 6.9-5.5 20.7 12.9 88.3-45.2 56.8-51.5 14.8-68.4-125.4 23.3 15.2-18.2-173.4-53.3 81.9-10.5-166-122.9L133.5 108 32.2 0l252.9 126.6-31.5-38L378 163 234.7 64l18.7 38.4-49.6-18.1L158.3 0l194.6 122L310 66.2l108 96.4 12-8.9-21-16.4 4.2-37.8L451 89.1l29.2 24.7 11.5 4.2-7 6.2 8.5 12-13.1 7.4-10.3 20.2 10.5 23.9z\"],\n \"pied-piper\": [480, 512, [], \"f2ae\", \"M455.93,23.2C429.23,30,387.79,51.69,341.35,90.66A206,206,0,0,0,240,64C125.13,64,32,157.12,32,272s93.13,208,208,208,208-93.13,208-208a207.25,207.25,0,0,0-58.75-144.81,155.35,155.35,0,0,0-17,27.4A176.16,176.16,0,0,1,417.1,272c0,97.66-79.44,177.11-177.09,177.11a175.81,175.81,0,0,1-87.63-23.4c82.94-107.33,150.79-37.77,184.31-226.65,5.79-32.62,28-94.26,126.23-160.18C471,33.45,465.35,20.8,455.93,23.2ZM125,406.4A176.66,176.66,0,0,1,62.9,272C62.9,174.34,142.35,94.9,240,94.9a174,174,0,0,1,76.63,17.75C250.64,174.76,189.77,265.52,125,406.4Z\"],\n \"wordpress\": [512, 512, [], \"f19a\", \"M61.7 169.4l101.5 278C92.2 413 43.3 340.2 43.3 256c0-30.9 6.6-60.1 18.4-86.6zm337.9 75.9c0-26.3-9.4-44.5-17.5-58.7-10.8-17.5-20.9-32.4-20.9-49.9 0-19.6 14.8-37.8 35.7-37.8.9 0 1.8.1 2.8.2-37.9-34.7-88.3-55.9-143.7-55.9-74.3 0-139.7 38.1-177.8 95.9 5 .2 9.7.3 13.7.3 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l77.5 230.4L249.8 247l-33.1-90.8c-11.5-.7-22.3-2-22.3-2-11.5-.7-10.1-18.2 1.3-17.5 0 0 35.1 2.7 56 2.7 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l76.9 228.7 21.2-70.9c9-29.4 16-50.5 16-68.7zm-139.9 29.3l-63.8 185.5c19.1 5.6 39.2 8.7 60.1 8.7 24.8 0 48.5-4.3 70.6-12.1-.6-.9-1.1-1.9-1.5-2.9l-65.4-179.2zm183-120.7c.9 6.8 1.4 14 1.4 21.9 0 21.6-4 45.8-16.2 76.2l-65 187.9C426.2 403 468.7 334.5 468.7 256c0-37-9.4-71.8-26-102.1zM504 256c0 136.8-111.3 248-248 248C119.2 504 8 392.7 8 256 8 119.2 119.2 8 256 8c136.7 0 248 111.2 248 248zm-11.4 0c0-130.5-106.2-236.6-236.6-236.6C125.5 19.4 19.4 125.5 19.4 256S125.6 492.6 256 492.6c130.5 0 236.6-106.1 236.6-236.6z\"],\n \"product-hunt\": [512, 512, [], \"f288\", \"M326.3 218.8c0 20.5-16.7 37.2-37.2 37.2h-70.3v-74.4h70.3c20.5 0 37.2 16.7 37.2 37.2zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-128.1-37.2c0-47.9-38.9-86.8-86.8-86.8H169.2v248h49.6v-74.4h70.3c47.9 0 86.8-38.9 86.8-86.8z\"],\n \"firefox\": [512, 512, [], \"f269\", \"M503.52,241.48c-.12-1.56-.24-3.12-.24-4.68v-.12l-.36-4.68v-.12a245.86,245.86,0,0,0-7.32-41.15c0-.12,0-.12-.12-.24l-1.08-4c-.12-.24-.12-.48-.24-.6-.36-1.2-.72-2.52-1.08-3.72-.12-.24-.12-.6-.24-.84-.36-1.2-.72-2.4-1.08-3.48-.12-.36-.24-.6-.36-1-.36-1.2-.72-2.28-1.2-3.48l-.36-1.08c-.36-1.08-.84-2.28-1.2-3.36a8.27,8.27,0,0,0-.36-1c-.48-1.08-.84-2.28-1.32-3.36-.12-.24-.24-.6-.36-.84-.48-1.2-1-2.28-1.44-3.48,0-.12-.12-.24-.12-.36-1.56-3.84-3.24-7.68-5-11.4l-.36-.72c-.48-1-.84-1.8-1.32-2.64-.24-.48-.48-1.08-.72-1.56-.36-.84-.84-1.56-1.2-2.4-.36-.6-.6-1.2-1-1.8s-.84-1.44-1.2-2.28c-.36-.6-.72-1.32-1.08-1.92s-.84-1.44-1.2-2.16a18.07,18.07,0,0,0-1.2-2c-.36-.72-.84-1.32-1.2-2s-.84-1.32-1.2-2-.84-1.32-1.2-1.92-.84-1.44-1.32-2.16a15.63,15.63,0,0,0-1.2-1.8L463.2,119a15.63,15.63,0,0,0-1.2-1.8c-.48-.72-1.08-1.56-1.56-2.28-.36-.48-.72-1.08-1.08-1.56l-1.8-2.52c-.36-.48-.6-.84-1-1.32-1-1.32-1.8-2.52-2.76-3.72a248.76,248.76,0,0,0-23.51-26.64A186.82,186.82,0,0,0,412,62.46c-4-3.48-8.16-6.72-12.48-9.84a162.49,162.49,0,0,0-24.6-15.12c-2.4-1.32-4.8-2.52-7.2-3.72a254,254,0,0,0-55.43-19.56c-1.92-.36-3.84-.84-5.64-1.2h-.12c-1-.12-1.8-.36-2.76-.48a236.35,236.35,0,0,0-38-4H255.14a234.62,234.62,0,0,0-45.48,5c-33.59,7.08-63.23,21.24-82.91,39-1.08,1-1.92,1.68-2.4,2.16l-.48.48H124l-.12.12.12-.12a.12.12,0,0,0,.12-.12l-.12.12a.42.42,0,0,1,.24-.12c14.64-8.76,34.92-16,49.44-19.56l5.88-1.44c.36-.12.84-.12,1.2-.24,1.68-.36,3.36-.72,5.16-1.08.24,0,.6-.12.84-.12C250.94,20.94,319.34,40.14,367,85.61a171.49,171.49,0,0,1,26.88,32.76c30.36,49.2,27.48,111.11,3.84,147.59-34.44,53-111.35,71.27-159,24.84a84.19,84.19,0,0,1-25.56-59,74.05,74.05,0,0,1,6.24-31c1.68-3.84,13.08-25.67,18.24-24.59-13.08-2.76-37.55,2.64-54.71,28.19-15.36,22.92-14.52,58.2-5,83.28a132.85,132.85,0,0,1-12.12-39.24c-12.24-82.55,43.31-153,94.31-170.51-27.48-24-96.47-22.31-147.71,15.36-29.88,22-51.23,53.16-62.51,90.36,1.68-20.88,9.6-52.08,25.8-83.88-17.16,8.88-39,37-49.8,62.88-15.6,37.43-21,82.19-16.08,124.79.36,3.24.72,6.36,1.08,9.6,19.92,117.11,122,206.38,244.78,206.38C392.77,503.42,504,392.19,504,255,503.88,250.48,503.76,245.92,503.52,241.48Z\"],\n \"linode\": [448, 512, [], \"f2b8\", \"M366.036,186.867l-59.5,36.871-.838,36.871-29.329-19.273-39.384,24.3c2.238,55.211,2.483,59.271,2.51,59.5l-97.2,65.359L127.214,285.748l108.1-62.01L195.09,197.761l-75.417,38.547L98.723,93.015,227.771,43.574,136.432,0,10.737,39.385,38.39,174.3l41.9,32.681L48.445,222.062,69.394,323.457,98.723,351.11,77.774,363.679l16.76,78.769L160.733,512c-10.8-74.842-11.658-78.641-11.725-78.773l77.925-55.3c16.759-12.57,15.083-10.894,15.083-10.894l.838,24.3,33.519,28.491-.838-77.093,46.927-33.519,26.815-18.435-2.514,36.033,25.139,17.6,6.7-74.579,58.657-43.575Z\"],\n \"goodreads\": [448, 512, [], \"f3a8\", \"M299.9 191.2c5.1 37.3-4.7 79-35.9 100.7-22.3 15.5-52.8 14.1-70.8 5.7-37.1-17.3-49.5-58.6-46.8-97.2 4.3-60.9 40.9-87.9 75.3-87.5 46.9-.2 71.8 31.8 78.2 78.3zM448 88v336c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V88c0-30.9 25.1-56 56-56h336c30.9 0 56 25.1 56 56zM330 313.2s-.1-34-.1-217.3h-29v40.3c-.8.3-1.2-.5-1.6-1.2-9.6-20.7-35.9-46.3-76-46-51.9.4-87.2 31.2-100.6 77.8-4.3 14.9-5.8 30.1-5.5 45.6 1.7 77.9 45.1 117.8 112.4 115.2 28.9-1.1 54.5-17 69-45.2.5-1 1.1-1.9 1.7-2.9.2.1.4.1.6.2.3 3.8.2 30.7.1 34.5-.2 14.8-2 29.5-7.2 43.5-7.8 21-22.3 34.7-44.5 39.5-17.8 3.9-35.6 3.8-53.2-1.2-21.5-6.1-36.5-19-41.1-41.8-.3-1.6-1.3-1.3-2.3-1.3h-26.8c.8 10.6 3.2 20.3 8.5 29.2 24.2 40.5 82.7 48.5 128.2 37.4 49.9-12.3 67.3-54.9 67.4-106.3z\"],\n \"square-odnoklassniki\": [448, 512, [\"odnoklassniki-square\"], \"f264\", \"M184.2 177.1c0-22.1 17.9-40 39.8-40s39.8 17.9 39.8 40c0 22-17.9 39.8-39.8 39.8s-39.8-17.9-39.8-39.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-305.1 97.1c0 44.6 36.4 80.9 81.1 80.9s81.1-36.2 81.1-80.9c0-44.8-36.4-81.1-81.1-81.1s-81.1 36.2-81.1 81.1zm174.5 90.7c-4.6-9.1-17.3-16.8-34.1-3.6 0 0-22.7 18-59.3 18s-59.3-18-59.3-18c-16.8-13.2-29.5-5.5-34.1 3.6-7.9 16.1 1.1 23.7 21.4 37 17.3 11.1 41.2 15.2 56.6 16.8l-12.9 12.9c-18.2 18-35.5 35.5-47.7 47.7-17.6 17.6 10.7 45.8 28.4 28.6l47.7-47.9c18.2 18.2 35.7 35.7 47.7 47.9 17.6 17.2 46-10.7 28.6-28.6l-47.7-47.7-13-12.9c15.5-1.6 39.1-5.9 56.2-16.8 20.4-13.3 29.3-21 21.5-37z\"],\n \"jsfiddle\": [576, 512, [], \"f1cc\", \"M510.634 237.462c-4.727-2.621-5.664-5.748-6.381-10.776-2.352-16.488-3.539-33.619-9.097-49.095-35.895-99.957-153.99-143.386-246.849-91.646-27.37 15.25-48.971 36.369-65.493 63.903-3.184-1.508-5.458-2.71-7.824-3.686-30.102-12.421-59.049-10.121-85.331 9.167-25.531 18.737-36.422 44.548-32.676 76.408.355 3.025-1.967 7.621-4.514 9.545-39.712 29.992-56.031 78.065-41.902 124.615 13.831 45.569 57.514 79.796 105.608 81.433 30.291 1.031 60.637.546 90.959.539 84.041-.021 168.09.531 252.12-.48 52.664-.634 96.108-36.873 108.212-87.293 11.54-48.074-11.144-97.3-56.832-122.634zm21.107 156.88c-18.23 22.432-42.343 35.253-71.28 35.65-56.874.781-113.767.23-170.652.23 0 .7-163.028.159-163.728.154-43.861-.332-76.739-19.766-95.175-59.995-18.902-41.245-4.004-90.848 34.186-116.106 9.182-6.073 12.505-11.566 10.096-23.136-5.49-26.361 4.453-47.956 26.42-62.981 22.987-15.723 47.422-16.146 72.034-3.083 10.269 5.45 14.607 11.564 22.198-2.527 14.222-26.399 34.557-46.727 60.671-61.294 97.46-54.366 228.37 7.568 230.24 132.697.122 8.15 2.412 12.428 9.848 15.894 57.56 26.829 74.456 96.122 35.142 144.497zm-87.789-80.499c-5.848 31.157-34.622 55.096-66.666 55.095-16.953-.001-32.058-6.545-44.079-17.705-27.697-25.713-71.141-74.98-95.937-93.387-20.056-14.888-41.99-12.333-60.272 3.782-49.996 44.071 15.859 121.775 67.063 77.188 4.548-3.96 7.84-9.543 12.744-12.844 8.184-5.509 20.766-.884 13.168 10.622-17.358 26.284-49.33 38.197-78.863 29.301-28.897-8.704-48.84-35.968-48.626-70.179 1.225-22.485 12.364-43.06 35.414-55.965 22.575-12.638 46.369-13.146 66.991 2.474C295.68 280.7 320.467 323.97 352.185 343.47c24.558 15.099 54.254 7.363 68.823-17.506 28.83-49.209-34.592-105.016-78.868-63.46-3.989 3.744-6.917 8.932-11.41 11.72-10.975 6.811-17.333-4.113-12.809-10.353 20.703-28.554 50.464-40.44 83.271-28.214 31.429 11.714 49.108 44.366 42.76 78.186z\"],\n \"sith\": [448, 512, [], \"f512\", \"M0 32l69.71 118.75-58.86-11.52 69.84 91.03a146.741 146.741 0 0 0 0 51.45l-69.84 91.03 58.86-11.52L0 480l118.75-69.71-11.52 58.86 91.03-69.84c17.02 3.04 34.47 3.04 51.48 0l91.03 69.84-11.52-58.86L448 480l-69.71-118.78 58.86 11.52-69.84-91.03c3.03-17.01 3.04-34.44 0-51.45l69.84-91.03-58.86 11.52L448 32l-118.75 69.71 11.52-58.9-91.06 69.87c-8.5-1.52-17.1-2.29-25.71-2.29s-17.21.78-25.71 2.29l-91.06-69.87 11.52 58.9L0 32zm224 99.78c31.8 0 63.6 12.12 87.85 36.37 48.5 48.5 48.49 127.21 0 175.7s-127.2 48.46-175.7-.03c-48.5-48.5-48.49-127.21 0-175.7 24.24-24.25 56.05-36.34 87.85-36.34zm0 36.66c-22.42 0-44.83 8.52-61.92 25.61-34.18 34.18-34.19 89.68 0 123.87s89.65 34.18 123.84 0c34.18-34.18 34.19-89.68 0-123.87-17.09-17.09-39.5-25.61-61.92-25.61z\"],\n \"themeisle\": [512, 512, [], \"f2b2\", \"M208 88.286c0-10 6.286-21.714 17.715-21.714 11.142 0 17.714 11.714 17.714 21.714 0 10.285-6.572 21.714-17.714 21.714C214.286 110 208 98.571 208 88.286zm304 160c0 36.001-11.429 102.286-36.286 129.714-22.858 24.858-87.428 61.143-120.857 70.572l-1.143.286v32.571c0 16.286-12.572 30.571-29.143 30.571-10 0-19.429-5.714-24.572-14.286-5.427 8.572-14.856 14.286-24.856 14.286-10 0-19.429-5.714-24.858-14.286-5.142 8.572-14.571 14.286-24.57 14.286-10.286 0-19.429-5.714-24.858-14.286-5.143 8.572-14.571 14.286-24.571 14.286-18.857 0-29.429-15.714-29.429-32.857-16.286 12.285-35.715 19.428-56.571 19.428-22 0-43.429-8.285-60.286-22.857 10.285-.286 20.571-2.286 30.285-5.714-20.857-5.714-39.428-18.857-52-36.286 21.37 4.645 46.209 1.673 67.143-11.143-22-22-56.571-58.857-68.572-87.428C1.143 321.714 0 303.714 0 289.429c0-49.714 20.286-160 86.286-160 10.571 0 18.857 4.858 23.143 14.857a158.792 158.792 0 0 1 12-15.428c2-2.572 5.714-5.429 7.143-8.286 7.999-12.571 11.714-21.142 21.714-34C182.571 45.428 232 17.143 285.143 17.143c6 0 12 .285 17.714 1.143C313.714 6.571 328.857 0 344.572 0c14.571 0 29.714 6 40 16.286.857.858 1.428 2.286 1.428 3.428 0 3.714-10.285 13.429-12.857 16.286 4.286 1.429 15.714 6.858 15.714 12 0 2.857-2.857 5.143-4.571 7.143 31.429 27.714 49.429 67.143 56.286 108 4.286-5.143 10.285-8.572 17.143-8.572 10.571 0 20.857 7.144 28.571 14.001C507.143 187.143 512 221.714 512 248.286zM188 89.428c0 18.286 12.571 37.143 32.286 37.143 19.714 0 32.285-18.857 32.285-37.143 0-18-12.571-36.857-32.285-36.857-19.715 0-32.286 18.858-32.286 36.857zM237.714 194c0-19.714 3.714-39.143 8.571-58.286-52.039 79.534-13.531 184.571 68.858 184.571 21.428 0 42.571-7.714 60-20 2-7.429 3.714-14.857 3.714-22.572 0-14.286-6.286-21.428-20.572-21.428-4.571 0-9.143.857-13.429 1.714-63.343 12.668-107.142 3.669-107.142-63.999zm-41.142 254.858c0-11.143-8.858-20.857-20.286-20.857-11.429 0-20 9.715-20 20.857v32.571c0 11.143 8.571 21.142 20 21.142 11.428 0 20.286-9.715 20.286-21.142v-32.571zm49.143 0c0-11.143-8.572-20.857-20-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20-10 20-21.142v-32.571zm49.713 0c0-11.143-8.857-20.857-20.285-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20.285-9.715 20.285-21.142v-32.571zm49.715 0c0-11.143-8.857-20.857-20.286-20.857-11.428 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.858 21.142 20.286 21.142 11.429 0 20.286-10 20.286-21.142v-32.571zM421.714 286c-30.857 59.142-90.285 102.572-158.571 102.572-96.571 0-160.571-84.572-160.571-176.572 0-16.857 2-33.429 6-49.714-20 33.715-29.714 72.572-29.714 111.429 0 60.286 24.857 121.715 71.429 160.857 5.143-9.714 14.857-16.286 26-16.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.571-14.286 24.858-14.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.857-14.286 24.858-14.286 10 0 19.428 5.714 24.857 14.286 5.143-8.571 14.571-14.286 24.572-14.286 10.857 0 20.857 6.572 25.714 16 43.427-36.286 68.569-92 71.426-148.286zm10.572-99.714c0-53.714-34.571-105.714-92.572-105.714-30.285 0-58.571 15.143-78.857 36.857C240.862 183.812 233.41 254 302.286 254c28.805 0 97.357-28.538 84.286 36.857 28.857-26 45.714-65.714 45.714-104.571z\"],\n \"page4\": [496, 512, [], \"f3d7\", \"M248 504C111 504 0 393 0 256S111 8 248 8c20.9 0 41.3 2.6 60.7 7.5L42.3 392H248v112zm0-143.6V146.8L98.6 360.4H248zm96 31.6v92.7c45.7-19.2 84.5-51.7 111.4-92.7H344zm57.4-138.2l-21.2 8.4 21.2 8.3v-16.7zm-20.3 54.5c-6.7 0-8 6.3-8 12.9v7.7h16.2v-10c0-5.9-2.3-10.6-8.2-10.6zM496 256c0 37.3-8.2 72.7-23 104.4H344V27.3C433.3 64.8 496 153.1 496 256zM360.4 143.6h68.2V96h-13.9v32.6h-13.9V99h-13.9v29.6h-12.7V96h-13.9v47.6zm68.1 185.3H402v-11c0-15.4-5.6-25.2-20.9-25.2-15.4 0-20.7 10.6-20.7 25.9v25.3h68.2v-15zm0-103l-68.2 29.7V268l68.2 29.5v-16.6l-14.4-5.7v-26.5l14.4-5.9v-16.9zm-4.8-68.5h-35.6V184H402v-12.2h11c8.6 15.8 1.3 35.3-18.6 35.3-22.5 0-28.3-25.3-15.5-37.7l-11.6-10.6c-16.2 17.5-12.2 63.9 27.1 63.9 34 0 44.7-35.9 29.3-65.3z\"],\n \"hashnode\": [512, 512, [], \"e499\", \"M35.19 171.1C-11.72 217.1-11.72 294 35.19 340.9L171.1 476.8C217.1 523.7 294 523.7 340.9 476.8L476.8 340.9C523.7 294 523.7 217.1 476.8 171.1L340.9 35.19C294-11.72 217.1-11.72 171.1 35.19L35.19 171.1zM315.5 315.5C282.6 348.3 229.4 348.3 196.6 315.5C163.7 282.6 163.7 229.4 196.6 196.6C229.4 163.7 282.6 163.7 315.5 196.6C348.3 229.4 348.3 282.6 315.5 315.5z\"],\n \"react\": [512, 512, [], \"f41b\", \"M418.2 177.2c-5.4-1.8-10.8-3.5-16.2-5.1.9-3.7 1.7-7.4 2.5-11.1 12.3-59.6 4.2-107.5-23.1-123.3-26.3-15.1-69.2.6-112.6 38.4-4.3 3.7-8.5 7.6-12.5 11.5-2.7-2.6-5.5-5.2-8.3-7.7-45.5-40.4-91.1-57.4-118.4-41.5-26.2 15.2-34 60.3-23 116.7 1.1 5.6 2.3 11.1 3.7 16.7-6.4 1.8-12.7 3.8-18.6 5.9C38.3 196.2 0 225.4 0 255.6c0 31.2 40.8 62.5 96.3 81.5 4.5 1.5 9 3 13.6 4.3-1.5 6-2.8 11.9-4 18-10.5 55.5-2.3 99.5 23.9 114.6 27 15.6 72.4-.4 116.6-39.1 3.5-3.1 7-6.3 10.5-9.7 4.4 4.3 9 8.4 13.6 12.4 42.8 36.8 85.1 51.7 111.2 36.6 27-15.6 35.8-62.9 24.4-120.5-.9-4.4-1.9-8.9-3-13.5 3.2-.9 6.3-1.9 9.4-2.9 57.7-19.1 99.5-50 99.5-81.7 0-30.3-39.4-59.7-93.8-78.4zM282.9 92.3c37.2-32.4 71.9-45.1 87.7-36 16.9 9.7 23.4 48.9 12.8 100.4-.7 3.4-1.4 6.7-2.3 10-22.2-5-44.7-8.6-67.3-10.6-13-18.6-27.2-36.4-42.6-53.1 3.9-3.7 7.7-7.2 11.7-10.7zM167.2 307.5c5.1 8.7 10.3 17.4 15.8 25.9-15.6-1.7-31.1-4.2-46.4-7.5 4.4-14.4 9.9-29.3 16.3-44.5 4.6 8.8 9.3 17.5 14.3 26.1zm-30.3-120.3c14.4-3.2 29.7-5.8 45.6-7.8-5.3 8.3-10.5 16.8-15.4 25.4-4.9 8.5-9.7 17.2-14.2 26-6.3-14.9-11.6-29.5-16-43.6zm27.4 68.9c6.6-13.8 13.8-27.3 21.4-40.6s15.8-26.2 24.4-38.9c15-1.1 30.3-1.7 45.9-1.7s31 .6 45.9 1.7c8.5 12.6 16.6 25.5 24.3 38.7s14.9 26.7 21.7 40.4c-6.7 13.8-13.9 27.4-21.6 40.8-7.6 13.3-15.7 26.2-24.2 39-14.9 1.1-30.4 1.6-46.1 1.6s-30.9-.5-45.6-1.4c-8.7-12.7-16.9-25.7-24.6-39s-14.8-26.8-21.5-40.6zm180.6 51.2c5.1-8.8 9.9-17.7 14.6-26.7 6.4 14.5 12 29.2 16.9 44.3-15.5 3.5-31.2 6.2-47 8 5.4-8.4 10.5-17 15.5-25.6zm14.4-76.5c-4.7-8.8-9.5-17.6-14.5-26.2-4.9-8.5-10-16.9-15.3-25.2 16.1 2 31.5 4.7 45.9 8-4.6 14.8-10 29.2-16.1 43.4zM256.2 118.3c10.5 11.4 20.4 23.4 29.6 35.8-19.8-.9-39.7-.9-59.5 0 9.8-12.9 19.9-24.9 29.9-35.8zM140.2 57c16.8-9.8 54.1 4.2 93.4 39 2.5 2.2 5 4.6 7.6 7-15.5 16.7-29.8 34.5-42.9 53.1-22.6 2-45 5.5-67.2 10.4-1.3-5.1-2.4-10.3-3.5-15.5-9.4-48.4-3.2-84.9 12.6-94zm-24.5 263.6c-4.2-1.2-8.3-2.5-12.4-3.9-21.3-6.7-45.5-17.3-63-31.2-10.1-7-16.9-17.8-18.8-29.9 0-18.3 31.6-41.7 77.2-57.6 5.7-2 11.5-3.8 17.3-5.5 6.8 21.7 15 43 24.5 63.6-9.6 20.9-17.9 42.5-24.8 64.5zm116.6 98c-16.5 15.1-35.6 27.1-56.4 35.3-11.1 5.3-23.9 5.8-35.3 1.3-15.9-9.2-22.5-44.5-13.5-92 1.1-5.6 2.3-11.2 3.7-16.7 22.4 4.8 45 8.1 67.9 9.8 13.2 18.7 27.7 36.6 43.2 53.4-3.2 3.1-6.4 6.1-9.6 8.9zm24.5-24.3c-10.2-11-20.4-23.2-30.3-36.3 9.6.4 19.5.6 29.5.6 10.3 0 20.4-.2 30.4-.7-9.2 12.7-19.1 24.8-29.6 36.4zm130.7 30c-.9 12.2-6.9 23.6-16.5 31.3-15.9 9.2-49.8-2.8-86.4-34.2-4.2-3.6-8.4-7.5-12.7-11.5 15.3-16.9 29.4-34.8 42.2-53.6 22.9-1.9 45.7-5.4 68.2-10.5 1 4.1 1.9 8.2 2.7 12.2 4.9 21.6 5.7 44.1 2.5 66.3zm18.2-107.5c-2.8.9-5.6 1.8-8.5 2.6-7-21.8-15.6-43.1-25.5-63.8 9.6-20.4 17.7-41.4 24.5-62.9 5.2 1.5 10.2 3.1 15 4.7 46.6 16 79.3 39.8 79.3 58 0 19.6-34.9 44.9-84.8 61.4zm-149.7-15c25.3 0 45.8-20.5 45.8-45.8s-20.5-45.8-45.8-45.8c-25.3 0-45.8 20.5-45.8 45.8s20.5 45.8 45.8 45.8z\"],\n \"cc-paypal\": [576, 512, [], \"f1f4\", \"M186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zM80.5 209.7h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0H360c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM128.3 215.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7L32 294.2c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H200c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9l63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H484c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7L544 191.2v-.3zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z\"],\n \"squarespace\": [512, 512, [], \"f5be\", \"M186.12 343.34c-9.65 9.65-9.65 25.29 0 34.94 9.65 9.65 25.29 9.65 34.94 0L378.24 221.1c19.29-19.29 50.57-19.29 69.86 0s19.29 50.57 0 69.86L293.95 445.1c19.27 19.29 50.53 19.31 69.82.04l.04-.04 119.25-119.24c38.59-38.59 38.59-101.14 0-139.72-38.59-38.59-101.15-38.59-139.72 0l-157.22 157.2zm244.53-104.8c-9.65-9.65-25.29-9.65-34.93 0l-157.2 157.18c-19.27 19.29-50.53 19.31-69.82.05l-.05-.05c-9.64-9.64-25.27-9.65-34.92-.01l-.01.01c-9.65 9.64-9.66 25.28-.02 34.93l.02.02c38.58 38.57 101.14 38.57 139.72 0l157.2-157.2c9.65-9.65 9.65-25.29.01-34.93zm-261.99 87.33l157.18-157.18c9.64-9.65 9.64-25.29 0-34.94-9.64-9.64-25.27-9.64-34.91 0L133.72 290.93c-19.28 19.29-50.56 19.3-69.85.01l-.01-.01c-19.29-19.28-19.31-50.54-.03-69.84l.03-.03L218.03 66.89c-19.28-19.29-50.55-19.3-69.85-.02l-.02.02L28.93 186.14c-38.58 38.59-38.58 101.14 0 139.72 38.6 38.59 101.13 38.59 139.73.01zm-87.33-52.4c9.64 9.64 25.27 9.64 34.91 0l157.21-157.19c19.28-19.29 50.55-19.3 69.84-.02l.02.02c9.65 9.65 25.29 9.65 34.93 0 9.65-9.65 9.65-25.29 0-34.93-38.59-38.59-101.13-38.59-139.72 0L81.33 238.54c-9.65 9.64-9.65 25.28-.01 34.93h.01z\"],\n \"cc-stripe\": [576, 512, [], \"f1f5\", \"M492.4 220.8c-8.9 0-18.7 6.7-18.7 22.7h36.7c0-16-9.3-22.7-18-22.7zM375 223.4c-8.2 0-13.3 2.9-17 7l.2 52.8c3.5 3.7 8.5 6.7 16.8 6.7 13.1 0 21.9-14.3 21.9-33.4 0-18.6-9-33.2-21.9-33.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM122.2 281.1c0 25.6-20.3 40.1-49.9 40.3-12.2 0-25.6-2.4-38.8-8.1v-33.9c12 6.4 27.1 11.3 38.9 11.3 7.9 0 13.6-2.1 13.6-8.7 0-17-54-10.6-54-49.9 0-25.2 19.2-40.2 48-40.2 11.8 0 23.5 1.8 35.3 6.5v33.4c-10.8-5.8-24.5-9.1-35.3-9.1-7.5 0-12.1 2.2-12.1 7.7 0 16 54.3 8.4 54.3 50.7zm68.8-56.6h-27V275c0 20.9 22.5 14.4 27 12.6v28.9c-4.7 2.6-13.3 4.7-24.9 4.7-21.1 0-36.9-15.5-36.9-36.5l.2-113.9 34.7-7.4v30.8H191zm74 2.4c-4.5-1.5-18.7-3.6-27.1 7.4v84.4h-35.5V194.2h30.7l2.2 10.5c8.3-15.3 24.9-12.2 29.6-10.5h.1zm44.1 91.8h-35.7V194.2h35.7zm0-142.9l-35.7 7.6v-28.9l35.7-7.6zm74.1 145.5c-12.4 0-20-5.3-25.1-9l-.1 40.2-35.5 7.5V194.2h31.3l1.8 8.8c4.9-4.5 13.9-11.1 27.8-11.1 24.9 0 48.4 22.5 48.4 63.8 0 45.1-23.2 65.5-48.6 65.6zm160.4-51.5h-69.5c1.6 16.6 13.8 21.5 27.6 21.5 14.1 0 25.2-3 34.9-7.9V312c-9.7 5.3-22.4 9.2-39.4 9.2-34.6 0-58.8-21.7-58.8-64.5 0-36.2 20.5-64.9 54.3-64.9 33.7 0 51.3 28.7 51.3 65.1 0 3.5-.3 10.9-.4 12.9z\"],\n \"creative-commons-share\": [496, 512, [], \"f4f2\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm101 132.4c7.8 0 13.7 6.1 13.7 13.7v182.5c0 7.7-6.1 13.7-13.7 13.7H214.3c-7.7 0-13.7-6-13.7-13.7v-54h-54c-7.8 0-13.7-6-13.7-13.7V131.1c0-8.2 6.6-12.7 12.4-13.7h136.4c7.7 0 13.7 6 13.7 13.7v54h54zM159.9 300.3h40.7V198.9c0-7.4 5.8-12.6 12-13.7h55.8v-40.3H159.9v155.4zm176.2-88.1H227.6v155.4h108.5V212.2z\"],\n \"bitcoin\": [512, 512, [], \"f379\", \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-141.651-35.33c4.937-32.999-20.191-50.739-54.55-62.573l11.146-44.702-27.213-6.781-10.851 43.524c-7.154-1.783-14.502-3.464-21.803-5.13l10.929-43.81-27.198-6.781-11.153 44.686c-5.922-1.349-11.735-2.682-17.377-4.084l.031-.14-37.53-9.37-7.239 29.062s20.191 4.627 19.765 4.913c11.022 2.751 13.014 10.044 12.68 15.825l-12.696 50.925c.76.194 1.744.473 2.829.907-.907-.225-1.876-.473-2.876-.713l-17.796 71.338c-1.349 3.348-4.767 8.37-12.471 6.464.271.395-19.78-4.937-19.78-4.937l-13.51 31.147 35.414 8.827c6.588 1.651 13.045 3.379 19.4 5.006l-11.262 45.213 27.182 6.781 11.153-44.733a1038.209 1038.209 0 0 0 21.687 5.627l-11.115 44.523 27.213 6.781 11.262-45.128c46.404 8.781 81.299 5.239 95.986-36.727 11.836-33.79-.589-53.281-25.004-65.991 17.78-4.098 31.174-15.792 34.747-39.949zm-62.177 87.179c-8.41 33.79-65.308 15.523-83.755 10.943l14.944-59.899c18.446 4.603 77.6 13.717 68.811 48.956zm8.417-87.667c-7.673 30.736-55.031 15.12-70.393 11.292l13.548-54.327c15.363 3.828 64.836 10.973 56.845 43.035z\"],\n \"keycdn\": [512, 512, [], \"f3ba\", \"M63.8 409.3l60.5-59c32.1 42.8 71.1 66 126.6 67.4 30.5.7 60.3-7 86.4-22.4 5.1 5.3 18.5 19.5 20.9 22-32.2 20.7-69.6 31.1-108.1 30.2-43.3-1.1-84.6-16.7-117.7-44.4.3-.6-38.2 37.5-38.6 37.9 9.5 29.8-13.1 62.4-46.3 62.4C20.7 503.3 0 481.7 0 454.9c0-34.3 33.1-56.6 63.8-45.6zm354.9-252.4c19.1 31.3 29.6 67.4 28.7 104-1.1 44.8-19 87.5-48.6 121 .3.3 23.8 25.2 24.1 25.5 9.6-1.3 19.2 2 25.9 9.1 11.3 12 10.9 30.9-1.1 42.4-12 11.3-30.9 10.9-42.4-1.1-6.7-7-9.4-16.8-7.6-26.3-24.9-26.6-44.4-47.2-44.4-47.2 42.7-34.1 63.3-79.6 64.4-124.2.7-28.9-7.2-57.2-21.1-82.2l22.1-21zM104 53.1c6.7 7 9.4 16.8 7.6 26.3l45.9 48.1c-4.7 3.8-13.3 10.4-22.8 21.3-25.4 28.5-39.6 64.8-40.7 102.9-.7 28.9 6.1 57.2 20 82.4l-22 21.5C72.7 324 63.1 287.9 64.2 250.9c1-44.6 18.3-87.6 47.5-121.1l-25.3-26.4c-9.6 1.3-19.2-2-25.9-9.1-11.3-12-10.9-30.9 1.1-42.4C73.5 40.7 92.2 41 104 53.1zM464.9 8c26 0 47.1 22.4 47.1 48.3S490.9 104 464.9 104c-6.3.1-14-1.1-15.9-1.8l-62.9 59.7c-32.7-43.6-76.7-65.9-126.9-67.2-30.5-.7-60.3 6.8-86.2 22.4l-21.1-22C184.1 74.3 221.5 64 260 64.9c43.3 1.1 84.6 16.7 117.7 44.6l41.1-38.6c-1.5-4.7-2.2-9.6-2.2-14.5C416.5 29.7 438.9 8 464.9 8zM256.7 113.4c5.5 0 10.9.4 16.4 1.1 78.1 9.8 133.4 81.1 123.8 159.1-9.8 78.1-81.1 133.4-159.1 123.8-78.1-9.8-133.4-81.1-123.8-159.2 9.3-72.4 70.1-124.6 142.7-124.8zm-59 119.4c.6 22.7 12.2 41.8 32.4 52.2l-11 51.7h73.7l-11-51.7c20.1-10.9 32.1-29 32.4-52.2-.4-32.8-25.8-57.5-58.3-58.3-32.1.8-57.3 24.8-58.2 58.3zM256 160\"],\n \"opera\": [496, 512, [], \"f26a\", \"M313.9 32.7c-170.2 0-252.6 223.8-147.5 355.1 36.5 45.4 88.6 75.6 147.5 75.6 36.3 0 70.3-11.1 99.4-30.4-43.8 39.2-101.9 63-165.3 63-3.9 0-8 0-11.9-.3C104.6 489.6 0 381.1 0 248 0 111 111 0 248 0h.8c63.1.3 120.7 24.1 164.4 63.1-29-19.4-63.1-30.4-99.3-30.4zm101.8 397.7c-40.9 24.7-90.7 23.6-132-5.8 56.2-20.5 97.7-91.6 97.7-176.6 0-84.7-41.2-155.8-97.4-176.6 41.8-29.2 91.2-30.3 132.9-5 105.9 98.7 105.5 265.7-1.2 364z\"],\n \"itch-io\": [512, 512, [], \"f83a\", \"M71.92 34.77C50.2 47.67 7.4 96.84 7 109.73v21.34c0 27.06 25.29 50.84 48.25 50.84 27.57 0 50.54-22.85 50.54-50 0 27.12 22.18 50 49.76 50s49-22.85 49-50c0 27.12 23.59 50 51.16 50h.5c27.57 0 51.16-22.85 51.16-50 0 27.12 21.47 50 49 50s49.76-22.85 49.76-50c0 27.12 23 50 50.54 50 23 0 48.25-23.78 48.25-50.84v-21.34c-.4-12.9-43.2-62.07-64.92-75C372.56 32.4 325.76 32 256 32S91.14 33.1 71.92 34.77zm132.32 134.39c-22 38.4-77.9 38.71-99.85.25-13.17 23.14-43.17 32.07-56 27.66-3.87 40.15-13.67 237.13 17.73 269.15 80 18.67 302.08 18.12 379.76 0 31.65-32.27 21.32-232 17.75-269.15-12.92 4.44-42.88-4.6-56-27.66-22 38.52-77.85 38.1-99.85-.24-7.1 12.49-23.05 28.94-51.76 28.94a57.54 57.54 0 0 1-51.75-28.94zm-41.58 53.77c16.47 0 31.09 0 49.22 19.78a436.91 436.91 0 0 1 88.18 0C318.22 223 332.85 223 349.31 223c52.33 0 65.22 77.53 83.87 144.45 17.26 62.15-5.52 63.67-33.95 63.73-42.15-1.57-65.49-32.18-65.49-62.79-39.25 6.43-101.93 8.79-155.55 0 0 30.61-23.34 61.22-65.49 62.79-28.42-.06-51.2-1.58-33.94-63.73 18.67-67 31.56-144.45 83.88-144.45zM256 270.79s-44.38 40.77-52.35 55.21l29-1.17v25.32c0 1.55 21.34.16 23.33.16 11.65.54 23.31 1 23.31-.16v-25.28l29 1.17c-8-14.48-52.35-55.24-52.35-55.24z\"],\n \"umbraco\": [510, 512, [], \"f8e8\", \"M255.35 8C118.36 7.83 7.14 118.72 7 255.68c-.07 137 111 248.2 248 248.27 136.85 0 247.82-110.7 248-247.67S392.34 8.17 255.35 8zm145 266q-1.14 40.68-14 65t-43.51 35q-30.61 10.7-85.45 10.47h-4.6q-54.78.22-85.44-10.47t-43.52-35q-12.85-24.36-14-65a224.81 224.81 0 0 1 0-30.71 418.37 418.37 0 0 1 3.6-43.88c1.88-13.39 3.57-22.58 5.4-32 1-4.88 1.28-6.42 1.82-8.45a5.09 5.09 0 0 1 4.9-3.89h.69l32 5a5.07 5.07 0 0 1 4.16 5 5 5 0 0 1 0 .77l-1.7 8.78q-2.41 13.25-4.84 33.68a380.62 380.62 0 0 0-2.64 42.15q-.28 40.43 8.13 59.83a43.87 43.87 0 0 0 31.31 25.18A243 243 0 0 0 250 340.6h10.25a242.64 242.64 0 0 0 57.27-5.16 43.86 43.86 0 0 0 31.15-25.23q8.53-19.42 8.13-59.78a388 388 0 0 0-2.6-42.15q-2.48-20.38-4.89-33.68l-1.69-8.78a5 5 0 0 1 0-.77 5 5 0 0 1 4.2-5l32-5h.82a5 5 0 0 1 4.9 3.89c.55 2.05.81 3.57 1.83 8.45 1.82 9.62 3.52 18.78 5.39 32a415.71 415.71 0 0 1 3.61 43.88 228.06 228.06 0 0 1-.04 30.73z\"],\n \"galactic-senate\": [512, 512, [], \"f50d\", \"M249.86 33.48v26.07C236.28 80.17 226 168.14 225.39 274.9c11.74-15.62 19.13-33.33 19.13-48.24v-16.88c-.03-5.32.75-10.53 2.19-15.65.65-2.14 1.39-4.08 2.62-5.82 1.23-1.75 3.43-3.79 6.68-3.79 3.24 0 5.45 2.05 6.68 3.79 1.23 1.75 1.97 3.68 2.62 5.82 1.44 5.12 2.22 10.33 2.19 15.65v16.88c0 14.91 7.39 32.62 19.13 48.24-.63-106.76-10.91-194.73-24.49-215.35V33.48h-12.28zm-26.34 147.77c-9.52 2.15-18.7 5.19-27.46 9.08 8.9 16.12 9.76 32.64 1.71 37.29-8 4.62-21.85-4.23-31.36-19.82-11.58 8.79-21.88 19.32-30.56 31.09 14.73 9.62 22.89 22.92 18.32 30.66-4.54 7.7-20.03 7.14-35.47-.96-5.78 13.25-9.75 27.51-11.65 42.42 9.68.18 18.67 2.38 26.18 6.04 17.78-.3 32.77-1.96 40.49-4.22 5.55-26.35 23.02-48.23 46.32-59.51.73-25.55 1.88-49.67 3.48-72.07zm64.96 0c1.59 22.4 2.75 46.52 3.47 72.07 23.29 11.28 40.77 33.16 46.32 59.51 7.72 2.26 22.71 3.92 40.49 4.22 7.51-3.66 16.5-5.85 26.18-6.04-1.9-14.91-5.86-29.17-11.65-42.42-15.44 8.1-30.93 8.66-35.47.96-4.57-7.74 3.6-21.05 18.32-30.66-8.68-11.77-18.98-22.3-30.56-31.09-9.51 15.59-23.36 24.44-31.36 19.82-8.05-4.65-7.19-21.16 1.71-37.29a147.49 147.49 0 0 0-27.45-9.08zm-32.48 8.6c-3.23 0-5.86 8.81-6.09 19.93h-.05v16.88c0 41.42-49.01 95.04-93.49 95.04-52 0-122.75-1.45-156.37 29.17v2.51c9.42 17.12 20.58 33.17 33.18 47.97C45.7 380.26 84.77 360.4 141.2 360c45.68 1.02 79.03 20.33 90.76 40.87.01.01-.01.04 0 .05 7.67 2.14 15.85 3.23 24.04 3.21 8.19.02 16.37-1.07 24.04-3.21.01-.01-.01-.04 0-.05 11.74-20.54 45.08-39.85 90.76-40.87 56.43.39 95.49 20.26 108.02 41.35 12.6-14.8 23.76-30.86 33.18-47.97v-2.51c-33.61-30.62-104.37-29.17-156.37-29.17-44.48 0-93.49-53.62-93.49-95.04v-16.88h-.05c-.23-11.12-2.86-19.93-6.09-19.93zm0 96.59c22.42 0 40.6 18.18 40.6 40.6s-18.18 40.65-40.6 40.65-40.6-18.23-40.6-40.65c0-22.42 18.18-40.6 40.6-40.6zm0 7.64c-18.19 0-32.96 14.77-32.96 32.96S237.81 360 256 360s32.96-14.77 32.96-32.96-14.77-32.96-32.96-32.96zm0 6.14c14.81 0 26.82 12.01 26.82 26.82s-12.01 26.82-26.82 26.82-26.82-12.01-26.82-26.82 12.01-26.82 26.82-26.82zm-114.8 66.67c-10.19.07-21.6.36-30.5 1.66.43 4.42 1.51 18.63 7.11 29.76 9.11-2.56 18.36-3.9 27.62-3.9 41.28.94 71.48 34.35 78.26 74.47l.11 4.7c10.4 1.91 21.19 2.94 32.21 2.94 11.03 0 21.81-1.02 32.21-2.94l.11-4.7c6.78-40.12 36.98-73.53 78.26-74.47 9.26 0 18.51 1.34 27.62 3.9 5.6-11.13 6.68-25.34 7.11-29.76-8.9-1.3-20.32-1.58-30.5-1.66-18.76.42-35.19 4.17-48.61 9.67-12.54 16.03-29.16 30.03-49.58 33.07-.09.02-.17.04-.27.05-.05.01-.11.04-.16.05-5.24 1.07-10.63 1.6-16.19 1.6-5.55 0-10.95-.53-16.19-1.6-.05-.01-.11-.04-.16-.05-.1-.02-.17-.04-.27-.05-20.42-3.03-37.03-17.04-49.58-33.07-13.42-5.49-29.86-9.25-48.61-9.67z\"],\n \"ubuntu\": [496, 512, [], \"f7df\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm52.7 93c8.8-15.2 28.3-20.5 43.5-11.7 15.3 8.8 20.5 28.3 11.7 43.6-8.8 15.2-28.3 20.5-43.5 11.7-15.3-8.9-20.5-28.4-11.7-43.6zM87.4 287.9c-17.6 0-31.9-14.3-31.9-31.9 0-17.6 14.3-31.9 31.9-31.9 17.6 0 31.9 14.3 31.9 31.9 0 17.6-14.3 31.9-31.9 31.9zm28.1 3.1c22.3-17.9 22.4-51.9 0-69.9 8.6-32.8 29.1-60.7 56.5-79.1l23.7 39.6c-51.5 36.3-51.5 112.5 0 148.8L172 370c-27.4-18.3-47.8-46.3-56.5-79zm228.7 131.7c-15.3 8.8-34.7 3.6-43.5-11.7-8.8-15.3-3.6-34.8 11.7-43.6 15.2-8.8 34.7-3.6 43.5 11.7 8.8 15.3 3.6 34.8-11.7 43.6zm.3-69.5c-26.7-10.3-56.1 6.6-60.5 35-5.2 1.4-48.9 14.3-96.7-9.4l22.5-40.3c57 26.5 123.4-11.7 128.9-74.4l46.1.7c-2.3 34.5-17.3 65.5-40.3 88.4zm-5.9-105.3c-5.4-62-71.3-101.2-128.9-74.4l-22.5-40.3c47.9-23.7 91.5-10.8 96.7-9.4 4.4 28.3 33.8 45.3 60.5 35 23.1 22.9 38 53.9 40.2 88.5l-46 .6z\"],\n \"draft2digital\": [480, 512, [], \"f396\", \"M480 398.1l-144-82.2v64.7h-91.3c30.8-35 81.8-95.9 111.8-149.3 35.2-62.6 16.1-123.4-12.8-153.3-4.4-4.6-62.2-62.9-166-41.2-59.1 12.4-89.4 43.4-104.3 67.3-13.1 20.9-17 39.8-18.2 47.7-5.5 33 19.4 67.1 56.7 67.1 31.7 0 57.3-25.7 57.3-57.4 0-27.1-19.7-52.1-48-56.8 1.8-7.3 17.7-21.1 26.3-24.7 41.1-17.3 78 5.2 83.3 33.5 8.3 44.3-37.1 90.4-69.7 127.6C84.5 328.1 18.3 396.8 0 415.9l336-.1V480zM369.9 371l47.1 27.2-47.1 27.2zM134.2 161.4c0 12.4-10 22.4-22.4 22.4s-22.4-10-22.4-22.4 10-22.4 22.4-22.4 22.4 10.1 22.4 22.4zM82.5 380.5c25.6-27.4 97.7-104.7 150.8-169.9 35.1-43.1 40.3-82.4 28.4-112.7-7.4-18.8-17.5-30.2-24.3-35.7 45.3 2.1 68 23.4 82.2 38.3 0 0 42.4 48.2 5.8 113.3-37 65.9-110.9 147.5-128.5 166.7z\"],\n \"stripe\": [640, 512, [], \"f429\", \"M165 144.7l-43.3 9.2-.2 142.4c0 26.3 19.8 43.3 46.1 43.3 14.6 0 25.3-2.7 31.2-5.9v-33.8c-5.7 2.3-33.7 10.5-33.7-15.7V221h33.7v-37.8h-33.7zm89.1 51.6l-2.7-13.1H213v153.2h44.3V233.3c10.5-13.8 28.2-11.1 33.9-9.3v-40.8c-6-2.1-26.7-6-37.1 13.1zm92.3-72.3l-44.6 9.5v36.2l44.6-9.5zM44.9 228.3c0-6.9 5.8-9.6 15.1-9.7 13.5 0 30.7 4.1 44.2 11.4v-41.8c-14.7-5.8-29.4-8.1-44.1-8.1-36 0-60 18.8-60 50.2 0 49.2 67.5 41.2 67.5 62.4 0 8.2-7.1 10.9-17 10.9-14.7 0-33.7-6.1-48.6-14.2v40c16.5 7.1 33.2 10.1 48.5 10.1 36.9 0 62.3-15.8 62.3-47.8 0-52.9-67.9-43.4-67.9-63.4zM640 261.6c0-45.5-22-81.4-64.2-81.4s-67.9 35.9-67.9 81.1c0 53.5 30.3 78.2 73.5 78.2 21.2 0 37.1-4.8 49.2-11.5v-33.4c-12.1 6.1-26 9.8-43.6 9.8-17.3 0-32.5-6.1-34.5-26.9h86.9c.2-2.3.6-11.6.6-15.9zm-87.9-16.8c0-20 12.3-28.4 23.4-28.4 10.9 0 22.5 8.4 22.5 28.4zm-112.9-64.6c-17.4 0-28.6 8.2-34.8 13.9l-2.3-11H363v204.8l44.4-9.4.1-50.2c6.4 4.7 15.9 11.2 31.4 11.2 31.8 0 60.8-23.2 60.8-79.6.1-51.6-29.3-79.7-60.5-79.7zm-10.6 122.5c-10.4 0-16.6-3.8-20.9-8.4l-.3-66c4.6-5.1 11-8.8 21.2-8.8 16.2 0 27.4 18.2 27.4 41.4.1 23.9-10.9 41.8-27.4 41.8zm-126.7 33.7h44.6V183.2h-44.6z\"],\n \"houzz\": [448, 512, [], \"f27c\", \"M275.9 330.7H171.3V480H17V32h109.5v104.5l305.1 85.6V480H275.9z\"],\n \"gg\": [512, 512, [], \"f260\", \"M179.2 230.4l102.4 102.4-102.4 102.4L0 256 179.2 76.8l44.8 44.8-25.6 25.6-19.2-19.2-128 128 128 128 51.5-51.5-77.1-76.5 25.6-25.6zM332.8 76.8L230.4 179.2l102.4 102.4 25.6-25.6-77.1-76.5 51.5-51.5 128 128-128 128-19.2-19.2-25.6 25.6 44.8 44.8L512 256 332.8 76.8z\"],\n \"dhl\": [640, 512, [], \"f790\", \"M238 301.2h58.7L319 271h-58.7L238 301.2zM0 282.9v6.4h81.8l4.7-6.4H0zM172.9 271c-8.7 0-6-3.6-4.6-5.5 2.8-3.8 7.6-10.4 10.4-14.1 2.8-3.7 2.8-5.9-2.8-5.9h-51l-41.1 55.8h100.1c33.1 0 51.5-22.5 57.2-30.3h-68.2zm317.5-6.9l39.3-53.4h-62.2l-39.3 53.4h62.2zM95.3 271H0v6.4h90.6l4.7-6.4zm111-26.6c-2.8 3.8-7.5 10.4-10.3 14.2-1.4 2-4.1 5.5 4.6 5.5h45.6s7.3-10 13.5-18.4c8.4-11.4.7-35-29.2-35H112.6l-20.4 27.8h111.4c5.6 0 5.5 2.2 2.7 5.9zM0 301.2h73.1l4.7-6.4H0v6.4zm323 0h58.7L404 271h-58.7c-.1 0-22.3 30.2-22.3 30.2zm222 .1h95v-6.4h-90.3l-4.7 6.4zm22.3-30.3l-4.7 6.4H640V271h-72.7zm-13.5 18.3H640v-6.4h-81.5l-4.7 6.4zm-164.2-78.6l-22.5 30.6h-26.2l22.5-30.6h-58.7l-39.3 53.4H409l39.3-53.4h-58.7zm33.5 60.3s-4.3 5.9-6.4 8.7c-7.4 10-.9 21.6 23.2 21.6h94.3l22.3-30.3H423.1z\"],\n \"square-pinterest\": [448, 512, [\"pinterest-square\"], \"f0d3\", \"M448 80v352c0 26.5-21.5 48-48 48H154.4c9.8-16.4 22.4-40 27.4-59.3 3-11.5 15.3-58.4 15.3-58.4 8 15.3 31.4 28.2 56.3 28.2 74.1 0 127.4-68.1 127.4-152.7 0-81.1-66.2-141.8-151.4-141.8-106 0-162.2 71.1-162.2 148.6 0 36 19.2 80.8 49.8 95.1 4.7 2.2 7.1 1.2 8.2-3.3.8-3.4 5-20.1 6.8-27.8.6-2.5.3-4.6-1.7-7-10.1-12.3-18.3-34.9-18.3-56 0-54.2 41-106.6 110.9-106.6 60.3 0 102.6 41.1 102.6 99.9 0 66.4-33.5 112.4-77.2 112.4-24.1 0-42.1-19.9-36.4-44.4 6.9-29.2 20.3-60.7 20.3-81.8 0-53-75.5-45.7-75.5 25 0 21.7 7.3 36.5 7.3 36.5-31.4 132.8-36.1 134.5-29.6 192.6l2.2.8H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48z\"],\n \"xing\": [384, 512, [], \"f168\", \"M162.7 210c-1.8 3.3-25.2 44.4-70.1 123.5-4.9 8.3-10.8 12.5-17.7 12.5H9.8c-7.7 0-12.1-7.5-8.5-14.4l69-121.3c.2 0 .2-.1 0-.3l-43.9-75.6c-4.3-7.8.3-14.1 8.5-14.1H100c7.3 0 13.3 4.1 18 12.2l44.7 77.5zM382.6 46.1l-144 253v.3L330.2 466c3.9 7.1.2 14.1-8.5 14.1h-65.2c-7.6 0-13.6-4-18-12.2l-92.4-168.5c3.3-5.8 51.5-90.8 144.8-255.2 4.6-8.1 10.4-12.2 17.5-12.2h65.7c8 0 12.3 6.7 8.5 14.1z\"],\n \"blackberry\": [512, 512, [], \"f37b\", \"M166 116.9c0 23.4-16.4 49.1-72.5 49.1H23.4l21-88.8h67.8c42.1 0 53.8 23.3 53.8 39.7zm126.2-39.7h-67.8L205.7 166h70.1c53.8 0 70.1-25.7 70.1-49.1.1-16.4-11.6-39.7-53.7-39.7zM88.8 208.1H21L0 296.9h70.1c56.1 0 72.5-23.4 72.5-49.1 0-16.3-11.7-39.7-53.8-39.7zm180.1 0h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1 0-16.3-11.7-39.7-53.7-39.7zm189.3-53.8h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7zm-28 137.9h-67.8L343.7 381h70.1c56.1 0 70.1-23.4 70.1-49.1 0-16.3-11.6-39.7-53.7-39.7zM240.8 346H173l-18.7 88.8h70.1c56.1 0 70.1-25.7 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7z\"],\n \"creative-commons-pd\": [496, 512, [], \"f4ec\", \"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm0 449.5c-139.2 0-235.8-138-190.2-267.9l78.8 35.1c-2.1 10.5-3.3 21.5-3.3 32.9 0 99 73.9 126.9 120.4 126.9 22.9 0 53.5-6.7 79.4-29.5L297 311.1c-5.5 6.3-17.6 16.7-36.3 16.7-37.8 0-53.7-39.9-53.9-71.9 230.4 102.6 216.5 96.5 217.9 96.8-34.3 62.4-100.6 104.8-176.7 104.8zm194.2-150l-224-100c18.8-34 54.9-30.7 74.7-11l40.4-41.6c-27.1-23.3-58-27.5-78.1-27.5-47.4 0-80.9 20.5-100.7 51.6l-74.9-33.4c36.1-54.9 98.1-91.2 168.5-91.2 111.1 0 201.5 90.4 201.5 201.5 0 18-2.4 35.4-6.8 52-.3-.1-.4-.2-.6-.4z\"],\n \"playstation\": [576, 512, [], \"f3df\", \"M570.9 372.3c-11.3 14.2-38.8 24.3-38.8 24.3L327 470.2v-54.3l150.9-53.8c17.1-6.1 19.8-14.8 5.8-19.4-13.9-4.6-39.1-3.3-56.2 2.9L327 381.1v-56.4c23.2-7.8 47.1-13.6 75.7-16.8 40.9-4.5 90.9.6 130.2 15.5 44.2 14 49.2 34.7 38 48.9zm-224.4-92.5v-139c0-16.3-3-31.3-18.3-35.6-11.7-3.8-19 7.1-19 23.4v347.9l-93.8-29.8V32c39.9 7.4 98 24.9 129.2 35.4C424.1 94.7 451 128.7 451 205.2c0 74.5-46 102.8-104.5 74.6zM43.2 410.2c-45.4-12.8-53-39.5-32.3-54.8 19.1-14.2 51.7-24.9 51.7-24.9l134.5-47.8v54.5l-96.8 34.6c-17.1 6.1-19.7 14.8-5.8 19.4 13.9 4.6 39.1 3.3 56.2-2.9l46.4-16.9v48.8c-51.6 9.3-101.4 7.3-153.9-10z\"],\n \"quinscape\": [512, 512, [], \"f459\", \"M313.6 474.6h-1a158.1 158.1 0 0 1 0-316.2c94.9 0 168.2 83.1 157 176.6 4 5.1 8.2 9.6 11.2 15.3 13.4-30.3 20.3-62.4 20.3-97.7C501.1 117.5 391.6 8 256.5 8S12 117.5 12 252.6s109.5 244.6 244.5 244.6a237.36 237.36 0 0 0 70.4-10.1c-5.2-3.5-8.9-8.1-13.3-12.5zm-.1-.1l.4.1zm78.4-168.9a99.2 99.2 0 1 0 99.2 99.2 99.18 99.18 0 0 0-99.2-99.2z\"],\n \"less\": [640, 512, [], \"f41d\", \"M612.7 219c0-20.5 3.2-32.6 3.2-54.6 0-34.2-12.6-45.2-40.5-45.2h-20.5v24.2h6.3c14.2 0 17.3 4.7 17.3 22.1 0 16.3-1.6 32.6-1.6 51.5 0 24.2 7.9 33.6 23.6 37.3v1.6c-15.8 3.7-23.6 13.1-23.6 37.3 0 18.9 1.6 34.2 1.6 51.5 0 17.9-3.7 22.6-17.3 22.6v.5h-6.3V393h20.5c27.8 0 40.5-11 40.5-45.2 0-22.6-3.2-34.2-3.2-54.6 0-11 6.8-22.6 27.3-23.6v-27.3c-20.5-.7-27.3-12.3-27.3-23.3zm-105.6 32c-15.8-6.3-30.5-10-30.5-20.5 0-7.9 6.3-12.6 17.9-12.6s22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-21 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51s-22.5-41-43-47.8zm-358.9 59.4c-3.7 0-8.4-3.2-8.4-13.1V119.1H65.2c-28.4 0-41 11-41 45.2 0 22.6 3.2 35.2 3.2 54.6 0 11-6.8 22.6-27.3 23.6v27.3c20.5.5 27.3 12.1 27.3 23.1 0 19.4-3.2 31-3.2 53.6 0 34.2 12.6 45.2 40.5 45.2h20.5v-24.2h-6.3c-13.1 0-17.3-5.3-17.3-22.6s1.6-32.1 1.6-51.5c0-24.2-7.9-33.6-23.6-37.3v-1.6c15.8-3.7 23.6-13.1 23.6-37.3 0-18.9-1.6-34.2-1.6-51.5s3.7-22.1 17.3-22.1H93v150.8c0 32.1 11 53.1 43.1 53.1 10 0 17.9-1.6 23.6-3.7l-5.3-34.2c-3.1.8-4.6.8-6.2.8zM379.9 251c-16.3-6.3-31-10-31-20.5 0-7.9 6.3-12.6 17.9-12.6 11.6 0 22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-20.5 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51 .1-28.9-22.5-41-43-47.8zm-155-68.8c-38.4 0-75.1 32.1-74.1 82.5 0 52 34.2 82.5 79.3 82.5 18.9 0 39.9-6.8 56.2-17.9l-15.8-27.8c-11.6 6.8-22.6 10-34.2 10-21 0-37.3-10-41.5-34.2H290c.5-3.7 1.6-11 1.6-19.4.6-42.6-22.6-75.7-66.7-75.7zm-30 66.2c3.2-21 15.8-31 30.5-31 18.9 0 26.3 13.1 26.3 31h-56.8z\"],\n \"blogger-b\": [448, 512, [], \"f37d\", \"M446.6 222.7c-1.8-8-6.8-15.4-12.5-18.5-1.8-1-13-2.2-25-2.7-20.1-.9-22.3-1.3-28.7-5-10.1-5.9-12.8-12.3-12.9-29.5-.1-33-13.8-63.7-40.9-91.3-19.3-19.7-40.9-33-65.5-40.5-5.9-1.8-19.1-2.4-63.3-2.9-69.4-.8-84.8.6-108.4 10C45.9 59.5 14.7 96.1 3.3 142.9 1.2 151.7.7 165.8.2 246.8c-.6 101.5.1 116.4 6.4 136.5 15.6 49.6 59.9 86.3 104.4 94.3 14.8 2.7 197.3 3.3 216 .8 32.5-4.4 58-17.5 81.9-41.9 17.3-17.7 28.1-36.8 35.2-62.1 4.9-17.6 4.5-142.8 2.5-151.7zm-322.1-63.6c7.8-7.9 10-8.2 58.8-8.2 43.9 0 45.4.1 51.8 3.4 9.3 4.7 13.4 11.3 13.4 21.9 0 9.5-3.8 16.2-12.3 21.6-4.6 2.9-7.3 3.1-50.3 3.3-26.5.2-47.7-.4-50.8-1.2-16.6-4.7-22.8-28.5-10.6-40.8zm191.8 199.8l-14.9 2.4-77.5.9c-68.1.8-87.3-.4-90.9-2-7.1-3.1-13.8-11.7-14.9-19.4-1.1-7.3 2.6-17.3 8.2-22.4 7.1-6.4 10.2-6.6 97.3-6.7 89.6-.1 89.1-.1 97.6 7.8 12.1 11.3 9.5 31.2-4.9 39.4z\"],\n \"opencart\": [640, 512, [], \"f23d\", \"M423.3 440.7c0 25.3-20.3 45.6-45.6 45.6s-45.8-20.3-45.8-45.6 20.6-45.8 45.8-45.8c25.4 0 45.6 20.5 45.6 45.8zm-253.9-45.8c-25.3 0-45.6 20.6-45.6 45.8s20.3 45.6 45.6 45.6 45.8-20.3 45.8-45.6-20.5-45.8-45.8-45.8zm291.7-270C158.9 124.9 81.9 112.1 0 25.7c34.4 51.7 53.3 148.9 373.1 144.2 333.3-5 130 86.1 70.8 188.9 186.7-166.7 319.4-233.9 17.2-233.9z\"],\n \"vine\": [384, 512, [], \"f1ca\", \"M384 254.7v52.1c-18.4 4.2-36.9 6.1-52.1 6.1-36.9 77.4-103 143.8-125.1 156.2-14 7.9-27.1 8.4-42.7-.8C137 452 34.2 367.7 0 102.7h74.5C93.2 261.8 139 343.4 189.3 404.5c27.9-27.9 54.8-65.1 75.6-106.9-49.8-25.3-80.1-80.9-80.1-145.6 0-65.6 37.7-115.1 102.2-115.1 114.9 0 106.2 127.9 81.6 181.5 0 0-46.4 9.2-63.5-20.5 3.4-11.3 8.2-30.8 8.2-48.5 0-31.3-11.3-46.6-28.4-46.6-18.2 0-30.8 17.1-30.8 50 .1 79.2 59.4 118.7 129.9 101.9z\"],\n \"paypal\": [384, 512, [], \"f1ed\", \"M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z\"],\n \"gitlab\": [512, 512, [], \"f296\", \"M503.5 204.6L502.8 202.8L433.1 21.02C431.7 17.45 429.2 14.43 425.9 12.38C423.5 10.83 420.8 9.865 417.9 9.57C415 9.275 412.2 9.653 409.5 10.68C406.8 11.7 404.4 13.34 402.4 15.46C400.5 17.58 399.1 20.13 398.3 22.9L351.3 166.9H160.8L113.7 22.9C112.9 20.13 111.5 17.59 109.6 15.47C107.6 13.35 105.2 11.72 102.5 10.7C99.86 9.675 96.98 9.295 94.12 9.587C91.26 9.878 88.51 10.83 86.08 12.38C82.84 14.43 80.33 17.45 78.92 21.02L9.267 202.8L8.543 204.6C-1.484 230.8-2.72 259.6 5.023 286.6C12.77 313.5 29.07 337.3 51.47 354.2L51.74 354.4L52.33 354.8L158.3 434.3L210.9 474L242.9 498.2C246.6 500.1 251.2 502.5 255.9 502.5C260.6 502.5 265.2 500.1 268.9 498.2L300.9 474L353.5 434.3L460.2 354.4L460.5 354.1C482.9 337.2 499.2 313.5 506.1 286.6C514.7 259.6 513.5 230.8 503.5 204.6z\"],\n \"typo3\": [448, 512, [], \"f42b\", \"M178.7 78.4c0-24.7 5.4-32.4 13.9-39.4-69.5 8.5-149.3 34-176.3 66.4-5.4 7.7-9.3 20.8-9.3 37.1C7 246 113.8 480 191.1 480c36.3 0 97.3-59.5 146.7-139-7 2.3-11.6 2.3-18.5 2.3-57.2 0-140.6-198.5-140.6-264.9zM301.5 32c-30.1 0-41.7 5.4-41.7 36.3 0 66.4 53.8 198.5 101.7 198.5 26.3 0 78.8-99.7 78.8-182.3 0-40.9-67-52.5-138.8-52.5z\"],\n \"reddit-alien\": [512, 512, [], \"f281\", \"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"],\n \"yahoo\": [512, 512, [], \"f19e\", \"M223.69,141.06,167,284.23,111,141.06H14.93L120.76,390.19,82.19,480h94.17L317.27,141.06Zm105.4,135.79a58.22,58.22,0,1,0,58.22,58.22A58.22,58.22,0,0,0,329.09,276.85ZM394.65,32l-93,223.47H406.44L499.07,32Z\"],\n \"dailymotion\": [448, 512, [], \"e052\", \"M298.93,267a48.4,48.4,0,0,0-24.36-6.21q-19.83,0-33.44,13.27t-13.61,33.42q0,21.16,13.28,34.6t33.43,13.44q20.5,0,34.11-13.78T322,307.47A47.13,47.13,0,0,0,315.9,284,44.13,44.13,0,0,0,298.93,267ZM0,32V480H448V32ZM374.71,405.26h-53.1V381.37h-.67q-15.79,26.2-55.78,26.2-27.56,0-48.89-13.1a88.29,88.29,0,0,1-32.94-35.77q-11.6-22.68-11.59-50.89,0-27.56,11.76-50.22a89.9,89.9,0,0,1,32.93-35.78q21.18-13.09,47.72-13.1a80.87,80.87,0,0,1,29.74,5.21q13.28,5.21,25,17V153l55.79-12.09Z\"],\n \"affiliatetheme\": [512, 512, [], \"f36b\", \"M159.7 237.4C108.4 308.3 43.1 348.2 14 326.6-15.2 304.9 2.8 230 54.2 159.1c51.3-70.9 116.6-110.8 145.7-89.2 29.1 21.6 11.1 96.6-40.2 167.5zm351.2-57.3C437.1 303.5 319 367.8 246.4 323.7c-25-15.2-41.3-41.2-49-73.8-33.6 64.8-92.8 113.8-164.1 133.2 49.8 59.3 124.1 96.9 207 96.9 150 0 271.6-123.1 271.6-274.9.1-8.5-.3-16.8-1-25z\"],\n \"pied-piper-pp\": [448, 512, [], \"f1a7\", \"M205.3 174.6c0 21.1-14.2 38.1-31.7 38.1-7.1 0-12.8-1.2-17.2-3.7v-68c4.4-2.7 10.1-4.2 17.2-4.2 17.5 0 31.7 16.9 31.7 37.8zm52.6 67c-7.1 0-12.8 1.5-17.2 4.2v68c4.4 2.5 10.1 3.7 17.2 3.7 17.4 0 31.7-16.9 31.7-37.8 0-21.1-14.3-38.1-31.7-38.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM185 255.1c41 0 74.2-35.6 74.2-79.6 0-44-33.2-79.6-74.2-79.6-12 0-24.1 3.2-34.6 8.8h-45.7V311l51.8-10.1v-50.6c8.6 3.1 18.1 4.8 28.5 4.8zm158.4 25.3c0-44-33.2-79.6-73.9-79.6-3.2 0-6.4.2-9.6.7-3.7 12.5-10.1 23.8-19.2 33.4-13.8 15-32.2 23.8-51.8 24.8V416l51.8-10.1v-50.6c8.6 3.2 18.2 4.7 28.7 4.7 40.8 0 74-35.6 74-79.6z\"],\n \"bootstrap\": [576, 512, [], \"f836\", \"M333.5,201.4c0-22.1-15.6-34.3-43-34.3h-50.4v71.2h42.5C315.4,238.2,333.5,225,333.5,201.4z M517,188.6 c-9.5-30.9-10.9-68.8-9.8-98.1c1.1-30.5-22.7-58.5-54.7-58.5H123.7c-32.1,0-55.8,28.1-54.7,58.5c1,29.3-0.3,67.2-9.8,98.1 c-9.6,31-25.7,50.6-52.2,53.1v28.5c26.4,2.5,42.6,22.1,52.2,53.1c9.5,30.9,10.9,68.8,9.8,98.1c-1.1,30.5,22.7,58.5,54.7,58.5h328.7 c32.1,0,55.8-28.1,54.7-58.5c-1-29.3,0.3-67.2,9.8-98.1c9.6-31,25.7-50.6,52.1-53.1v-28.5C542.7,239.2,526.5,219.6,517,188.6z M300.2,375.1h-97.9V136.8h97.4c43.3,0,71.7,23.4,71.7,59.4c0,25.3-19.1,47.9-43.5,51.8v1.3c33.2,3.6,55.5,26.6,55.5,58.3 C383.4,349.7,352.1,375.1,300.2,375.1z M290.2,266.4h-50.1v78.4h52.3c34.2,0,52.3-13.7,52.3-39.5 C344.7,279.6,326.1,266.4,290.2,266.4z\"],\n \"odnoklassniki\": [320, 512, [], \"f263\", \"M275.1 334c-27.4 17.4-65.1 24.3-90 26.9l20.9 20.6 76.3 76.3c27.9 28.6-17.5 73.3-45.7 45.7-19.1-19.4-47.1-47.4-76.3-76.6L84 503.4c-28.2 27.5-73.6-17.6-45.4-45.7 19.4-19.4 47.1-47.4 76.3-76.3l20.6-20.6c-24.6-2.6-62.9-9.1-90.6-26.9-32.6-21-46.9-33.3-34.3-59 7.4-14.6 27.7-26.9 54.6-5.7 0 0 36.3 28.9 94.9 28.9s94.9-28.9 94.9-28.9c26.9-21.1 47.1-8.9 54.6 5.7 12.4 25.7-1.9 38-34.5 59.1zM30.3 129.7C30.3 58 88.6 0 160 0s129.7 58 129.7 129.7c0 71.4-58.3 129.4-129.7 129.4s-129.7-58-129.7-129.4zm66 0c0 35.1 28.6 63.7 63.7 63.7s63.7-28.6 63.7-63.7c0-35.4-28.6-64-63.7-64s-63.7 28.6-63.7 64z\"],\n \"nfc-symbol\": [576, 512, [], \"e531\", \"M392.9 32.43C400.6 31.1 408.6 32.89 414.1 37.41C498.2 96.14 544 173.7 544 255.1C544 338.2 498.2 415.9 414.1 474.6C409.3 478.6 402.4 480.5 395.5 479.9C388.5 479.3 382 476.3 377.1 471.4L193.7 288.7C188.1 283.2 185 275.7 184.1 267.8C184.1 260 188.1 252.5 193.6 246.9C199.2 241.4 206.7 238.2 214.5 238.2C222.4 238.2 229.9 241.3 235.4 246.8L400.5 411.2C455.1 366.5 484.8 312 484.8 255.1C484.8 193.5 447.9 132.9 380.9 85.76C374.5 81.24 370.1 74.35 368.8 66.62C367.4 58.89 369.2 50.94 373.8 44.53C378.3 38.12 385.2 33.77 392.9 32.43V32.43zM186.9 479.6C179.2 480.9 171.3 479.1 164.8 474.6C81.67 415.9 35.84 338.2 35.84 255.1C35.84 173.7 81.67 96.14 164.8 37.41C170.5 33.4 177.4 31.53 184.4 32.12C191.3 32.71 197.8 35.72 202.7 40.63L386.1 223.3C391.7 228.8 394.8 236.3 394.8 244.2C394.9 251.1 391.8 259.5 386.2 265.1C380.7 270.6 373.2 273.8 365.3 273.8C357.5 273.8 349.1 270.7 344.4 265.2L179.3 100.7C124.7 145.9 95.03 199.9 95.03 255.1C95.03 318.5 131.9 379.1 198.1 426.2C205.4 430.8 209.7 437.6 211.1 445.4C212.4 453.1 210.6 461.1 206.1 467.5C201.6 473.9 194.7 478.2 186.9 479.6V479.6z\"],\n \"ethereum\": [320, 512, [], \"f42e\", \"M311.9 260.8L160 353.6 8 260.8 160 0l151.9 260.8zM160 383.4L8 290.6 160 512l152-221.4-152 92.8z\"],\n \"speaker-deck\": [512, 512, [], \"f83c\", \"M213.86 296H100a100 100 0 0 1 0-200h132.84a40 40 0 0 1 0 80H98c-26.47 0-26.45 40 0 40h113.82a100 100 0 0 1 0 200H40a40 40 0 0 1 0-80h173.86c26.48 0 26.46-40 0-40zM298 416a120.21 120.21 0 0 0 51.11-80h64.55a19.83 19.83 0 0 0 19.66-20V196a19.83 19.83 0 0 0-19.66-20H296.42a60.77 60.77 0 0 0 0-80h136.93c43.44 0 78.65 35.82 78.65 80v160c0 44.18-35.21 80-78.65 80z\"],\n \"creative-commons-nc-eu\": [496, 512, [], \"f4e9\", \"M247.7 8C103.6 8 0 124.8 0 256c0 136.3 111.7 248 247.7 248C377.9 504 496 403.1 496 256 496 117 388.4 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-23.2 3.7-45.2 10.9-66l65.7 29.1h-4.7v29.5h23.3c0 6.2-.4 3.2-.4 19.5h-22.8v29.5h27c11.4 67 67.2 101.3 124.6 101.3 26.6 0 50.6-7.9 64.8-15.8l-10-46.1c-8.7 4.6-28.2 10.8-47.3 10.8-28.2 0-58.1-10.9-67.3-50.2h90.3l128.3 56.8c-1.5 2.1-56.2 104.3-178.8 104.3zm-16.7-190.6l-.5-.4.9.4h-.4zm77.2-19.5h3.7v-29.5h-70.3l-28.6-12.6c2.5-5.5 5.4-10.5 8.8-14.3 12.9-15.8 31.1-22.4 51.1-22.4 18.3 0 35.3 5.4 46.1 10l11.6-47.3c-15-6.6-37-12.4-62.3-12.4-39 0-72.2 15.8-95.9 42.3-5.3 6.1-9.8 12.9-13.9 20.1l-81.6-36.1c64.6-96.8 157.7-93.6 170.7-93.6 113 0 203 90.2 203 203.4 0 18.7-2.1 36.3-6.3 52.9l-136.1-60.5z\"],\n \"patreon\": [512, 512, [], \"f3d9\", \"M512 194.8c0 101.3-82.4 183.8-183.8 183.8-101.7 0-184.4-82.4-184.4-183.8 0-101.6 82.7-184.3 184.4-184.3C429.6 10.5 512 93.2 512 194.8zM0 501.5h90v-491H0v491z\"],\n \"avianex\": [512, 512, [], \"f374\", \"M453.1 32h-312c-38.9 0-76.2 31.2-83.3 69.7L1.2 410.3C-5.9 448.8 19.9 480 58.9 480h312c38.9 0 76.2-31.2 83.3-69.7l56.7-308.5c7-38.6-18.8-69.8-57.8-69.8zm-58.2 347.3l-32 13.5-115.4-110c-14.7 10-29.2 19.5-41.7 27.1l22.1 64.2-17.9 12.7-40.6-61-52.4-48.1 15.7-15.4 58 31.1c9.3-10.5 20.8-22.6 32.8-34.9L203 228.9l-68.8-99.8 18.8-28.9 8.9-4.8L265 207.8l4.9 4.5c19.4-18.8 33.8-32.4 33.8-32.4 7.7-6.5 21.5-2.9 30.7 7.9 9 10.5 10.6 24.7 2.7 31.3-1.8 1.3-15.5 11.4-35.3 25.6l4.5 7.3 94.9 119.4-6.3 7.9z\"],\n \"ello\": [496, 512, [], \"f5f1\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm143.84 285.2C375.31 358.51 315.79 404.8 248 404.8s-127.31-46.29-143.84-111.6c-1.65-7.44 2.48-15.71 9.92-17.36 7.44-1.65 15.71 2.48 17.36 9.92 14.05 52.91 62 90.11 116.56 90.11s102.51-37.2 116.56-90.11c1.65-7.44 9.92-12.4 17.36-9.92 7.44 1.65 12.4 9.92 9.92 17.36z\"],\n \"gofore\": [400, 512, [], \"f3a7\", \"M324 319.8h-13.2v34.7c-24.5 23.1-56.3 35.8-89.9 35.8-73.2 0-132.4-60.2-132.4-134.4 0-74.1 59.2-134.4 132.4-134.4 35.3 0 68.6 14 93.6 39.4l62.3-63.3C335 55.3 279.7 32 220.7 32 98 32 0 132.6 0 256c0 122.5 97 224 220.7 224 63.2 0 124.5-26.2 171-82.5-2-27.6-13.4-77.7-67.7-77.7zm-12.1-112.5H205.6v89H324c33.5 0 60.5 15.1 76 41.8v-30.6c0-65.2-40.4-100.2-88.1-100.2z\"],\n \"bimobject\": [448, 512, [], \"f378\", \"M416 32H32C14.4 32 0 46.4 0 64v384c0 17.6 14.4 32 32 32h384c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32zm-64 257.4c0 49.4-11.4 82.6-103.8 82.6h-16.9c-44.1 0-62.4-14.9-70.4-38.8h-.9V368H96V136h64v74.7h1.1c4.6-30.5 39.7-38.8 69.7-38.8h17.3c92.4 0 103.8 33.1 103.8 82.5v35zm-64-28.9v22.9c0 21.7-3.4 33.8-38.4 33.8h-45.3c-28.9 0-44.1-6.5-44.1-35.7v-19c0-29.3 15.2-35.7 44.1-35.7h45.3c35-.2 38.4 12 38.4 33.7z\"],\n \"facebook-f\": [320, 512, [], \"f39e\", \"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"],\n \"square-google-plus\": [448, 512, [\"google-plus-square\"], \"f0d4\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM164 356c-55.3 0-100-44.7-100-100s44.7-100 100-100c27 0 49.5 9.8 67 26.2l-27.1 26.1c-7.4-7.1-20.3-15.4-39.8-15.4-34.1 0-61.9 28.2-61.9 63.2 0 34.9 27.8 63.2 61.9 63.2 39.6 0 54.4-28.5 56.8-43.1H164v-34.4h94.4c1 5 1.6 10.1 1.6 16.6 0 57.1-38.3 97.6-96 97.6zm220-81.8h-29v29h-29.2v-29h-29V245h29v-29H355v29h29v29.2z\"],\n \"mandalorian\": [448, 512, [], \"f50f\", \"M232.27 511.89c-1-3.26-1.69-15.83-1.39-24.58.55-15.89 1-24.72 1.4-28.76.64-6.2 2.87-20.72 3.28-21.38.6-1 .4-27.87-.24-33.13-.31-2.58-.63-11.9-.69-20.73-.13-16.47-.53-20.12-2.73-24.76-1.1-2.32-1.23-3.84-1-11.43a92.38 92.38 0 0 0-.34-12.71c-2-13-3.46-27.7-3.25-33.9s.43-7.15 2.06-9.67c3.05-4.71 6.51-14 8.62-23.27 2.26-9.86 3.88-17.18 4.59-20.74a109.54 109.54 0 0 1 4.42-15.05c2.27-6.25 2.49-15.39.37-15.39-.3 0-1.38 1.22-2.41 2.71s-4.76 4.8-8.29 7.36c-8.37 6.08-11.7 9.39-12.66 12.58s-1 7.23-.16 7.76c.34.21 1.29 2.4 2.11 4.88a28.83 28.83 0 0 1 .72 15.36c-.39 1.77-1 5.47-1.46 8.23s-1 6.46-1.25 8.22a9.85 9.85 0 0 1-1.55 4.26c-1 1-1.14.91-2.05-.53a14.87 14.87 0 0 1-1.44-4.75c-.25-1.74-1.63-7.11-3.08-11.93-3.28-10.9-3.52-16.15-1-21a14.24 14.24 0 0 0 1.67-4.61c0-2.39-2.2-5.32-7.41-9.89-7-6.18-8.63-7.92-10.23-11.3-1.71-3.6-3.06-4.06-4.54-1.54-1.78 3-2.6 9.11-3 22l-.34 12.19 2 2.25c3.21 3.7 12.07 16.45 13.78 19.83 3.41 6.74 4.34 11.69 4.41 23.56s.95 22.75 2 24.71c.36.66.51 1.35.34 1.52s.41 2.09 1.29 4.27a38.14 38.14 0 0 1 2.06 9 91 91 0 0 0 1.71 10.37c2.23 9.56 2.77 14.08 2.39 20.14-.2 3.27-.53 11.07-.73 17.32-1.31 41.76-1.85 58-2 61.21-.12 2-.39 11.51-.6 21.07-.36 16.3-1.3 27.37-2.42 28.65-.64.73-8.07-4.91-12.52-9.49-3.75-3.87-4-4.79-2.83-9.95.7-3 2.26-18.29 3.33-32.62.36-4.78.81-10.5 1-12.71.83-9.37 1.66-20.35 2.61-34.78.56-8.46 1.33-16.44 1.72-17.73s.89-9.89 1.13-19.11l.43-16.77-2.26-4.3c-1.72-3.28-4.87-6.94-13.22-15.34-6-6.07-11.84-12.3-12.91-13.85l-1.95-2.81.75-10.9c1.09-15.71 1.1-48.57 0-59.06l-.89-8.7-3.28-4.52c-5.86-8.08-5.8-7.75-6.22-33.27-.1-6.07-.38-11.5-.63-12.06-.83-1.87-3.05-2.66-8.54-3.05-8.86-.62-11-1.9-23.85-14.55-6.15-6-12.34-12-13.75-13.19-2.81-2.42-2.79-2-.56-9.63l1.35-4.65-1.69-3a32.22 32.22 0 0 0-2.59-4.07c-1.33-1.51-5.5-10.89-6-13.49a4.24 4.24 0 0 1 .87-3.9c2.23-2.86 3.4-5.68 4.45-10.73 2.33-11.19 7.74-26.09 10.6-29.22 3.18-3.47 7.7-1 9.41 5 1.34 4.79 1.37 9.79.1 18.55a101.2 101.2 0 0 0-1 11.11c0 4 .19 4.69 2.25 7.39 3.33 4.37 7.73 7.41 15.2 10.52a18.67 18.67 0 0 1 4.72 2.85c11.17 10.72 18.62 16.18 22.95 16.85 5.18.8 8 4.54 10 13.39 1.31 5.65 4 11.14 5.46 11.14a9.38 9.38 0 0 0 3.33-1.39c2-1.22 2.25-1.73 2.25-4.18a132.88 132.88 0 0 0-2-17.84c-.37-1.66-.78-4.06-.93-5.35s-.61-3.85-1-5.69c-2.55-11.16-3.65-15.46-4.1-16-1.55-2-4.08-10.2-4.93-15.92-1.64-11.11-4-14.23-12.91-17.39A43.15 43.15 0 0 1 165.24 78c-1.15-1-4-3.22-6.35-5.06s-4.41-3.53-4.6-3.76a22.7 22.7 0 0 0-2.69-2c-6.24-4.22-8.84-7-11.26-12l-2.44-5-.22-13-.22-13 6.91-6.55c3.95-3.75 8.48-7.35 10.59-8.43 3.31-1.69 4.45-1.89 11.37-2 8.53-.19 10.12 0 11.66 1.56s1.36 6.4-.29 8.5a6.66 6.66 0 0 0-1.34 2.32c0 .58-2.61 4.91-5.42 9a30.39 30.39 0 0 0-2.37 6.82c20.44 13.39 21.55 3.77 14.07 29L194 66.92c3.11-8.66 6.47-17.26 8.61-26.22.29-7.63-12-4.19-15.4-8.68-2.33-5.93 3.13-14.18 6.06-19.2 1.6-2.34 6.62-4.7 8.82-4.15.88.22 4.16-.35 7.37-1.28a45.3 45.3 0 0 1 7.55-1.68 29.57 29.57 0 0 0 6-1.29c3.65-1.11 4.5-1.17 6.35-.4a29.54 29.54 0 0 0 5.82 1.36 18.18 18.18 0 0 1 6 1.91 22.67 22.67 0 0 0 5 2.17c2.51.68 3 .57 7.05-1.67l4.35-2.4L268.32 5c10.44-.4 10.81-.47 15.26-2.68L288.16 0l2.46 1.43c1.76 1 3.14 2.73 4.85 6 2.36 4.51 2.38 4.58 1.37 7.37-.88 2.44-.89 3.3-.1 6.39a35.76 35.76 0 0 0 2.1 5.91 13.55 13.55 0 0 1 1.31 4c.31 4.33 0 5.3-2.41 6.92-2.17 1.47-7 7.91-7 9.34a14.77 14.77 0 0 1-1.07 3c-5 11.51-6.76 13.56-14.26 17-9.2 4.2-12.3 5.19-16.21 5.19-3.1 0-4 .25-4.54 1.26a18.33 18.33 0 0 1-4.09 3.71 13.62 13.62 0 0 0-4.38 4.78 5.89 5.89 0 0 1-2.49 2.91 6.88 6.88 0 0 0-2.45 1.71 67.62 67.62 0 0 1-7 5.38c-3.33 2.34-6.87 5-7.87 6A7.27 7.27 0 0 1 224 100a5.76 5.76 0 0 0-2.13 1.65c-1.31 1.39-1.49 2.11-1.14 4.6a36.45 36.45 0 0 0 1.42 5.88c1.32 3.8 1.31 7.86 0 10.57s-.89 6.65 1.35 9.59c2 2.63 2.16 4.56.71 8.84a33.45 33.45 0 0 0-1.06 8.91c0 4.88.22 6.28 1.46 8.38s1.82 2.48 3.24 2.32c2-.23 2.3-1.05 4.71-12.12 2.18-10 3.71-11.92 13.76-17.08 2.94-1.51 7.46-4 10-5.44s6.79-3.69 9.37-4.91a40.09 40.09 0 0 0 15.22-11.67c7.11-8.79 10-16.22 12.85-33.3a18.37 18.37 0 0 1 2.86-7.73 20.39 20.39 0 0 0 2.89-7.31c1-5.3 2.85-9.08 5.58-11.51 4.7-4.18 6-1.09 4.59 10.87-.46 3.86-1.1 10.33-1.44 14.38l-.61 7.36 4.45 4.09 4.45 4.09.11 8.42c.06 4.63.47 9.53.92 10.89l.82 2.47-6.43 6.28c-8.54 8.33-12.88 13.93-16.76 21.61-1.77 3.49-3.74 7.11-4.38 8-2.18 3.11-6.46 13-8.76 20.26l-2.29 7.22-7 6.49c-3.83 3.57-8 7.25-9.17 8.17-3.05 2.32-4.26 5.15-4.26 10a14.62 14.62 0 0 0 1.59 7.26 42 42 0 0 1 2.09 4.83 9.28 9.28 0 0 0 1.57 2.89c1.4 1.59 1.92 16.12.83 23.22-.68 4.48-3.63 12-4.7 12-1.79 0-4.06 9.27-5.07 20.74-.18 2-.62 5.94-1 8.7s-1 10-1.35 16.05c-.77 12.22-.19 18.77 2 23.15 3.41 6.69.52 12.69-11 22.84l-4 3.49.07 5.19a40.81 40.81 0 0 0 1.14 8.87c4.61 16 4.73 16.92 4.38 37.13-.46 26.4-.26 40.27.63 44.15a61.31 61.31 0 0 1 1.08 7c.17 2 .66 5.33 1.08 7.36.47 2.26.78 11 .79 22.74v19.06l-1.81 2.63c-2.71 3.91-15.11 13.54-15.49 12.29zm29.53-45.11c-.18-.3-.33-6.87-.33-14.59 0-14.06-.89-27.54-2.26-34.45-.4-2-.81-9.7-.9-17.06-.15-11.93-1.4-24.37-2.64-26.38-.66-1.07-3-17.66-3-21.3 0-4.23 1-6 5.28-9.13s4.86-3.14 5.48-.72c.28 1.1 1.45 5.62 2.6 10 3.93 15.12 4.14 16.27 4.05 21.74-.1 5.78-.13 6.13-1.74 17.73-1 7.07-1.17 12.39-1 28.43.17 19.4-.64 35.73-2 41.27-.71 2.78-2.8 5.48-3.43 4.43zm-71-37.58a101 101 0 0 1-1.73-10.79 100.5 100.5 0 0 0-1.73-10.79 37.53 37.53 0 0 1-1-6.49c-.31-3.19-.91-7.46-1.33-9.48-1-4.79-3.35-19.35-3.42-21.07 0-.74-.34-4.05-.7-7.36-.67-6.21-.84-27.67-.22-28.29 1-1 6.63 2.76 11.33 7.43l5.28 5.25-.45 6.47c-.25 3.56-.6 10.23-.78 14.83s-.49 9.87-.67 11.71-.61 9.36-.94 16.72c-.79 17.41-1.94 31.29-2.65 32a.62.62 0 0 1-1-.14zm-87.18-266.59c21.07 12.79 17.84 14.15 28.49 17.66 13 4.29 18.87 7.13 23.15 16.87C111.6 233.28 86.25 255 78.55 268c-31 52-6 101.59 62.75 87.21-14.18 29.23-78 28.63-98.68-4.9-24.68-39.95-22.09-118.3 61-187.66zm210.79 179c56.66 6.88 82.32-37.74 46.54-89.23 0 0-26.87-29.34-64.28-68 3-15.45 9.49-32.12 30.57-53.82 89.2 63.51 92 141.61 92.46 149.36 4.3 70.64-78.7 91.18-105.29 61.71z\"],\n \"first-order-alt\": [496, 512, [], \"f50a\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 488.21C115.34 496.21 7.79 388.66 7.79 256S115.34 15.79 248 15.79 488.21 123.34 488.21 256 380.66 496.21 248 496.21zm0-459.92C126.66 36.29 28.29 134.66 28.29 256S126.66 475.71 248 475.71 467.71 377.34 467.71 256 369.34 36.29 248 36.29zm0 431.22c-116.81 0-211.51-94.69-211.51-211.51S131.19 44.49 248 44.49 459.51 139.19 459.51 256 364.81 467.51 248 467.51zm186.23-162.98a191.613 191.613 0 0 1-20.13 48.69l-74.13-35.88 61.48 54.82a193.515 193.515 0 0 1-37.2 37.29l-54.8-61.57 35.88 74.27a190.944 190.944 0 0 1-48.63 20.23l-27.29-78.47 4.79 82.93c-8.61 1.18-17.4 1.8-26.33 1.8s-17.72-.62-26.33-1.8l4.76-82.46-27.15 78.03a191.365 191.365 0 0 1-48.65-20.2l35.93-74.34-54.87 61.64a193.85 193.85 0 0 1-37.22-37.28l61.59-54.9-74.26 35.93a191.638 191.638 0 0 1-20.14-48.69l77.84-27.11-82.23 4.76c-1.16-8.57-1.78-17.32-1.78-26.21 0-9 .63-17.84 1.82-26.51l82.38 4.77-77.94-27.16a191.726 191.726 0 0 1 20.23-48.67l74.22 35.92-61.52-54.86a193.85 193.85 0 0 1 37.28-37.22l54.76 61.53-35.83-74.17a191.49 191.49 0 0 1 48.65-20.13l26.87 77.25-4.71-81.61c8.61-1.18 17.39-1.8 26.32-1.8s17.71.62 26.32 1.8l-4.74 82.16 27.05-77.76c17.27 4.5 33.6 11.35 48.63 20.17l-35.82 74.12 54.72-61.47a193.13 193.13 0 0 1 37.24 37.23l-61.45 54.77 74.12-35.86a191.515 191.515 0 0 1 20.2 48.65l-77.81 27.1 82.24-4.75c1.19 8.66 1.82 17.5 1.82 26.49 0 8.88-.61 17.63-1.78 26.19l-82.12-4.75 77.72 27.09z\"],\n \"osi\": [512, 512, [], \"f41a\", \"M8 266.44C10.3 130.64 105.4 34 221.8 18.34c138.8-18.6 255.6 75.8 278 201.1 21.3 118.8-44 230-151.6 274-9.3 3.8-14.4 1.7-18-7.7q-26.7-69.45-53.4-139c-3.1-8.1-1-13.2 7-16.8 24.2-11 39.3-29.4 43.3-55.8a71.47 71.47 0 0 0-64.5-82.2c-39-3.4-71.8 23.7-77.5 59.7-5.2 33 11.1 63.7 41.9 77.7 9.6 4.4 11.5 8.6 7.8 18.4q-26.85 69.9-53.7 139.9c-2.6 6.9-8.3 9.3-15.5 6.5-52.6-20.3-101.4-61-130.8-119-24.9-49.2-25.2-87.7-26.8-108.7zm20.9-1.9c.4 6.6.6 14.3 1.3 22.1 6.3 71.9 49.6 143.5 131 183.1 3.2 1.5 4.4.8 5.6-2.3q22.35-58.65 45-117.3c1.3-3.3.6-4.8-2.4-6.7-31.6-19.9-47.3-48.5-45.6-86 1-21.6 9.3-40.5 23.8-56.3 30-32.7 77-39.8 115.5-17.6a91.64 91.64 0 0 1 45.2 90.4c-3.6 30.6-19.3 53.9-45.7 69.8-2.7 1.6-3.5 2.9-2.3 6q22.8 58.8 45.2 117.7c1.2 3.1 2.4 3.8 5.6 2.3 35.5-16.6 65.2-40.3 88.1-72 34.8-48.2 49.1-101.9 42.3-161-13.7-117.5-119.4-214.8-255.5-198-106.1 13-195.3 102.5-197.1 225.8z\"],\n \"google-wallet\": [448, 512, [], \"f1ee\", \"M156.8 126.8c37.6 60.6 64.2 113.1 84.3 162.5-8.3 33.8-18.8 66.5-31.3 98.3-13.2-52.3-26.5-101.3-56-148.5 6.5-36.4 2.3-73.6 3-112.3zM109.3 200H16.1c-6.5 0-10.5 7.5-6.5 12.7C51.8 267 81.3 330.5 101.3 400h103.5c-16.2-69.7-38.7-133.7-82.5-193.5-3-4-8-6.5-13-6.5zm47.8-88c68.5 108 130 234.5 138.2 368H409c-12-138-68.4-265-143.2-368H157.1zm251.8-68.5c-1.8-6.8-8.2-11.5-15.2-11.5h-88.3c-5.3 0-9 5-7.8 10.3 13.2 46.5 22.3 95.5 26.5 146 48.2 86.2 79.7 178.3 90.6 270.8 15.8-60.5 25.3-133.5 25.3-203 0-73.6-12.1-145.1-31.1-212.6z\"],\n \"d-and-d-beyond\": [640, 512, [], \"f6ca\", \"M313.8 241.5c13.8 0 21-10.1 24.8-17.9-1-1.1-5-4.2-7.4-6.6-2.4 4.3-8.2 10.7-13.9 10.7-10.2 0-15.4-14.7-3.2-26.6-.5-.2-4.3-1.8-8 2.4 0-3 1-5.1 2.1-6.6-3.5 1.3-9.8 5.6-11.4 7.9.2-5.8 1.6-7.5.6-9l-.2-.2s-8.5 5.6-9.3 14.7c0 0 1.1-1.6 2.1-1.9.6-.3 1.3 0 .6 1.9-.2.6-5.8 15.7 5.1 26-.6-1.6-1.9-7.6 2.4-1.9-.3.1 5.8 7.1 15.7 7.1zm52.4-21.1c0-4-4.9-4.4-5.6-4.5 2 3.9.9 7.5.2 9 2.5-.4 5.4-1.6 5.4-4.5zm10.3 5.2c0-6.4-6.2-11.4-13.5-10.7 8 1.3 5.6 13.8-5 11.4 3.7-2.6 3.2-9.9-1.3-12.5 1.4 4.2-3 8.2-7.4 4.6-2.4-1.9-8-6.6-10.6-8.6-2.4-2.1-5.5-1-6.6-1.8-1.3-1.1-.5-3.8-2.2-5-1.6-.8-3-.3-4.8-1-1.6-.6-2.7-1.9-2.6-3.5-2.5 4.4 3.4 6.3 4.5 8.5 1 1.9-.8 4.8 4 8.5 14.8 11.6 9.1 8 10.4 18.1.6 4.3 4.2 6.7 6.4 7.4-2.1-1.9-2.9-6.4 0-9.3 0 13.9 19.2 13.3 23.1 6.4-2.4 1.1-7-.2-9-1.9 7.7 1 14.2-4.1 14.6-10.6zm-39.4-18.4c2 .8 1.6.7 6.4 4.5 10.2-24.5 21.7-15.7 22-15.5 2.2-1.9 9.8-3.8 13.8-2.7-2.4-2.7-7.5-6.2-13.3-6.2-4.7 0-7.4 2.2-8 1.3-.8-1.4 3.2-3.4 3.2-3.4-5.4.2-9.6 6.7-11.2 5.9-1.1-.5 1.4-3.7 1.4-3.7-5.1 2.9-9.3 9.1-10.2 13 4.6-5.8 13.8-9.8 19.7-9-10.5.5-19.5 9.7-23.8 15.8zm242.5 51.9c-20.7 0-40 1.3-50.3 2.1l7.4 8.2v77.2l-7.4 8.2c10.4.8 30.9 2.1 51.6 2.1 42.1 0 59.1-20.7 59.1-48.9 0-29.3-23.2-48.9-60.4-48.9zm-15.1 75.6v-53.3c30.1-3.3 46.8 3.8 46.8 26.3 0 25.6-21.4 30.2-46.8 27zM301.6 181c-1-3.4-.2-6.9 1.1-9.4 1 3 2.6 6.4 7.5 9-.5-2.4-.2-5.6.5-8-1.4-5.4 2.1-9.9 6.4-9.9 6.9 0 8.5 8.8 4.7 14.4 2.1 3.2 5.5 5.6 7.7 7.8 3.2-3.7 5.5-9.5 5.5-13.8 0-8.2-5.5-15.9-16.7-16.5-20-.9-20.2 16.6-20 18.9.5 5.2 3.4 7.8 3.3 7.5zm-.4 6c-.5 1.8-7 3.7-10.2 6.9 4.8-1 7-.2 7.8 1.8.5 1.4-.2 3.4-.5 5.6 1.6-1.8 7-5.5 11-6.2-1-.3-3.4-.8-4.3-.8 2.9-3.4 9.3-4.5 12.8-3.7-2.2-.2-6.7 1.1-8.5 2.6 1.6.3 3 .6 4.3 1.1-2.1.8-4.8 3.4-5.8 6.1 7-5 13.1 5.2 7 8.2.8.2 2.7 0 3.5-.5-.3 1.1-1.9 3-3 3.4 2.9 0 7-1.9 8.2-4.6 0 0-1.8.6-2.6-.2s.3-4.3.3-4.3c-2.3 2.9-3.4-1.3-1.3-4.2-1-.3-3.5-.6-4.6-.5 3.2-1.1 10.4-1.8 11.2-.3.6 1.1-1 3.4-1 3.4 4-.5 8.3 1.1 6.7 5.1 2.9-1.4 5.5-5.9 4.8-10.4-.3 1-1.6 2.4-2.9 2.7.2-1.4-1-2.2-1.9-2.6 1.7-9.6-14.6-14.2-14.1-23.9-1 1.3-1.8 5-.8 7.1 2.7 3.2 8.7 6.7 10.1 12.2-2.6-6.4-15.1-11.4-14.6-20.2-1.6 1.6-2.6 7.8-1.3 11 2.4 1.4 4.5 3.8 4.8 6.1-2.2-5.1-11.4-6.1-13.9-12.2-.6 2.2-.3 5 1 6.7 0 0-2.2-.8-7-.6 1.7.6 5.1 3.5 4.8 5.2zm25.9 7.4c-2.7 0-3.5-2.1-4.2-4.3 3.3 1.3 4.2 4.3 4.2 4.3zm38.9 3.7l-1-.6c-1.1-1-2.9-1.4-4.7-1.4-2.9 0-5.8 1.3-7.5 3.4-.8.8-1.4 1.8-2.1 2.6v15.7c3.5 2.6 7.1-2.9 3-7.2 1.5.3 4.6 2.7 5.1 3.2 0 0 2.6-.5 5-.5 2.1 0 3.9.3 5.6 1.1V196c-1.1.5-2.2 1-2.7 1.4zM79.9 305.9c17.2-4.6 16.2-18 16.2-19.9 0-20.6-24.1-25-37-25H3l8.3 8.6v29.5H0l11.4 14.6V346L3 354.6c61.7 0 73.8 1.5 86.4-5.9 6.7-4 9.9-9.8 9.9-17.6 0-5.1 2.6-18.8-19.4-25.2zm-41.3-27.5c20 0 29.6-.8 29.6 9.1v3c0 12.1-19 8.8-29.6 8.8zm0 59.2V315c12.2 0 32.7-2.3 32.7 8.8v4.5h.2c0 11.2-12.5 9.3-32.9 9.3zm101.2-19.3l23.1.2v-.2l14.1-21.2h-37.2v-14.9h52.4l-14.1-21v-.2l-73.5.2 7.4 8.2v77.1l-7.4 8.2h81.2l14.1-21.2-60.1.2zm214.7-60.1c-73.9 0-77.5 99.3-.3 99.3 77.9 0 74.1-99.3.3-99.3zm-.3 77.5c-37.4 0-36.9-55.3.2-55.3 36.8.1 38.8 55.3-.2 55.3zm-91.3-8.3l44.1-66.2h-41.7l6.1 7.2-20.5 37.2h-.3l-21-37.2 6.4-7.2h-44.9l44.1 65.8.2 19.4-7.7 8.2h42.6l-7.2-8.2zm-28.4-151.3c1.6 1.3 2.9 2.4 2.9 6.6v38.8c0 4.2-.8 5.3-2.7 6.4-.1.1-7.5 4.5-7.9 4.6h35.1c10 0 17.4-1.5 26-8.6-.6-5 .2-9.5.8-12 0-.2-1.8 1.4-2.7 3.5 0-5.7 1.6-15.4 9.6-20.5-.1 0-3.7-.8-9 1.1 2-3.1 10-7.9 10.4-7.9-8.2-26-38-22.9-32.2-22.9-30.9 0-32.6.3-39.9-4 .1.8.5 8.2 9.6 14.9zm21.5 5.5c4.6 0 23.1-3.3 23.1 17.3 0 20.7-18.4 17.3-23.1 17.3zm228.9 79.6l7 8.3V312h-.3c-5.4-14.4-42.3-41.5-45.2-50.9h-31.6l7.4 8.5v76.9l-7.2 8.3h39l-7.4-8.2v-47.4h.3c3.7 10.6 44.5 42.9 48.5 55.6h21.3v-85.2l7.4-8.3zm-106.7-96.1c-32.2 0-32.8.2-39.9-4 .1.7.5 8.3 9.6 14.9 3.1 2 2.9 4.3 2.9 9.5 1.8-1.1 3.8-2.2 6.1-3-1.1 1.1-2.7 2.7-3.5 4.5 1-1.1 7.5-5.1 14.6-3.5-1.6.3-4 1.1-6.1 2.9.1 0 2.1-1.1 7.5-.3v-4.3c4.7 0 23.1-3.4 23.1 17.3 0 20.5-18.5 17.3-19.7 17.3 5.7 4.4 5.8 12 2.2 16.3h.3c33.4 0 36.7-27.3 36.7-34 0-3.8-1.1-32-33.8-33.6z\"],\n \"periscope\": [448, 512, [], \"f3da\", \"M370 63.6C331.4 22.6 280.5 0 226.6 0 111.9 0 18.5 96.2 18.5 214.4c0 75.1 57.8 159.8 82.7 192.7C137.8 455.5 192.6 512 226.6 512c41.6 0 112.9-94.2 120.9-105 24.6-33.1 82-118.3 82-192.6 0-56.5-21.1-110.1-59.5-150.8zM226.6 493.9c-42.5 0-190-167.3-190-279.4 0-107.4 83.9-196.3 190-196.3 100.8 0 184.7 89 184.7 196.3.1 112.1-147.4 279.4-184.7 279.4zM338 206.8c0 59.1-51.1 109.7-110.8 109.7-100.6 0-150.7-108.2-92.9-181.8v.4c0 24.5 20.1 44.4 44.8 44.4 24.7 0 44.8-19.9 44.8-44.4 0-18.2-11.1-33.8-26.9-40.7 76.6-19.2 141 39.3 141 112.4z\"],\n \"fulcrum\": [320, 512, [], \"f50b\", \"M95.75 164.14l-35.38 43.55L25 164.14l35.38-43.55zM144.23 0l-20.54 198.18L72.72 256l51 57.82L144.23 512V300.89L103.15 256l41.08-44.89zm79.67 164.14l35.38 43.55 35.38-43.55-35.38-43.55zm-48.48 47L216.5 256l-41.08 44.89V512L196 313.82 247 256l-51-57.82L175.42 0z\"],\n \"cloudscale\": [448, 512, [], \"f383\", \"M318.1 154l-9.4 7.6c-22.5-19.3-51.5-33.6-83.3-33.6C153.8 128 96 188.8 96 260.3c0 6.6.4 13.1 1.4 19.4-2-56 41.8-97.4 92.6-97.4 24.2 0 46.2 9.4 62.6 24.7l-25.2 20.4c-8.3-.9-16.8 1.8-23.1 8.1-11.1 11-11.1 28.9 0 40 11.1 11 28.9 11 40 0 6.3-6.3 9-14.9 8.1-23.1l75.2-88.8c6.3-6.5-3.3-15.9-9.5-9.6zm-83.8 111.5c-5.6 5.5-14.6 5.5-20.2 0-5.6-5.6-5.6-14.6 0-20.2s14.6-5.6 20.2 0 5.6 14.7 0 20.2zM224 32C100.5 32 0 132.5 0 256s100.5 224 224 224 224-100.5 224-224S347.5 32 224 32zm0 384c-88.2 0-160-71.8-160-160S135.8 96 224 96s160 71.8 160 160-71.8 160-160 160z\"],\n \"forumbee\": [448, 512, [], \"f211\", \"M5.8 309.7C2 292.7 0 275.5 0 258.3 0 135 99.8 35 223.1 35c16.6 0 33.3 2 49.3 5.5C149 87.5 51.9 186 5.8 309.7zm392.9-189.2C385 103 369 87.8 350.9 75.2c-149.6 44.3-266.3 162.1-309.7 312 12.5 18.1 28 35.6 45.2 49 43.1-151.3 161.2-271.7 312.3-315.7zm15.8 252.7c15.2-25.1 25.4-53.7 29.5-82.8-79.4 42.9-145 110.6-187.6 190.3 30-4.4 58.9-15.3 84.6-31.3 35 13.1 70.9 24.3 107 33.6-9.3-36.5-20.4-74.5-33.5-109.8zm29.7-145.5c-2.6-19.5-7.9-38.7-15.8-56.8C290.5 216.7 182 327.5 137.1 466c18.1 7.6 37 12.5 56.6 15.2C240 367.1 330.5 274.4 444.2 227.7z\"],\n \"mizuni\": [496, 512, [], \"f3cc\", \"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm-80 351.9c-31.4 10.6-58.8 27.3-80 48.2V136c0-22.1 17.9-40 40-40s40 17.9 40 40v223.9zm120-9.9c-12.9-2-26.2-3.1-39.8-3.1-13.8 0-27.2 1.1-40.2 3.1V136c0-22.1 17.9-40 40-40s40 17.9 40 40v214zm120 57.7c-21.2-20.8-48.6-37.4-80-48V136c0-22.1 17.9-40 40-40s40 17.9 40 40v271.7z\"],\n \"schlix\": [448, 512, [], \"f3ea\", \"M350.5 157.7l-54.2-46.1 73.4-39 78.3 44.2-97.5 40.9zM192 122.1l45.7-28.2 34.7 34.6-55.4 29-25-35.4zm-65.1 6.6l31.9-22.1L176 135l-36.7 22.5-12.4-28.8zm-23.3 88.2l-8.8-34.8 29.6-18.3 13.1 35.3-33.9 17.8zm-21.2-83.7l23.9-18.1 8.9 24-26.7 18.3-6.1-24.2zM59 206.5l-3.6-28.4 22.3-15.5 6.1 28.7L59 206.5zm-30.6 16.6l20.8-12.8 3.3 33.4-22.9 12-1.2-32.6zM1.4 268l19.2-10.2.4 38.2-21 8.8L1.4 268zm59.1 59.3l-28.3 8.3-1.6-46.8 25.1-10.7 4.8 49.2zM99 263.2l-31.1 13-5.2-40.8L90.1 221l8.9 42.2zM123.2 377l-41.6 5.9-8.1-63.5 35.2-10.8 14.5 68.4zm28.5-139.9l21.2 57.1-46.2 13.6-13.7-54.1 38.7-16.6zm85.7 230.5l-70.9-3.3-24.3-95.8 55.2-8.6 40 107.7zm-84.9-279.7l42.2-22.4 28 45.9-50.8 21.3-19.4-44.8zm41 94.9l61.3-18.7 52.8 86.6-79.8 11.3-34.3-79.2zm51.4-85.6l67.3-28.8 65.5 65.4-88.6 26.2-44.2-62.8z\"],\n \"square-xing\": [448, 512, [\"xing-square\"], \"f169\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM140.4 320.2H93.8c-5.5 0-8.7-5.3-6-10.3l49.3-86.7c.1 0 .1-.1 0-.2l-31.4-54c-3-5.6.2-10.1 6-10.1h46.6c5.2 0 9.5 2.9 12.9 8.7l31.9 55.3c-1.3 2.3-18 31.7-50.1 88.2-3.5 6.2-7.7 9.1-12.6 9.1zm219.7-214.1L257.3 286.8v.2l65.5 119c2.8 5.1.1 10.1-6 10.1h-46.6c-5.5 0-9.7-2.9-12.9-8.7l-66-120.3c2.3-4.1 36.8-64.9 103.4-182.3 3.3-5.8 7.4-8.7 12.5-8.7h46.9c5.7-.1 8.8 4.7 6 10z\"],\n \"bandcamp\": [512, 512, [], \"f2d5\", \"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm48.2,326.1h-181L207.9,178h181Z\"],\n \"wpforms\": [448, 512, [], \"f298\", \"M448 75.2v361.7c0 24.3-19 43.2-43.2 43.2H43.2C19.3 480 0 461.4 0 436.8V75.2C0 51.1 18.8 32 43.2 32h361.7c24 0 43.1 18.8 43.1 43.2zm-37.3 361.6V75.2c0-3-2.6-5.8-5.8-5.8h-9.3L285.3 144 224 94.1 162.8 144 52.5 69.3h-9.3c-3.2 0-5.8 2.8-5.8 5.8v361.7c0 3 2.6 5.8 5.8 5.8h361.7c3.2.1 5.8-2.7 5.8-5.8zM150.2 186v37H76.7v-37h73.5zm0 74.4v37.3H76.7v-37.3h73.5zm11.1-147.3l54-43.7H96.8l64.5 43.7zm210 72.9v37h-196v-37h196zm0 74.4v37.3h-196v-37.3h196zm-84.6-147.3l64.5-43.7H232.8l53.9 43.7zM371.3 335v37.3h-99.4V335h99.4z\"],\n \"cloudversify\": [616, 512, [], \"f385\", \"M148.6 304c8.2 68.5 67.4 115.5 146 111.3 51.2 43.3 136.8 45.8 186.4-5.6 69.2 1.1 118.5-44.6 131.5-99.5 14.8-62.5-18.2-132.5-92.1-155.1-33-88.1-131.4-101.5-186.5-85-57.3 17.3-84.3 53.2-99.3 109.7-7.8 2.7-26.5 8.9-45 24.1 11.7 0 15.2 8.9 15.2 19.5v20.4c0 10.7-8.7 19.5-19.5 19.5h-20.2c-10.7 0-19.5-6-19.5-16.7V240H98.8C95 240 88 244.3 88 251.9v40.4c0 6.4 5.3 11.8 11.7 11.8h48.9zm227.4 8c-10.7 46.3 21.7 72.4 55.3 86.8C324.1 432.6 259.7 348 296 288c-33.2 21.6-33.7 71.2-29.2 92.9-17.9-12.4-53.8-32.4-57.4-79.8-3-39.9 21.5-75.7 57-93.9C297 191.4 369.9 198.7 400 248c-14.1-48-53.8-70.1-101.8-74.8 30.9-30.7 64.4-50.3 114.2-43.7 69.8 9.3 133.2 82.8 67.7 150.5 35-16.3 48.7-54.4 47.5-76.9l10.5 19.6c11.8 22 15.2 47.6 9.4 72-9.2 39-40.6 68.8-79.7 76.5-32.1 6.3-83.1-5.1-91.8-59.2zM128 208H88.2c-8.9 0-16.2-7.3-16.2-16.2v-39.6c0-8.9 7.3-16.2 16.2-16.2H128c8.9 0 16.2 7.3 16.2 16.2v39.6c0 8.9-7.3 16.2-16.2 16.2zM10.1 168C4.5 168 0 163.5 0 157.9v-27.8c0-5.6 4.5-10.1 10.1-10.1h27.7c5.5 0 10.1 4.5 10.1 10.1v27.8c0 5.6-4.5 10.1-10.1 10.1H10.1zM168 142.7v-21.4c0-5.1 4.2-9.3 9.3-9.3h21.4c5.1 0 9.3 4.2 9.3 9.3v21.4c0 5.1-4.2 9.3-9.3 9.3h-21.4c-5.1 0-9.3-4.2-9.3-9.3zM56 235.5v25c0 6.3-5.1 11.5-11.4 11.5H19.4C13.1 272 8 266.8 8 260.5v-25c0-6.3 5.1-11.5 11.4-11.5h25.1c6.4 0 11.5 5.2 11.5 11.5z\"],\n \"usps\": [576, 512, [], \"f7e1\", \"M460.3 241.7c25.8-41.3 15.2-48.8-11.7-48.8h-27c-.1 0-1.5-1.4-10.9 8-11.2 5.6-37.9 6.3-37.9 8.7 0 4.5 70.3-3.1 88.1 0 9.5 1.5-1.5 20.4-4.4 32-.5 4.5 2.4 2.3 3.8.1zm-112.1 22.6c64-21.3 97.3-23.9 102-26.2 4.4-2.9-4.4-6.6-26.2-5.8-51.7 2.2-137.6 37.1-172.6 53.9l-30.7-93.3h196.6c-2.7-28.2-152.9-22.6-337.9-22.6L27 415.8c196.4-97.3 258.9-130.3 321.2-151.5zM94.7 96c253.3 53.7 330 65.7 332.1 85.2 36.4 0 45.9 0 52.4 6.6 21.1 19.7-14.6 67.7-14.6 67.7-4.4 2.9-406.4 160.2-406.4 160.2h423.1L549 96z\"],\n \"megaport\": [496, 512, [], \"f5a3\", \"M214.5 209.6v66.2l33.5 33.5 33.3-33.3v-66.4l-33.4-33.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm145.1 414.4L367 441.6l-26-19.2v-65.5l-33.4-33.4-33.4 33.4v65.5L248 441.6l-26.1-19.2v-65.5l-33.4-33.4-33.5 33.4v65.5l-26.1 19.2-26.1-19.2v-87l59.5-59.5V188l59.5-59.5V52.9l26.1-19.2L274 52.9v75.6l59.5 59.5v87.6l59.7 59.7v87.1z\"],\n \"magento\": [448, 512, [], \"f3c4\", \"M445.7 127.9V384l-63.4 36.5V164.7L223.8 73.1 65.2 164.7l.4 255.9L2.3 384V128.1L224.2 0l221.5 127.9zM255.6 420.5L224 438.9l-31.8-18.2v-256l-63.3 36.6.1 255.9 94.9 54.9 95.1-54.9v-256l-63.4-36.6v255.9z\"],\n \"spotify\": [496, 512, [], \"f1bc\", \"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm100.7 364.9c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4zm26.9-65.6c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm31-76.2c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3z\"],\n \"optin-monster\": [576, 512, [], \"f23c\", \"M572.6 421.4c5.6-9.5 4.7-15.2-5.4-11.6-3-4.9-7-9.5-11.1-13.8 2.9-9.7-.7-14.2-10.8-9.2-4.6-3.2-10.3-6.5-15.9-9.2 0-15.1-11.6-11.6-17.6-5.7-10.4-1.5-18.7-.3-26.8 5.7.3-6.5.3-13 .3-19.7 12.6 0 40.2-11 45.9-36.2 1.4-6.8 1.6-13.8-.3-21.9-3-13.5-14.3-21.3-25.1-25.7-.8-5.9-7.6-14.3-14.9-15.9s-12.4 4.9-14.1 10.3c-8.5 0-19.2 2.8-21.1 8.4-5.4-.5-11.1-1.4-16.8-1.9 2.7-1.9 5.4-3.5 8.4-4.6 5.4-9.2 14.6-11.4 25.7-11.6V256c19.5-.5 43-5.9 53.8-18.1 12.7-13.8 14.6-37.3 12.4-55.1-2.4-17.3-9.7-37.6-24.6-48.1-8.4-5.9-21.6-.8-22.7 9.5-2.2 19.6 1.2 30-38.6 25.1-10.3-23.8-24.6-44.6-42.7-60C341 49.6 242.9 55.5 166.4 71.7c19.7 4.6 41.1 8.6 59.7 16.5-26.2 2.4-52.7 11.3-76.2 23.2-32.8 17-44 29.9-56.7 42.4 14.9-2.2 28.9-5.1 43.8-3.8-9.7 5.4-18.4 12.2-26.5 20-25.8.9-23.8-5.3-26.2-25.9-1.1-10.5-14.3-15.4-22.7-9.7-28.1 19.9-33.5 79.9-12.2 103.5 10.8 12.2 35.1 17.3 54.9 17.8-.3 1.1-.3 1.9-.3 2.7 10.8.5 19.5 2.7 24.6 11.6 3 1.1 5.7 2.7 8.1 4.6-5.4.5-11.1 1.4-16.5 1.9-3.3-6.6-13.7-8.1-21.1-8.1-1.6-5.7-6.5-12.2-14.1-10.3-6.8 1.9-14.1 10-14.9 15.9-22.5 9.5-30.1 26.8-25.1 47.6 5.3 24.8 33 36.2 45.9 36.2v19.7c-6.6-5-14.3-7.5-26.8-5.7-5.5-5.5-17.3-10.1-17.3 5.7-5.9 2.7-11.4 5.9-15.9 9.2-9.8-4.9-13.6-1.7-11.1 9.2-4.1 4.3-7.8 8.6-11.1 13.8-10.2-3.7-11 2.2-5.4 11.6-1.1 3.5-1.6 7-1.9 10.8-.5 31.6 44.6 64 73.5 65.1 17.3.5 34.6-8.4 43-23.5 113.2 4.9 226.7 4.1 340.2 0 8.1 15.1 25.4 24.3 42.7 23.5 29.2-1.1 74.3-33.5 73.5-65.1.2-3.7-.7-7.2-1.7-10.7zm-73.8-254c1.1-3 2.4-8.4 2.4-14.6 0-5.9 6.8-8.1 14.1-.8 11.1 11.6 14.9 40.5 13.8 51.1-4.1-13.6-13-29-30.3-35.7zm-4.6 6.7c19.5 6.2 28.6 27.6 29.7 48.9-1.1 2.7-3 5.4-4.9 7.6-5.7 5.9-15.4 10-26.2 12.2 4.3-21.3.3-47.3-12.7-63 4.9-.8 10.9-2.4 14.1-5.7zm-24.1 6.8c13.8 11.9 20 39.2 14.1 63.5-4.1.5-8.1.8-11.6.8-1.9-21.9-6.8-44-14.3-64.6 3.7.3 8.1.3 11.8.3zM47.5 203c-1.1-10.5 2.4-39.5 13.8-51.1 7-7.3 14.1-5.1 14.1.8 0 6.2 1.4 11.6 2.4 14.6-17.3 6.8-26.2 22.2-30.3 35.7zm9.7 27.6c-1.9-2.2-3.5-4.9-4.9-7.6 1.4-21.3 10.3-42.7 29.7-48.9 3.2 3.2 9.2 4.9 14.1 5.7-13 15.7-17 41.6-12.7 63-10.8-2.2-20.5-6-26.2-12.2zm47.9 14.6c-4.1 0-8.1-.3-12.7-.8-4.6-18.6-1.9-38.9 5.4-53v.3l12.2-5.1c4.9-1.9 9.7-3.8 14.9-4.9-10.7 19.7-17.4 41.3-19.8 63.5zm184-162.7c41.9 0 76.2 34 76.2 75.9 0 42.2-34.3 76.2-76.2 76.2s-76.2-34-76.2-76.2c0-41.8 34.3-75.9 76.2-75.9zm115.6 174.3c-.3 17.8-7 48.9-23 57-13.2 6.6-6.5-7.5-16.5-58.1 13.3.3 26.6.3 39.5 1.1zm-54-1.6c.8 4.9 3.8 40.3-1.6 41.9-11.6 3.5-40 4.3-51.1-1.1-4.1-3-4.6-35.9-4.3-41.1v.3c18.9-.3 38.1-.3 57 0zM278.3 309c-13 3.5-41.6 4.1-54.6-1.6-6.5-2.7-3.8-42.4-1.9-51.6 19.2-.5 38.4-.5 57.8-.8v.3c1.1 8.3 3.3 51.2-1.3 53.7zm-106.5-51.1c12.2-.8 24.6-1.4 36.8-1.6-2.4 15.4-3 43.5-4.9 52.2-1.1 6.8-4.3 6.8-9.7 4.3-21.9-9.8-27.6-35.2-22.2-54.9zm-35.4 31.3c7.8-1.1 15.7-1.9 23.5-2.7 1.6 6.2 3.8 11.9 7 17.6 10 17 44 35.7 45.1 7 6.2 14.9 40.8 12.2 54.9 10.8 15.7-1.4 23.8-1.4 26.8-14.3 12.4 4.3 30.8 4.1 44 3 11.3-.8 20.8-.5 24.6-8.9 1.1 5.1 1.9 11.6 4.6 16.8 10.8 21.3 37.3 1.4 46.8-31.6 8.6.8 17.6 1.9 26.5 2.7-.4 1.3-3.8 7.3 7.3 11.6-47.6 47-95.7 87.8-163.2 107-63.2-20.8-112.1-59.5-155.9-106.5 9.6-3.4 10.4-8.8 8-12.5zm-21.6 172.5c-3.8 17.8-21.9 29.7-39.7 28.9-19.2-.8-46.5-17-59.2-36.5-2.7-31.1 43.8-61.3 66.2-54.6 14.9 4.3 27.8 30.8 33.5 54 0 3-.3 5.7-.8 8.2zm-8.7-66c-.5-13.5-.5-27-.3-40.5h.3c2.7-1.6 5.7-3.8 7.8-6.5 6.5-1.6 13-5.1 15.1-9.2 3.3-7.1-7-7.5-5.4-12.4 2.7-1.1 5.7-2.2 7.8-3.5 29.2 29.2 58.6 56.5 97.3 77-36.8 11.3-72.4 27.6-105.9 47-1.2-18.6-7.7-35.9-16.7-51.9zm337.6 64.6c-103 3.5-206.2 4.1-309.4 0 0 .3 0 .3-.3.3v-.3h.3c35.1-21.6 72.2-39.2 112.4-50.8 11.6 5.1 23 9.5 34.9 13.2 2.2.8 2.2.8 4.3 0 14.3-4.1 28.4-9.2 42.2-15.4 41.5 11.7 78.8 31.7 115.6 53zm10.5-12.4c-35.9-19.5-73-35.9-111.9-47.6 38.1-20 71.9-47.3 103.5-76.7 2.2 1.4 4.6 2.4 7.6 3.2 0 .8.3 1.9.5 2.4-4.6 2.7-7.8 6.2-5.9 10.3 2.2 3.8 8.6 7.6 15.1 8.9 2.4 2.7 5.1 5.1 8.1 6.8 0 13.8-.3 27.6-.8 41.3l.3-.3c-9.3 15.9-15.5 37-16.5 51.7zm105.9 6.2c-12.7 19.5-40 35.7-59.2 36.5-19.3.9-40.5-13.2-40.5-37 5.7-23.2 18.9-49.7 33.5-54 22.7-6.9 69.2 23.4 66.2 54.5zM372.9 75.2c-3.8-72.1-100.8-79.7-126-23.5 44.6-24.3 90.3-15.7 126 23.5zM74.8 407.1c-15.7 1.6-49.5 25.4-49.5 43.2 0 11.6 15.7 19.5 32.2 14.9 12.2-3.2 31.1-17.6 35.9-27.3 6-11.6-3.7-32.7-18.6-30.8zm215.9-176.2c28.6 0 51.9-21.6 51.9-48.4 0-36.1-40.5-58.1-72.2-44.3 9.5 3 16.5 11.6 16.5 21.6 0 23.3-33.3 32-46.5 11.3-7.3 34.1 19.4 59.8 50.3 59.8zM68 474.1c.5 6.5 12.2 12.7 21.6 9.5 6.8-2.7 14.6-10.5 17.3-16.2 3-7-1.1-20-9.7-18.4-8.9 1.6-29.7 16.7-29.2 25.1zm433.2-67c-14.9-1.9-24.6 19.2-18.9 30.8 4.9 9.7 24.1 24.1 36.2 27.3 16.5 4.6 32.2-3.2 32.2-14.9 0-17.8-33.8-41.6-49.5-43.2zM478.8 449c-8.4-1.6-12.4 11.3-9.5 18.4 2.4 5.7 10.3 13.5 17.3 16.2 9.2 3.2 21.1-3 21.3-9.5.9-8.4-20.2-23.5-29.1-25.1z\"],\n \"fly\": [384, 512, [], \"f417\", \"M197.8 427.8c12.9 11.7 33.7 33.3 33.2 50.7 0 .8-.1 1.6-.1 2.5-1.8 19.8-18.8 31.1-39.1 31-25-.1-39.9-16.8-38.7-35.8 1-16.2 20.5-36.7 32.4-47.6 2.3-2.1 2.7-2.7 5.6-3.6 3.4 0 3.9.3 6.7 2.8zM331.9 67.3c-16.3-25.7-38.6-40.6-63.3-52.1C243.1 4.5 214-.2 192 0c-44.1 0-71.2 13.2-81.1 17.3C57.3 45.2 26.5 87.2 28 158.6c7.1 82.2 97 176 155.8 233.8 1.7 1.6 4.5 4.5 6.2 5.1l3.3.1c2.1-.7 1.8-.5 3.5-2.1 52.3-49.2 140.7-145.8 155.9-215.7 7-39.2 3.1-72.5-20.8-112.5zM186.8 351.9c-28-51.1-65.2-130.7-69.3-189-3.4-47.5 11.4-131.2 69.3-136.7v325.7zM328.7 180c-16.4 56.8-77.3 128-118.9 170.3C237.6 298.4 275 217 277 158.4c1.6-45.9-9.8-105.8-48-131.4 88.8 18.3 115.5 98.1 99.7 153z\"],\n \"aviato\": [640, 512, [], \"f421\", \"M107.2 283.5l-19-41.8H36.1l-19 41.8H0l62.2-131.4 62.2 131.4h-17.2zm-45-98.1l-19.6 42.5h39.2l-19.6-42.5zm112.7 102.4l-62.2-131.4h17.1l45.1 96 45.1-96h17l-62.1 131.4zm80.6-4.3V156.4H271v127.1h-15.5zm209.1-115.6v115.6h-17.3V167.9h-41.2v-11.5h99.6v11.5h-41.1zM640 218.8c0 9.2-1.7 17.8-5.1 25.8-3.4 8-8.2 15.1-14.2 21.1-6 6-13.1 10.8-21.1 14.2-8 3.4-16.6 5.1-25.8 5.1s-17.8-1.7-25.8-5.1c-8-3.4-15.1-8.2-21.1-14.2-6-6-10.8-13-14.2-21.1-3.4-8-5.1-16.6-5.1-25.8s1.7-17.8 5.1-25.8c3.4-8 8.2-15.1 14.2-21.1 6-6 13-8.4 21.1-11.9 8-3.4 16.6-5.1 25.8-5.1s17.8 1.7 25.8 5.1c8 3.4 15.1 5.8 21.1 11.9 6 6 10.7 13.1 14.2 21.1 3.4 8 5.1 16.6 5.1 25.8zm-15.5 0c0-7.3-1.3-14-3.9-20.3-2.6-6.3-6.2-11.7-10.8-16.3-4.6-4.6-10-8.2-16.2-10.9-6.2-2.7-12.8-4-19.8-4s-13.6 1.3-19.8 4c-6.2 2.7-11.6 6.3-16.2 10.9-4.6 4.6-8.2 10-10.8 16.3-2.6 6.3-3.9 13.1-3.9 20.3 0 7.3 1.3 14 3.9 20.3 2.6 6.3 6.2 11.7 10.8 16.3 4.6 4.6 10 8.2 16.2 10.9 6.2 2.7 12.8 4 19.8 4s13.6-1.3 19.8-4c6.2-2.7 11.6-6.3 16.2-10.9 4.6-4.6 8.2-10 10.8-16.3 2.6-6.3 3.9-13.1 3.9-20.3zm-94.8 96.7v-6.3l88.9-10-242.9 13.4c.6-2.2 1.1-4.6 1.4-7.2.3-2 .5-4.2.6-6.5l64.8-8.1-64.9 1.9c0-.4-.1-.7-.1-1.1-2.8-17.2-25.5-23.7-25.5-23.7l-1.1-26.3h23.8l19 41.8h17.1L348.6 152l-62.2 131.4h17.1l19-41.8h23.6L345 268s-22.7 6.5-25.5 23.7c-.1.3-.1.7-.1 1.1l-64.9-1.9 64.8 8.1c.1 2.3.3 4.4.6 6.5.3 2.6.8 5 1.4 7.2L78.4 299.2l88.9 10v6.3c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4 0-6.2-4.6-11.3-10.5-12.2v-5.8l80.3 9v5.4c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-4.9l28.4 3.2v23.7h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9V323l38.3 4.3c8.1 11.4 19 13.6 19 13.6l-.1 6.7-5.1.2-.1 12.1h4.1l.1-5h5.2l.1 5h4.1l-.1-12.1-5.1-.2-.1-6.7s10.9-2.1 19-13.6l38.3-4.3v23.2h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9v-23.7l28.4-3.2v4.9c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-5.4l80.3-9v5.8c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4-.2-6.3-4.7-11.4-10.7-12.3zm-200.8-87.6l19.6-42.5 19.6 42.5h-17.9l-1.7-40.3-1.7 40.3h-17.9z\"],\n \"itunes\": [448, 512, [], \"f3b4\", \"M223.6 80.3C129 80.3 52.5 157 52.5 251.5S129 422.8 223.6 422.8s171.2-76.7 171.2-171.2c0-94.6-76.7-171.3-171.2-171.3zm79.4 240c-3.2 13.6-13.5 21.2-27.3 23.8-12.1 2.2-22.2 2.8-31.9-5-11.8-10-12-26.4-1.4-36.8 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 3.2-3.6 2.2-2 2.2-80.8 0-5.6-2.7-7.1-8.4-6.1-4 .7-91.9 17.1-91.9 17.1-5 1.1-6.7 2.6-6.7 8.3 0 116.1.5 110.8-1.2 118.5-2.1 9-7.6 15.8-14.9 19.6-8.3 4.6-23.4 6.6-31.4 5.2-21.4-4-28.9-28.7-14.4-42.9 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 5-5.7.9-127 2.6-133.7.4-2.6 1.5-4.8 3.5-6.4 2.1-1.7 5.8-2.7 6.7-2.7 101-19 113.3-21.4 115.1-21.4 5.7-.4 9 3 9 8.7-.1 170.6.4 161.4-1 167.6zM345.2 32H102.8C45.9 32 0 77.9 0 134.8v242.4C0 434.1 45.9 480 102.8 480h242.4c57 0 102.8-45.9 102.8-102.8V134.8C448 77.9 402.1 32 345.2 32zM223.6 444c-106.3 0-192.5-86.2-192.5-192.5S117.3 59 223.6 59s192.5 86.2 192.5 192.5S329.9 444 223.6 444z\"],\n \"cuttlefish\": [440, 512, [], \"f38c\", \"M344 305.5c-17.5 31.6-57.4 54.5-96 54.5-56.6 0-104-47.4-104-104s47.4-104 104-104c38.6 0 78.5 22.9 96 54.5 13.7-50.9 41.7-93.3 87-117.8C385.7 39.1 320.5 8 248 8 111 8 0 119 0 256s111 248 248 248c72.5 0 137.7-31.1 183-80.7-45.3-24.5-73.3-66.9-87-117.8z\"],\n \"blogger\": [448, 512, [], \"f37c\", \"M162.4 196c4.8-4.9 6.2-5.1 36.4-5.1 27.2 0 28.1.1 32.1 2.1 5.8 2.9 8.3 7 8.3 13.6 0 5.9-2.4 10-7.6 13.4-2.8 1.8-4.5 1.9-31.1 2.1-16.4.1-29.5-.2-31.5-.8-10.3-2.9-14.1-17.7-6.6-25.3zm61.4 94.5c-53.9 0-55.8.2-60.2 4.1-3.5 3.1-5.7 9.4-5.1 13.9.7 4.7 4.8 10.1 9.2 12 2.2 1 14.1 1.7 56.3 1.2l47.9-.6 9.2-1.5c9-5.1 10.5-17.4 3.1-24.4-5.3-4.7-5-4.7-60.4-4.7zm223.4 130.1c-3.5 28.4-23 50.4-51.1 57.5-7.2 1.8-9.7 1.9-172.9 1.8-157.8 0-165.9-.1-172-1.8-8.4-2.2-15.6-5.5-22.3-10-5.6-3.8-13.9-11.8-17-16.4-3.8-5.6-8.2-15.3-10-22C.1 423 0 420.3 0 256.3 0 93.2 0 89.7 1.8 82.6 8.1 57.9 27.7 39 53 33.4c7.3-1.6 332.1-1.9 340-.3 21.2 4.3 37.9 17.1 47.6 36.4 7.7 15.3 7-1.5 7.3 180.6.2 115.8 0 164.5-.7 170.5zm-85.4-185.2c-1.1-5-4.2-9.6-7.7-11.5-1.1-.6-8-1.3-15.5-1.7-12.4-.6-13.8-.8-17.8-3.1-6.2-3.6-7.9-7.6-8-18.3 0-20.4-8.5-39.4-25.3-56.5-12-12.2-25.3-20.5-40.6-25.1-3.6-1.1-11.8-1.5-39.2-1.8-42.9-.5-52.5.4-67.1 6.2-27 10.7-46.3 33.4-53.4 62.4-1.3 5.4-1.6 14.2-1.9 64.3-.4 62.8 0 72.1 4 84.5 9.7 30.7 37.1 53.4 64.6 58.4 9.2 1.7 122.2 2.1 133.7.5 20.1-2.7 35.9-10.8 50.7-25.9 10.7-10.9 17.4-22.8 21.8-38.5 3.2-10.9 2.9-88.4 1.7-93.9z\"],\n \"flickr\": [448, 512, [], \"f16e\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM144.5 319c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5zm159 0c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5z\"],\n \"viber\": [512, 512, [], \"f409\", \"M444 49.9C431.3 38.2 379.9.9 265.3.4c0 0-135.1-8.1-200.9 52.3C27.8 89.3 14.9 143 13.5 209.5c-1.4 66.5-3.1 191.1 117 224.9h.1l-.1 51.6s-.8 20.9 13 25.1c16.6 5.2 26.4-10.7 42.3-27.8 8.7-9.4 20.7-23.2 29.8-33.7 82.2 6.9 145.3-8.9 152.5-11.2 16.6-5.4 110.5-17.4 125.7-142 15.8-128.6-7.6-209.8-49.8-246.5zM457.9 287c-12.9 104-89 110.6-103 115.1-6 1.9-61.5 15.7-131.2 11.2 0 0-52 62.7-68.2 79-5.3 5.3-11.1 4.8-11-5.7 0-6.9.4-85.7.4-85.7-.1 0-.1 0 0 0-101.8-28.2-95.8-134.3-94.7-189.8 1.1-55.5 11.6-101 42.6-131.6 55.7-50.5 170.4-43 170.4-43 96.9.4 143.3 29.6 154.1 39.4 35.7 30.6 53.9 103.8 40.6 211.1zm-139-80.8c.4 8.6-12.5 9.2-12.9.6-1.1-22-11.4-32.7-32.6-33.9-8.6-.5-7.8-13.4.7-12.9 27.9 1.5 43.4 17.5 44.8 46.2zm20.3 11.3c1-42.4-25.5-75.6-75.8-79.3-8.5-.6-7.6-13.5.9-12.9 58 4.2 88.9 44.1 87.8 92.5-.1 8.6-13.1 8.2-12.9-.3zm47 13.4c.1 8.6-12.9 8.7-12.9.1-.6-81.5-54.9-125.9-120.8-126.4-8.5-.1-8.5-12.9 0-12.9 73.7.5 133 51.4 133.7 139.2zM374.9 329v.2c-10.8 19-31 40-51.8 33.3l-.2-.3c-21.1-5.9-70.8-31.5-102.2-56.5-16.2-12.8-31-27.9-42.4-42.4-10.3-12.9-20.7-28.2-30.8-46.6-21.3-38.5-26-55.7-26-55.7-6.7-20.8 14.2-41 33.3-51.8h.2c9.2-4.8 18-3.2 23.9 3.9 0 0 12.4 14.8 17.7 22.1 5 6.8 11.7 17.7 15.2 23.8 6.1 10.9 2.3 22-3.7 26.6l-12 9.6c-6.1 4.9-5.3 14-5.3 14s17.8 67.3 84.3 84.3c0 0 9.1.8 14-5.3l9.6-12c4.6-6 15.7-9.8 26.6-3.7 14.7 8.3 33.4 21.2 45.8 32.9 7 5.7 8.6 14.4 3.8 23.6z\"],\n \"soundcloud\": [640, 512, [], \"f1be\", \"M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z\"],\n \"digg\": [512, 512, [], \"f1a6\", \"M81.7 172.3H0v174.4h132.7V96h-51v76.3zm0 133.4H50.9v-92.3h30.8v92.3zm297.2-133.4v174.4h81.8v28.5h-81.8V416H512V172.3H378.9zm81.8 133.4h-30.8v-92.3h30.8v92.3zm-235.6 41h82.1v28.5h-82.1V416h133.3V172.3H225.1v174.4zm51.2-133.3h30.8v92.3h-30.8v-92.3zM153.3 96h51.3v51h-51.3V96zm0 76.3h51.3v174.4h-51.3V172.3z\"],\n \"tencent-weibo\": [384, 512, [], \"f1d5\", \"M72.3 495.8c1.4 19.9-27.6 22.2-29.7 2.9C31 368.8 73.7 259.2 144 185.5c-15.6-34 9.2-77.1 50.6-77.1 30.3 0 55.1 24.6 55.1 55.1 0 44-49.5 70.8-86.9 45.1-65.7 71.3-101.4 169.8-90.5 287.2zM192 .1C66.1.1-12.3 134.3 43.7 242.4 52.4 259.8 79 246.9 70 229 23.7 136.4 91 29.8 192 29.8c75.4 0 136.9 61.4 136.9 136.9 0 90.8-86.9 153.9-167.7 133.1-19.1-4.1-25.6 24.4-6.6 29.1 110.7 23.2 204-60 204-162.3C358.6 74.7 284 .1 192 .1z\"],\n \"symfony\": [512, 512, [], \"f83d\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm133.74 143.54c-11.47.41-19.4-6.45-19.77-16.87-.27-9.18 6.68-13.44 6.53-18.85-.23-6.55-10.16-6.82-12.87-6.67-39.78 1.29-48.59 57-58.89 113.85 21.43 3.15 36.65-.72 45.14-6.22 12-7.75-3.34-15.72-1.42-24.56 4-18.16 32.55-19 32 5.3-.36 17.86-25.92 41.81-77.6 35.7-10.76 59.52-18.35 115-58.2 161.72-29 34.46-58.4 39.82-71.58 40.26-24.65.85-41-12.31-41.58-29.84-.56-17 14.45-26.26 24.31-26.59 21.89-.75 30.12 25.67 14.88 34-12.09 9.71.11 12.61 2.05 12.55 10.42-.36 17.34-5.51 22.18-9 24-20 33.24-54.86 45.35-118.35 8.19-49.66 17-78 18.23-82-16.93-12.75-27.08-28.55-49.85-34.72-15.61-4.23-25.12-.63-31.81 7.83-7.92 10-5.29 23 2.37 30.7l12.63 14c15.51 17.93 24 31.87 20.8 50.62-5.06 29.93-40.72 52.9-82.88 39.94-36-11.11-42.7-36.56-38.38-50.62 7.51-24.15 42.36-11.72 34.62 13.6-2.79 8.6-4.92 8.68-6.28 13.07-4.56 14.77 41.85 28.4 51-1.39 4.47-14.52-5.3-21.71-22.25-39.85-28.47-31.75-16-65.49 2.95-79.67C204.23 140.13 251.94 197 262 205.29c37.17-109 100.53-105.46 102.43-105.53 25.16-.81 44.19 10.59 44.83 28.65.25 7.69-4.17 22.59-19.52 23.13z\"],\n \"maxcdn\": [512, 512, [], \"f136\", \"M461.1 442.7h-97.4L415.6 200c2.3-10.2.9-19.5-4.4-25.7-5-6.1-13.7-9.6-24.2-9.6h-49.3l-59.5 278h-97.4l59.5-278h-83.4l-59.5 278H0l59.5-278-44.6-95.4H387c39.4 0 75.3 16.3 98.3 44.9 23.3 28.6 31.8 67.4 23.6 105.9l-47.8 222.6z\"],\n \"etsy\": [384, 512, [], \"f2d7\", \"M384 348c-1.75 10.75-13.75 110-15.5 132-117.879-4.299-219.895-4.743-368.5 0v-25.5c45.457-8.948 60.627-8.019 61-35.25 1.793-72.322 3.524-244.143 0-322-1.029-28.46-12.13-26.765-61-36v-25.5c73.886 2.358 255.933 8.551 362.999-3.75-3.5 38.25-7.75 126.5-7.75 126.5H332C320.947 115.665 313.241 68 277.25 68h-137c-10.25 0-10.75 3.5-10.75 9.75V241.5c58 .5 88.5-2.5 88.5-2.5 29.77-.951 27.56-8.502 40.75-65.251h25.75c-4.407 101.351-3.91 61.829-1.75 160.25H257c-9.155-40.086-9.065-61.045-39.501-61.5 0 0-21.5-2-88-2v139c0 26 14.25 38.25 44.25 38.25H263c63.636 0 66.564-24.996 98.751-99.75H384z\"],\n \"facebook-messenger\": [512, 512, [], \"f39f\", \"M256.55 8C116.52 8 8 110.34 8 248.57c0 72.3 29.71 134.78 78.07 177.94 8.35 7.51 6.63 11.86 8.05 58.23A19.92 19.92 0 0 0 122 502.31c52.91-23.3 53.59-25.14 62.56-22.7C337.85 521.8 504 423.7 504 248.57 504 110.34 396.59 8 256.55 8zm149.24 185.13l-73 115.57a37.37 37.37 0 0 1-53.91 9.93l-58.08-43.47a15 15 0 0 0-18 0l-78.37 59.44c-10.46 7.93-24.16-4.6-17.11-15.67l73-115.57a37.36 37.36 0 0 1 53.91-9.93l58.06 43.46a15 15 0 0 0 18 0l78.41-59.38c10.44-7.98 24.14 4.54 17.09 15.62z\"],\n \"audible\": [640, 512, [], \"f373\", \"M640 199.9v54l-320 200L0 254v-54l320 200 320-200.1zm-194.5 72l47.1-29.4c-37.2-55.8-100.7-92.6-172.7-92.6-72 0-135.5 36.7-172.6 92.4h.3c2.5-2.3 5.1-4.5 7.7-6.7 89.7-74.4 219.4-58.1 290.2 36.3zm-220.1 18.8c16.9-11.9 36.5-18.7 57.4-18.7 34.4 0 65.2 18.4 86.4 47.6l45.4-28.4c-20.9-29.9-55.6-49.5-94.8-49.5-38.9 0-73.4 19.4-94.4 49zM103.6 161.1c131.8-104.3 318.2-76.4 417.5 62.1l.7 1 48.8-30.4C517.1 112.1 424.8 58.1 319.9 58.1c-103.5 0-196.6 53.5-250.5 135.6 9.9-10.5 22.7-23.5 34.2-32.6zm467 32.7z\"],\n \"think-peaks\": [576, 512, [], \"f731\", \"M465.4 409.4l87.1-150.2-32-.3-55.1 95L259.2 0 23 407.4l32 .3L259.2 55.6zm-355.3-44.1h32.1l117.4-202.5L463 511.9l32.5.1-235.8-404.6z\"],\n \"bilibili\": [512, 512, [], \"e3d9\", \"M488.6 104.1C505.3 122.2 513 143.8 511.9 169.8V372.2C511.5 398.6 502.7 420.3 485.4 437.3C468.2 454.3 446.3 463.2 419.9 464H92.02C65.57 463.2 43.81 454.2 26.74 436.8C9.682 419.4 .7667 396.5 0 368.2V169.8C.7667 143.8 9.682 122.2 26.74 104.1C43.81 87.75 65.57 78.77 92.02 78H121.4L96.05 52.19C90.3 46.46 87.42 39.19 87.42 30.4C87.42 21.6 90.3 14.34 96.05 8.603C101.8 2.868 109.1 0 117.9 0C126.7 0 134 2.868 139.8 8.603L213.1 78H301.1L375.6 8.603C381.7 2.868 389.2 0 398 0C406.8 0 414.1 2.868 419.9 8.603C425.6 14.34 428.5 21.6 428.5 30.4C428.5 39.19 425.6 46.46 419.9 52.19L394.6 78L423.9 78C450.3 78.77 471.9 87.75 488.6 104.1H488.6zM449.8 173.8C449.4 164.2 446.1 156.4 439.1 150.3C433.9 144.2 425.1 140.9 416.4 140.5H96.05C86.46 140.9 78.6 144.2 72.47 150.3C66.33 156.4 63.07 164.2 62.69 173.8V368.2C62.69 377.4 65.95 385.2 72.47 391.7C78.99 398.2 86.85 401.5 96.05 401.5H416.4C425.6 401.5 433.4 398.2 439.7 391.7C446 385.2 449.4 377.4 449.8 368.2L449.8 173.8zM185.5 216.5C191.8 222.8 195.2 230.6 195.6 239.7V273C195.2 282.2 191.9 289.9 185.8 296.2C179.6 302.5 171.8 305.7 162.2 305.7C152.6 305.7 144.7 302.5 138.6 296.2C132.5 289.9 129.2 282.2 128.8 273V239.7C129.2 230.6 132.6 222.8 138.9 216.5C145.2 210.2 152.1 206.9 162.2 206.5C171.4 206.9 179.2 210.2 185.5 216.5H185.5zM377 216.5C383.3 222.8 386.7 230.6 387.1 239.7V273C386.7 282.2 383.4 289.9 377.3 296.2C371.2 302.5 363.3 305.7 353.7 305.7C344.1 305.7 336.3 302.5 330.1 296.2C323.1 289.9 320.7 282.2 320.4 273V239.7C320.7 230.6 324.1 222.8 330.4 216.5C336.7 210.2 344.5 206.9 353.7 206.5C362.9 206.9 370.7 210.2 377 216.5H377z\"],\n \"erlang\": [640, 512, [], \"f39d\", \"M87.2 53.5H0v405h100.4c-49.7-52.6-78.8-125.3-78.7-212.1-.1-76.7 24-142.7 65.5-192.9zm238.2 9.7c-45.9.1-85.1 33.5-89.2 83.2h169.9c-1.1-49.7-34.5-83.1-80.7-83.2zm230.7-9.6h.3l-.1-.1zm.3 0c31.4 42.7 48.7 97.5 46.2 162.7.5 6 .5 11.7 0 24.1H230.2c-.2 109.7 38.9 194.9 138.6 195.3 68.5-.3 118-51 151.9-106.1l96.4 48.2c-17.4 30.9-36.5 57.8-57.9 80.8H640v-405z\"],\n \"cotton-bureau\": [512, 512, [], \"f89e\", \"M474.31 330.41c-23.66 91.85-94.23 144.59-201.9 148.35V429.6c0-48 26.41-74.39 74.39-74.39 62 0 99.2-37.2 99.2-99.21 0-61.37-36.53-98.28-97.38-99.06-33-69.32-146.5-64.65-177.24 0C110.52 157.72 74 194.63 74 256c0 62.13 37.27 99.41 99.4 99.41 48 0 74.55 26.23 74.55 74.39V479c-134.43-5-211.1-85.07-211.1-223 0-141.82 81.35-223.2 223.2-223.2 114.77 0 189.84 53.2 214.69 148.81H500C473.88 71.51 388.22 8 259.82 8 105 8 12 101.19 12 255.82 12 411.14 105.19 504.34 259.82 504c128.27 0 213.87-63.81 239.67-173.59zM357 182.33c41.37 3.45 64.2 29 64.2 73.67 0 48-26.43 74.41-74.4 74.41-28.61 0-49.33-9.59-61.59-27.33 83.06-16.55 75.59-99.67 71.79-120.75zm-81.68 97.36c-2.46-10.34-16.33-87 56.23-97 2.27 10.09 16.52 87.11-56.26 97zM260 132c28.61 0 49 9.67 61.44 27.61-28.36 5.48-49.36 20.59-61.59 43.45-12.23-22.86-33.23-38-61.6-43.45 12.41-17.69 33.27-27.35 61.57-27.35zm-71.52 50.72c73.17 10.57 58.91 86.81 56.49 97-72.41-9.84-59-86.95-56.25-97zM173.2 330.41c-48 0-74.4-26.4-74.4-74.41 0-44.36 22.86-70 64.22-73.67-6.75 37.2-1.38 106.53 71.65 120.75-12.14 17.63-32.84 27.3-61.14 27.3zm53.21 12.39A80.8 80.8 0 0 0 260 309.25c7.77 14.49 19.33 25.54 33.82 33.55a80.28 80.28 0 0 0-33.58 33.83c-8-14.5-19.07-26.23-33.56-33.83z\"],\n \"dashcube\": [448, 512, [], \"f210\", \"M326.6 104H110.4c-51.1 0-91.2 43.3-91.2 93.5V427c0 50.5 40.1 85 91.2 85h227.2c51.1 0 91.2-34.5 91.2-85V0L326.6 104zM153.9 416.5c-17.7 0-32.4-15.1-32.4-32.8V240.8c0-17.7 14.7-32.5 32.4-32.5h140.7c17.7 0 32 14.8 32 32.5v123.5l51.1 52.3H153.9z\"],\n \"42-group\": [640, 512, [\"innosoft\"], \"e080\", \"M320 96V416C341.011 416 361.818 411.861 381.23 403.821C400.641 395.78 418.28 383.995 433.138 369.138C447.995 354.28 459.78 336.641 467.821 317.23C475.861 297.818 480 277.011 480 256C480 234.989 475.861 214.182 467.821 194.771C459.78 175.359 447.995 157.72 433.138 142.863C418.28 128.005 400.641 116.22 381.23 108.179C361.818 100.139 341.011 96 320 96ZM0 256L160.002 416L320.003 256L160.002 96L0 256ZM480 256C480 277.011 484.138 297.818 492.179 317.23C500.219 336.643 512.005 354.28 526.862 369.138C541.72 383.995 559.357 395.781 578.77 403.821C598.182 411.862 618.989 416 640 416V96C597.565 96 556.869 112.858 526.862 142.863C496.857 172.869 480 213.565 480 256Z\"],\n \"stack-exchange\": [448, 512, [], \"f18d\", \"M17.7 332.3h412.7v22c0 37.7-29.3 68-65.3 68h-19L259.3 512v-89.7H83c-36 0-65.3-30.3-65.3-68v-22zm0-23.6h412.7v-85H17.7v85zm0-109.4h412.7v-85H17.7v85zM365 0H83C47 0 17.7 30.3 17.7 67.7V90h412.7V67.7C430.3 30.3 401 0 365 0z\"],\n \"elementor\": [512, 512, [], \"f430\", \"M.361 256C.361 397 114 511 255 511C397 511 511 397 511 256C511 116 397 2.05 255 2.05C114 2.05 .361 116 .361 256zM192 150V363H149V150H192zM234 150H362V193H234V150zM362 235V278H234V235H362zM234 320H362V363H234V320z\"],\n \"square-pied-piper\": [448, 512, [\"pied-piper-square\"], \"e01e\", \"M32 419L0 479.2l.8-328C.8 85.3 54 32 120 32h327.2c-93 28.9-189.9 94.2-253.9 168.6C122.7 282 82.6 338 32 419M448 32S305.2 98.8 261.6 199.1c-23.2 53.6-28.9 118.1-71 158.6-28.9 27.8-69.8 38.2-105.3 56.3-23.2 12-66.4 40.5-84.9 66h328.4c66 0 119.3-53.3 119.3-119.2-.1 0-.1-328.8-.1-328.8z\"],\n \"creative-commons-nd\": [496, 512, [], \"f4eb\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z\"],\n \"palfed\": [576, 512, [], \"f3d8\", \"M384.9 193.9c0-47.4-55.2-44.2-95.4-29.8-1.3 39.4-2.5 80.7-3 119.8.7 2.8 2.6 6.2 15.1 6.2 36.8 0 83.4-42.8 83.3-96.2zm-194.5 72.2c.2 0 6.5-2.7 11.2-2.7 26.6 0 20.7 44.1-14.4 44.1-21.5 0-37.1-18.1-37.1-43 0-42 42.9-95.6 100.7-126.5 1-12.4 3-22 10.5-28.2 11.2-9 26.6-3.5 29.5 11.1 72.2-22.2 135.2 1 135.2 72 0 77.9-79.3 152.6-140.1 138.2-.1 39.4.9 74.4 2.7 100v.2c.2 3.4.6 12.5-5.3 19.1-9.6 10.6-33.4 10-36.4-22.3-4.1-44.4.2-206.1 1.4-242.5-21.5 15-58.5 50.3-58.5 75.9.2 2.5.4 4 .6 4.6zM8 181.1s-.1 37.4 38.4 37.4h30l22.4 217.2s0 44.3 44.7 44.3h288.9s44.7-.4 44.7-44.3l22.4-217.2h30s38.4 1.2 38.4-37.4c0 0 .1-37.4-38.4-37.4h-30.1c-7.3-25.6-30.2-74.3-119.4-74.3h-28V50.3s-2.7-18.4-21.1-18.4h-85.8s-21.1 0-21.1 18.4v19.1h-28.1s-105 4.2-120.5 74.3h-29S8 142.5 8 181.1z\"],\n \"superpowers\": [448, 512, [], \"f2dd\", \"M448 32c-83.3 11-166.8 22-250 33-92 12.5-163.3 86.7-169 180-3.3 55.5 18 109.5 57.8 148.2L0 480c83.3-11 166.5-22 249.8-33 91.8-12.5 163.3-86.8 168.7-179.8 3.5-55.5-18-109.5-57.7-148.2L448 32zm-79.7 232.3c-4.2 79.5-74 139.2-152.8 134.5-79.5-4.7-140.7-71-136.3-151 4.5-79.2 74.3-139.3 153-134.5 79.3 4.7 140.5 71 136.1 151z\"],\n \"resolving\": [496, 512, [], \"f3e7\", \"M281.2 278.2c46-13.3 49.6-23.5 44-43.4L314 195.5c-6.1-20.9-18.4-28.1-71.1-12.8L54.7 236.8l28.6 98.6 197.9-57.2zM248.5 8C131.4 8 33.2 88.7 7.2 197.5l221.9-63.9c34.8-10.2 54.2-11.7 79.3-8.2 36.3 6.1 52.7 25 61.4 55.2l10.7 37.8c8.2 28.1 1 50.6-23.5 73.6-19.4 17.4-31.2 24.5-61.4 33.2L203 351.8l220.4 27.1 9.7 34.2-48.1 13.3-286.8-37.3 23 80.2c36.8 22 80.3 34.7 126.3 34.7 137 0 248.5-111.4 248.5-248.3C497 119.4 385.5 8 248.5 8zM38.3 388.6L0 256.8c0 48.5 14.3 93.4 38.3 131.8z\"],\n \"xbox\": [512, 512, [], \"f412\", \"M369.9 318.2c44.3 54.3 64.7 98.8 54.4 118.7-7.9 15.1-56.7 44.6-92.6 55.9-29.6 9.3-68.4 13.3-100.4 10.2-38.2-3.7-76.9-17.4-110.1-39C93.3 445.8 87 438.3 87 423.4c0-29.9 32.9-82.3 89.2-142.1 32-33.9 76.5-73.7 81.4-72.6 9.4 2.1 84.3 75.1 112.3 109.5zM188.6 143.8c-29.7-26.9-58.1-53.9-86.4-63.4-15.2-5.1-16.3-4.8-28.7 8.1-29.2 30.4-53.5 79.7-60.3 122.4-5.4 34.2-6.1 43.8-4.2 60.5 5.6 50.5 17.3 85.4 40.5 120.9 9.5 14.6 12.1 17.3 9.3 9.9-4.2-11-.3-37.5 9.5-64 14.3-39 53.9-112.9 120.3-194.4zm311.6 63.5C483.3 127.3 432.7 77 425.6 77c-7.3 0-24.2 6.5-36 13.9-23.3 14.5-41 31.4-64.3 52.8C367.7 197 427.5 283.1 448.2 346c6.8 20.7 9.7 41.1 7.4 52.3-1.7 8.5-1.7 8.5 1.4 4.6 6.1-7.7 19.9-31.3 25.4-43.5 7.4-16.2 15-40.2 18.6-58.7 4.3-22.5 3.9-70.8-.8-93.4zM141.3 43C189 40.5 251 77.5 255.6 78.4c.7.1 10.4-4.2 21.6-9.7 63.9-31.1 94-25.8 107.4-25.2-63.9-39.3-152.7-50-233.9-11.7-23.4 11.1-24 11.9-9.4 11.2z\"],\n \"searchengin\": [460, 512, [], \"f3eb\", \"M220.6 130.3l-67.2 28.2V43.2L98.7 233.5l54.7-24.2v130.3l67.2-209.3zm-83.2-96.7l-1.3 4.7-15.2 52.9C80.6 106.7 52 145.8 52 191.5c0 52.3 34.3 95.9 83.4 105.5v53.6C57.5 340.1 0 272.4 0 191.6c0-80.5 59.8-147.2 137.4-158zm311.4 447.2c-11.2 11.2-23.1 12.3-28.6 10.5-5.4-1.8-27.1-19.9-60.4-44.4-33.3-24.6-33.6-35.7-43-56.7-9.4-20.9-30.4-42.6-57.5-52.4l-9.7-14.7c-24.7 16.9-53 26.9-81.3 28.7l2.1-6.6 15.9-49.5c46.5-11.9 80.9-54 80.9-104.2 0-54.5-38.4-102.1-96-107.1V32.3C254.4 37.4 320 106.8 320 191.6c0 33.6-11.2 64.7-29 90.4l14.6 9.6c9.8 27.1 31.5 48 52.4 57.4s32.2 9.7 56.8 43c24.6 33.2 42.7 54.9 44.5 60.3s.7 17.3-10.5 28.5zm-9.9-17.9c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8 8-3.6 8-8z\"],\n \"tiktok\": [448, 512, [], \"e07b\", \"M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z\"],\n \"square-facebook\": [448, 512, [\"facebook-square\"], \"f082\", \"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z\"],\n \"renren\": [512, 512, [], \"f18b\", \"M214 169.1c0 110.4-61 205.4-147.6 247.4C30 373.2 8 317.7 8 256.6 8 133.9 97.1 32.2 214 12.5v156.6zM255 504c-42.9 0-83.3-11-118.5-30.4C193.7 437.5 239.9 382.9 255 319c15.5 63.9 61.7 118.5 118.8 154.7C338.7 493 298.3 504 255 504zm190.6-87.5C359 374.5 298 279.6 298 169.1V12.5c116.9 19.7 206 121.4 206 244.1 0 61.1-22 116.6-58.4 159.9z\"],\n \"linux\": [448, 512, [], \"f17c\", \"M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z\"],\n \"glide\": [448, 512, [], \"f2a5\", \"M252.8 148.6c0 8.8-1.6 17.7-3.4 26.4-5.8 27.8-11.6 55.8-17.3 83.6-1.4 6.3-8.3 4.9-13.7 4.9-23.8 0-30.5-26-30.5-45.5 0-29.3 11.2-68.1 38.5-83.1 4.3-2.5 9.2-4.2 14.1-4.2 11.4 0 12.3 8.3 12.3 17.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 187c0-5.1-20.8-37.7-25.5-39.5-2.2-.9-7.2-2.3-9.6-2.3-23.1 0-38.7 10.5-58.2 21.5l-.5-.5c4.3-29.4 14.6-57.2 14.6-87.4 0-44.6-23.8-62.7-67.5-62.7-71.7 0-108 70.8-108 123.5 0 54.7 32 85 86.3 85 7.5 0 6.9-.6 6.9 2.3-10.5 80.3-56.5 82.9-56.5 58.9 0-24.4 28-36.5 28.3-38-.2-7.6-29.3-17.2-36.7-17.2-21.1 0-32.7 33-32.7 50.6 0 32.3 20.4 54.7 53.3 54.7 48.2 0 83.4-49.7 94.3-91.7 9.4-37.7 7-39.4 12.3-42.1 20-10.1 35.8-16.8 58.4-16.8 11.1 0 19 2.3 36.7 5.2 1.8.1 4.1-1.7 4.1-3.5z\"],\n \"linkedin\": [448, 512, [], \"f08c\", \"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z\"],\n \"hubspot\": [512, 512, [], \"f3b2\", \"M267.4 211.6c-25.1 23.7-40.8 57.3-40.8 94.6 0 29.3 9.7 56.3 26 78L203.1 434c-4.4-1.6-9.1-2.5-14-2.5-10.8 0-20.9 4.2-28.5 11.8-7.6 7.6-11.8 17.8-11.8 28.6s4.2 20.9 11.8 28.5c7.6 7.6 17.8 11.6 28.5 11.6 10.8 0 20.9-3.9 28.6-11.6 7.6-7.6 11.8-17.8 11.8-28.5 0-4.2-.6-8.2-1.9-12.1l50-50.2c22 16.9 49.4 26.9 79.3 26.9 71.9 0 130-58.3 130-130.2 0-65.2-47.7-119.2-110.2-128.7V116c17.5-7.4 28.2-23.8 28.2-42.9 0-26.1-20.9-47.9-47-47.9S311.2 47 311.2 73.1c0 19.1 10.7 35.5 28.2 42.9v61.2c-15.2 2.1-29.6 6.7-42.7 13.6-27.6-20.9-117.5-85.7-168.9-124.8 1.2-4.4 2-9 2-13.8C129.8 23.4 106.3 0 77.4 0 48.6 0 25.2 23.4 25.2 52.2c0 28.9 23.4 52.3 52.2 52.3 9.8 0 18.9-2.9 26.8-7.6l163.2 114.7zm89.5 163.6c-38.1 0-69-30.9-69-69s30.9-69 69-69 69 30.9 69 69-30.9 69-69 69z\"],\n \"deploydog\": [512, 512, [], \"f38e\", \"M382.2 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.6 0-33.2 16.4-33.2 32.6zM188.5 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.7 0-33.2 16.4-33.2 32.6zM448 96c17.5 0 32 14.4 32 32v256c0 17.5-14.4 32-32 32H64c-17.5 0-32-14.4-32-32V128c0-17.5 14.4-32 32-32h384m0-32H64C28.8 64 0 92.8 0 128v256c0 35.2 28.8 64 64 64h384c35.2 0 64-28.8 64-64V128c0-35.2-28.8-64-64-64z\"],\n \"twitch\": [512, 512, [], \"f1e8\", \"M391.17,103.47H352.54v109.7h38.63ZM285,103H246.37V212.75H285ZM120.83,0,24.31,91.42V420.58H140.14V512l96.53-91.42h77.25L487.69,256V0ZM449.07,237.75l-77.22,73.12H294.61l-67.6,64v-64H140.14V36.58H449.07Z\"],\n \"ravelry\": [512, 512, [], \"f2d9\", \"M498.252,234.223c-1.208-10.34-1.7-20.826-3.746-31a310.306,310.306,0,0,0-9.622-36.6,184.068,184.068,0,0,0-30.874-57.5,251.154,251.154,0,0,0-18.818-21.689,237.362,237.362,0,0,0-47.113-36.116A240.8,240.8,0,0,0,331.356,26.65c-11.018-3.1-22.272-5.431-33.515-7.615-6.78-1.314-13.749-1.667-20.627-2.482-.316-.036-.6-.358-.9-.553q-16.143.009-32.288.006c-2.41.389-4.808.925-7.236,1.15a179.331,179.331,0,0,0-34.256,7.1,221.5,221.5,0,0,0-39.768,16.355,281.385,281.385,0,0,0-38.08,24.158c-6.167,4.61-12.268,9.36-17.974,14.518C96.539,88.494,86.34,97.72,76.785,107.555a243.878,243.878,0,0,0-33.648,43.95,206.488,206.488,0,0,0-20.494,44.6,198.2,198.2,0,0,0-7.691,34.759A201.13,201.13,0,0,0,13.4,266.385a299.716,299.716,0,0,0,4.425,40.24,226.865,226.865,0,0,0,16.73,53.3,210.543,210.543,0,0,0,24,39.528,213.589,213.589,0,0,0,26.358,28.416A251.313,251.313,0,0,0,126.7,458.455a287.831,287.831,0,0,0,55.9,25.277,269.5,269.5,0,0,0,40.641,9.835c6.071,1.01,12.275,1.253,18.412,1.873a4.149,4.149,0,0,1,1.19.56h32.289c2.507-.389,5-.937,7.527-1.143,16.336-1.332,32.107-5.335,47.489-10.717A219.992,219.992,0,0,0,379.1,460.322c9.749-6.447,19.395-13.077,28.737-20.1,5.785-4.348,10.988-9.5,16.3-14.457,3.964-3.7,7.764-7.578,11.51-11.5a232.162,232.162,0,0,0,31.427-41.639c9.542-16.045,17.355-32.905,22.3-50.926,2.859-10.413,4.947-21.045,7.017-31.652,1.032-5.279,1.251-10.723,1.87-16.087.036-.317.358-.6.552-.9V236.005A9.757,9.757,0,0,1,498.252,234.223Zm-161.117-1.15s-16.572-2.98-28.47-2.98c-27.2,0-33.57,14.9-33.57,37.04V360.8H201.582V170.062H275.1v31.931c8.924-26.822,26.771-36.189,62.04-36.189Z\"],\n \"mixer\": [512, 512, [], \"e056\", \"M114.57,76.07a45.71,45.71,0,0,0-67.51-6.41c-17.58,16.18-19,43.52-4.75,62.77l91.78,123L41.76,379.58c-14.23,19.25-13.11,46.59,4.74,62.77A45.71,45.71,0,0,0,114,435.94L242.89,262.7a12.14,12.14,0,0,0,0-14.23ZM470.24,379.58,377.91,255.45l91.78-123c14.22-19.25,12.83-46.59-4.75-62.77a45.71,45.71,0,0,0-67.51,6.41l-128,172.12a12.14,12.14,0,0,0,0,14.23L398,435.94a45.71,45.71,0,0,0,67.51,6.41C483.35,426.17,484.47,398.83,470.24,379.58Z\"],\n \"square-lastfm\": [448, 512, [\"lastfm-square\"], \"f203\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-92.2 312.9c-63.4 0-85.4-28.6-97.1-64.1-16.3-51-21.5-84.3-63-84.3-22.4 0-45.1 16.1-45.1 61.2 0 35.2 18 57.2 43.3 57.2 28.6 0 47.6-21.3 47.6-21.3l11.7 31.9s-19.8 19.4-61.2 19.4c-51.3 0-79.9-30.1-79.9-85.8 0-57.9 28.6-92 82.5-92 73.5 0 80.8 41.4 100.8 101.9 8.8 26.8 24.2 46.2 61.2 46.2 24.9 0 38.1-5.5 38.1-19.1 0-19.9-21.8-22-49.9-28.6-30.4-7.3-42.5-23.1-42.5-48 0-40 32.3-52.4 65.2-52.4 37.4 0 60.1 13.6 63 46.6l-36.7 4.4c-1.5-15.8-11-22.4-28.6-22.4-16.1 0-26 7.3-26 19.8 0 11 4.8 17.6 20.9 21.3 32.7 7.1 71.8 12 71.8 57.5.1 36.7-30.7 50.6-76.1 50.6z\"],\n \"vimeo\": [448, 512, [], \"f40a\", \"M403.2 32H44.8C20.1 32 0 52.1 0 76.8v358.4C0 459.9 20.1 480 44.8 480h358.4c24.7 0 44.8-20.1 44.8-44.8V76.8c0-24.7-20.1-44.8-44.8-44.8zM377 180.8c-1.4 31.5-23.4 74.7-66 129.4-44 57.2-81.3 85.8-111.7 85.8-18.9 0-34.8-17.4-47.9-52.3-25.5-93.3-36.4-148-57.4-148-2.4 0-10.9 5.1-25.4 15.2l-15.2-19.6c37.3-32.8 72.9-69.2 95.2-71.2 25.2-2.4 40.7 14.8 46.5 51.7 20.7 131.2 29.9 151 67.6 91.6 13.5-21.4 20.8-37.7 21.8-48.9 3.5-33.2-25.9-30.9-45.8-22.4 15.9-52.1 46.3-77.4 91.2-76 33.3.9 49 22.5 47.1 64.7z\"],\n \"mendeley\": [640, 512, [], \"f7b3\", \"M624.6 325.2c-12.3-12.4-29.7-19.2-48.4-17.2-43.3-1-49.7-34.9-37.5-98.8 22.8-57.5-14.9-131.5-87.4-130.8-77.4.7-81.7 82-130.9 82-48.1 0-54-81.3-130.9-82-72.9-.8-110.1 73.3-87.4 130.8 12.2 63.9 5.8 97.8-37.5 98.8-21.2-2.3-37 6.5-53 22.5-19.9 19.7-19.3 94.8 42.6 102.6 47.1 5.9 81.6-42.9 61.2-87.8-47.3-103.7 185.9-106.1 146.5-8.2-.1.1-.2.2-.3.4-26.8 42.8 6.8 97.4 58.8 95.2 52.1 2.1 85.4-52.6 58.8-95.2-.1-.2-.2-.3-.3-.4-39.4-97.9 193.8-95.5 146.5 8.2-4.6 10-6.7 21.3-5.7 33 4.9 53.4 68.7 74.1 104.9 35.2 17.8-14.8 23.1-65.6 0-88.3zm-303.9-19.1h-.6c-43.4 0-62.8-37.5-62.8-62.8 0-34.7 28.2-62.8 62.8-62.8h.6c34.7 0 62.8 28.1 62.8 62.8 0 25-19.2 62.8-62.8 62.8z\"],\n \"uniregistry\": [384, 512, [], \"f404\", \"M192 480c39.5 0 76.2-11.8 106.8-32.2H85.3C115.8 468.2 152.5 480 192 480zm-89.1-193.1v-12.4H0v12.4c0 2.5 0 5 .1 7.4h103.1c-.2-2.4-.3-4.9-.3-7.4zm20.5 57H8.5c2.6 8.5 5.8 16.8 9.6 24.8h138.3c-12.9-5.7-24.1-14.2-33-24.8zm-17.7-34.7H1.3c.9 7.6 2.2 15 3.9 22.3h109.7c-4-6.9-7.2-14.4-9.2-22.3zm-2.8-69.3H0v17.3h102.9zm0-173.2H0v4.9h102.9zm0-34.7H0v2.5h102.9zm0 69.3H0v7.4h102.9zm0 104H0v14.8h102.9zm0-69.3H0v9.9h102.9zm0 34.6H0V183h102.9zm166.2 160.9h109.7c1.8-7.3 3.1-14.7 3.9-22.3H278.3c-2.1 7.9-5.2 15.4-9.2 22.3zm12-185.7H384V136H281.1zm0 37.2H384v-12.4H281.1zm0-74.3H384v-7.4H281.1zm0-76.7v2.5H384V32zm-203 410.9h227.7c11.8-8.7 22.7-18.6 32.2-29.7H44.9c9.6 11 21.4 21 33.2 29.7zm203-371.3H384v-4.9H281.1zm0 148.5H384v-14.8H281.1zM38.8 405.7h305.3c6.7-8.5 12.6-17.6 17.8-27.2H23c5.2 9.6 9.2 18.7 15.8 27.2zm188.8-37.1H367c3.7-8 5.8-16.2 8.5-24.8h-115c-8.8 10.7-20.1 19.2-32.9 24.8zm53.5-81.7c0 2.5-.1 5-.4 7.4h103.1c.1-2.5.2-4.9.2-7.4v-12.4H281.1zm0-29.7H384v-17.3H281.1z\"],\n \"figma\": [384, 512, [], \"f799\", \"M14 95.7924C14 42.8877 56.8878 0 109.793 0H274.161C327.066 0 369.954 42.8877 369.954 95.7924C369.954 129.292 352.758 158.776 326.711 175.897C352.758 193.019 369.954 222.502 369.954 256.002C369.954 308.907 327.066 351.795 274.161 351.795H272.081C247.279 351.795 224.678 342.369 207.666 326.904V415.167C207.666 468.777 163.657 512 110.309 512C57.5361 512 14 469.243 14 416.207C14 382.709 31.1945 353.227 57.2392 336.105C31.1945 318.983 14 289.5 14 256.002C14 222.502 31.196 193.019 57.2425 175.897C31.196 158.776 14 129.292 14 95.7924ZM176.288 191.587H109.793C74.2172 191.587 45.3778 220.427 45.3778 256.002C45.3778 291.44 73.9948 320.194 109.381 320.416C109.518 320.415 109.655 320.415 109.793 320.415H176.288V191.587ZM207.666 256.002C207.666 291.577 236.505 320.417 272.081 320.417H274.161C309.737 320.417 338.576 291.577 338.576 256.002C338.576 220.427 309.737 191.587 274.161 191.587H272.081C236.505 191.587 207.666 220.427 207.666 256.002ZM109.793 351.795C109.655 351.795 109.518 351.794 109.381 351.794C73.9948 352.015 45.3778 380.769 45.3778 416.207C45.3778 451.652 74.6025 480.622 110.309 480.622C146.591 480.622 176.288 451.186 176.288 415.167V351.795H109.793ZM109.793 31.3778C74.2172 31.3778 45.3778 60.2173 45.3778 95.7924C45.3778 131.368 74.2172 160.207 109.793 160.207H176.288V31.3778H109.793ZM207.666 160.207H274.161C309.737 160.207 338.576 131.368 338.576 95.7924C338.576 60.2173 309.737 31.3778 274.161 31.3778H207.666V160.207Z\"],\n \"creative-commons-remix\": [496, 512, [], \"f4ee\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm161.7 207.7l4.9 2.2v70c-7.2 3.6-63.4 27.5-67.3 28.8-6.5-1.8-113.7-46.8-137.3-56.2l-64.2 26.6-63.3-27.5v-63.8l59.3-24.8c-.7-.7-.4 5-.4-70.4l67.3-29.7L361 178.5v61.6l49.1 20.3zm-70.4 81.5v-43.8h-.4v-1.8l-113.8-46.5V295l113.8 46.9v-.4l.4.4zm7.5-57.6l39.9-16.4-36.8-15.5-39 16.4 35.9 15.5zm52.3 38.1v-43L355.2 298v43.4l44.3-19z\"],\n \"cc-amazon-pay\": [576, 512, [], \"f42d\", \"M124.7 201.8c.1-11.8 0-23.5 0-35.3v-35.3c0-1.3.4-2 1.4-2.7 11.5-8 24.1-12.1 38.2-11.1 12.5.9 22.7 7 28.1 21.7 3.3 8.9 4.1 18.2 4.1 27.7 0 8.7-.7 17.3-3.4 25.6-5.7 17.8-18.7 24.7-35.7 23.9-11.7-.5-21.9-5-31.4-11.7-.9-.8-1.4-1.6-1.3-2.8zm154.9 14.6c4.6 1.8 9.3 2 14.1 1.5 11.6-1.2 21.9-5.7 31.3-12.5.9-.6 1.3-1.3 1.3-2.5-.1-3.9 0-7.9 0-11.8 0-4-.1-8 0-12 0-1.4-.4-2-1.8-2.2-7-.9-13.9-2.2-20.9-2.9-7-.6-14-.3-20.8 1.9-6.7 2.2-11.7 6.2-13.7 13.1-1.6 5.4-1.6 10.8.1 16.2 1.6 5.5 5.2 9.2 10.4 11.2zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zm-207.5 23.9c.4 1.7.9 3.4 1.6 5.1 16.5 40.6 32.9 81.3 49.5 121.9 1.4 3.5 1.7 6.4.2 9.9-2.8 6.2-4.9 12.6-7.8 18.7-2.6 5.5-6.7 9.5-12.7 11.2-4.2 1.1-8.5 1.3-12.9.9-2.1-.2-4.2-.7-6.3-.8-2.8-.2-4.2 1.1-4.3 4-.1 2.8-.1 5.6 0 8.3.1 4.6 1.6 6.7 6.2 7.5 4.7.8 9.4 1.6 14.2 1.7 14.3.3 25.7-5.4 33.1-17.9 2.9-4.9 5.6-10.1 7.7-15.4 19.8-50.1 39.5-100.3 59.2-150.5.6-1.5 1.1-3 1.3-4.6.4-2.4-.7-3.6-3.1-3.7-5.6-.1-11.1 0-16.7 0-3.1 0-5.3 1.4-6.4 4.3-.4 1.1-.9 2.3-1.3 3.4l-29.1 83.7c-2.1 6.1-4.2 12.1-6.5 18.6-.4-.9-.6-1.4-.8-1.9-10.8-29.9-21.6-59.9-32.4-89.8-1.7-4.7-3.5-9.5-5.3-14.2-.9-2.5-2.7-4-5.4-4-6.4-.1-12.8-.2-19.2-.1-2.2 0-3.3 1.6-2.8 3.7zM242.4 206c1.7 11.7 7.6 20.8 18 26.6 9.9 5.5 20.7 6.2 31.7 4.6 12.7-1.9 23.9-7.3 33.8-15.5.4-.3.8-.6 1.4-1 .5 3.2.9 6.2 1.5 9.2.5 2.6 2.1 4.3 4.5 4.4 4.6.1 9.1.1 13.7 0 2.3-.1 3.8-1.6 4-3.9.1-.8.1-1.6.1-2.3v-88.8c0-3.6-.2-7.2-.7-10.8-1.6-10.8-6.2-19.7-15.9-25.4-5.6-3.3-11.8-5-18.2-5.9-3-.4-6-.7-9.1-1.1h-10c-.8.1-1.6.3-2.5.3-8.2.4-16.3 1.4-24.2 3.5-5.1 1.3-10 3.2-15 4.9-3 1-4.5 3.2-4.4 6.5.1 2.8-.1 5.6 0 8.3.1 4.1 1.8 5.2 5.7 4.1 6.5-1.7 13.1-3.5 19.7-4.8 10.3-1.9 20.7-2.7 31.1-1.2 5.4.8 10.5 2.4 14.1 7 3.1 4 4.2 8.8 4.4 13.7.3 6.9.2 13.9.3 20.8 0 .4-.1.7-.2 1.2-.4 0-.8 0-1.1-.1-8.8-2.1-17.7-3.6-26.8-4.1-9.5-.5-18.9.1-27.9 3.2-10.8 3.8-19.5 10.3-24.6 20.8-4.1 8.3-4.6 17-3.4 25.8zM98.7 106.9v175.3c0 .8 0 1.7.1 2.5.2 2.5 1.7 4.1 4.1 4.2 5.9.1 11.8.1 17.7 0 2.5 0 4-1.7 4.1-4.1.1-.8.1-1.7.1-2.5v-60.7c.9.7 1.4 1.2 1.9 1.6 15 12.5 32.2 16.6 51.1 12.9 17.1-3.4 28.9-13.9 36.7-29.2 5.8-11.6 8.3-24.1 8.7-37 .5-14.3-1-28.4-6.8-41.7-7.1-16.4-18.9-27.3-36.7-30.9-2.7-.6-5.5-.8-8.2-1.2h-7c-1.2.2-2.4.3-3.6.5-11.7 1.4-22.3 5.8-31.8 12.7-2 1.4-3.9 3-5.9 4.5-.1-.5-.3-.8-.4-1.2-.4-2.3-.7-4.6-1.1-6.9-.6-3.9-2.5-5.5-6.4-5.6h-9.7c-5.9-.1-6.9 1-6.9 6.8zM493.6 339c-2.7-.7-5.1 0-7.6 1-43.9 18.4-89.5 30.2-136.8 35.8-14.5 1.7-29.1 2.8-43.7 3.2-26.6.7-53.2-.8-79.6-4.3-17.8-2.4-35.5-5.7-53-9.9-37-8.9-72.7-21.7-106.7-38.8-8.8-4.4-17.4-9.3-26.1-14-3.8-2.1-6.2-1.5-8.2 2.1v1.7c1.2 1.6 2.2 3.4 3.7 4.8 36 32.2 76.6 56.5 122 72.9 21.9 7.9 44.4 13.7 67.3 17.5 14 2.3 28 3.8 42.2 4.5 3 .1 6 .2 9 .4.7 0 1.4.2 2.1.3h17.7c.7-.1 1.4-.3 2.1-.3 14.9-.4 29.8-1.8 44.6-4 21.4-3.2 42.4-8.1 62.9-14.7 29.6-9.6 57.7-22.4 83.4-40.1 2.8-1.9 5.7-3.8 8-6.2 4.3-4.4 2.3-10.4-3.3-11.9zm50.4-27.7c-.8-4.2-4-5.8-7.6-7-5.7-1.9-11.6-2.8-17.6-3.3-11-.9-22-.4-32.8 1.6-12 2.2-23.4 6.1-33.5 13.1-1.2.8-2.4 1.8-3.1 3-.6.9-.7 2.3-.5 3.4.3 1.3 1.7 1.6 3 1.5.6 0 1.2 0 1.8-.1l19.5-2.1c9.6-.9 19.2-1.5 28.8-.8 4.1.3 8.1 1.2 12 2.2 4.3 1.1 6.2 4.4 6.4 8.7.3 6.7-1.2 13.1-2.9 19.5-3.5 12.9-8.3 25.4-13.3 37.8-.3.8-.7 1.7-.8 2.5-.4 2.5 1 4 3.4 3.5 1.4-.3 3-1.1 4-2.1 3.7-3.6 7.5-7.2 10.6-11.2 10.7-13.8 17-29.6 20.7-46.6.7-3 1.2-6.1 1.7-9.1.2-4.7.2-9.6.2-14.5z\"],\n \"dropbox\": [528, 512, [], \"f16b\", \"M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z\"],\n \"instagram\": [448, 512, [], \"f16d\", \"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z\"],\n \"cmplid\": [640, 512, [], \"e360\", \"M226.119,388.165a3.816,3.816,0,0,0-2.294-3.5,3.946,3.946,0,0,0-1.629-.385L72.6,384.3a19.243,19.243,0,0,1-17.924-26.025L81.585,255.692a35.72,35.72,0,0,1,32.373-26H262.525a7.07,7.07,0,0,0,6.392-5.194l10.769-41.131a3.849,3.849,0,0,0-2.237-4.937,3.755,3.755,0,0,0-1.377-.261c-.063,0-.126,0-.189.005H127.38a106.8,106.8,0,0,0-96.99,77.1L3.483,358.824A57.469,57.469,0,0,0,57.314,436q1.43,0,2.86-.072H208.742a7.131,7.131,0,0,0,6.391-5.193L225.839,389.6A3.82,3.82,0,0,0,226.119,388.165ZM306.658,81.2a3.861,3.861,0,0,0,.251-1.367A3.813,3.813,0,0,0,303.079,76c-.064,0-.128,0-.192,0h-41A7.034,7.034,0,0,0,255.5,81.2l-21.347,80.915h51.131ZM180.364,368.249H231.5L263.452,245.69H212.321ZM511.853,79.723a3.809,3.809,0,0,0-3.8-3.661c-.058,0-.137,0-.23.007h-41a7.1,7.1,0,0,0-6.584,5.129L368.91,430.634a3.54,3.54,0,0,0-.262,1.335,3.873,3.873,0,0,0,3.864,3.863c.056,0,.112,0,.169,0h41a7.068,7.068,0,0,0,6.392-5.193L511.533,81.2A3.624,3.624,0,0,0,511.853,79.723ZM324.649,384.47h-41a7.2,7.2,0,0,0-6.392,5.194L266.52,430.8a3.662,3.662,0,0,0-.268,1.374A3.783,3.783,0,0,0,270.023,436c.06,0,.166,0,.3-.012h40.905a7.036,7.036,0,0,0,6.391-5.193l10.769-41.131a3.75,3.75,0,0,0-3.445-5.208c-.108,0-.217,0-.326.014Zm311.324-308.4h-41a7.066,7.066,0,0,0-6.392,5.129l-91.46,349.436a4.073,4.073,0,0,0-.229,1.347,3.872,3.872,0,0,0,3.863,3.851c.056,0,.112,0,.169,0h40.968a7.1,7.1,0,0,0,6.392-5.193L639.68,81.2a3.624,3.624,0,0,0,.32-1.475,3.841,3.841,0,0,0-3.821-3.564c-.068,0-.137,0-.206.006ZM371.562,225.236l10.8-41.1a4.369,4.369,0,0,0,.227-1.388,3.869,3.869,0,0,0-3.861-3.842c-.057,0-.113,0-.169,0h-41.1a7.292,7.292,0,0,0-6.391,5.226l-10.834,41.1a4.417,4.417,0,0,0-.26,1.493c0,.069,0,.138,0,.206a3.776,3.776,0,0,0,3.757,3.507c.076,0,.18,0,.3-.012h41.129A7.034,7.034,0,0,0,371.562,225.236Z\"],\n \"facebook\": [512, 512, [62000], \"f09a\", \"M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z\"],\n \"gripfire\": [384, 512, [], \"f3ac\", \"M112.5 301.4c0-73.8 105.1-122.5 105.1-203 0-47.1-34-88-39.1-90.4.4 3.3.6 6.7.6 10C179.1 110.1 32 171.9 32 286.6c0 49.8 32.2 79.2 66.5 108.3 65.1 46.7 78.1 71.4 78.1 86.6 0 10.1-4.8 17-4.8 22.3 13.1-16.7 17.4-31.9 17.5-46.4 0-29.6-21.7-56.3-44.2-86.5-16-22.3-32.6-42.6-32.6-69.5zm205.3-39c-12.1-66.8-78-124.4-94.7-130.9l4 7.2c2.4 5.1 3.4 10.9 3.4 17.1 0 44.7-54.2 111.2-56.6 116.7-2.2 5.1-3.2 10.5-3.2 15.8 0 20.1 15.2 42.1 17.9 42.1 2.4 0 56.6-55.4 58.1-87.7 6.4 11.7 9.1 22.6 9.1 33.4 0 41.2-41.8 96.9-41.8 96.9 0 11.6 31.9 53.2 35.5 53.2 1 0 2.2-1.4 3.2-2.4 37.9-39.3 67.3-85 67.3-136.8 0-8-.7-16.2-2.2-24.6z\"],\n \"jedi-order\": [448, 512, [], \"f50e\", \"M398.5 373.6c95.9-122.1 17.2-233.1 17.2-233.1 45.4 85.8-41.4 170.5-41.4 170.5 105-171.5-60.5-271.5-60.5-271.5 96.9 72.7-10.1 190.7-10.1 190.7 85.8 158.4-68.6 230.1-68.6 230.1s-.4-16.9-2.2-85.7c4.3 4.5 34.5 36.2 34.5 36.2l-24.2-47.4 62.6-9.1-62.6-9.1 20.2-55.5-31.4 45.9c-2.2-87.7-7.8-305.1-7.9-306.9v-2.4 1-1 2.4c0 1-5.6 219-7.9 306.9l-31.4-45.9 20.2 55.5-62.6 9.1 62.6 9.1-24.2 47.4 34.5-36.2c-1.8 68.8-2.2 85.7-2.2 85.7s-154.4-71.7-68.6-230.1c0 0-107-118.1-10.1-190.7 0 0-165.5 99.9-60.5 271.5 0 0-86.8-84.8-41.4-170.5 0 0-78.7 111 17.2 233.1 0 0-26.2-16.1-49.4-77.7 0 0 16.9 183.3 222 185.7h4.1c205-2.4 222-185.7 222-185.7-23.6 61.5-49.9 77.7-49.9 77.7z\"],\n \"uikit\": [448, 512, [], \"f403\", \"M443.9 128v256L218 512 0 384V169.7l87.6 45.1v117l133.5 75.5 135.8-75.5v-151l-101.1-57.6 87.6-53.1L443.9 128zM308.6 49.1L223.8 0l-88.6 54.8 86 47.3 87.4-53z\"],\n \"fort-awesome-alt\": [512, 512, [], \"f3a3\", \"M208 237.4h-22.2c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7H208c2.1 0 3.7-1.6 3.7-3.7v-51.7c0-2.1-1.6-3.7-3.7-3.7zm118.2 0H304c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7h22.2c2.1 0 3.7-1.6 3.7-3.7v-51.7c-.1-2.1-1.7-3.7-3.7-3.7zm132-125.1c-2.3-3.2-4.6-6.4-7.1-9.5-9.8-12.5-20.8-24-32.8-34.4-4.5-3.9-9.1-7.6-13.9-11.2-1.6-1.2-3.2-2.3-4.8-3.5C372 34.1 340.3 20 306 13c-16.2-3.3-32.9-5-50-5s-33.9 1.7-50 5c-34.3 7.1-66 21.2-93.3 40.8-1.6 1.1-3.2 2.3-4.8 3.5-4.8 3.6-9.4 7.3-13.9 11.2-3 2.6-5.9 5.3-8.8 8s-5.7 5.5-8.4 8.4c-5.5 5.7-10.7 11.8-15.6 18-2.4 3.1-4.8 6.3-7.1 9.5C25.2 153 8.3 202.5 8.3 256c0 2 .1 4 .1 6 .1.7.1 1.3.1 2 .1 1.3.1 2.7.2 4 0 .8.1 1.5.1 2.3 0 1.3.1 2.5.2 3.7.1.8.1 1.6.2 2.4.1 1.1.2 2.3.3 3.5 0 .8.1 1.6.2 2.4.1 1.2.3 2.4.4 3.6.1.8.2 1.5.3 2.3.1 1.3.3 2.6.5 3.9.1.6.2 1.3.3 1.9l.9 5.7c.1.6.2 1.1.3 1.7.3 1.3.5 2.7.8 4 .2.8.3 1.6.5 2.4.2 1 .5 2.1.7 3.2.2.9.4 1.7.6 2.6.2 1 .4 2 .7 3 .2.9.5 1.8.7 2.7.3 1 .5 1.9.8 2.9.3.9.5 1.8.8 2.7.2.9.5 1.9.8 2.8s.5 1.8.8 2.7c.3 1 .6 1.9.9 2.8.6 1.6 1.1 3.3 1.7 4.9.4 1 .7 1.9 1 2.8.3 1 .7 2 1.1 3 .3.8.6 1.5.9 2.3l1.2 3c.3.7.6 1.5.9 2.2.4 1 .9 2 1.3 3l.9 2.1c.5 1 .9 2 1.4 3 .3.7.6 1.3.9 2 .5 1 1 2.1 1.5 3.1.2.6.5 1.1.8 1.7.6 1.1 1.1 2.2 1.7 3.3.1.2.2.3.3.5 2.2 4.1 4.4 8.2 6.8 12.2.2.4.5.8.7 1.2.7 1.1 1.3 2.2 2 3.3.3.5.6.9.9 1.4.6 1.1 1.3 2.1 2 3.2.3.5.6.9.9 1.4.7 1.1 1.4 2.1 2.1 3.2.2.4.5.8.8 1.2.7 1.1 1.5 2.2 2.3 3.3.2.2.3.5.5.7 37.5 51.7 94.4 88.5 160 99.4.9.1 1.7.3 2.6.4 1 .2 2.1.4 3.1.5s1.9.3 2.8.4c1 .2 2 .3 3 .4.9.1 1.9.2 2.9.3s1.9.2 2.9.3 2.1.2 3.1.3c.9.1 1.8.1 2.7.2 1.1.1 2.3.1 3.4.2.8 0 1.7.1 2.5.1 1.3 0 2.6.1 3.9.1.7.1 1.4.1 2.1.1 2 .1 4 .1 6 .1s4-.1 6-.1c.7 0 1.4-.1 2.1-.1 1.3 0 2.6 0 3.9-.1.8 0 1.7-.1 2.5-.1 1.1-.1 2.3-.1 3.4-.2.9 0 1.8-.1 2.7-.2 1-.1 2.1-.2 3.1-.3s1.9-.2 2.9-.3c.9-.1 1.9-.2 2.9-.3s2-.3 3-.4 1.9-.3 2.8-.4c1-.2 2.1-.3 3.1-.5.9-.1 1.7-.3 2.6-.4 65.6-11 122.5-47.7 160.1-102.4.2-.2.3-.5.5-.7.8-1.1 1.5-2.2 2.3-3.3.2-.4.5-.8.8-1.2.7-1.1 1.4-2.1 2.1-3.2.3-.5.6-.9.9-1.4.6-1.1 1.3-2.1 2-3.2.3-.5.6-.9.9-1.4.7-1.1 1.3-2.2 2-3.3.2-.4.5-.8.7-1.2 2.4-4 4.6-8.1 6.8-12.2.1-.2.2-.3.3-.5.6-1.1 1.1-2.2 1.7-3.3.2-.6.5-1.1.8-1.7.5-1 1-2.1 1.5-3.1.3-.7.6-1.3.9-2 .5-1 1-2 1.4-3l.9-2.1c.5-1 .9-2 1.3-3 .3-.7.6-1.5.9-2.2l1.2-3c.3-.8.6-1.5.9-2.3.4-1 .7-2 1.1-3s.7-1.9 1-2.8c.6-1.6 1.2-3.3 1.7-4.9.3-1 .6-1.9.9-2.8s.5-1.8.8-2.7c.2-.9.5-1.9.8-2.8s.6-1.8.8-2.7c.3-1 .5-1.9.8-2.9.2-.9.5-1.8.7-2.7.2-1 .5-2 .7-3 .2-.9.4-1.7.6-2.6.2-1 .5-2.1.7-3.2.2-.8.3-1.6.5-2.4.3-1.3.6-2.7.8-4 .1-.6.2-1.1.3-1.7l.9-5.7c.1-.6.2-1.3.3-1.9.1-1.3.3-2.6.5-3.9.1-.8.2-1.5.3-2.3.1-1.2.3-2.4.4-3.6 0-.8.1-1.6.2-2.4.1-1.1.2-2.3.3-3.5.1-.8.1-1.6.2-2.4.1 1.7.1.5.2-.7 0-.8.1-1.5.1-2.3.1-1.3.2-2.7.2-4 .1-.7.1-1.3.1-2 .1-2 .1-4 .1-6 0-53.5-16.9-103-45.8-143.7zM448 371.5c-9.4 15.5-20.6 29.9-33.6 42.9-20.6 20.6-44.5 36.7-71.2 48-13.9 5.8-28.2 10.3-42.9 13.2v-75.8c0-58.6-88.6-58.6-88.6 0v75.8c-14.7-2.9-29-7.3-42.9-13.2-26.7-11.3-50.6-27.4-71.2-48-13-13-24.2-27.4-33.6-42.9v-71.3c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7V326h29.6V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7H208c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-4.8 6.5-3.7 9.5-3.7V88.1c-4.4-2-7.4-6.7-7.4-11.5 0-16.8 25.4-16.8 25.4 0 0 4.8-3 9.4-7.4 11.5V92c6.3-1.4 12.7-2.3 19.2-2.3 9.4 0 18.4 3.5 26.3 3.5 7.2 0 15.2-3.5 19.4-3.5 2.1 0 3.7 1.6 3.7 3.7v48.4c0 5.6-18.7 6.5-22.4 6.5-8.6 0-16.6-3.5-25.4-3.5-7 0-14.1 1.2-20.8 2.8v30.7c3 0 9.5-1.1 9.5 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v144h29.5v-25.8c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7z\"],\n \"phabricator\": [496, 512, [], \"f3db\", \"M323 262.1l-.1-13s21.7-19.8 21.1-21.2l-9.5-20c-.6-1.4-29.5-.5-29.5-.5l-9.4-9.3s.2-28.5-1.2-29.1l-20.1-9.2c-1.4-.6-20.7 21-20.7 21l-13.1-.2s-20.5-21.4-21.9-20.8l-20 8.3c-1.4.5.2 28.9.2 28.9l-9.1 9.1s-29.2-.9-29.7.4l-8.1 19.8c-.6 1.4 21 21 21 21l.1 12.9s-21.7 19.8-21.1 21.2l9.5 20c.6 1.4 29.5.5 29.5.5l9.4 9.3s-.2 31.8 1.2 32.3l20.1 8.3c1.4.6 20.7-23.5 20.7-23.5l13.1.2s20.5 23.8 21.8 23.3l20-7.5c1.4-.6-.2-32.1-.2-32.1l9.1-9.1s29.2.9 29.7-.5l8.1-19.8c.7-1.1-20.9-20.7-20.9-20.7zm-44.9-8.7c.7 17.1-12.8 31.6-30.1 32.4-17.3.8-32.1-12.5-32.8-29.6-.7-17.1 12.8-31.6 30.1-32.3 17.3-.8 32.1 12.5 32.8 29.5zm201.2-37.9l-97-97-.1.1c-75.1-73.3-195.4-72.8-269.8 1.6-50.9 51-27.8 27.9-95.7 95.3-22.3 22.3-22.3 58.7 0 81 69.9 69.4 46.4 46 97.4 97l.1-.1c75.1 73.3 195.4 72.9 269.8-1.6 51-50.9 27.9-27.9 95.3-95.3 22.3-22.3 22.3-58.7 0-81zM140.4 363.8c-59.6-59.5-59.6-156 0-215.5 59.5-59.6 156-59.5 215.6 0 59.5 59.5 59.6 156 0 215.6-59.6 59.5-156 59.4-215.6-.1z\"],\n \"ussunnah\": [512, 512, [], \"f407\", \"M156.8 285.1l5.7 14.4h-8.2c-1.3-3.2-3.1-7.7-3.8-9.5-2.5-6.3-1.1-8.4 0-10 1.9-2.7 3.2-4.4 3.6-5.2 0 2.2.8 5.7 2.7 10.3zm297.3 18.8c-2.1 13.8-5.7 27.1-10.5 39.7l43 23.4-44.8-18.8c-5.3 13.2-12 25.6-19.9 37.2l34.2 30.2-36.8-26.4c-8.4 11.8-18 22.6-28.7 32.3l24.9 34.7-28.1-31.8c-11 9.6-23.1 18-36.1 25.1l15.7 37.2-19.3-35.3c-13.1 6.8-27 12.1-41.6 15.9l6.7 38.4-10.5-37.4c-14.3 3.4-29.2 5.3-44.5 5.4L256 512l-1.9-38.4c-15.3-.1-30.2-2-44.5-5.3L199 505.6l6.7-38.2c-14.6-3.7-28.6-9.1-41.7-15.8l-19.2 35.1 15.6-37c-13-7-25.2-15.4-36.2-25.1l-27.9 31.6 24.7-34.4c-10.7-9.7-20.4-20.5-28.8-32.3l-36.5 26.2 33.9-29.9c-7.9-11.6-14.6-24.1-20-37.3l-44.4 18.7L67.8 344c-4.8-12.7-8.4-26.1-10.5-39.9l-51 9 50.3-14.2c-1.1-8.5-1.7-17.1-1.7-25.9 0-4.7.2-9.4.5-14.1L0 256l56-2.8c1.3-13.1 3.8-25.8 7.5-38.1L6.4 199l58.9 10.4c4-12 9.1-23.5 15.2-34.4l-55.1-30 58.3 24.6C90 159 97.2 149.2 105.3 140L55.8 96.4l53.9 38.7c8.1-8.6 17-16.5 26.6-23.6l-40-55.6 45.6 51.6c9.5-6.6 19.7-12.3 30.3-17.2l-27.3-64.9 33.8 62.1c10.5-4.4 21.4-7.9 32.7-10.4L199 6.4l19.5 69.2c11-2.1 22.3-3.2 33.8-3.4L256 0l3.6 72.2c11.5.2 22.8 1.4 33.8 3.5L313 6.4l-12.4 70.7c11.3 2.6 22.2 6.1 32.6 10.5l33.9-62.2-27.4 65.1c10.6 4.9 20.7 10.7 30.2 17.2l45.8-51.8-40.1 55.9c9.5 7.1 18.4 15 26.5 23.6l54.2-38.9-49.7 43.9c8 9.1 15.2 18.9 21.5 29.4l58.7-24.7-55.5 30.2c6.1 10.9 11.1 22.3 15.1 34.3l59.3-10.4-57.5 16.2c3.7 12.2 6.2 24.9 7.5 37.9L512 256l-56 2.8c.3 4.6.5 9.3.5 14.1 0 8.7-.6 17.3-1.6 25.8l50.7 14.3-51.5-9.1zm-21.8-31c0-97.5-79-176.5-176.5-176.5s-176.5 79-176.5 176.5 79 176.5 176.5 176.5 176.5-79 176.5-176.5zm-24 0c0 84.3-68.3 152.6-152.6 152.6s-152.6-68.3-152.6-152.6 68.3-152.6 152.6-152.6 152.6 68.3 152.6 152.6zM195 241c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-40.7-19c0 2.1 1.3 3.8 3.6 5.1 3.5 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-19 0c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.4 6.8-9.6 10.9-9.6 12.6zm204.9 87.9c-8.4-3-8.7-6.8-8.7-15.6V182c-8.2 12.5-14.2 18.6-18 18.6 6.3 14.4 9.5 23.9 9.5 28.3v64.3c0 2.2-2.2 6.5-4.7 6.5h-18c-2.8-7.5-10.2-26.9-15.3-40.3-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3 2.6 6.7 6.4 16.5 7.9 20.2h-9.2c-3.9-10.4-9.6-25.4-11.8-31.1-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3.8 2 2.8 7.3 4.3 10.9H256c-1.5-4.1-5.6-14.6-8.4-22-2 2.5-7.2 9.2-10.7 13.7 2.5 1.6 4.3 3.6 5.2 6.3.2.6.5 1.4.6 1.7H225c-4.6-13.9-11.4-27.7-11.4-34.1 0-2.2.3-5.1 1.1-8.2-8.8 10.8-14 15.9-14 25 0 7.5 10.4 28.3 10.4 33.3 0 1.7-.5 3.3-1.4 4.9-9.6-12.7-15.5-20.7-18.8-20.7h-12l-11.2-28c-3.8-9.6-5.7-16-5.7-18.8 0-3.8.5-7.7 1.7-12.2-1 1.3-3.7 4.7-5.5 7.1-.8-2.1-3.1-7.7-4.6-11.5-2.1 2.5-7.5 9.1-11.2 13.6.9 2.3 3.3 8.1 4.9 12.2-2.5 3.3-9.1 11.8-13.6 17.7-4 5.3-5.8 13.3-2.7 21.8 2.5 6.7 2 7.9-1.7 14.1H191c5.5 0 14.3 14 15.5 22 13.2-16 15.4-19.6 16.8-21.6h107c3.9 0 7.2-1.9 9.9-5.8zm20.1-26.6V181.7c-9 12.5-15.9 18.6-20.7 18.6 7.1 14.4 10.7 23.9 10.7 28.3v66.3c0 17.5 8.6 20.4 24 20.4 8.1 0 12.5-.8 13.7-2.7-4.3-1.6-7.6-2.5-9.9-3.3-8.1-3.2-17.8-7.4-17.8-26z\"],\n \"earlybirds\": [480, 512, [], \"f39a\", \"M313.2 47.5c1.2-13 21.3-14 36.6-8.7.9.3 26.2 9.7 19 15.2-27.9-7.4-56.4 18.2-55.6-6.5zm-201 6.9c30.7-8.1 62 20 61.1-7.1-1.3-14.2-23.4-15.3-40.2-9.6-1 .3-28.7 10.5-20.9 16.7zM319.4 160c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-159.7 0c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm318.5 163.2c-9.9 24-40.7 11-63.9-1.2-13.5 69.1-58.1 111.4-126.3 124.2.3.9-2-.1 24 1 33.6 1.4 63.8-3.1 97.4-8-19.8-13.8-11.4-37.1-9.8-38.1 1.4-.9 14.7 1.7 21.6 11.5 8.6-12.5 28.4-14.8 30.2-13.6 1.6 1.1 6.6 20.9-6.9 34.6 4.7-.9 8.2-1.6 9.8-2.1 2.6-.8 17.7 11.3 3.1 13.3-14.3 2.3-22.6 5.1-47.1 10.8-45.9 10.7-85.9 11.8-117.7 12.8l1 11.6c3.8 18.1-23.4 24.3-27.6 6.2.8 17.9-27.1 21.8-28.4-1l-.5 5.3c-.7 18.4-28.4 17.9-28.3-.6-7.5 13.5-28.1 6.8-26.4-8.5l1.2-12.4c-36.7.9-59.7 3.1-61.8 3.1-20.9 0-20.9-31.6 0-31.6 2.4 0 27.7 1.3 63.2 2.8-61.1-15.5-103.7-55-114.9-118.2-25 12.8-57.5 26.8-68.2.8-10.5-25.4 21.5-42.6 66.8-73.4.7-6.6 1.6-13.3 2.7-19.8-14.4-19.6-11.6-36.3-16.1-60.4-16.8 2.4-23.2-9.1-23.6-23.1.3-7.3 2.1-14.9 2.4-15.4 1.1-1.8 10.1-2 12.7-2.6 6-31.7 50.6-33.2 90.9-34.5 19.7-21.8 45.2-41.5 80.9-48.3C203.3 29 215.2 8.5 216.2 8c1.7-.8 21.2 4.3 26.3 23.2 5.2-8.8 18.3-11.4 19.6-10.7 1.1.6 6.4 15-4.9 25.9 40.3 3.5 72.2 24.7 96 50.7 36.1 1.5 71.8 5.9 77.1 34 2.7.6 11.6.8 12.7 2.6.3.5 2.1 8.1 2.4 15.4-.5 13.9-6.8 25.4-23.6 23.1-3.2 17.3-2.7 32.9-8.7 47.7 2.4 11.7 4 23.8 4.8 36.4 37 25.4 70.3 42.5 60.3 66.9zM207.4 159.9c.9-44-37.9-42.2-78.6-40.3-21.7 1-38.9 1.9-45.5 13.9-11.4 20.9 5.9 92.9 23.2 101.2 9.8 4.7 73.4 7.9 86.3-7.1 8.2-9.4 15-49.4 14.6-67.7zm52 58.3c-4.3-12.4-6-30.1-15.3-32.7-2-.5-9-.5-11 0-10 2.8-10.8 22.1-17 37.2 15.4 0 19.3 9.7 23.7 9.7 4.3 0 6.3-11.3 19.6-14.2zm135.7-84.7c-6.6-12.1-24.8-12.9-46.5-13.9-40.2-1.9-78.2-3.8-77.3 40.3-.5 18.3 5 58.3 13.2 67.8 13 14.9 76.6 11.8 86.3 7.1 15.8-7.6 36.5-78.9 24.3-101.3z\"],\n \"trade-federation\": [496, 512, [], \"f513\", \"M248 8.8c-137 0-248 111-248 248s111 248 248 248 248-111 248-248-111-248-248-248zm0 482.8c-129.7 0-234.8-105.1-234.8-234.8S118.3 22 248 22s234.8 105.1 234.8 234.8S377.7 491.6 248 491.6zm155.1-328.5v-46.8H209.3V198H54.2l36.7 46h117.7v196.8h48.8V245h83.3v-47h-83.3v-34.8h145.7zm-73.3 45.1v23.9h-82.9v197.4h-26.8V232.1H96.3l-20.1-23.9h143.9v-80.6h171.8V152h-145v56.2zm-161.3-69l-12.4-20.7 2.1 23.8-23.5 5.4 23.3 5.4-2.1 24 12.3-20.5 22.2 9.5-15.7-18.1 15.8-18.1zm-29.6-19.7l9.3-11.5-12.7 5.9-8-12.4 1.7 13.9-14.3 3.8 13.7 2.7-.8 14.7 6.8-12.2 13.8 5.3zm165.4 145.2l-13.1 5.6-7.3-12.2 1.3 14.2-13.9 3.2 13.9 3.2-1.2 14.2 7.3-12.2 13.1 5.5-9.4-10.7zm106.9-77.2l-20.9 9.1-12-19.6 2.2 22.7-22.3 5.4 22.2 4.9-1.8 22.9 11.5-19.6 21.2 8.8-15.1-17zM248 29.9c-125.3 0-226.9 101.6-226.9 226.9S122.7 483.7 248 483.7s226.9-101.6 226.9-226.9S373.3 29.9 248 29.9zM342.6 196v51h-83.3v195.7h-52.7V245.9H89.9l-40-49.9h157.4v-81.6h197.8v50.7H259.4V196zM248 43.2c60.3 0 114.8 25 153.6 65.2H202.5V190H45.1C73.1 104.8 153.4 43.2 248 43.2zm0 427.1c-117.9 0-213.6-95.6-213.6-213.5 0-21.2 3.1-41.8 8.9-61.1L87.1 252h114.7v196.8h64.6V253h83.3v-62.7h-83.2v-19.2h145.6v-50.8c30.8 37 49.3 84.6 49.3 136.5.1 117.9-95.5 213.5-213.4 213.5zM178.8 275l-11-21.4 1.7 24.5-23.7 3.9 23.8 5.9-3.7 23.8 13-20.9 21.5 10.8-15.8-18.8 16.9-17.1z\"],\n \"autoprefixer\": [640, 512, [], \"f41c\", \"M318.4 16l-161 480h77.5l25.4-81.4h119.5L405 496h77.5L318.4 16zm-40.3 341.9l41.2-130.4h1.5l40.9 130.4h-83.6zM640 405l-10-31.4L462.1 358l19.4 56.5L640 405zm-462.1-47L10 373.7 0 405l158.5 9.4 19.4-56.4z\"],\n \"whatsapp\": [448, 512, [], \"f232\", \"M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z\"],\n \"slideshare\": [512, 512, [], \"f1e7\", \"M187.7 153.7c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7s61.7-26 61.7-57.7c0-32-27.7-57.7-61.7-57.7zm143.4 0c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7 34.3 0 61.7-26 61.7-57.7.1-32-27.4-57.7-61.7-57.7zm156.6 90l-6 4.3V49.7c0-27.4-20.6-49.7-46-49.7H76.6c-25.4 0-46 22.3-46 49.7V248c-2-1.4-4.3-2.9-6.3-4.3-15.1-10.6-25.1 4-16 17.7 18.3 22.6 53.1 50.3 106.3 72C58.3 525.1 252 555.7 248.9 457.5c0-.7.3-56.6.3-96.6 5.1 1.1 9.4 2.3 13.7 3.1 0 39.7.3 92.8.3 93.5-3.1 98.3 190.6 67.7 134.3-124 53.1-21.7 88-49.4 106.3-72 9.1-13.8-.9-28.3-16.1-17.8zm-30.5 19.2c-68.9 37.4-128.3 31.1-160.6 29.7-23.7-.9-32.6 9.1-33.7 24.9-10.3-7.7-18.6-15.5-20.3-17.1-5.1-5.4-13.7-8-27.1-7.7-31.7 1.1-89.7 7.4-157.4-28V72.3c0-34.9 8.9-45.7 40.6-45.7h317.7c30.3 0 40.9 12.9 40.9 45.7v190.6z\"],\n \"google-play\": [512, 512, [], \"f3ab\", \"M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z\"],\n \"viadeo\": [448, 512, [], \"f2a9\", \"M276.2 150.5v.7C258.3 98.6 233.6 47.8 205.4 0c43.3 29.2 67 100 70.8 150.5zm32.7 121.7c7.6 18.2 11 37.5 11 57 0 77.7-57.8 141-137.8 139.4l3.8-.3c74.2-46.7 109.3-118.6 109.3-205.1 0-38.1-6.5-75.9-18.9-112 1 11.7 1 23.7 1 35.4 0 91.8-18.1 241.6-116.6 280C95 455.2 49.4 398 49.4 329.2c0-75.6 57.4-142.3 135.4-142.3 16.8 0 33.7 3.1 49.1 9.6 1.7-15.1 6.5-29.9 13.4-43.3-19.9-7.2-41.2-10.7-62.5-10.7-161.5 0-238.7 195.9-129.9 313.7 67.9 74.6 192 73.9 259.8 0 56.6-61.3 60.9-142.4 36.4-201-12.7 8-27.1 13.9-42.2 17zM418.1 11.7c-31 66.5-81.3 47.2-115.8 80.1-12.4 12-20.6 34-20.6 50.5 0 14.1 4.5 27.1 12 38.8 47.4-11 98.3-46 118.2-90.7-.7 5.5-4.8 14.4-7.2 19.2-20.3 35.7-64.6 65.6-99.7 84.9 14.8 14.4 33.7 25.8 55 25.8 79 0 110.1-134.6 58.1-208.6z\"],\n \"line\": [448, 512, [], \"f3c0\", \"M272.1 204.2v71.1c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.1 0-2.1-.6-2.6-1.3l-32.6-44v42.2c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.8 0-3.2-1.4-3.2-3.2v-71.1c0-1.8 1.4-3.2 3.2-3.2H219c1 0 2.1.5 2.6 1.4l32.6 44v-42.2c0-1.8 1.4-3.2 3.2-3.2h11.4c1.8-.1 3.3 1.4 3.3 3.1zm-82-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 1.8 1.4 3.2 3.2 3.2h11.4c1.8 0 3.2-1.4 3.2-3.2v-71.1c0-1.7-1.4-3.2-3.2-3.2zm-27.5 59.6h-31.1v-56.4c0-1.8-1.4-3.2-3.2-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 .9.3 1.6.9 2.2.6.5 1.3.9 2.2.9h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.7-1.4-3.2-3.1-3.2zM332.1 201h-45.7c-1.7 0-3.2 1.4-3.2 3.2v71.1c0 1.7 1.4 3.2 3.2 3.2h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2V234c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2v-11.4c-.1-1.7-1.5-3.2-3.2-3.2zM448 113.7V399c-.1 44.8-36.8 81.1-81.7 81H81c-44.8-.1-81.1-36.9-81-81.7V113c.1-44.8 36.9-81.1 81.7-81H367c44.8.1 81.1 36.8 81 81.7zm-61.6 122.6c0-73-73.2-132.4-163.1-132.4-89.9 0-163.1 59.4-163.1 132.4 0 65.4 58 120.2 136.4 130.6 19.1 4.1 16.9 11.1 12.6 36.8-.7 4.1-3.3 16.1 14.1 8.8 17.4-7.3 93.9-55.3 128.2-94.7 23.6-26 34.9-52.3 34.9-81.5z\"],\n \"google-drive\": [512, 512, [], \"f3aa\", \"M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z\"],\n \"servicestack\": [496, 512, [], \"f3ec\", \"M88 216c81.7 10.2 273.7 102.3 304 232H0c99.5-8.1 184.5-137 88-232zm32-152c32.3 35.6 47.7 83.9 46.4 133.6C249.3 231.3 373.7 321.3 400 448h96C455.3 231.9 222.8 79.5 120 64z\"],\n \"simplybuilt\": [512, 512, [], \"f215\", \"M481.2 64h-106c-14.5 0-26.6 11.8-26.6 26.3v39.6H163.3V90.3c0-14.5-12-26.3-26.6-26.3h-106C16.1 64 4.3 75.8 4.3 90.3v331.4c0 14.5 11.8 26.3 26.6 26.3h450.4c14.8 0 26.6-11.8 26.6-26.3V90.3c-.2-14.5-12-26.3-26.7-26.3zM149.8 355.8c-36.6 0-66.4-29.7-66.4-66.4 0-36.9 29.7-66.6 66.4-66.6 36.9 0 66.6 29.7 66.6 66.6 0 36.7-29.7 66.4-66.6 66.4zm212.4 0c-36.9 0-66.6-29.7-66.6-66.6 0-36.6 29.7-66.4 66.6-66.4 36.6 0 66.4 29.7 66.4 66.4 0 36.9-29.8 66.6-66.4 66.6z\"],\n \"bitbucket\": [512, 512, [61810], \"f171\", \"M22.2 32A16 16 0 0 0 6 47.8a26.35 26.35 0 0 0 .2 2.8l67.9 412.1a21.77 21.77 0 0 0 21.3 18.2h325.7a16 16 0 0 0 16-13.4L505 50.7a16 16 0 0 0-13.2-18.3 24.58 24.58 0 0 0-2.8-.2L22.2 32zm285.9 297.8h-104l-28.1-147h157.3l-25.2 147z\"],\n \"imdb\": [448, 512, [], \"f2d8\", \"M89.5 323.6H53.93V186.2H89.5V323.6zM156.1 250.5L165.2 186.2H211.5V323.6H180.5V230.9L167.1 323.6H145.8L132.8 232.9L132.7 323.6H101.5V186.2H147.6C148.1 194.5 150.4 204.3 151.9 215.6L156.1 250.5zM223.7 323.6V186.2H250.3C267.3 186.2 277.3 187.1 283.3 188.6C289.4 190.3 294 192.8 297.2 196.5C300.3 199.8 302.3 203.1 303 208.5C303.9 212.9 304.4 221.6 304.4 234.7V282.9C304.4 295.2 303.7 303.4 302.5 307.6C301.4 311.7 299.4 315 296.5 317.3C293.7 319.7 290.1 321.4 285.8 322.3C281.6 323.1 275.2 323.6 266.7 323.6H223.7zM259.2 209.7V299.1C264.3 299.1 267.5 298.1 268.6 296.8C269.7 294.8 270.4 289.2 270.4 280.1V226.8C270.4 220.6 270.3 216.6 269.7 214.8C269.4 213 268.5 211.8 267.1 210.1C265.7 210.1 263 209.7 259.2 209.7V209.7zM316.5 323.6V186.2H350.6V230.1C353.5 227.7 356.7 225.2 360.1 223.5C363.7 222 368.9 221.1 372.9 221.1C377.7 221.1 381.8 221.9 385.2 223.3C388.6 224.8 391.2 226.8 393.2 229.5C394.9 232.1 395.9 234.8 396.3 237.3C396.7 239.9 396.1 245.3 396.1 253.5V292.1C396.1 300.3 396.3 306.4 395.3 310.5C394.2 314.5 391.5 318.1 387.5 320.1C383.4 324 378.6 325.4 372.9 325.4C368.9 325.4 363.7 324.5 360.2 322.9C356.7 321.1 353.5 318.4 350.6 314.9L348.5 323.6L316.5 323.6zM361.6 302.9C362.3 301.1 362.6 296.9 362.6 290.4V255C362.6 249.4 362.3 245.5 361.5 243.8C360.8 241.9 357.8 241.1 355.7 241.1C353.7 241.1 352.3 241.9 351.6 243.4C351 244.9 350.6 248.8 350.6 255V291.4C350.6 297.5 351 301.4 351.8 303C352.4 304.7 353.9 305.5 355.9 305.5C358.1 305.5 360.1 304.7 361.6 302.9L361.6 302.9zM418.4 32.04C434.1 33.27 447.1 47.28 447.1 63.92V448.1C447.1 464.5 435.2 478.5 418.9 479.1C418.6 479.1 418.4 480 418.1 480H29.88C29.6 480 29.32 479.1 29.04 479.9C13.31 478.5 1.093 466.1 0 449.7L.0186 61.78C1.081 45.88 13.82 33.09 30.26 31.1H417.7C417.9 31.1 418.2 32.01 418.4 32.04L418.4 32.04zM30.27 41.26C19 42.01 10.02 51.01 9.257 62.4V449.7C9.63 455.1 11.91 460.2 15.7 464C19.48 467.9 24.51 470.3 29.89 470.7H418.1C429.6 469.7 438.7 459.1 438.7 448.1V63.91C438.7 58.17 436.6 52.65 432.7 48.45C428.8 44.24 423.4 41.67 417.7 41.26L30.27 41.26z\"],\n \"deezer\": [576, 512, [], \"e077\", \"M451.46,244.71H576V172H451.46Zm0-173.89v72.67H576V70.82Zm0,275.06H576V273.2H451.46ZM0,447.09H124.54V374.42H0Zm150.47,0H275V374.42H150.47Zm150.52,0H425.53V374.42H301Zm150.47,0H576V374.42H451.46ZM301,345.88H425.53V273.2H301Zm-150.52,0H275V273.2H150.47Zm0-101.17H275V172H150.47Z\"],\n \"raspberry-pi\": [407, 512, [], \"f7bb\", \"M372 232.5l-3.7-6.5c.1-46.4-21.4-65.3-46.5-79.7 7.6-2 15.4-3.6 17.6-13.2 13.1-3.3 15.8-9.4 17.1-15.8 3.4-2.3 14.8-8.7 13.6-19.7 6.4-4.4 10-10.1 8.1-18.1 6.9-7.5 8.7-13.7 5.8-19.4 8.3-10.3 4.6-15.6 1.1-20.9 6.2-11.2.7-23.2-16.6-21.2-6.9-10.1-21.9-7.8-24.2-7.8-2.6-3.2-6-6-16.5-4.7-6.8-6.1-14.4-5-22.3-2.1-9.3-7.3-15.5-1.4-22.6.8C271.6.6 269 5.5 263.5 7.6c-12.3-2.6-16.1 3-22 8.9l-6.9-.1c-18.6 10.8-27.8 32.8-31.1 44.1-3.3-11.3-12.5-33.3-31.1-44.1l-6.9.1c-5.9-5.9-9.7-11.5-22-8.9-5.6-2-8.1-7-19.4-3.4-4.6-1.4-8.9-4.4-13.9-4.3-2.6.1-5.5 1-8.7 3.5-7.9-3-15.5-4-22.3 2.1-10.5-1.3-14 1.4-16.5 4.7-2.3 0-17.3-2.3-24.2 7.8C21.2 16 15.8 28 22 39.2c-3.5 5.4-7.2 10.7 1.1 20.9-2.9 5.7-1.1 11.9 5.8 19.4-1.8 8 1.8 13.7 8.1 18.1-1.2 11 10.2 17.4 13.6 19.7 1.3 6.4 4 12.4 17.1 15.8 2.2 9.5 10 11.2 17.6 13.2-25.1 14.4-46.6 33.3-46.5 79.7l-3.7 6.5c-28.8 17.2-54.7 72.7-14.2 117.7 2.6 14.1 7.1 24.2 11 35.4 5.9 45.2 44.5 66.3 54.6 68.8 14.9 11.2 30.8 21.8 52.2 29.2C159 504.2 181 512 203 512h1c22.1 0 44-7.8 64.2-28.4 21.5-7.4 37.3-18 52.2-29.2 10.2-2.5 48.7-23.6 54.6-68.8 3.9-11.2 8.4-21.3 11-35.4 40.6-45.1 14.7-100.5-14-117.7zm-22.2-8c-1.5 18.7-98.9-65.1-82.1-67.9 45.7-7.5 83.6 19.2 82.1 67.9zm-43 93.1c-24.5 15.8-59.8 5.6-78.8-22.8s-14.6-64.2 9.9-80c24.5-15.8 59.8-5.6 78.8 22.8s14.6 64.2-9.9 80zM238.9 29.3c.8 4.2 1.8 6.8 2.9 7.6 5.4-5.8 9.8-11.7 16.8-17.3 0 3.3-1.7 6.8 2.5 9.4 3.7-5 8.8-9.5 15.5-13.3-3.2 5.6-.6 7.3 1.2 9.6 5.1-4.4 10-8.8 19.4-12.3-2.6 3.1-6.2 6.2-2.4 9.8 5.3-3.3 10.6-6.6 23.1-8.9-2.8 3.1-8.7 6.3-5.1 9.4 6.6-2.5 14-4.4 22.1-5.4-3.9 3.2-7.1 6.3-3.9 8.8 7.1-2.2 16.9-5.1 26.4-2.6l-6 6.1c-.7.8 14.1.6 23.9.8-3.6 5-7.2 9.7-9.3 18.2 1 1 5.8.4 10.4 0-4.7 9.9-12.8 12.3-14.7 16.6 2.9 2.2 6.8 1.6 11.2.1-3.4 6.9-10.4 11.7-16 17.3 1.4 1 3.9 1.6 9.7.9-5.2 5.5-11.4 10.5-18.8 15 1.3 1.5 5.8 1.5 10 1.6-6.7 6.5-15.3 9.9-23.4 14.2 4 2.7 6.9 2.1 10 2.1-5.7 4.7-15.4 7.1-24.4 10 1.7 2.7 3.4 3.4 7.1 4.1-9.5 5.3-23.2 2.9-27 5.6.9 2.7 3.6 4.4 6.7 5.8-15.4.9-57.3-.6-65.4-32.3 15.7-17.3 44.4-37.5 93.7-62.6-38.4 12.8-73 30-102 53.5-34.3-15.9-10.8-55.9 5.8-71.8zm-34.4 114.6c24.2-.3 54.1 17.8 54 34.7-.1 15-21 27.1-53.8 26.9-32.1-.4-53.7-15.2-53.6-29.8 0-11.9 26.2-32.5 53.4-31.8zm-123-12.8c3.7-.7 5.4-1.5 7.1-4.1-9-2.8-18.7-5.3-24.4-10 3.1 0 6 .7 10-2.1-8.1-4.3-16.7-7.7-23.4-14.2 4.2-.1 8.7 0 10-1.6-7.4-4.5-13.6-9.5-18.8-15 5.8.7 8.3.1 9.7-.9-5.6-5.6-12.7-10.4-16-17.3 4.3 1.5 8.3 2 11.2-.1-1.9-4.2-10-6.7-14.7-16.6 4.6.4 9.4 1 10.4 0-2.1-8.5-5.8-13.3-9.3-18.2 9.8-.1 24.6 0 23.9-.8l-6-6.1c9.5-2.5 19.3.4 26.4 2.6 3.2-2.5-.1-5.6-3.9-8.8 8.1 1.1 15.4 2.9 22.1 5.4 3.5-3.1-2.3-6.3-5.1-9.4 12.5 2.3 17.8 5.6 23.1 8.9 3.8-3.6.2-6.7-2.4-9.8 9.4 3.4 14.3 7.9 19.4 12.3 1.7-2.3 4.4-4 1.2-9.6 6.7 3.8 11.8 8.3 15.5 13.3 4.1-2.6 2.5-6.2 2.5-9.4 7 5.6 11.4 11.5 16.8 17.3 1.1-.8 2-3.4 2.9-7.6 16.6 15.9 40.1 55.9 6 71.8-29-23.5-63.6-40.7-102-53.5 49.3 25 78 45.3 93.7 62.6-8 31.8-50 33.2-65.4 32.3 3.1-1.4 5.8-3.2 6.7-5.8-4-2.8-17.6-.4-27.2-5.6zm60.1 24.1c16.8 2.8-80.6 86.5-82.1 67.9-1.5-48.7 36.5-75.5 82.1-67.9zM38.2 342c-23.7-18.8-31.3-73.7 12.6-98.3 26.5-7 9 107.8-12.6 98.3zm91 98.2c-13.3 7.9-45.8 4.7-68.8-27.9-15.5-27.4-13.5-55.2-2.6-63.4 16.3-9.8 41.5 3.4 60.9 25.6 16.9 20 24.6 55.3 10.5 65.7zm-26.4-119.7c-24.5-15.8-28.9-51.6-9.9-80s54.3-38.6 78.8-22.8 28.9 51.6 9.9 80c-19.1 28.4-54.4 38.6-78.8 22.8zM205 496c-29.4 1.2-58.2-23.7-57.8-32.3-.4-12.7 35.8-22.6 59.3-22 23.7-1 55.6 7.5 55.7 18.9.5 11-28.8 35.9-57.2 35.4zm58.9-124.9c.2 29.7-26.2 53.8-58.8 54-32.6.2-59.2-23.8-59.4-53.4v-.6c-.2-29.7 26.2-53.8 58.8-54 32.6-.2 59.2 23.8 59.4 53.4v.6zm82.2 42.7c-25.3 34.6-59.6 35.9-72.3 26.3-13.3-12.4-3.2-50.9 15.1-72 20.9-23.3 43.3-38.5 58.9-26.6 10.5 10.3 16.7 49.1-1.7 72.3zm22.9-73.2c-21.5 9.4-39-105.3-12.6-98.3 43.9 24.7 36.3 79.6 12.6 98.3z\"],\n \"jira\": [496, 512, [], \"f7b1\", \"M490 241.7C417.1 169 320.6 71.8 248.5 0 83 164.9 6 241.7 6 241.7c-7.9 7.9-7.9 20.7 0 28.7C138.8 402.7 67.8 331.9 248.5 512c379.4-378 15.7-16.7 241.5-241.7 8-7.9 8-20.7 0-28.6zm-241.5 90l-76-75.7 76-75.7 76 75.7-76 75.7z\"],\n \"docker\": [640, 512, [], \"f395\", \"M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z\"],\n \"screenpal\": [512, 512, [], \"e570\", \"M233.5 22.49C233.5 10.07 243.6 0 256 0C268.4 0 278.5 10.07 278.5 22.49C278.5 34.91 268.4 44.98 256 44.98C243.6 44.98 233.5 34.91 233.5 22.49zM313.4 259C313.4 290.7 287.7 316.4 256 316.4C224.3 316.4 198.6 290.7 198.6 259C198.6 227.3 224.3 201.6 256 201.6C287.7 201.6 313.4 227.3 313.4 259zM337.2 350C359.5 330.1 373.7 302.7 377.1 273H496.6C493.1 334.4 466.2 392.2 421.4 434.4C376.7 476.6 317.5 500.2 256 500.2C194.5 500.2 135.3 476.6 90.56 434.4C45.83 392.2 18.94 334.4 15.39 273H135.1C138.5 302.7 152.7 330.1 175 350C197.3 369.9 226.2 380.9 256.1 380.9C285.1 380.9 314.8 369.9 337.2 350zM73.14 140.3C73.54 152.7 63.81 163.1 51.39 163.5C38.97 163.9 28.59 154.2 28.18 141.8C27.78 129.3 37.52 118.9 49.94 118.5C62.35 118.1 72.74 127.9 73.14 140.3zM438.9 141C438.9 128.6 448.9 118.5 461.4 118.5C473.8 118.5 483.8 128.6 483.8 141C483.8 153.5 473.8 163.5 461.4 163.5C448.9 163.5 438.9 153.5 438.9 141zM317.9 95.27C300.6 109.1 278.7 118.1 256 118.1C233.3 118.1 211.4 109.1 194.1 95.27C176.8 80.55 165.3 60.18 161.7 37.78C176.8 31.37 192.5 26.52 208.6 23.31C208.6 35.88 213.6 47.93 222.5 56.82C231.4 65.7 243.4 70.7 256 70.7C268.6 70.7 280.6 65.7 289.5 56.82C298.4 47.93 303.4 35.88 303.4 23.31C319.5 26.52 335.2 31.37 350.3 37.78C346.7 60.18 335.2 80.55 317.9 95.27H317.9zM82.78 231C61.42 238.6 38.06 238.4 16.86 230.4C18.82 214.1 22.46 198.1 27.71 182.5C33.1 185.6 39.05 187.6 45.22 188.5C51.39 189.3 57.67 188.9 63.68 187.3C69.69 185.6 75.33 182.9 80.27 179.1C85.21 175.3 89.36 170.6 92.47 165.2C95.58 159.8 97.61 153.8 98.42 147.7C99.23 141.5 98.83 135.2 97.22 129.2C95.61 123.2 92.83 117.6 89.04 112.6C85.25 107.7 80.53 103.5 75.14 100.4C85.96 88.11 98.01 76.94 111.1 67.07C128.7 81.42 140.6 101.6 144.7 123.9C148.8 146.2 144.8 169.3 133.5 188.9C122.1 208.5 104.1 223.4 82.78 231V231zM429.2 231.1C407.9 223.5 389.9 208.5 378.5 188.9C367.2 169.3 363.3 146.2 367.4 123.9C371.5 101.7 383.4 81.54 400.9 67.19C414 77.04 426.1 88.21 436.9 100.5C426.2 106.9 418.5 117.2 415.4 129.3C412.2 141.3 413.1 154.1 420.2 164.9C426.4 175.7 436.6 183.6 448.6 186.9C460.6 190.2 473.5 188.6 484.3 182.6C489.6 198.1 493.2 214.2 495.2 230.4C473.1 238.5 450.6 238.7 429.2 231.1L429.2 231.1z\"],\n \"bluetooth\": [448, 512, [], \"f293\", \"M292.6 171.1L249.7 214l-.3-86 43.2 43.1m-43.2 219.8l43.1-43.1-42.9-42.9-.2 86zM416 259.4C416 465 344.1 512 230.9 512S32 465 32 259.4 115.4 0 228.6 0 416 53.9 416 259.4zm-158.5 0l79.4-88.6L211.8 36.5v176.9L138 139.6l-27 26.9 92.7 93-92.7 93 26.9 26.9 73.8-73.8 2.3 170 127.4-127.5-83.9-88.7z\"],\n \"gitter\": [384, 512, [], \"f426\", \"M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z\"],\n \"d-and-d\": [576, 512, [], \"f38d\", \"M82.5 98.9c-.6-17.2 2-33.8 12.7-48.2.3 7.4 1.2 14.5 4.2 21.6 5.9-27.5 19.7-49.3 42.3-65.5-1.9 5.9-3.5 11.8-3 17.7 8.7-7.4 18.8-17.8 44.4-22.7 14.7-2.8 29.7-2 42.1 1 38.5 9.3 61 34.3 69.7 72.3 5.3 23.1.7 45-8.3 66.4-5.2 12.4-12 24.4-20.7 35.1-2-1.9-3.9-3.8-5.8-5.6-42.8-40.8-26.8-25.2-37.4-37.4-1.1-1.2-1-2.2-.1-3.6 8.3-13.5 11.8-28.2 10-44-1.1-9.8-4.3-18.9-11.3-26.2-14.5-15.3-39.2-15-53.5.6-11.4 12.5-14.1 27.4-10.9 43.6.2 1.3.4 2.7 0 3.9-3.4 13.7-4.6 27.6-2.5 41.6.1.5.1 1.1.1 1.6 0 .3-.1.5-.2 1.1-21.8-11-36-28.3-43.2-52.2-8.3 17.8-11.1 35.5-6.6 54.1-15.6-15.2-21.3-34.3-22-55.2zm469.6 123.2c-11.6-11.6-25-20.4-40.1-26.6-12.8-5.2-26-7.9-39.9-7.1-10 .6-19.6 3.1-29 6.4-2.5.9-5.1 1.6-7.7 2.2-4.9 1.2-7.3-3.1-4.7-6.8 3.2-4.6 3.4-4.2 15-12 .6-.4 1.2-.8 2.2-1.5h-2.5c-.6 0-1.2.2-1.9.3-19.3 3.3-30.7 15.5-48.9 29.6-10.4 8.1-13.8 3.8-12-.5 1.4-3.5 3.3-6.7 5.1-10 1-1.8 2.3-3.4 3.5-5.1-.2-.2-.5-.3-.7-.5-27 18.3-46.7 42.4-57.7 73.3.3.3.7.6 1 .9.3-.6.5-1.2.9-1.7 10.4-12.1 22.8-21.8 36.6-29.8 18.2-10.6 37.5-18.3 58.7-20.2 4.3-.4 8.7-.1 13.1-.1-1.8.7-3.5.9-5.3 1.1-18.5 2.4-35.5 9-51.5 18.5-30.2 17.9-54.5 42.2-75.1 70.4-.3.4-.4.9-.7 1.3 14.5 5.3 24 17.3 36.1 25.6.2-.1.3-.2.4-.4l1.2-2.7c12.2-26.9 27-52.3 46.7-74.5 16.7-18.8 38-25.3 62.5-20 5.9 1.3 11.4 4.4 17.2 6.8 2.3-1.4 5.1-3.2 8-4.7 8.4-4.3 17.4-7 26.7-9 14.7-3.1 29.5-4.9 44.5-1.3v-.5c-.5-.4-1.2-.8-1.7-1.4zM316.7 397.6c-39.4-33-22.8-19.5-42.7-35.6-.8.9 0-.2-1.9 3-11.2 19.1-25.5 35.3-44 47.6-10.3 6.8-21.5 11.8-34.1 11.8-21.6 0-38.2-9.5-49.4-27.8-12-19.5-13.3-40.7-8.2-62.6 7.8-33.8 30.1-55.2 38.6-64.3-18.7-6.2-33 1.7-46.4 13.9.8-13.9 4.3-26.2 11.8-37.3-24.3 10.6-45.9 25-64.8 43.9-.3-5.8 5.4-43.7 5.6-44.7.3-2.7-.6-5.3-3-7.4-24.2 24.7-44.5 51.8-56.1 84.6 7.4-5.9 14.9-11.4 23.6-16.2-8.3 22.3-19.6 52.8-7.8 101.1 4.6 19 11.9 36.8 24.1 52.3 2.9 3.7 6.3 6.9 9.5 10.3.2-.2.4-.3.6-.5-1.4-7-2.2-14.1-1.5-21.9 2.2 3.2 3.9 6 5.9 8.6 12.6 16 28.7 27.4 47.2 35.6 25 11.3 51.1 13.3 77.9 8.6 54.9-9.7 90.7-48.6 116-98.8 1-1.8.6-2.9-.9-4.2zm172-46.4c-9.5-3.1-22.2-4.2-28.7-2.9 9.9 4 14.1 6.6 18.8 12 12.6 14.4 10.4 34.7-5.4 45.6-11.7 8.1-24.9 10.5-38.9 9.1-1.2-.1-2.3-.4-3-.6 2.8-3.7 6-7 8.1-10.8 9.4-16.8 5.4-42.1-8.7-56.1-2.1-2.1-4.6-3.9-7-5.9-.3 1.3-.1 2.1.1 2.8 4.2 16.6-8.1 32.4-24.8 31.8-7.6-.3-13.9-3.8-19.6-8.5-19.5-16.1-39.1-32.1-58.5-48.3-5.9-4.9-12.5-8.1-20.1-8.7-4.6-.4-9.3-.6-13.9-.9-5.9-.4-8.8-2.8-10.4-8.4-.9-3.4-1.5-6.8-2.2-10.2-1.5-8.1-6.2-13-14.3-14.2-4.4-.7-8.9-1-13.3-1.5-13-1.4-19.8-7.4-22.6-20.3-5 11-1.6 22.4 7.3 29.9 4.5 3.8 9.3 7.3 13.8 11.2 4.6 3.8 7.4 8.7 7.9 14.8.4 4.7.8 9.5 1.8 14.1 2.2 10.6 8.9 18.4 17 25.1 16.5 13.7 33 27.3 49.5 41.1 17.9 15 13.9 32.8 13 56-.9 22.9 12.2 42.9 33.5 51.2 1 .4 2 .6 3.6 1.1-15.7-18.2-10.1-44.1.7-52.3.3 2.2.4 4.3.9 6.4 9.4 44.1 45.4 64.2 85 56.9 16-2.9 30.6-8.9 42.9-19.8 2-1.8 3.7-4.1 5.9-6.5-19.3 4.6-35.8.1-50.9-10.6.7-.3 1.3-.3 1.9-.3 21.3 1.8 40.6-3.4 57-17.4 19.5-16.6 26.6-42.9 17.4-66-8.3-20.1-23.6-32.3-43.8-38.9zM99.4 179.3c-5.3-9.2-13.2-15.6-22.1-21.3 13.7-.5 26.6.2 39.6 3.7-7-12.2-8.5-24.7-5-38.7 5.3 11.9 13.7 20.1 23.6 26.8 19.7 13.2 35.7 19.6 46.7 30.2 3.4 3.3 6.3 7.1 9.6 10.9-.8-2.1-1.4-4.1-2.2-6-5-10.6-13-18.6-22.6-25-1.8-1.2-2.8-2.5-3.4-4.5-3.3-12.5-3-25.1-.7-37.6 1-5.5 2.8-10.9 4.5-16.3.8-2.4 2.3-4.6 4-6.6.6 6.9 0 25.5 19.6 46 10.8 11.3 22.4 21.9 33.9 32.7 9 8.5 18.3 16.7 25.5 26.8 1.1 1.6 2.2 3.3 3.8 4.7-5-13-14.2-24.1-24.2-33.8-9.6-9.3-19.4-18.4-29.2-27.4-3.3-3-4.6-6.7-5.1-10.9-1.2-10.4 0-20.6 4.3-30.2.5-1 1.1-2 1.9-3.3.5 4.2.6 7.9 1.4 11.6 4.8 23.1 20.4 36.3 49.3 63.5 10 9.4 19.3 19.2 25.6 31.6 4.8 9.3 7.3 19 5.7 29.6-.1.6.5 1.7 1.1 2 6.2 2.6 10 6.9 9.7 14.3 7.7-2.6 12.5-8 16.4-14.5 4.2 20.2-9.1 50.3-27.2 58.7.4-4.5 5-23.4-16.5-27.7-6.8-1.3-12.8-1.3-22.9-2.1 4.7-9 10.4-20.6.5-22.4-24.9-4.6-52.8 1.9-57.8 4.6 8.2.4 16.3 1 23.5 3.3-2 6.5-4 12.7-5.8 18.9-1.9 6.5 2.1 14.6 9.3 9.6 1.2-.9 2.3-1.9 3.3-2.7-3.1 17.9-2.9 15.9-2.8 18.3.3 10.2 9.5 7.8 15.7 7.3-2.5 11.8-29.5 27.3-45.4 25.8 7-4.7 12.7-10.3 15.9-17.9-6.5.8-12.9 1.6-19.2 2.4l-.3-.9c4.7-3.4 8-7.8 10.2-13.1 8.7-21.1-3.6-38-25-39.9-9.1-.8-17.8.8-25.9 5.5 6.2-15.6 17.2-26.6 32.6-34.5-15.2-4.3-8.9-2.7-24.6-6.3 14.6-9.3 30.2-13.2 46.5-14.6-5.2-3.2-48.1-3.6-70.2 20.9 7.9 1.4 15.5 2.8 23.2 4.2-23.8 7-44 19.7-62.4 35.6 1.1-4.8 2.7-9.5 3.3-14.3.6-4.5.8-9.2.1-13.6-1.5-9.4-8.9-15.1-19.7-16.3-7.9-.9-15.6.1-23.3 1.3-.9.1-1.7.3-2.9 0 15.8-14.8 36-21.7 53.1-33.5 6-4.5 6.8-8.2 3-14.9zm128.4 26.8c3.3 16 12.6 25.5 23.8 24.3-4.6-11.3-12.1-19.5-23.8-24.3z\"],\n \"microblog\": [448, 512, [], \"e01a\", \"M399.36,362.23c29.49-34.69,47.1-78.34,47.1-125.79C446.46,123.49,346.86,32,224,32S1.54,123.49,1.54,236.44,101.14,440.87,224,440.87a239.28,239.28,0,0,0,79.44-13.44,7.18,7.18,0,0,1,8.12,2.56c18.58,25.09,47.61,42.74,79.89,49.92a4.42,4.42,0,0,0,5.22-3.43,4.37,4.37,0,0,0-.85-3.62,87,87,0,0,1,3.69-110.69ZM329.52,212.4l-57.3,43.49L293,324.75a6.5,6.5,0,0,1-9.94,7.22L224,290.92,164.94,332a6.51,6.51,0,0,1-9.95-7.22l20.79-68.86-57.3-43.49a6.5,6.5,0,0,1,3.8-11.68l71.88-1.51,23.66-67.92a6.5,6.5,0,0,1,12.28,0l23.66,67.92,71.88,1.51a6.5,6.5,0,0,1,3.88,11.68Z\"],\n \"cc-diners-club\": [576, 512, [], \"f24c\", \"M239.7 79.9c-96.9 0-175.8 78.6-175.8 175.8 0 96.9 78.9 175.8 175.8 175.8 97.2 0 175.8-78.9 175.8-175.8 0-97.2-78.6-175.8-175.8-175.8zm-39.9 279.6c-41.7-15.9-71.4-56.4-71.4-103.8s29.7-87.9 71.4-104.1v207.9zm79.8.3V151.6c41.7 16.2 71.4 56.7 71.4 104.1s-29.7 87.9-71.4 104.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM329.7 448h-90.3c-106.2 0-193.8-85.5-193.8-190.2C45.6 143.2 133.2 64 239.4 64h90.3c105 0 200.7 79.2 200.7 193.8 0 104.7-95.7 190.2-200.7 190.2z\"],\n \"gg-circle\": [512, 512, [], \"f261\", \"M257 8C120 8 9 119 9 256s111 248 248 248 248-111 248-248S394 8 257 8zm-49.5 374.8L81.8 257.1l125.7-125.7 35.2 35.4-24.2 24.2-11.1-11.1-77.2 77.2 77.2 77.2 26.6-26.6-53.1-52.9 24.4-24.4 77.2 77.2-75 75.2zm99-2.2l-35.2-35.2 24.1-24.4 11.1 11.1 77.2-77.2-77.2-77.2-26.5 26.5 53.1 52.9-24.4 24.4-77.2-77.2 75-75L432.2 255 306.5 380.6z\"],\n \"pied-piper-hat\": [640, 512, [], \"f4e5\", \"M640 24.9c-80.8 53.6-89.4 92.5-96.4 104.4-6.7 12.2-11.7 60.3-23.3 83.6-11.7 23.6-54.2 42.2-66.1 50-11.7 7.8-28.3 38.1-41.9 64.2-108.1-4.4-167.4 38.8-259.2 93.6 29.4-9.7 43.3-16.7 43.3-16.7 94.2-36 139.3-68.3 281.1-49.2 1.1 0 1.9.6 2.8.8 3.9 2.2 5.3 6.9 3.1 10.8l-53.9 95.8c-2.5 4.7-7.8 7.2-13.1 6.1-126.8-23.8-226.9 17.3-318.9 18.6C24.1 488 0 453.4 0 451.8c0-1.1.6-1.7 1.7-1.7 0 0 38.3 0 103.1-15.3C178.4 294.5 244 245.4 315.4 245.4c0 0 71.7 0 90.6 61.9 22.8-39.7 28.3-49.2 28.3-49.2 5.3-9.4 35-77.2 86.4-141.4 51.5-64 90.4-79.9 119.3-91.8z\"],\n \"kickstarter-k\": [384, 512, [], \"f3bc\", \"M147.3 114.4c0-56.2-32.5-82.4-73.4-82.4C26.2 32 0 68.2 0 113.4v283c0 47.3 25.3 83.4 74.9 83.4 39.8 0 72.4-25.6 72.4-83.4v-76.5l112.1 138.3c22.7 27.2 72.1 30.7 103.2 0 27-27.6 27.3-67.4 7.4-92.2l-90.8-114.8 74.9-107.4c17.4-24.7 17.5-63.1-10.4-89.8-30.3-29-82.4-31.6-113.6 12.8L147.3 185v-70.6z\"],\n \"yandex\": [256, 512, [], \"f413\", \"M153.1 315.8L65.7 512H2l96-209.8c-45.1-22.9-75.2-64.4-75.2-141.1C22.7 53.7 90.8 0 171.7 0H254v512h-55.1V315.8h-45.8zm45.8-269.3h-29.4c-44.4 0-87.4 29.4-87.4 114.6 0 82.3 39.4 108.8 87.4 108.8h29.4V46.5z\"],\n \"readme\": [576, 512, [], \"f4d5\", \"M528.3 46.5H388.5c-48.1 0-89.9 33.3-100.4 80.3-10.6-47-52.3-80.3-100.4-80.3H48c-26.5 0-48 21.5-48 48v245.8c0 26.5 21.5 48 48 48h89.7c102.2 0 132.7 24.4 147.3 75 .7 2.8 5.2 2.8 6 0 14.7-50.6 45.2-75 147.3-75H528c26.5 0 48-21.5 48-48V94.6c0-26.4-21.3-47.9-47.7-48.1zM242 311.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5V289c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V251zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm259.3 121.7c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5V228c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.8c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V190z\"],\n \"html5\": [384, 512, [], \"f13b\", \"M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z\"],\n \"sellsy\": [640, 512, [], \"f213\", \"M539.71 237.308c3.064-12.257 4.29-24.821 4.29-37.384C544 107.382 468.618 32 376.076 32c-77.22 0-144.634 53.012-163.02 127.781-15.322-13.176-34.934-20.53-55.157-20.53-46.271 0-83.962 37.69-83.962 83.961 0 7.354.92 15.015 3.065 22.369-42.9 20.225-70.785 63.738-70.785 111.234C6.216 424.843 61.68 480 129.401 480h381.198c67.72 0 123.184-55.157 123.184-123.184.001-56.384-38.916-106.025-94.073-119.508zM199.88 401.554c0 8.274-7.048 15.321-15.321 15.321H153.61c-8.274 0-15.321-7.048-15.321-15.321V290.626c0-8.273 7.048-15.321 15.321-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v110.928zm89.477 0c0 8.274-7.048 15.321-15.322 15.321h-30.949c-8.274 0-15.321-7.048-15.321-15.321V270.096c0-8.274 7.048-15.321 15.321-15.321h30.949c8.274 0 15.322 7.048 15.322 15.321v131.458zm89.477 0c0 8.274-7.047 15.321-15.321 15.321h-30.949c-8.274 0-15.322-7.048-15.322-15.321V238.84c0-8.274 7.048-15.321 15.322-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v162.714zm87.027 0c0 8.274-7.048 15.321-15.322 15.321h-28.497c-8.274 0-15.321-7.048-15.321-15.321V176.941c0-8.579 7.047-15.628 15.321-15.628h28.497c8.274 0 15.322 7.048 15.322 15.628v224.613z\"],\n \"sass\": [640, 512, [], \"f41e\", \"M301.84 378.92c-.3.6-.6 1.08 0 0zm249.13-87a131.16 131.16 0 0 0-58 13.5c-5.9-11.9-12-22.3-13-30.1-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.3-6.7-24 2.5-25.29 5.9a122.83 122.83 0 0 0-5.3 19.1c-2.3 11.7-25.79 53.5-39.09 75.3-4.4-8.5-8.1-16-8.9-22-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.29-6.7-24 2.5-25.3 5.9-2.7 11.4-5.3 19.1-33.89 77.3-42.08 95.4c-4.2 9.2-7.8 16.6-10.4 21.6-.4.8-.7 1.3-.9 1.7.3-.5.5-1 .5-.8-2.2 4.3-3.5 6.7-3.5 6.7v.1c-1.7 3.2-3.6 6.1-4.5 6.1-.6 0-1.9-8.4.3-19.9 4.7-24.2 15.8-61.8 15.7-63.1-.1-.7 2.1-7.2-7.3-10.7-9.1-3.3-12.4 2.2-13.2 2.2s-1.4 2-1.4 2 10.1-42.4-19.39-42.4c-18.4 0-44 20.2-56.58 38.5-7.9 4.3-25 13.6-43 23.5-6.9 3.8-14 7.7-20.7 11.4-.5-.5-.9-1-1.4-1.5-35.79-38.2-101.87-65.2-99.07-116.5 1-18.7 7.5-67.8 127.07-127.4 98-48.8 176.35-35.4 189.84-5.6 19.4 42.5-41.89 121.6-143.66 133-38.79 4.3-59.18-10.7-64.28-16.3-5.3-5.9-6.1-6.2-8.1-5.1-3.3 1.8-1.2 7 0 10.1 3 7.9 15.5 21.9 36.79 28.9 18.7 6.1 64.18 9.5 119.17-11.8 61.78-23.8 109.87-90.1 95.77-145.6C386.52 18.32 293-.18 204.57 31.22c-52.69 18.7-109.67 48.1-150.66 86.4-48.69 45.6-56.48 85.3-53.28 101.9 11.39 58.9 92.57 97.3 125.06 125.7-1.6.9-3.1 1.7-4.5 2.5-16.29 8.1-78.18 40.5-93.67 74.7-17.5 38.8 2.9 66.6 16.29 70.4 41.79 11.6 84.58-9.3 107.57-43.6s20.2-79.1 9.6-99.5c-.1-.3-.3-.5-.4-.8 4.2-2.5 8.5-5 12.8-7.5 8.29-4.9 16.39-9.4 23.49-13.3-4 10.8-6.9 23.8-8.4 42.6-1.8 22 7.3 50.5 19.1 61.7 5.2 4.9 11.49 5 15.39 5 13.8 0 20-11.4 26.89-25 8.5-16.6 16-35.9 16-35.9s-9.4 52.2 16.3 52.2c9.39 0 18.79-12.1 23-18.3v.1s.2-.4.7-1.2c1-1.5 1.5-2.4 1.5-2.4v-.3c3.8-6.5 12.1-21.4 24.59-46 16.2-31.8 31.69-71.5 31.69-71.5a201.24 201.24 0 0 0 6.2 25.8c2.8 9.5 8.7 19.9 13.4 30-3.8 5.2-6.1 8.2-6.1 8.2a.31.31 0 0 0 .1.2c-3 4-6.4 8.3-9.9 12.5-12.79 15.2-28 32.6-30 37.6-2.4 5.9-1.8 10.3 2.8 13.7 3.4 2.6 9.4 3 15.69 2.5 11.5-.8 19.6-3.6 23.5-5.4a82.2 82.2 0 0 0 20.19-10.6c12.5-9.2 20.1-22.4 19.4-39.8-.4-9.6-3.5-19.2-7.3-28.2 1.1-1.6 2.3-3.3 3.4-5C434.8 301.72 450.1 270 450.1 270a201.24 201.24 0 0 0 6.2 25.8c2.4 8.1 7.09 17 11.39 25.7-18.59 15.1-30.09 32.6-34.09 44.1-7.4 21.3-1.6 30.9 9.3 33.1 4.9 1 11.9-1.3 17.1-3.5a79.46 79.46 0 0 0 21.59-11.1c12.5-9.2 24.59-22.1 23.79-39.6-.3-7.9-2.5-15.8-5.4-23.4 15.7-6.6 36.09-10.2 62.09-7.2 55.68 6.5 66.58 41.3 64.48 55.8s-13.8 22.6-17.7 25-5.1 3.3-4.8 5.1c.5 2.6 2.3 2.5 5.6 1.9 4.6-.8 29.19-11.8 30.29-38.7 1.6-34-31.09-71.4-89-71.1zm-429.18 144.7c-18.39 20.1-44.19 27.7-55.28 21.3C54.61 451 59.31 421.42 82 400c13.8-13 31.59-25 43.39-32.4 2.7-1.6 6.6-4 11.4-6.9.8-.5 1.2-.7 1.2-.7.9-.6 1.9-1.1 2.9-1.7 8.29 30.4.3 57.2-19.1 78.3zm134.36-91.4c-6.4 15.7-19.89 55.7-28.09 53.6-7-1.8-11.3-32.3-1.4-62.3 5-15.1 15.6-33.1 21.9-40.1 10.09-11.3 21.19-14.9 23.79-10.4 3.5 5.9-12.2 49.4-16.2 59.2zm111 53c-2.7 1.4-5.2 2.3-6.4 1.6-.9-.5 1.1-2.4 1.1-2.4s13.9-14.9 19.4-21.7c3.2-4 6.9-8.7 10.89-13.9 0 .5.1 1 .1 1.6-.13 17.9-17.32 30-25.12 34.8zm85.58-19.5c-2-1.4-1.7-6.1 5-20.7 2.6-5.7 8.59-15.3 19-24.5a36.18 36.18 0 0 1 1.9 10.8c-.1 22.5-16.2 30.9-25.89 34.4z\"],\n \"wirsindhandwerk\": [512, 512, [\"wsh\"], \"e2d0\", \"M50.77161,479.81213h83.36071V367.84741l-83.36071,47.009Zm329.04675,0h82.35022V414.85645l-82.35022-47.009Zm.00568-448V251.568L256.1759,179.1861,134.50378,251.568V31.81213H50.77161V392.60565L256.1759,270.31909,462.16858,392.60565V31.81213Z\"],\n \"buromobelexperte\": [448, 512, [], \"f37f\", \"M0 32v128h128V32H0zm120 120H8V40h112v112zm40-120v128h128V32H160zm120 120H168V40h112v112zm40-120v128h128V32H320zm120 120H328V40h112v112zM0 192v128h128V192H0zm120 120H8V200h112v112zm40-120v128h128V192H160zm120 120H168V200h112v112zm40-120v128h128V192H320zm120 120H328V200h112v112zM0 352v128h128V352H0zm120 120H8V360h112v112zm40-120v128h128V352H160zm120 120H168V360h112v112zm40-120v128h128V352H320z\"],\n \"salesforce\": [640, 512, [], \"f83b\", \"M248.89 245.64h-26.35c.69-5.16 3.32-14.12 13.64-14.12 6.75 0 11.97 3.82 12.71 14.12zm136.66-13.88c-.47 0-14.11-1.77-14.11 20s13.63 20 14.11 20c13 0 14.11-13.54 14.11-20 0-21.76-13.66-20-14.11-20zm-243.22 23.76a8.63 8.63 0 0 0-3.29 7.29c0 4.78 2.08 6.05 3.29 7.05 4.7 3.7 15.07 2.12 20.93.95v-16.94c-5.32-1.07-16.73-1.96-20.93 1.65zM640 232c0 87.58-80 154.39-165.36 136.43-18.37 33-70.73 70.75-132.2 41.63-41.16 96.05-177.89 92.18-213.81-5.17C8.91 428.78-50.19 266.52 53.36 205.61 18.61 126.18 76 32 167.67 32a124.24 124.24 0 0 1 98.56 48.7c20.7-21.4 49.4-34.81 81.15-34.81 42.34 0 79 23.52 98.8 58.57C539 63.78 640 132.69 640 232zm-519.55 31.8c0-11.76-11.69-15.17-17.87-17.17-5.27-2.11-13.41-3.51-13.41-8.94 0-9.46 17-6.66 25.17-2.12 0 0 1.17.71 1.64-.47.24-.7 2.36-6.58 2.59-7.29a1.13 1.13 0 0 0-.7-1.41c-12.33-7.63-40.7-8.51-40.7 12.7 0 12.46 11.49 15.44 17.88 17.17 4.72 1.58 13.17 3 13.17 8.7 0 4-3.53 7.06-9.17 7.06a31.76 31.76 0 0 1-19-6.35c-.47-.23-1.42-.71-1.65.71l-2.4 7.47c-.47.94.23 1.18.23 1.41 1.75 1.4 10.3 6.59 22.82 6.59 13.17 0 21.4-7.06 21.4-18.11zm32-42.58c-10.13 0-18.66 3.17-21.4 5.18a1 1 0 0 0-.24 1.41l2.59 7.06a1 1 0 0 0 1.18.7c.65 0 6.8-4 16.93-4 4 0 7.06.71 9.18 2.36 3.6 2.8 3.06 8.29 3.06 10.58-4.79-.3-19.11-3.44-29.41 3.76a16.92 16.92 0 0 0-7.34 14.54c0 5.9 1.51 10.4 6.59 14.35 12.24 8.16 36.28 2 38.1 1.41 1.58-.32 3.53-.66 3.53-1.88v-33.88c.04-4.61.32-21.64-22.78-21.64zM199 200.24a1.11 1.11 0 0 0-1.18-1.18H188a1.11 1.11 0 0 0-1.17 1.18v79a1.11 1.11 0 0 0 1.17 1.18h9.88a1.11 1.11 0 0 0 1.18-1.18zm55.75 28.93c-2.1-2.31-6.79-7.53-17.65-7.53-3.51 0-14.16.23-20.7 8.94-6.35 7.63-6.58 18.11-6.58 21.41 0 3.12.15 14.26 7.06 21.17 2.64 2.91 9.06 8.23 22.81 8.23 10.82 0 16.47-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.35-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.94-16.7h37.17a1.23 1.23 0 0 0 1.17-.94c-.29 0 2.07-14.7-6.09-24.23zm36.69 52.69c13.17 0 21.41-7.06 21.41-18.11 0-11.76-11.7-15.17-17.88-17.17-4.14-1.66-13.41-3.38-13.41-8.94 0-3.76 3.29-6.35 8.47-6.35a38.11 38.11 0 0 1 16.7 4.23s1.18.71 1.65-.47c.23-.7 2.35-6.58 2.58-7.29a1.13 1.13 0 0 0-.7-1.41c-7.91-4.9-16.74-4.94-20.23-4.94-12 0-20.46 7.29-20.46 17.64 0 12.46 11.48 15.44 17.87 17.17 6.11 2 13.17 3.26 13.17 8.7 0 4-3.52 7.06-9.17 7.06a31.8 31.8 0 0 1-19-6.35 1 1 0 0 0-1.65.71l-2.35 7.52c-.47.94.23 1.18.23 1.41 1.72 1.4 10.33 6.59 22.79 6.59zM357.09 224c0-.71-.24-1.18-1.18-1.18h-11.76c0-.14.94-8.94 4.47-12.47 4.16-4.15 11.76-1.64 12-1.64 1.17.47 1.41 0 1.64-.47l2.83-7.77c.7-.94 0-1.17-.24-1.41-5.09-2-17.35-2.87-24.46 4.24-5.48 5.48-7 13.92-8 19.52h-8.47a1.28 1.28 0 0 0-1.17 1.18l-1.42 7.76c0 .7.24 1.17 1.18 1.17h8.23c-8.51 47.9-8.75 50.21-10.35 55.52-1.08 3.62-3.29 6.9-5.88 7.76-.09 0-3.88 1.68-9.64-.24 0 0-.94-.47-1.41.71-.24.71-2.59 6.82-2.83 7.53s0 1.41.47 1.41c5.11 2 13 1.77 17.88 0 6.28-2.28 9.72-7.89 11.53-12.94 2.75-7.71 2.81-9.79 11.76-59.74h12.23a1.29 1.29 0 0 0 1.18-1.18zm53.39 16c-.56-1.68-5.1-18.11-25.17-18.11-15.25 0-23 10-25.16 18.11-1 3-3.18 14 0 23.52.09.3 4.41 18.12 25.16 18.12 14.95 0 22.9-9.61 25.17-18.12 3.21-9.61 1.01-20.52 0-23.52zm45.4-16.7c-5-1.65-16.62-1.9-22.11 5.41v-4.47a1.11 1.11 0 0 0-1.18-1.17h-9.4a1.11 1.11 0 0 0-1.18 1.17v55.28a1.12 1.12 0 0 0 1.18 1.18h9.64a1.12 1.12 0 0 0 1.18-1.18v-27.77c0-2.91.05-11.37 4.46-15.05 4.9-4.9 12-3.36 13.41-3.06a1.57 1.57 0 0 0 1.41-.94 74 74 0 0 0 3.06-8 1.16 1.16 0 0 0-.47-1.41zm46.81 54.1l-2.12-7.29c-.47-1.18-1.41-.71-1.41-.71-4.23 1.82-10.15 1.89-11.29 1.89-4.64 0-17.17-1.13-17.17-19.76 0-6.23 1.85-19.76 16.47-19.76a34.85 34.85 0 0 1 11.52 1.65s.94.47 1.18-.71c.94-2.59 1.64-4.47 2.59-7.53.23-.94-.47-1.17-.71-1.17-11.59-3.87-22.34-2.53-27.76 0-1.59.74-16.23 6.49-16.23 27.52 0 2.9-.58 30.11 28.94 30.11a44.45 44.45 0 0 0 15.52-2.83 1.3 1.3 0 0 0 .47-1.42zm53.87-39.52c-.8-3-5.37-16.23-22.35-16.23-16 0-23.52 10.11-25.64 18.59a38.58 38.58 0 0 0-1.65 11.76c0 25.87 18.84 29.4 29.88 29.4 10.82 0 16.46-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.36-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.93-16.7h37.16a1.25 1.25 0 0 0 1.18-.94c-.24-.01.94-7.07-1.41-15.54zm-23.29-6.35c-10.33 0-13 9-13.64 14.12H546c-.88-11.92-7.62-14.13-12.73-14.13z\"],\n \"octopus-deploy\": [512, 512, [], \"e082\", \"M455.6,349.2c-45.891-39.09-36.67-77.877-16.095-128.11C475.16,134.04,415.967,34.14,329.93,8.3,237.04-19.6,134.252,24.341,99.677,117.147a180.862,180.862,0,0,0-10.988,73.544c1.733,29.543,14.717,52.97,24.09,80.3,17.2,50.161-28.1,92.743-66.662,117.582-46.806,30.2-36.319,39.857-8.428,41.858,23.378,1.68,44.478-4.548,65.265-15.045,9.2-4.647,40.687-18.931,45.13-28.588C135.9,413.388,111.122,459.5,126.621,488.9c19.1,36.229,67.112-31.77,76.709-45.812,8.591-12.572,42.963-81.279,63.627-46.926,18.865,31.361,8.6,76.391,35.738,104.622,32.854,34.2,51.155-18.312,51.412-44.221.163-16.411-6.1-95.852,29.9-59.944C405.428,418,436.912,467.8,472.568,463.642c38.736-4.516-22.123-67.967-28.262-78.695,5.393,4.279,53.665,34.128,53.818,9.52C498.234,375.678,468.039,359.8,455.6,349.2Z\"],\n \"medapps\": [320, 512, [], \"f3c6\", \"M118.3 238.4c3.5-12.5 6.9-33.6 13.2-33.6 8.3 1.8 9.6 23.4 18.6 36.6 4.6-23.5 5.3-85.1 14.1-86.7 9-.7 19.7 66.5 22 77.5 9.9 4.1 48.9 6.6 48.9 6.6 1.9 7.3-24 7.6-40 7.8-4.6 14.8-5.4 27.7-11.4 28-4.7.2-8.2-28.8-17.5-49.6l-9.4 65.5c-4.4 13-15.5-22.5-21.9-39.3-3.3-.1-62.4-1.6-47.6-7.8l31-5zM228 448c21.2 0 21.2-32 0-32H92c-21.2 0-21.2 32 0 32h136zm-24 64c21.2 0 21.2-32 0-32h-88c-21.2 0-21.2 32 0 32h88zm34.2-141.5c3.2-18.9 5.2-36.4 11.9-48.8 7.9-14.7 16.1-28.1 24-41 24.6-40.4 45.9-75.2 45.9-125.5C320 69.6 248.2 0 160 0S0 69.6 0 155.2c0 50.2 21.3 85.1 45.9 125.5 7.9 12.9 16 26.3 24 41 6.7 12.5 8.7 29.8 11.9 48.9 3.5 21 36.1 15.7 32.6-5.1-3.6-21.7-5.6-40.7-15.3-58.6C66.5 246.5 33 211.3 33 155.2 33 87.3 90 32 160 32s127 55.3 127 123.2c0 56.1-33.5 91.3-66.1 151.6-9.7 18-11.7 37.4-15.3 58.6-3.4 20.6 29 26.4 32.6 5.1z\"],\n \"ns8\": [640, 512, [], \"f3d5\", \"M104.324,269.172h26.067V242.994H104.324Zm52.466-26.178-.055-26.178v-.941a39.325,39.325,0,0,0-78.644.941v.166h26.4v-.166a12.98,12.98,0,0,1,25.956,0v26.178Zm52.356,25.846a91.1,91.1,0,0,1-91.1,91.1h-.609a91.1,91.1,0,0,1-91.1-91.1H0v.166A117.33,117.33,0,0,0,117.44,386.28h.775A117.331,117.331,0,0,0,235.49,268.84V242.828H209.146Zm-157.233,0a65.362,65.362,0,0,0,130.723,0H156.292a39.023,39.023,0,0,1-78.035,0V242.883H51.968v-26.62A65.42,65.42,0,0,1,182.8,217.48v25.293h26.344V217.48a91.761,91.761,0,0,0-183.522,0v25.4H51.913Zm418.4-71.173c13.67,0,24.573,6.642,30.052,18.264l.719,1.549,23.245-11.511-.609-1.439c-8.025-19.26-28.5-31.27-53.407-31.27-23.134,0-43.611,11.4-50.972,28.447-.123,26.876-.158,23.9,0,24.85,4.7,11.013,14.555,19.37,28.668,24.241a102.033,102.033,0,0,0,19.813,3.984c5.479.72,10.626,1.384,15.829,3.1,6.364,2.1,10.46,5.257,12.84,9.851v9.851c-3.708,7.527-13.781,12.342-25.791,12.342-14.334,0-25.956-6.918-31.933-19.039l-.72-1.494L415.026,280.9l.553,1.439c7.915,19.426,29.609,32.044,55.289,32.044,23.632,0,44.608-11.4,52.3-28.447l.166-25.9-.166-.664c-4.87-11.014-15.219-19.647-28.944-24.241-7.693-2.712-14.335-3.6-20.7-4.427a83.777,83.777,0,0,1-14.832-2.878c-6.31-1.937-10.4-5.092-12.619-9.63v-8.412C449.45,202.427,458.969,197.667,470.315,197.667ZM287.568,311.344h26.067v-68.4H287.568Zm352.266-53.3c-2.933-6.254-8.3-12.01-15.441-16.714A37.99,37.99,0,0,0,637.4,226l.166-25.347-.166-.664C630.038,184,610.667,173.26,589.25,173.26S548.461,184,541.1,199.992l-.166,25.347.166.664a39.643,39.643,0,0,0,13.006,15.331c-7.2,4.7-12.508,10.46-15.441,16.714l-.166,28.889.166.72c7.582,15.994,27.893,26.731,50.585,26.731s43.057-10.737,50.584-26.731l.166-28.89Zm-73.22-50.806c3.6-6.31,12.563-10.516,22.58-10.516s19.038,4.206,22.636,10.516v13.725c-3.542,6.2-12.563,10.349-22.636,10.349s-19.094-4.15-22.58-10.349Zm47.319,72.169c-3.764,6.641-13.338,10.9-24.683,10.9-11.125,0-20.976-4.372-24.684-10.9V263.25c3.708-6.309,13.5-10.515,24.684-10.515,11.345,0,20.919,4.15,24.683,10.515ZM376.4,265.962l-59.827-89.713h-29v40.623h26.51v.387l62.539,94.085H402.3V176.249H376.4Z\"],\n \"pinterest-p\": [384, 512, [], \"f231\", \"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z\"],\n \"apper\": [640, 512, [], \"f371\", \"M42.1 239.1c22.2 0 29 2.8 33.5 14.6h.8v-22.9c0-11.3-4.8-15.4-17.9-15.4-11.3 0-14.4 2.5-15.1 12.8H4.8c.3-13.9 1.5-19.1 5.8-24.4C17.9 195 29.5 192 56.7 192c33 0 47.1 5 53.9 18.9 2 4.3 4 15.6 4 23.7v76.3H76.3l1.3-19.1h-1c-5.3 15.6-13.6 20.4-35.5 20.4-30.3 0-41.1-10.1-41.1-37.3 0-25.2 12.3-35.8 42.1-35.8zm17.1 48.1c13.1 0 16.9-3 16.9-13.4 0-9.1-4.3-11.6-19.6-11.6-13.1 0-17.9 3-17.9 12.1-.1 10.4 3.7 12.9 20.6 12.9zm77.8-94.9h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.2 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3H137v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm57.9-60.7h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.3 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3h-39.5v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm53.8-3.8c0-25.4 3.3-37.8 12.3-45.8 8.8-8.1 22.2-11.3 45.1-11.3 42.8 0 55.7 12.8 55.7 55.7v11.1h-75.3c-.3 2-.3 4-.3 4.8 0 16.9 4.5 21.9 20.1 21.9 13.9 0 17.9-3 17.9-13.9h37.5v2.3c0 9.8-2.5 18.9-6.8 24.7-7.3 9.8-19.6 13.6-44.3 13.6-27.5 0-41.6-3.3-50.6-12.3-8.5-8.5-11.3-21.3-11.3-50.8zm76.4-11.6c-.3-1.8-.3-3.3-.3-3.8 0-12.3-3.3-14.6-19.6-14.6-14.4 0-17.1 3-18.1 15.1l-.3 3.3h38.3zm55.6-45.3h38.3l-1.8 19.9h.7c6.8-14.9 14.4-20.2 29.7-20.2 10.8 0 19.1 3.3 23.4 9.3 5.3 7.3 6.8 14.4 6.8 34 0 1.5 0 5 .2 9.3h-35c.3-1.8.3-3.3.3-4 0-15.4-2-19.4-10.3-19.4-6.3 0-10.8 3.3-13.1 9.3-1 3-1 4.3-1 12.3v68h-38.3V192.3z\"],\n \"fort-awesome\": [512, 512, [], \"f286\", \"M489.2 287.9h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6V146.2c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-6-8-4.6-11.7-4.6v-38c8.3-2 17.1-3.4 25.7-3.4 10.9 0 20.9 4.3 31.4 4.3 4.6 0 27.7-1.1 27.7-8v-60c0-2.6-2-4.6-4.6-4.6-5.1 0-15.1 4.3-24 4.3-9.7 0-20.9-4.3-32.6-4.3-8 0-16 1.1-23.7 2.9v-4.9c5.4-2.6 9.1-8.3 9.1-14.3 0-20.7-31.4-20.8-31.4 0 0 6 3.7 11.7 9.1 14.3v111.7c-3.7 0-11.7-1.4-11.7 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32H128v-32c0-2.6-2-4.6-4.6-4.6H96c-2.6 0-4.6 2-4.6 4.6v178.3H54.8v-32c0-2.6-2-4.6-4.6-4.6H22.8c-2.6 0-4.6 2-4.6 4.6V512h182.9v-96c0-72.6 109.7-72.6 109.7 0v96h182.9V292.5c.1-2.6-1.9-4.6-4.5-4.6zm-288.1-4.5c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64zm146.4 0c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64z\"],\n \"waze\": [512, 512, [], \"f83f\", \"M502.17 201.67C516.69 287.53 471.23 369.59 389 409.8c13 34.1-12.4 70.2-48.32 70.2a51.68 51.68 0 0 1-51.57-49c-6.44.19-64.2 0-76.33-.64A51.69 51.69 0 0 1 159 479.92c-33.86-1.36-57.95-34.84-47-67.92-37.21-13.11-72.54-34.87-99.62-70.8-13-17.28-.48-41.8 20.84-41.8 46.31 0 32.22-54.17 43.15-110.26C94.8 95.2 193.12 32 288.09 32c102.48 0 197.15 70.67 214.08 169.67zM373.51 388.28c42-19.18 81.33-56.71 96.29-102.14 40.48-123.09-64.15-228-181.71-228-83.45 0-170.32 55.42-186.07 136-9.53 48.91 5 131.35-68.75 131.35C58.21 358.6 91.6 378.11 127 389.54c24.66-21.8 63.87-15.47 79.83 14.34 14.22 1 79.19 1.18 87.9.82a51.69 51.69 0 0 1 78.78-16.42zM205.12 187.13c0-34.74 50.84-34.75 50.84 0s-50.84 34.74-50.84 0zm116.57 0c0-34.74 50.86-34.75 50.86 0s-50.86 34.75-50.86 0zm-122.61 70.69c-3.44-16.94 22.18-22.18 25.62-5.21l.06.28c4.14 21.42 29.85 44 64.12 43.07 35.68-.94 59.25-22.21 64.11-42.77 4.46-16.05 28.6-10.36 25.47 6-5.23 22.18-31.21 62-91.46 62.9-42.55 0-80.88-27.84-87.9-64.25z\"],\n \"cc-jcb\": [576, 512, [], \"f24b\", \"M431.5 244.3V212c41.2 0 38.5.2 38.5.2 7.3 1.3 13.3 7.3 13.3 16 0 8.8-6 14.5-13.3 15.8-1.2.4-3.3.3-38.5.3zm42.8 20.2c-2.8-.7-3.3-.5-42.8-.5v35c39.6 0 40 .2 42.8-.5 7.5-1.5 13.5-8 13.5-17 0-8.7-6-15.5-13.5-17zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM182 192.3h-57c0 67.1 10.7 109.7-35.8 109.7-19.5 0-38.8-5.7-57.2-14.8v28c30 8.3 68 8.3 68 8.3 97.9 0 82-47.7 82-131.2zm178.5 4.5c-63.4-16-165-14.9-165 59.3 0 77.1 108.2 73.6 165 59.2V287C312.9 311.7 253 309 253 256s59.8-55.6 107.5-31.2v-28zM544 286.5c0-18.5-16.5-30.5-38-32v-.8c19.5-2.7 30.3-15.5 30.3-30.2 0-19-15.7-30-37-31 0 0 6.3-.3-120.3-.3v127.5h122.7c24.3.1 42.3-12.9 42.3-33.2z\"],\n \"snapchat\": [512, 512, [62124, \"snapchat-ghost\"], \"f2ab\", \"M496.926,366.6c-3.373-9.176-9.8-14.086-17.112-18.153-1.376-.806-2.641-1.451-3.72-1.947-2.182-1.128-4.414-2.22-6.634-3.373-22.8-12.09-40.609-27.341-52.959-45.42a102.889,102.889,0,0,1-9.089-16.12c-1.054-3.013-1-4.724-.248-6.287a10.221,10.221,0,0,1,2.914-3.038c3.918-2.591,7.96-5.22,10.7-6.993,4.885-3.162,8.754-5.667,11.246-7.44,9.362-6.547,15.909-13.5,20-21.278a42.371,42.371,0,0,0,2.1-35.191c-6.2-16.318-21.613-26.449-40.287-26.449a55.543,55.543,0,0,0-11.718,1.24c-1.029.224-2.059.459-3.063.72.174-11.16-.074-22.94-1.066-34.534-3.522-40.758-17.794-62.123-32.674-79.16A130.167,130.167,0,0,0,332.1,36.443C309.515,23.547,283.91,17,256,17S202.6,23.547,180,36.443a129.735,129.735,0,0,0-33.281,26.783c-14.88,17.038-29.152,38.44-32.673,79.161-.992,11.594-1.24,23.435-1.079,34.533-1-.26-2.021-.5-3.051-.719a55.461,55.461,0,0,0-11.717-1.24c-18.687,0-34.125,10.131-40.3,26.449a42.423,42.423,0,0,0,2.046,35.228c4.105,7.774,10.652,14.731,20.014,21.278,2.48,1.736,6.361,4.24,11.246,7.44,2.641,1.711,6.5,4.216,10.28,6.72a11.054,11.054,0,0,1,3.3,3.311c.794,1.624.818,3.373-.36,6.6a102.02,102.02,0,0,1-8.94,15.785c-12.077,17.669-29.363,32.648-51.434,44.639C32.355,348.608,20.2,352.75,15.069,366.7c-3.868,10.528-1.339,22.506,8.494,32.6a49.137,49.137,0,0,0,12.4,9.387,134.337,134.337,0,0,0,30.342,12.139,20.024,20.024,0,0,1,6.126,2.741c3.583,3.137,3.075,7.861,7.849,14.78a34.468,34.468,0,0,0,8.977,9.127c10.019,6.919,21.278,7.353,33.207,7.811,10.776.41,22.989.881,36.939,5.481,5.778,1.91,11.78,5.605,18.736,9.92C194.842,480.951,217.707,495,255.973,495s61.292-14.123,78.118-24.428c6.907-4.24,12.872-7.9,18.489-9.758,13.949-4.613,26.163-5.072,36.939-5.481,11.928-.459,23.187-.893,33.206-7.812a34.584,34.584,0,0,0,10.218-11.16c3.434-5.84,3.348-9.919,6.572-12.771a18.971,18.971,0,0,1,5.753-2.629A134.893,134.893,0,0,0,476.02,408.71a48.344,48.344,0,0,0,13.019-10.193l.124-.149C498.389,388.5,500.708,376.867,496.926,366.6Zm-34.013,18.277c-20.745,11.458-34.533,10.23-45.259,17.137-9.114,5.865-3.72,18.513-10.342,23.076-8.134,5.617-32.177-.4-63.239,9.858-25.618,8.469-41.961,32.822-88.038,32.822s-62.036-24.3-88.076-32.884c-31-10.255-55.092-4.241-63.239-9.858-6.609-4.563-1.24-17.211-10.341-23.076-10.739-6.907-24.527-5.679-45.26-17.075-13.206-7.291-5.716-11.8-1.314-13.937,75.143-36.381,87.133-92.552,87.666-96.719.645-5.046,1.364-9.014-4.191-14.148-5.369-4.96-29.189-19.7-35.8-24.316-10.937-7.638-15.748-15.264-12.2-24.638,2.48-6.485,8.531-8.928,14.879-8.928a27.643,27.643,0,0,1,5.965.67c12,2.6,23.659,8.617,30.392,10.242a10.749,10.749,0,0,0,2.48.335c3.6,0,4.86-1.811,4.612-5.927-.768-13.132-2.628-38.725-.558-62.644,2.84-32.909,13.442-49.215,26.04-63.636,6.051-6.932,34.484-36.976,88.857-36.976s82.88,29.92,88.931,36.827c12.611,14.421,23.225,30.727,26.04,63.636,2.071,23.919.285,49.525-.558,62.644-.285,4.327,1.017,5.927,4.613,5.927a10.648,10.648,0,0,0,2.48-.335c6.745-1.624,18.4-7.638,30.4-10.242a27.641,27.641,0,0,1,5.964-.67c6.386,0,12.4,2.48,14.88,8.928,3.546,9.374-1.24,17-12.189,24.639-6.609,4.612-30.429,19.343-35.8,24.315-5.568,5.134-4.836,9.1-4.191,14.149.533,4.228,12.511,60.4,87.666,96.718C468.629,373.011,476.119,377.524,462.913,384.877Z\"],\n \"fantasy-flight-games\": [512, 512, [], \"f6dc\", \"M256 32.86L32.86 256 256 479.14 479.14 256 256 32.86zM88.34 255.83c1.96-2 11.92-12.3 96.49-97.48 41.45-41.75 86.19-43.77 119.77-18.69 24.63 18.4 62.06 58.9 62.15 59 .68.74 1.07 2.86.58 3.38-11.27 11.84-22.68 23.54-33.5 34.69-34.21-32.31-40.52-38.24-48.51-43.95-17.77-12.69-41.4-10.13-56.98 5.1-2.17 2.13-1.79 3.43.12 5.35 2.94 2.95 28.1 28.33 35.09 35.78-11.95 11.6-23.66 22.97-35.69 34.66-12.02-12.54-24.48-25.53-36.54-38.11-21.39 21.09-41.69 41.11-61.85 60.99zm234.82 101.6c-35.49 35.43-78.09 38.14-106.99 20.47-22.08-13.5-39.38-32.08-72.93-66.84 12.05-12.37 23.79-24.42 35.37-36.31 33.02 31.91 37.06 36.01 44.68 42.09 18.48 14.74 42.52 13.67 59.32-1.8 3.68-3.39 3.69-3.64.14-7.24-10.59-10.73-21.19-21.44-31.77-32.18-1.32-1.34-3.03-2.48-.8-4.69 10.79-10.71 21.48-21.52 32.21-32.29.26-.26.65-.38 1.91-1.07 12.37 12.87 24.92 25.92 37.25 38.75 21.01-20.73 41.24-40.68 61.25-60.42 13.68 13.4 27.13 26.58 40.86 40.03-20.17 20.86-81.68 82.71-100.5 101.5zM256 0L0 256l256 256 256-256L256 0zM16 256L256 16l240 240-240 240L16 256z\"],\n \"rust\": [512, 512, [], \"e07a\", \"M508.52,249.75,486.7,236.24c-.17-2-.34-3.93-.55-5.88l18.72-17.5a7.35,7.35,0,0,0-2.44-12.25l-24-9c-.54-1.88-1.08-3.78-1.67-5.64l15-20.83a7.35,7.35,0,0,0-4.79-11.54l-25.42-4.15c-.9-1.73-1.79-3.45-2.73-5.15l10.68-23.42a7.35,7.35,0,0,0-6.95-10.39l-25.82.91q-1.79-2.22-3.61-4.4L439,81.84A7.36,7.36,0,0,0,430.16,73L405,78.93q-2.17-1.83-4.4-3.61l.91-25.82a7.35,7.35,0,0,0-10.39-7L367.7,53.23c-1.7-.94-3.43-1.84-5.15-2.73L358.4,25.08a7.35,7.35,0,0,0-11.54-4.79L326,35.26c-1.86-.59-3.75-1.13-5.64-1.67l-9-24a7.35,7.35,0,0,0-12.25-2.44l-17.5,18.72c-1.95-.21-3.91-.38-5.88-.55L262.25,3.48a7.35,7.35,0,0,0-12.5,0L236.24,25.3c-2,.17-3.93.34-5.88.55L212.86,7.13a7.35,7.35,0,0,0-12.25,2.44l-9,24c-1.89.55-3.79,1.08-5.66,1.68l-20.82-15a7.35,7.35,0,0,0-11.54,4.79l-4.15,25.41c-1.73.9-3.45,1.79-5.16,2.73L120.88,42.55a7.35,7.35,0,0,0-10.39,7l.92,25.81c-1.49,1.19-3,2.39-4.42,3.61L81.84,73A7.36,7.36,0,0,0,73,81.84L78.93,107c-1.23,1.45-2.43,2.93-3.62,4.41l-25.81-.91a7.42,7.42,0,0,0-6.37,3.26,7.35,7.35,0,0,0-.57,7.13l10.66,23.41c-.94,1.7-1.83,3.43-2.73,5.16L25.08,153.6a7.35,7.35,0,0,0-4.79,11.54l15,20.82c-.59,1.87-1.13,3.77-1.68,5.66l-24,9a7.35,7.35,0,0,0-2.44,12.25l18.72,17.5c-.21,1.95-.38,3.91-.55,5.88L3.48,249.75a7.35,7.35,0,0,0,0,12.5L25.3,275.76c.17,2,.34,3.92.55,5.87L7.13,299.13a7.35,7.35,0,0,0,2.44,12.25l24,9c.55,1.89,1.08,3.78,1.68,5.65l-15,20.83a7.35,7.35,0,0,0,4.79,11.54l25.42,4.15c.9,1.72,1.79,3.45,2.73,5.14L42.56,391.12a7.35,7.35,0,0,0,.57,7.13,7.13,7.13,0,0,0,6.37,3.26l25.83-.91q1.77,2.22,3.6,4.4L73,430.16A7.36,7.36,0,0,0,81.84,439L107,433.07q2.18,1.83,4.41,3.61l-.92,25.82a7.35,7.35,0,0,0,10.39,6.95l23.43-10.68c1.69.94,3.42,1.83,5.14,2.73l4.15,25.42a7.34,7.34,0,0,0,11.54,4.78l20.83-15c1.86.6,3.76,1.13,5.65,1.68l9,24a7.36,7.36,0,0,0,12.25,2.44l17.5-18.72c1.95.21,3.92.38,5.88.55l13.51,21.82a7.35,7.35,0,0,0,12.5,0l13.51-21.82c2-.17,3.93-.34,5.88-.56l17.5,18.73a7.36,7.36,0,0,0,12.25-2.44l9-24c1.89-.55,3.78-1.08,5.65-1.68l20.82,15a7.34,7.34,0,0,0,11.54-4.78l4.15-25.42c1.72-.9,3.45-1.79,5.15-2.73l23.42,10.68a7.35,7.35,0,0,0,10.39-6.95l-.91-25.82q2.22-1.79,4.4-3.61L430.16,439a7.36,7.36,0,0,0,8.84-8.84L433.07,405q1.83-2.17,3.61-4.4l25.82.91a7.23,7.23,0,0,0,6.37-3.26,7.35,7.35,0,0,0,.58-7.13L458.77,367.7c.94-1.7,1.83-3.43,2.73-5.15l25.42-4.15a7.35,7.35,0,0,0,4.79-11.54l-15-20.83c.59-1.87,1.13-3.76,1.67-5.65l24-9a7.35,7.35,0,0,0,2.44-12.25l-18.72-17.5c.21-1.95.38-3.91.55-5.87l21.82-13.51a7.35,7.35,0,0,0,0-12.5Zm-151,129.08A13.91,13.91,0,0,0,341,389.51l-7.64,35.67A187.51,187.51,0,0,1,177,424.44l-7.64-35.66a13.87,13.87,0,0,0-16.46-10.68l-31.51,6.76a187.38,187.38,0,0,1-16.26-19.21H258.3c1.72,0,2.89-.29,2.89-1.91V309.55c0-1.57-1.17-1.91-2.89-1.91H213.47l.05-34.35H262c4.41,0,23.66,1.28,29.79,25.87,1.91,7.55,6.17,32.14,9.06,40,2.89,8.82,14.6,26.46,27.1,26.46H407a187.3,187.3,0,0,1-17.34,20.09Zm25.77,34.49A15.24,15.24,0,1,1,368,398.08h.44A15.23,15.23,0,0,1,383.24,413.32Zm-225.62-.68a15.24,15.24,0,1,1-15.25-15.25h.45A15.25,15.25,0,0,1,157.62,412.64ZM69.57,234.15l32.83-14.6a13.88,13.88,0,0,0,7.06-18.33L102.69,186h26.56V305.73H75.65A187.65,187.65,0,0,1,69.57,234.15ZM58.31,198.09a15.24,15.24,0,0,1,15.23-15.25H74a15.24,15.24,0,1,1-15.67,15.24Zm155.16,24.49.05-35.32h63.26c3.28,0,23.07,3.77,23.07,18.62,0,12.29-15.19,16.7-27.68,16.7ZM399,306.71c-9.8,1.13-20.63-4.12-22-10.09-5.78-32.49-15.39-39.4-30.57-51.4,18.86-11.95,38.46-29.64,38.46-53.26,0-25.52-17.49-41.59-29.4-49.48-16.76-11-35.28-13.23-40.27-13.23H116.32A187.49,187.49,0,0,1,221.21,70.06l23.47,24.6a13.82,13.82,0,0,0,19.6.44l26.26-25a187.51,187.51,0,0,1,128.37,91.43l-18,40.57A14,14,0,0,0,408,220.43l34.59,15.33a187.12,187.12,0,0,1,.4,32.54H423.71c-1.91,0-2.69,1.27-2.69,3.13v8.82C421,301,409.31,305.58,399,306.71ZM240,60.21A15.24,15.24,0,0,1,255.21,45h.45A15.24,15.24,0,1,1,240,60.21ZM436.84,214a15.24,15.24,0,1,1,0-30.48h.44a15.24,15.24,0,0,1-.44,30.48Z\"],\n \"wix\": [640, 512, [], \"f5cf\", \"M393.38 131.69c0 13.03 2.08 32.69-28.68 43.83-9.52 3.45-15.95 9.66-15.95 9.66 0-31 4.72-42.22 17.4-48.86 9.75-5.11 27.23-4.63 27.23-4.63zm-115.8 35.54l-34.24 132.66-28.48-108.57c-7.69-31.99-20.81-48.53-48.43-48.53-27.37 0-40.66 16.18-48.43 48.53L89.52 299.89 55.28 167.23C49.73 140.51 23.86 128.96 0 131.96l65.57 247.93s21.63 1.56 32.46-3.96c14.22-7.25 20.98-12.84 29.59-46.57 7.67-30.07 29.11-118.41 31.12-124.7 4.76-14.94 11.09-13.81 15.4 0 1.97 6.3 23.45 94.63 31.12 124.7 8.6 33.73 15.37 39.32 29.59 46.57 10.82 5.52 32.46 3.96 32.46 3.96l65.57-247.93c-24.42-3.07-49.82 8.93-55.3 35.27zm115.78 5.21s-4.1 6.34-13.46 11.57c-6.01 3.36-11.78 5.64-17.97 8.61-15.14 7.26-13.18 13.95-13.18 35.2v152.07s16.55 2.09 27.37-3.43c13.93-7.1 17.13-13.95 17.26-44.78V181.41l-.02.01v-8.98zm163.44 84.08L640 132.78s-35.11-5.98-52.5 9.85c-13.3 12.1-24.41 29.55-54.18 72.47-.47.73-6.25 10.54-13.07 0-29.29-42.23-40.8-60.29-54.18-72.47-17.39-15.83-52.5-9.85-52.5-9.85l83.2 123.74-82.97 123.36s36.57 4.62 53.95-11.21c11.49-10.46 17.58-20.37 52.51-70.72 6.81-10.52 12.57-.77 13.07 0 29.4 42.38 39.23 58.06 53.14 70.72 17.39 15.83 53.32 11.21 53.32 11.21L556.8 256.52z\"],\n \"square-behance\": [448, 512, [\"behance-square\"], \"f1b5\", \"M186.5 293c0 19.3-14 25.4-31.2 25.4h-45.1v-52.9h46c18.6.1 30.3 7.8 30.3 27.5zm-7.7-82.3c0-17.7-13.7-21.9-28.9-21.9h-39.6v44.8H153c15.1 0 25.8-6.6 25.8-22.9zm132.3 23.2c-18.3 0-30.5 11.4-31.7 29.7h62.2c-1.7-18.5-11.3-29.7-30.5-29.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM271.7 185h77.8v-18.9h-77.8V185zm-43 110.3c0-24.1-11.4-44.9-35-51.6 17.2-8.2 26.2-17.7 26.2-37 0-38.2-28.5-47.5-61.4-47.5H68v192h93.1c34.9-.2 67.6-16.9 67.6-55.9zM380 280.5c0-41.1-24.1-75.4-67.6-75.4-42.4 0-71.1 31.8-71.1 73.6 0 43.3 27.3 73 71.1 73 33.2 0 54.7-14.9 65.1-46.8h-33.7c-3.7 11.9-18.6 18.1-30.2 18.1-22.4 0-34.1-13.1-34.1-35.3h100.2c.1-2.3.3-4.8.3-7.2z\"],\n \"supple\": [640, 512, [], \"f3f9\", \"M640 262.5c0 64.1-109 116.1-243.5 116.1-24.8 0-48.6-1.8-71.1-5 7.7.4 15.5.6 23.4.6 134.5 0 243.5-56.9 243.5-127.1 0-29.4-19.1-56.4-51.2-78 60 21.1 98.9 55.1 98.9 93.4zM47.7 227.9c-.1-70.2 108.8-127.3 243.3-127.6 7.9 0 15.6.2 23.3.5-22.5-3.2-46.3-4.9-71-4.9C108.8 96.3-.1 148.5 0 212.6c.1 38.3 39.1 72.3 99.3 93.3-32.3-21.5-51.5-48.6-51.6-78zm60.2 39.9s10.5 13.2 29.3 13.2c17.9 0 28.4-11.5 28.4-25.1 0-28-40.2-25.1-40.2-39.7 0-5.4 5.3-9.1 12.5-9.1 5.7 0 11.3 2.6 11.3 6.6v3.9h14.2v-7.9c0-12.1-15.4-16.8-25.4-16.8-16.5 0-28.5 10.2-28.5 24.1 0 26.6 40.2 25.4 40.2 39.9 0 6.6-5.8 10.1-12.3 10.1-11.9 0-20.7-10.1-20.7-10.1l-8.8 10.9zm120.8-73.6v54.4c0 11.3-7.1 17.8-17.8 17.8-10.7 0-17.8-6.5-17.8-17.7v-54.5h-15.8v55c0 18.9 13.4 31.9 33.7 31.9 20.1 0 33.4-13 33.4-31.9v-55h-15.7zm34.4 85.4h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.8-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5.1 14.7-14 14.7h-12.6zm57 43h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.7-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5 14.7-14 14.7h-12.6zm57.1 34.8c0 5.8 2.4 8.2 8.2 8.2h37.6c5.8 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-18.6c-1.7 0-2.6-1-2.6-2.6v-61.2c0-5.7-2.4-8.2-8.2-8.2H401v13.4h5.2c1.7 0 2.6 1 2.6 2.6v61.2zm63.4 0c0 5.8 2.4 8.2 8.2 8.2H519c5.7 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-19.7c-1.7 0-2.6-1-2.6-2.6v-20.3h27.7v-13.4H488v-22.4h19.2c1.7 0 2.6 1 2.6 2.6v5.2H524v-13c0-5.7-2.5-8.2-8.2-8.2h-51.6v13.4h7.8v63.9zm58.9-76v5.9h1.6v-5.9h2.7v-1.2h-7v1.2h2.7zm5.7-1.2v7.1h1.5v-5.7l2.3 5.7h1.3l2.3-5.7v5.7h1.5v-7.1h-2.3l-2.1 5.1-2.1-5.1h-2.4z\"],\n \"rebel\": [512, 512, [], \"f1d0\", \"M256.5 504C117.2 504 9 387.8 13.2 249.9 16 170.7 56.4 97.7 129.7 49.5c.3 0 1.9-.6 1.1.8-5.8 5.5-111.3 129.8-14.1 226.4 49.8 49.5 90 2.5 90 2.5 38.5-50.1-.6-125.9-.6-125.9-10-24.9-45.7-40.1-45.7-40.1l28.8-31.8c24.4 10.5 43.2 38.7 43.2 38.7.8-29.6-21.9-61.4-21.9-61.4L255.1 8l44.3 50.1c-20.5 28.8-21.9 62.6-21.9 62.6 13.8-23 43.5-39.3 43.5-39.3l28.5 31.8c-27.4 8.9-45.4 39.9-45.4 39.9-15.8 28.5-27.1 89.4.6 127.3 32.4 44.6 87.7-2.8 87.7-2.8 102.7-91.9-10.5-225-10.5-225-6.1-5.5.8-2.8.8-2.8 50.1 36.5 114.6 84.4 116.2 204.8C500.9 400.2 399 504 256.5 504z\"],\n \"css3\": [512, 512, [], \"f13c\", \"M480 32l-64 368-223.3 80L0 400l19.6-94.8h82l-8 40.6L210 390.2l134.1-44.4 18.8-97.1H29.5l16-82h333.7l10.5-52.7H56.3l16.3-82H480z\"],\n \"staylinked\": [440, 512, [], \"f3f5\", \"M382.7 292.5l2.7 2.7-170-167.3c-3.5-3.5-9.7-3.7-13.8-.5L144.3 171c-4.2 3.2-4.6 8.7-1.1 12.2l68.1 64.3c3.6 3.5 9.9 3.7 14 .5l.1-.1c4.1-3.2 10.4-3 14 .5l84 81.3c3.6 3.5 3.2 9-.9 12.2l-93.2 74c-4.2 3.3-10.5 3.1-14.2-.4L63.2 268c-3.5-3.5-9.7-3.7-13.9-.5L3.5 302.4c-4.2 3.2-4.7 8.7-1.2 12.2L211 510.7s7.4 6.8 17.3-.8l198-163.9c4-3.2 4.4-8.7.7-12.2zm54.5-83.4L226.7 2.5c-1.5-1.2-8-5.5-16.3 1.1L3.6 165.7c-4.2 3.2-4.8 8.7-1.2 12.2l42.3 41.7 171.7 165.1c3.7 3.5 10.1 3.7 14.3.4l50.2-38.8-.3-.3 7.7-6c4.2-3.2 4.6-8.7.9-12.2l-57.1-54.4c-3.6-3.5-10-3.7-14.2-.5l-.1.1c-4.2 3.2-10.5 3.1-14.2-.4L109 180.8c-3.6-3.5-3.1-8.9 1.1-12.2l92.2-71.5c4.1-3.2 10.3-3 13.9.5l160.4 159c3.7 3.5 10 3.7 14.1.5l45.8-35.8c4.1-3.2 4.4-8.7.7-12.2z\"],\n \"kaggle\": [320, 512, [], \"f5fa\", \"M304.2 501.5L158.4 320.3 298.2 185c2.6-2.7 1.7-10.5-5.3-10.5h-69.2c-3.5 0-7 1.8-10.5 5.3L80.9 313.5V7.5q0-7.5-7.5-7.5H21.5Q14 0 14 7.5v497q0 7.5 7.5 7.5h51.9q7.5 0 7.5-7.5v-109l30.8-29.3 110.5 140.6c3 3.5 6.5 5.3 10.5 5.3h66.9q5.25 0 6-3z\"],\n \"space-awesome\": [512, 512, [], \"e5ac\", \"M96 256H128V512H0V352H32V320H64V288H96V256zM512 352V512H384V256H416V288H448V320H480V352H512zM320 64H352V448H320V416H192V448H160V64H192V32H224V0H288V32H320V64zM288 128H224V192H288V128z\"],\n \"deviantart\": [320, 512, [], \"f1bd\", \"M320 93.2l-98.2 179.1 7.4 9.5H320v127.7H159.1l-13.5 9.2-43.7 84c-.3 0-8.6 8.6-9.2 9.2H0v-93.2l93.2-179.4-7.4-9.2H0V102.5h156l13.5-9.2 43.7-84c.3 0 8.6-8.6 9.2-9.2H320v93.1z\"],\n \"cpanel\": [640, 512, [], \"f388\", \"M210.3 220.2c-5.6-24.8-26.9-41.2-51-41.2h-37c-7.1 0-12.5 4.5-14.3 10.9L73.1 320l24.7-.1c6.8 0 12.3-4.5 14.2-10.7l25.8-95.7h19.8c8.4 0 16.2 5.6 18.3 14.8 2.5 10.9-5.9 22.6-18.3 22.6h-10.3c-7 0-12.5 4.6-14.3 10.8l-6.4 23.8h32c37.2 0 58.3-36.2 51.7-65.3zm-156.5 28h18.6c6.9 0 12.4-4.4 14.3-10.9l6.2-23.6h-40C30 213.7 9 227.8 1.7 254.8-7 288.6 18.5 320 52 320h12.4l7.1-26.1c1.2-4.4-2.2-8.3-6.4-8.3H53.8c-24.7 0-24.9-37.4 0-37.4zm247.5-34.8h-77.9l-3.5 13.4c-2.4 9.6 4.5 18.5 14.2 18.5h57.5c4 0 2.4 4.3 2.1 5.3l-8.6 31.8c-.4 1.4-.9 5.3-5.5 5.3h-34.9c-5.3 0-5.3-7.9 0-7.9h21.6c6.8 0 12.3-4.6 14.2-10.8l3.5-13.2h-48.4c-39.2 0-43.6 63.8-.7 63.8l57.5.2c11.2 0 20.6-7.2 23.4-17.8l14-51.8c4.8-19.2-9.7-36.8-28.5-36.8zM633.1 179h-18.9c-4.9 0-9.2 3.2-10.4 7.9L568.2 320c20.7 0 39.8-13.8 44.9-34.5l26.5-98.2c1.2-4.3-2-8.3-6.5-8.3zm-236.3 34.7v.1h-48.3l-26.2 98c-1.2 4.4 2.2 8.3 6.4 8.3h18.9c4.8 0 9.2-3 10.4-7.8l17.2-64H395c12.5 0 21.4 11.8 18.1 23.4l-10.6 40c-1.2 4.3 1.9 8.3 6.4 8.3H428c4.6 0 9.1-2.9 10.3-7.8l8.8-33.1c9-33.1-15.9-65.4-50.3-65.4zm98.3 74.6c-3.6 0-6-3.4-5.1-6.7l8-30c.9-3.9 3.7-6 7.8-6h32.9c2.6 0 4.6 2.4 3.9 5.1l-.7 2.6c-.6 2-1.9 3-3.9 3h-21.6c-7 0-12.6 4.6-14.2 10.8l-3.5 13h53.4c10.5 0 20.3-6.6 23.2-17.6l3.2-12c4.9-19.1-9.3-36.8-28.3-36.8h-47.3c-17.9 0-33.8 12-38.6 29.6l-10.8 40c-5 17.7 8.3 36.7 28.3 36.7h66.7c6.8 0 12.3-4.5 14.2-10.7l5.7-21z\"],\n \"goodreads-g\": [384, 512, [], \"f3a9\", \"M42.6 403.3h2.8c12.7 0 25.5 0 38.2.1 1.6 0 3.1-.4 3.6 2.1 7.1 34.9 30 54.6 62.9 63.9 26.9 7.6 54.1 7.8 81.3 1.8 33.8-7.4 56-28.3 68-60.4 8-21.5 10.7-43.8 11-66.5.1-5.8.3-47-.2-52.8l-.9-.3c-.8 1.5-1.7 2.9-2.5 4.4-22.1 43.1-61.3 67.4-105.4 69.1-103 4-169.4-57-172-176.2-.5-23.7 1.8-46.9 8.3-69.7C58.3 47.7 112.3.6 191.6 0c61.3-.4 101.5 38.7 116.2 70.3.5 1.1 1.3 2.3 2.4 1.9V10.6h44.3c0 280.3.1 332.2.1 332.2-.1 78.5-26.7 143.7-103 162.2-69.5 16.9-159 4.8-196-57.2-8-13.5-11.8-28.3-13-44.5zM188.9 36.5c-52.5-.5-108.5 40.7-115 133.8-4.1 59 14.8 122.2 71.5 148.6 27.6 12.9 74.3 15 108.3-8.7 47.6-33.2 62.7-97 54.8-154-9.7-71.1-47.8-120-119.6-119.7z\"],\n \"square-git\": [448, 512, [\"git-square\"], \"f1d2\", \"M100.59 334.24c48.57 3.31 58.95 2.11 58.95 11.94 0 20-65.55 20.06-65.55 1.52.01-5.09 3.29-9.4 6.6-13.46zm27.95-116.64c-32.29 0-33.75 44.47-.75 44.47 32.51 0 31.71-44.47.75-44.47zM448 80v352a48 48 0 0 1-48 48H48a48 48 0 0 1-48-48V80a48 48 0 0 1 48-48h352a48 48 0 0 1 48 48zm-227 69.31c0 14.49 8.38 22.88 22.86 22.88 14.74 0 23.13-8.39 23.13-22.88S258.62 127 243.88 127c-14.48 0-22.88 7.84-22.88 22.31zM199.18 195h-49.55c-25-6.55-81.56-4.85-81.56 46.75 0 18.8 9.4 32 21.85 38.11C74.23 294.23 66.8 301 66.8 310.6c0 6.87 2.79 13.22 11.18 16.76-8.9 8.4-14 14.48-14 25.92C64 373.35 81.53 385 127.52 385c44.22 0 69.87-16.51 69.87-45.73 0-36.67-28.23-35.32-94.77-39.38l8.38-13.43c17 4.74 74.19 6.23 74.19-42.43 0-11.69-4.83-19.82-9.4-25.67l23.38-1.78zm84.34 109.84l-13-1.78c-3.82-.51-4.07-1-4.07-5.09V192.52h-52.6l-2.79 20.57c15.75 5.55 17 4.86 17 10.17V298c0 5.62-.31 4.58-17 6.87v20.06h72.42zM384 315l-6.87-22.37c-40.93 15.37-37.85-12.41-37.85-16.73v-60.72h37.85v-25.41h-35.82c-2.87 0-2 2.52-2-38.63h-24.18c-2.79 27.7-11.68 38.88-34 41.42v22.62c20.47 0 19.82-.85 19.82 2.54v66.57c0 28.72 11.43 40.91 41.67 40.91 14.45 0 30.45-4.83 41.38-10.2z\"],\n \"square-tumblr\": [448, 512, [\"tumblr-square\"], \"f174\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-82.3 364.2c-8.5 9.1-31.2 19.8-60.9 19.8-75.5 0-91.9-55.5-91.9-87.9v-90h-29.7c-3.4 0-6.2-2.8-6.2-6.2v-42.5c0-4.5 2.8-8.5 7.1-10 38.8-13.7 50.9-47.5 52.7-73.2.5-6.9 4.1-10.2 10-10.2h44.3c3.4 0 6.2 2.8 6.2 6.2v72h51.9c3.4 0 6.2 2.8 6.2 6.2v51.1c0 3.4-2.8 6.2-6.2 6.2h-52.1V321c0 21.4 14.8 33.5 42.5 22.4 3-1.2 5.6-2 8-1.4 2.2.5 3.6 2.1 4.6 4.9l13.8 40.2c1 3.2 2 6.7-.3 9.1z\"],\n \"trello\": [448, 512, [], \"f181\", \"M392.3 32H56.1C25.1 32 0 57.1 0 88c-.1 0 0-4 0 336 0 30.9 25.1 56 56 56h336.2c30.8-.2 55.7-25.2 55.7-56V88c.1-30.8-24.8-55.8-55.6-56zM197 371.3c-.2 14.7-12.1 26.6-26.9 26.6H87.4c-14.8.1-26.9-11.8-27-26.6V117.1c0-14.8 12-26.9 26.9-26.9h82.9c14.8 0 26.9 12 26.9 26.9v254.2zm193.1-112c0 14.8-12 26.9-26.9 26.9h-81c-14.8 0-26.9-12-26.9-26.9V117.2c0-14.8 12-26.9 26.8-26.9h81.1c14.8 0 26.9 12 26.9 26.9v142.1z\"],\n \"creative-commons-nc-jp\": [496, 512, [], \"f4ea\", \"M247.7 8C103.6 8 0 124.8 0 256c0 136.4 111.8 248 247.7 248C377.9 504 496 403.2 496 256 496 117.2 388.5 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-21.1 3-41.2 9-60.3l127 56.5h-27.9v38.6h58.1l5.7 11.8v18.7h-63.8V360h63.8v56h61.7v-56h64.2v-35.7l81 36.1c-1.5 2.2-57.1 98.3-175.2 98.3zm87.6-137.3h-57.6v-18.7l2.9-5.6 54.7 24.3zm6.5-51.4v-17.8h-38.6l63-116H301l-43.4 96-23-10.2-39.6-85.7h-65.8l27.3 51-81.9-36.5c27.8-44.1 82.6-98.1 173.7-98.1 112.8 0 203 90 203 203.4 0 21-2.7 40.6-7.9 59l-101-45.1z\"],\n \"get-pocket\": [448, 512, [], \"f265\", \"M407.6 64h-367C18.5 64 0 82.5 0 104.6v135.2C0 364.5 99.7 464 224.2 464c124 0 223.8-99.5 223.8-224.2V104.6c0-22.4-17.7-40.6-40.4-40.6zm-162 268.5c-12.4 11.8-31.4 11.1-42.4 0C89.5 223.6 88.3 227.4 88.3 209.3c0-16.9 13.8-30.7 30.7-30.7 17 0 16.1 3.8 105.2 89.3 90.6-86.9 88.6-89.3 105.5-89.3 16.9 0 30.7 13.8 30.7 30.7 0 17.8-2.9 15.7-114.8 123.2z\"],\n \"perbyte\": [448, 512, [], \"e083\", \"M305.314,284.578H246.6V383.3h58.711q24.423,0,38.193-13.77t13.77-36.11q0-21.826-14.032-35.335T305.314,284.578ZM149.435,128.7H90.724v98.723h58.711q24.42,0,38.19-13.773t13.77-36.107q0-21.826-14.029-35.338T149.435,128.7ZM366.647,32H81.353A81.445,81.445,0,0,0,0,113.352V398.647A81.445,81.445,0,0,0,81.353,480H366.647A81.445,81.445,0,0,0,448,398.647V113.352A81.445,81.445,0,0,0,366.647,32Zm63.635,366.647a63.706,63.706,0,0,1-63.635,63.635H81.353a63.706,63.706,0,0,1-63.635-63.635V113.352A63.706,63.706,0,0,1,81.353,49.718H366.647a63.706,63.706,0,0,1,63.635,63.634ZM305.314,128.7H246.6v98.723h58.711q24.423,0,38.193-13.773t13.77-36.107q0-21.826-14.032-35.338T305.314,128.7Z\"],\n \"grunt\": [384, 512, [], \"f3ad\", \"M61.3 189.3c-1.1 10 5.2 19.1 5.2 19.1.7-7.5 2.2-12.8 4-16.6.4 10.3 3.2 23.5 12.8 34.1 6.9 7.6 35.6 23.3 54.9 6.1 1 2.4 2.1 5.3 3 8.5 2.9 10.3-2.7 25.3-2.7 25.3s15.1-17.1 13.9-32.5c10.8-.5 21.4-8.4 21.1-19.5 0 0-18.9 10.4-35.5-8.8-9.7-11.2-40.9-42-83.1-31.8 4.3 1 8.9 2.4 13.5 4.1h-.1c-4.2 2-6.5 7.1-7 12zm28.3-1.8c19.5 11 37.4 25.7 44.9 37-5.7 3.3-21.7 10.4-38-1.7-10.3-7.6-9.8-26.2-6.9-35.3zm142.1 45.8c-1.2 15.5 13.9 32.5 13.9 32.5s-5.6-15-2.7-25.3c.9-3.2 2-6 3-8.5 19.3 17.3 48 1.5 54.8-6.1 9.6-10.6 12.3-23.8 12.8-34.1 1.8 3.8 3.4 9.1 4 16.6 0 0 6.4-9.1 5.2-19.1-.6-5-2.9-10-7-11.8h-.1c4.6-1.8 9.2-3.2 13.5-4.1-42.3-10.2-73.4 20.6-83.1 31.8-16.7 19.2-35.5 8.8-35.5 8.8-.2 10.9 10.4 18.9 21.2 19.3zm62.7-45.8c3 9.1 3.4 27.7-7 35.4-16.3 12.1-32.2 5-37.9 1.6 7.5-11.4 25.4-26 44.9-37zM160 418.5h-29.4c-5.5 0-8.2 1.6-9.5 2.9-1.9 2-2.2 4.7-.9 8.1 3.5 9.1 11.4 16.5 13.7 18.6 3.1 2.7 7.5 4.3 11.8 4.3 4.4 0 8.3-1.7 11-4.6 7.5-8.2 11.9-17.1 13-19.8.6-1.5 1.3-4.5-.9-6.8-1.8-1.8-4.7-2.7-8.8-2.7zm189.2-101.2c-2.4 17.9-13 33.8-24.6 43.7-3.1-22.7-3.7-55.5-3.7-62.4 0-14.7 9.5-24.5 12.2-26.1 2.5-1.5 5.4-3 8.3-4.6 18-9.6 40.4-21.6 40.4-43.7 0-16.2-9.3-23.2-15.4-27.8-.8-.6-1.5-1.1-2.2-1.7-2.1-1.7-3.7-3-4.3-4.4-4.4-9.8-3.6-34.2-1.7-37.6.6-.6 16.7-20.9 11.8-39.2-2-7.4-6.9-13.3-14.1-17-5.3-2.7-11.9-4.2-19.5-4.5-.1-2-.5-3.9-.9-5.9-.6-2.6-1.1-5.3-.9-8.1.4-4.7.8-9 2.2-11.3 8.4-13.3 28.8-17.6 29-17.6l12.3-2.4-8.1-9.5c-.1-.2-17.3-17.5-46.3-17.5-7.9 0-16 1.3-24.1 3.9-24.2 7.8-42.9 30.5-49.4 39.3-3.1-1-6.3-1.9-9.6-2.7-4.2-15.8 9-38.5 9-38.5s-13.6-3-33.7 15.2c-2.6-6.5-8.1-20.5-1.8-37.2C184.6 10.1 177.2 26 175 40.4c-7.6-5.4-6.7-23.1-7.2-27.6-7.5.9-29.2 21.9-28.2 48.3-2 .5-3.9 1.1-5.9 1.7-6.5-8.8-25.1-31.5-49.4-39.3-7.9-2.2-16-3.5-23.9-3.5-29 0-46.1 17.3-46.3 17.5L6 46.9l12.3 2.4c.2 0 20.6 4.3 29 17.6 1.4 2.2 1.8 6.6 2.2 11.3.2 2.8-.4 5.5-.9 8.1-.4 1.9-.8 3.9-.9 5.9-7.7.3-14.2 1.8-19.5 4.5-7.2 3.7-12.1 9.6-14.1 17-5 18.2 11.2 38.5 11.8 39.2 1.9 3.4 2.7 27.8-1.7 37.6-.6 1.4-2.2 2.7-4.3 4.4-.7.5-1.4 1.1-2.2 1.7-6.1 4.6-15.4 11.7-15.4 27.8 0 22.1 22.4 34.1 40.4 43.7 3 1.6 5.8 3.1 8.3 4.6 2.7 1.6 12.2 11.4 12.2 26.1 0 6.9-.6 39.7-3.7 62.4-11.6-9.9-22.2-25.9-24.6-43.8 0 0-29.2 22.6-20.6 70.8 5.2 29.5 23.2 46.1 47 54.7 8.8 19.1 29.4 45.7 67.3 49.6C143 504.3 163 512 192.2 512h.2c29.1 0 49.1-7.7 63.6-19.5 37.9-3.9 58.5-30.5 67.3-49.6 23.8-8.7 41.7-25.2 47-54.7 8.2-48.4-21.1-70.9-21.1-70.9zM305.7 37.7c5.6-1.8 11.6-2.7 17.7-2.7 11 0 19.9 3 24.7 5-3.1 1.4-6.4 3.2-9.7 5.3-2.4-.4-5.6-.8-9.2-.8-10.5 0-20.5 3.1-28.7 8.9-12.3 8.7-18 16.9-20.7 22.4-2.2-1.3-4.5-2.5-7.1-3.7-1.6-.8-3.1-1.5-4.7-2.2 6.1-9.1 19.9-26.5 37.7-32.2zm21 18.2c-.8 1-1.6 2.1-2.3 3.2-3.3 5.2-3.9 11.6-4.4 17.8-.5 6.4-1.1 12.5-4.4 17-4.2.8-8.1 1.7-11.5 2.7-2.3-3.1-5.6-7-10.5-11.2 1.4-4.8 5.5-16.1 13.5-22.5 5.6-4.3 12.2-6.7 19.6-7zM45.6 45.3c-3.3-2.2-6.6-4-9.7-5.3 4.8-2 13.7-5 24.7-5 6.1 0 12 .9 17.7 2.7 17.8 5.8 31.6 23.2 37.7 32.1-1.6.7-3.2 1.4-4.8 2.2-2.5 1.2-4.9 2.5-7.1 3.7-2.6-5.4-8.3-13.7-20.7-22.4-8.3-5.8-18.2-8.9-28.8-8.9-3.4.1-6.6.5-9 .9zm44.7 40.1c-4.9 4.2-8.3 8-10.5 11.2-3.4-.9-7.3-1.9-11.5-2.7C65 89.5 64.5 83.4 64 77c-.5-6.2-1.1-12.6-4.4-17.8-.7-1.1-1.5-2.2-2.3-3.2 7.4.3 14 2.6 19.5 7 8 6.3 12.1 17.6 13.5 22.4zM58.1 259.9c-2.7-1.6-5.6-3.1-8.4-4.6-14.9-8-30.2-16.3-30.2-30.5 0-11.1 4.3-14.6 8.9-18.2l.5-.4c.7-.6 1.4-1.2 2.2-1.8-.9 7.2-1.9 13.3-2.7 14.9 0 0 12.1-15 15.7-44.3 1.4-11.5-1.1-34.3-5.1-43 .2 4.9 0 9.8-.3 14.4-.4-.8-.8-1.6-1.3-2.2-3.2-4-11.8-17.5-9.4-26.6.9-3.5 3.1-6 6.7-7.8 3.8-1.9 8.8-2.9 15.1-2.9 12.3 0 25.9 3.7 32.9 6 25.1 8 55.4 30.9 64.1 37.7.2.2.4.3.4.3l5.6 3.9-3.5-5.8c-.2-.3-19.1-31.4-53.2-46.5 2-2.9 7.4-8.1 21.6-15.1 21.4-10.5 46.5-15.8 74.3-15.8 27.9 0 52.9 5.3 74.3 15.8 14.2 6.9 19.6 12.2 21.6 15.1-34 15.1-52.9 46.2-53.1 46.5l-3.5 5.8 5.6-3.9s.2-.1.4-.3c8.7-6.8 39-29.8 64.1-37.7 7-2.2 20.6-6 32.9-6 6.3 0 11.3 1 15.1 2.9 3.5 1.8 5.7 4.4 6.7 7.8 2.5 9.1-6.1 22.6-9.4 26.6-.5.6-.9 1.3-1.3 2.2-.3-4.6-.5-9.5-.3-14.4-4 8.8-6.5 31.5-5.1 43 3.6 29.3 15.7 44.3 15.7 44.3-.8-1.6-1.8-7.7-2.7-14.9.7.6 1.5 1.2 2.2 1.8l.5.4c4.6 3.7 8.9 7.1 8.9 18.2 0 14.2-15.4 22.5-30.2 30.5-2.9 1.5-5.7 3.1-8.4 4.6-8.7 5-18 16.7-19.1 34.2-.9 14.6.9 49.9 3.4 75.9-12.4 4.8-26.7 6.4-39.7 6.8-2-4.1-3.9-8.5-5.5-13.1-.7-2-19.6-51.1-26.4-62.2 5.5 39 17.5 73.7 23.5 89.6-3.5-.5-7.3-.7-11.7-.7h-117c-4.4 0-8.3.3-11.7.7 6-15.9 18.1-50.6 23.5-89.6-6.8 11.2-25.7 60.3-26.4 62.2-1.6 4.6-3.5 9-5.5 13.1-13-.4-27.2-2-39.7-6.8 2.5-26 4.3-61.2 3.4-75.9-.9-17.4-10.3-29.2-19-34.2zM34.8 404.6c-12.1-20-8.7-54.1-3.7-59.1 10.9 34.4 47.2 44.3 74.4 45.4-2.7 4.2-5.2 7.6-7 10l-1.4 1.4c-7.2 7.8-8.6 18.5-4.1 31.8-22.7-.1-46.3-9.8-58.2-29.5zm45.7 43.5c6 1.1 12.2 1.9 18.6 2.4 3.5 8 7.4 15.9 12.3 23.1-14.4-5.9-24.4-16-30.9-25.5zM192 498.2c-60.6-.1-78.3-45.8-84.9-64.7-3.7-10.5-3.4-18.2.9-23.1 2.9-3.3 9.5-7.2 24.6-7.2h118.8c15.1 0 21.8 3.9 24.6 7.2 4.2 4.8 4.5 12.6.9 23.1-6.6 18.8-24.3 64.6-84.9 64.7zm80.6-24.6c4.9-7.2 8.8-15.1 12.3-23.1 6.4-.5 12.6-1.3 18.6-2.4-6.5 9.5-16.5 19.6-30.9 25.5zm76.6-69c-12 19.7-35.6 29.3-58.1 29.7 4.5-13.3 3.1-24.1-4.1-31.8-.4-.5-.9-1-1.4-1.5-1.8-2.4-4.3-5.8-7-10 27.2-1.2 63.5-11 74.4-45.4 5 5 8.4 39.1-3.8 59zM191.9 187.7h.2c12.7-.1 27.2-17.8 27.2-17.8-9.9 6-18.8 8.1-27.3 8.3-8.5-.2-17.4-2.3-27.3-8.3 0 0 14.5 17.6 27.2 17.8zm61.7 230.7h-29.4c-4.2 0-7.2.9-8.9 2.7-2.2 2.3-1.5 5.2-.9 6.7 1 2.6 5.5 11.3 13 19.3 2.7 2.9 6.6 4.5 11 4.5s8.7-1.6 11.8-4.2c2.3-2 10.2-9.2 13.7-18.1 1.3-3.3 1-6-.9-7.9-1.3-1.3-4-2.9-9.4-3z\"],\n \"weebly\": [512, 512, [], \"f5cc\", \"M425.09 65.83c-39.88 0-73.28 25.73-83.66 64.33-18.16-58.06-65.5-64.33-84.95-64.33-19.78 0-66.8 6.28-85.28 64.33-10.38-38.6-43.45-64.33-83.66-64.33C38.59 65.83 0 99.72 0 143.03c0 28.96 4.18 33.27 77.17 233.48 22.37 60.57 67.77 69.35 92.74 69.35 39.23 0 70.04-19.46 85.93-53.98 15.89 34.83 46.69 54.29 85.93 54.29 24.97 0 70.36-9.1 92.74-69.67 76.55-208.65 77.5-205.58 77.5-227.2.63-48.32-36.01-83.47-86.92-83.47zm26.34 114.81l-65.57 176.44c-7.92 21.49-21.22 37.22-46.24 37.22-23.44 0-37.38-12.41-44.03-33.9l-39.28-117.42h-.95L216.08 360.4c-6.96 21.5-20.9 33.6-44.02 33.6-25.02 0-38.33-15.74-46.24-37.22L60.88 181.55c-5.38-14.83-7.92-23.91-7.92-34.5 0-16.34 15.84-29.36 38.33-29.36 18.69 0 31.99 11.8 36.11 29.05l44.03 139.82h.95l44.66-136.79c6.02-19.67 16.47-32.08 38.96-32.08s32.94 12.11 38.96 32.08l44.66 136.79h.95l44.03-139.82c4.12-17.25 17.42-29.05 36.11-29.05 22.17 0 38.33 13.32 38.33 35.71-.32 7.87-4.12 16.04-7.61 27.24z\"],\n \"connectdevelop\": [576, 512, [], \"f20e\", \"M550.5 241l-50.089-86.786c1.071-2.142 1.875-4.553 1.875-7.232 0-8.036-6.696-14.733-14.732-15.001l-55.447-95.893c.536-1.607 1.071-3.214 1.071-4.821 0-8.571-6.964-15.268-15.268-15.268-4.821 0-8.839 2.143-11.786 5.625H299.518C296.839 18.143 292.821 16 288 16s-8.839 2.143-11.518 5.625H170.411C167.464 18.143 163.447 16 158.625 16c-8.303 0-15.268 6.696-15.268 15.268 0 1.607.536 3.482 1.072 4.821l-55.983 97.233c-5.356 2.41-9.107 7.5-9.107 13.661 0 .535.268 1.071.268 1.607l-53.304 92.143c-7.232 1.339-12.59 7.5-12.59 15 0 7.232 5.089 13.393 12.054 15l55.179 95.358c-.536 1.607-.804 2.946-.804 4.821 0 7.232 5.089 13.393 12.054 14.732l51.697 89.732c-.536 1.607-1.071 3.482-1.071 5.357 0 8.571 6.964 15.268 15.268 15.268 4.821 0 8.839-2.143 11.518-5.357h106.875C279.161 493.857 283.447 496 288 496s8.839-2.143 11.518-5.357h107.143c2.678 2.946 6.696 4.821 10.982 4.821 8.571 0 15.268-6.964 15.268-15.268 0-1.607-.267-2.946-.803-4.285l51.697-90.268c6.964-1.339 12.054-7.5 12.054-14.732 0-1.607-.268-3.214-.804-4.821l54.911-95.358c6.964-1.339 12.322-7.5 12.322-15-.002-7.232-5.092-13.393-11.788-14.732zM153.535 450.732l-43.66-75.803h43.66v75.803zm0-83.839h-43.66c-.268-1.071-.804-2.142-1.339-3.214l44.999-47.41v50.624zm0-62.411l-50.357 53.304c-1.339-.536-2.679-1.34-4.018-1.607L43.447 259.75c.535-1.339.535-2.679.535-4.018s0-2.41-.268-3.482l51.965-90c2.679-.268 5.357-1.072 7.768-2.679l50.089 51.965v92.946zm0-102.322l-45.803-47.41c1.339-2.143 2.143-4.821 2.143-7.767 0-.268-.268-.804-.268-1.072l43.928-15.804v72.053zm0-80.625l-43.66 15.804 43.66-75.536v59.732zm326.519 39.108l.804 1.339L445.5 329.125l-63.75-67.232 98.036-101.518.268.268zM291.75 355.107l11.518 11.786H280.5l11.25-11.786zm-.268-11.25l-83.303-85.446 79.553-84.375 83.036 87.589-79.286 82.232zm5.357 5.893l79.286-82.232 67.5 71.25-5.892 28.125H313.714l-16.875-17.143zM410.411 44.393c1.071.536 2.142 1.072 3.482 1.34l57.857 100.714v.536c0 2.946.803 5.624 2.143 7.767L376.393 256l-83.035-87.589L410.411 44.393zm-9.107-2.143L287.732 162.518l-57.054-60.268 166.339-60h4.287zm-123.483 0c2.678 2.678 6.16 4.285 10.179 4.285s7.5-1.607 10.179-4.285h75L224.786 95.821 173.893 42.25h103.928zm-116.249 5.625l1.071-2.142a33.834 33.834 0 0 0 2.679-.804l51.161 53.84-54.911 19.821V47.875zm0 79.286l60.803-21.964 59.732 63.214-79.553 84.107-40.982-42.053v-83.304zm0 92.678L198 257.607l-36.428 38.304v-76.072zm0 87.858l42.053-44.464 82.768 85.982-17.143 17.678H161.572v-59.196zm6.964 162.053c-1.607-1.607-3.482-2.678-5.893-3.482l-1.071-1.607v-89.732h99.91l-91.607 94.821h-1.339zm129.911 0c-2.679-2.41-6.428-4.285-10.447-4.285s-7.767 1.875-10.447 4.285h-96.429l91.607-94.821h38.304l91.607 94.821H298.447zm120-11.786l-4.286 7.5c-1.339.268-2.41.803-3.482 1.339l-89.196-91.875h114.376l-17.412 83.036zm12.856-22.232l12.858-60.803h21.964l-34.822 60.803zm34.822-68.839h-20.357l4.553-21.16 17.143 18.214c-.535.803-1.071 1.874-1.339 2.946zm66.161-107.411l-55.447 96.697c-1.339.535-2.679 1.071-4.018 1.874l-20.625-21.964 34.554-163.928 45.803 79.286c-.267 1.339-.803 2.678-.803 4.285 0 1.339.268 2.411.536 3.75z\"],\n \"leanpub\": [576, 512, [], \"f212\", \"M386.539 111.485l15.096 248.955-10.979-.275c-36.232-.824-71.64 8.783-102.657 27.997-31.016-19.214-66.424-27.997-102.657-27.997-45.564 0-82.07 10.705-123.516 27.723L93.117 129.6c28.546-11.803 61.484-18.115 92.226-18.115 41.173 0 73.836 13.175 102.657 42.544 27.723-28.271 59.013-41.721 98.539-42.544zM569.07 448c-25.526 0-47.485-5.215-70.542-15.645-34.31-15.645-69.993-24.978-107.871-24.978-38.977 0-74.934 12.901-102.657 40.623-27.723-27.723-63.68-40.623-102.657-40.623-37.878 0-73.561 9.333-107.871 24.978C55.239 442.236 32.731 448 8.303 448H6.93L49.475 98.859C88.726 76.626 136.486 64 181.775 64 218.83 64 256.984 71.685 288 93.095 319.016 71.685 357.17 64 394.225 64c45.289 0 93.049 12.626 132.3 34.859L569.07 448zm-43.368-44.741l-34.036-280.246c-30.742-13.999-67.248-21.41-101.009-21.41-38.428 0-74.385 12.077-102.657 38.702-28.272-26.625-64.228-38.702-102.657-38.702-33.761 0-70.267 7.411-101.009 21.41L50.298 403.259c47.211-19.487 82.894-33.486 135.045-33.486 37.604 0 70.817 9.606 102.657 29.644 31.84-20.038 65.052-29.644 102.657-29.644 52.151 0 87.834 13.999 135.045 33.486z\"],\n \"black-tie\": [448, 512, [], \"f27e\", \"M0 32v448h448V32H0zm316.5 325.2L224 445.9l-92.5-88.7 64.5-184-64.5-86.6h184.9L252 173.2l64.5 184z\"],\n \"themeco\": [448, 512, [], \"f5c6\", \"M202.9 8.43c9.9-5.73 26-5.82 35.95-.21L430 115.85c10 5.6 18 19.44 18 30.86V364c0 11.44-8.06 25.29-18 31L238.81 503.74c-9.93 5.66-26 5.57-35.85-.21L17.86 395.12C8 389.34 0 375.38 0 364V146.71c0-11.44 8-25.36 17.91-31.08zm-77.4 199.83c-15.94 0-31.89.14-47.83.14v101.45H96.8V280h28.7c49.71 0 49.56-71.74 0-71.74zm140.14 100.29l-30.73-34.64c37-7.51 34.8-65.23-10.87-65.51-16.09 0-32.17-.14-48.26-.14v101.59h19.13v-33.91h18.41l29.56 33.91h22.76zm-41.59-82.32c23.34 0 23.26 32.46 0 32.46h-29.13v-32.46zm-95.56-1.6c21.18 0 21.11 38.85 0 38.85H96.18v-38.84zm192.65-18.25c-68.46 0-71 105.8 0 105.8 69.48-.01 69.41-105.8 0-105.8zm0 17.39c44.12 0 44.8 70.86 0 70.86s-44.43-70.86 0-70.86z\"],\n \"python\": [448, 512, [], \"f3e2\", \"M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z\"],\n \"android\": [576, 512, [], \"f17b\", \"M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55\"],\n \"bots\": [640, 512, [], \"e340\", \"M86.344,197.834a51.767,51.767,0,0,0-41.57,20.058V156.018a8.19,8.19,0,0,0-8.19-8.19H8.19A8.19,8.19,0,0,0,0,156.018V333.551a8.189,8.189,0,0,0,8.19,8.189H36.584a8.189,8.189,0,0,0,8.19-8.189v-8.088c11.628,13.373,25.874,19.769,41.573,19.769,34.6,0,61.922-26.164,61.922-73.843C148.266,225.452,121.229,197.834,86.344,197.834ZM71.516,305.691c-9.593,0-21.221-4.942-26.745-12.5V250.164c5.528-7.558,17.152-12.791,26.745-12.791,17.734,0,31.107,13.082,31.107,34.013C102.623,292.609,89.25,305.691,71.516,305.691Zm156.372-59.032a17.4,17.4,0,1,0,17.4,17.4A17.4,17.4,0,0,0,227.888,246.659ZM273.956,156.7V112.039a13.308,13.308,0,1,0-10.237,0V156.7a107.49,107.49,0,1,0,10.237,0Zm85.993,107.367c0,30.531-40.792,55.281-91.112,55.281s-91.111-24.75-91.111-55.281,40.792-55.281,91.111-55.281S359.949,233.532,359.949,264.062Zm-50.163,17.4a17.4,17.4,0,1,0-17.4-17.4h0A17.4,17.4,0,0,0,309.786,281.466ZM580.7,250.455c-14.828-2.617-22.387-3.78-22.387-9.885,0-5.523,7.268-9.884,17.735-9.884a65.56,65.56,0,0,1,34.484,10.1,8.171,8.171,0,0,0,11.288-2.468c.07-.11.138-.221.2-.333l8.611-14.886a8.2,8.2,0,0,0-2.867-11.123,99.863,99.863,0,0,0-52.014-14.138c-38.956,0-60.179,21.514-60.179,46.225,0,36.342,33.725,41.864,57.563,45.642,13.373,2.326,24.13,4.361,24.13,11.048,0,6.4-5.523,10.757-18.9,10.757-13.552,0-30.994-6.222-42.623-13.579a8.206,8.206,0,0,0-11.335,2.491c-.035.054-.069.108-.1.164l-10.2,16.891a8.222,8.222,0,0,0,2.491,11.066c15.224,10.3,37.663,16.692,59.441,16.692,40.409,0,63.957-19.769,63.957-46.515C640,260.63,604.537,254.816,580.7,250.455Zm-95.928,60.787a8.211,8.211,0,0,0-9.521-5.938,23.168,23.168,0,0,1-4.155.387c-7.849,0-12.5-6.106-12.5-14.245V240.28h20.349a8.143,8.143,0,0,0,8.141-8.143V209.466a8.143,8.143,0,0,0-8.141-8.143H458.594V171.091a8.143,8.143,0,0,0-8.143-8.143H422.257a8.143,8.143,0,0,0-8.143,8.143h0v30.232H399a8.143,8.143,0,0,0-8.143,8.143h0v22.671A8.143,8.143,0,0,0,399,240.28h15.115v63.667c0,27.037,15.408,41.282,43.9,41.282,12.183,0,21.383-2.2,27.6-5.446a8.161,8.161,0,0,0,4.145-9.278Z\"],\n \"free-code-camp\": [576, 512, [], \"f2c5\", \"M97.22,96.21c10.36-10.65,16-17.12,16-21.9,0-2.76-1.92-5.51-3.83-7.42A14.81,14.81,0,0,0,101,64.05c-8.48,0-20.92,8.79-35.84,25.69C23.68,137,2.51,182.81,3.37,250.34s17.47,117,54.06,161.87C76.22,435.86,90.62,448,100.9,448a13.55,13.55,0,0,0,8.37-3.84c1.91-2.76,3.81-5.63,3.81-8.38,0-5.63-3.86-12.2-13.2-20.55-44.45-42.33-67.32-97-67.48-165C32.25,188.8,54,137.83,97.22,96.21ZM239.47,420.07c.58.37.91.55.91.55Zm93.79.55.17-.13C333.24,420.62,333.17,420.67,333.26,420.62Zm3.13-158.18c-16.24-4.15,50.41-82.89-68.05-177.17,0,0,15.54,49.38-62.83,159.57-74.27,104.35,23.46,168.73,34,175.23-6.73-4.35-47.4-35.7,9.55-128.64,11-18.3,25.53-34.87,43.5-72.16,0,0,15.91,22.45,7.6,71.13C287.7,364,354,342.91,355,343.94c22.75,26.78-17.72,73.51-21.58,76.55,5.49-3.65,117.71-78,33-188.1C360.43,238.4,352.62,266.59,336.39,262.44ZM510.88,89.69C496,72.79,483.52,64,475,64a14.81,14.81,0,0,0-8.39,2.84c-1.91,1.91-3.83,4.66-3.83,7.42,0,4.78,5.6,11.26,16,21.9,43.23,41.61,65,92.59,64.82,154.06-.16,68-23,122.63-67.48,165-9.34,8.35-13.18,14.92-13.2,20.55,0,2.75,1.9,5.62,3.81,8.38A13.61,13.61,0,0,0,475.1,448c10.28,0,24.68-12.13,43.47-35.79,36.59-44.85,53.14-94.38,54.06-161.87S552.32,137,510.88,89.69Z\"],\n \"hornbill\": [512, 512, [], \"f592\", \"M76.38 370.3a37.8 37.8 0 1 1-32.07-32.42c-78.28-111.35 52-190.53 52-190.53-5.86 43-8.24 91.16-8.24 91.16-67.31 41.49.93 64.06 39.81 72.87a140.38 140.38 0 0 0 131.66 91.94c1.92 0 3.77-.21 5.67-.28l.11 18.86c-99.22 1.39-158.7-29.14-188.94-51.6zm108-327.7A37.57 37.57 0 0 0 181 21.45a37.95 37.95 0 1 0-31.17 54.22c-22.55 29.91-53.83 89.57-52.42 190l21.84-.15c0-.9-.14-1.77-.14-2.68A140.42 140.42 0 0 1 207 132.71c8-37.71 30.7-114.3 73.8-44.29 0 0 48.14 2.38 91.18 8.24 0 0-77.84-128-187.59-54.06zm304.19 134.17a37.94 37.94 0 1 0-53.84-28.7C403 126.13 344.89 99 251.28 100.33l.14 22.5c2.7-.15 5.39-.41 8.14-.41a140.37 140.37 0 0 1 130.49 88.76c39.1 9 105.06 31.58 38.46 72.54 0 0-2.34 48.13-8.21 91.16 0 0 133.45-81.16 49-194.61a37.45 37.45 0 0 0 19.31-3.5zM374.06 436.24c21.43-32.46 46.42-89.69 45.14-179.66l-19.52.14c.08 2.06.3 4.07.3 6.15a140.34 140.34 0 0 1-91.39 131.45c-8.85 38.95-31.44 106.66-72.77 39.49 0 0-48.12-2.34-91.19-8.22 0 0 79.92 131.34 191.9 51a37.5 37.5 0 0 0 3.64 14 37.93 37.93 0 1 0 33.89-54.29z\"],\n \"js\": [448, 512, [], \"f3b8\", \"M0 32v448h448V32H0zm243.8 349.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"],\n \"ideal\": [576, 512, [], \"e013\", \"M125.61,165.48a49.07,49.07,0,1,0,49.06,49.06A49.08,49.08,0,0,0,125.61,165.48ZM86.15,425.84h78.94V285.32H86.15Zm151.46-211.6c0-20-10-22.53-18.74-22.53H204.82V237.5h14.05C228.62,237.5,237.61,234.69,237.61,214.24Zm201.69,46V168.93h22.75V237.5h33.69C486.5,113.08,388.61,86.19,299.67,86.19H204.84V169h14c25.6,0,41.5,17.35,41.5,45.26,0,28.81-15.52,46-41.5,46h-14V425.88h94.83c144.61,0,194.94-67.16,196.72-165.64Zm-109.75,0H273.3V169h54.43v22.73H296v10.58h30V225H296V237.5h33.51Zm74.66,0-5.16-17.67H369.31l-5.18,17.67H340.47L368,168.92h32.35l27.53,91.34ZM299.65,32H32V480H299.65c161.85,0,251-79.73,251-224.52C550.62,172,518,32,299.65,32Zm0,426.92H53.07V53.07H299.65c142.1,0,229.9,64.61,229.9,202.41C529.55,389.57,448.55,458.92,299.65,458.92Zm83.86-264.85L376,219.88H392.4l-7.52-25.81Z\"],\n \"git\": [512, 512, [], \"f1d3\", \"M216.29 158.39H137C97 147.9 6.51 150.63 6.51 233.18c0 30.09 15 51.23 35 61-25.1 23-37 33.85-37 49.21 0 11 4.47 21.14 17.89 26.81C8.13 383.61 0 393.35 0 411.65c0 32.11 28.05 50.82 101.63 50.82 70.75 0 111.79-26.42 111.79-73.18 0-58.66-45.16-56.5-151.63-63l13.43-21.55c27.27 7.58 118.7 10 118.7-67.89 0-18.7-7.73-31.71-15-41.07l37.41-2.84zm-63.42 241.9c0 32.06-104.89 32.1-104.89 2.43 0-8.14 5.27-15 10.57-21.54 77.71 5.3 94.32 3.37 94.32 19.11zm-50.81-134.58c-52.8 0-50.46-71.16 1.2-71.16 49.54 0 50.82 71.16-1.2 71.16zm133.3 100.51v-32.1c26.75-3.66 27.24-2 27.24-11V203.61c0-8.5-2.05-7.38-27.24-16.26l4.47-32.92H324v168.71c0 6.51.4 7.32 6.51 8.14l20.73 2.84v32.1zm52.45-244.31c-23.17 0-36.59-13.43-36.59-36.61s13.42-35.77 36.59-35.77c23.58 0 37 12.62 37 35.77s-13.42 36.61-37 36.61zM512 350.46c-17.49 8.53-43.1 16.26-66.28 16.26-48.38 0-66.67-19.5-66.67-65.46V194.75c0-5.42 1.05-4.06-31.71-4.06V154.5c35.78-4.07 50-22 54.47-66.27h38.63c0 65.83-1.34 61.81 3.26 61.81H501v40.65h-60.56v97.15c0 6.92-4.92 51.41 60.57 26.84z\"],\n \"dev\": [448, 512, [], \"f6cc\", \"M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z\"],\n \"sketch\": [512, 512, [], \"f7c6\", \"M27.5 162.2L9 187.1h90.5l6.9-130.7-78.9 105.8zM396.3 45.7L267.7 32l135.7 147.2-7.1-133.5zM112.2 218.3l-11.2-22H9.9L234.8 458zm2-31.2h284l-81.5-88.5L256.3 33zm297.3 9.1L277.6 458l224.8-261.7h-90.9zM415.4 69L406 56.4l.9 17.3 6.1 113.4h90.3zM113.5 93.5l-4.6 85.6L244.7 32 116.1 45.7zm287.7 102.7h-290l42.4 82.9L256.3 480l144.9-283.8z\"],\n \"yandex-international\": [320, 512, [], \"f414\", \"M129.5 512V345.9L18.5 48h55.8l81.8 229.7L250.2 0h51.3L180.8 347.8V512h-51.3z\"],\n \"cc-amex\": [576, 512, [], \"f1f3\", \"M48 480C21.49 480 0 458.5 0 432V80C0 53.49 21.49 32 48 32H528C554.5 32 576 53.49 576 80V82.43H500.5L483.5 130L466.6 82.43H369.4V145.6L341.3 82.43H262.7L181 267.1H246.8V430.9H450.5L482.4 395.8L514.3 430.9H576V432C576 458.5 554.5 480 528 480H48zM482.6 364L440.4 410.3H390.5L458 338.6L390.5 266.1H441.9L483.4 312.8L525.4 266.1H576L508 338.2L576 410.3H524.6L482.6 364zM576 296.9V380.2L536.7 338.3L576 296.9zM307.6 377.1H390.6V410.3H268.6V267.1H390.6V300.2H307.6V322.6H388.5V354.9H307.6V377.2V377.1zM537.3 145.7L500.4 246.3H466L429.2 146V246.3H390.5V103H451.7L483.6 192.3L515.8 103H576V246.3H537.3V145.7zM334.5 217.6H268.6L256.7 246.3H213.7L276.1 103H327.3L390.6 246.3H346.5L334.5 217.6zM301.5 138.5L282 185.4H320.9L301.5 138.5z\"],\n \"uber\": [448, 512, [], \"f402\", \"M414.1 32H33.9C15.2 32 0 47.2 0 65.9V446c0 18.8 15.2 34 33.9 34H414c18.7 0 33.9-15.2 33.9-33.9V65.9C448 47.2 432.8 32 414.1 32zM237.6 391.1C163 398.6 96.4 344.2 88.9 269.6h94.4V290c0 3.7 3 6.8 6.8 6.8H258c3.7 0 6.8-3 6.8-6.8v-67.9c0-3.7-3-6.8-6.8-6.8h-67.9c-3.7 0-6.8 3-6.8 6.8v20.4H88.9c7-69.4 65.4-122.2 135.1-122.2 69.7 0 128.1 52.8 135.1 122.2 7.5 74.5-46.9 141.1-121.5 148.6z\"],\n \"github\": [496, 512, [], \"f09b\", \"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\"],\n \"php\": [640, 512, [], \"f457\", \"M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z\"],\n \"alipay\": [448, 512, [], \"f642\", \"M377.74 32H70.26C31.41 32 0 63.41 0 102.26v307.48C0 448.59 31.41 480 70.26 480h307.48c38.52 0 69.76-31.08 70.26-69.6-45.96-25.62-110.59-60.34-171.6-88.44-32.07 43.97-84.14 81-148.62 81-70.59 0-93.73-45.3-97.04-76.37-3.97-39.01 14.88-81.5 99.52-81.5 35.38 0 79.35 10.25 127.13 24.96 16.53-30.09 26.45-60.34 26.45-60.34h-178.2v-16.7h92.08v-31.24H88.28v-19.01h109.44V92.34h50.92v50.42h109.44v19.01H248.63v31.24h88.77s-15.21 46.62-38.35 90.92c48.93 16.7 100.01 36.04 148.62 52.74V102.26C447.83 63.57 416.43 32 377.74 32zM47.28 322.95c.99 20.17 10.25 53.73 69.93 53.73 52.07 0 92.58-39.68 117.87-72.9-44.63-18.68-84.48-31.41-109.44-31.41-67.45 0-79.35 33.06-78.36 50.58z\"],\n \"youtube\": [576, 512, [61802], \"f167\", \"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z\"],\n \"skyatlas\": [640, 512, [], \"f216\", \"M640 329.3c0 65.9-52.5 114.4-117.5 114.4-165.9 0-196.6-249.7-359.7-249.7-146.9 0-147.1 212.2 5.6 212.2 42.5 0 90.9-17.8 125.3-42.5 5.6-4.1 16.9-16.3 22.8-16.3s10.9 5 10.9 10.9c0 7.8-13.1 19.1-18.7 24.1-40.9 35.6-100.3 61.2-154.7 61.2-83.4.1-154-59-154-144.9s67.5-149.1 152.8-149.1c185.3 0 222.5 245.9 361.9 245.9 99.9 0 94.8-139.7 3.4-139.7-17.5 0-35 11.6-46.9 11.6-8.4 0-15.9-7.2-15.9-15.6 0-11.6 5.3-23.7 5.3-36.3 0-66.6-50.9-114.7-116.9-114.7-53.1 0-80 36.9-88.8 36.9-6.2 0-11.2-5-11.2-11.2 0-5.6 4.1-10.3 7.8-14.4 25.3-28.8 64.7-43.7 102.8-43.7 79.4 0 139.1 58.4 139.1 137.8 0 6.9-.3 13.7-1.2 20.6 11.9-3.1 24.1-4.7 35.9-4.7 60.7 0 111.9 45.3 111.9 107.2z\"],\n \"firefox-browser\": [512, 512, [], \"e007\", \"M130.22 127.548C130.38 127.558 130.3 127.558 130.22 127.548V127.548ZM481.64 172.898C471.03 147.398 449.56 119.898 432.7 111.168C446.42 138.058 454.37 165.048 457.4 185.168C457.405 185.306 457.422 185.443 457.45 185.578C429.87 116.828 383.098 89.1089 344.9 28.7479C329.908 5.05792 333.976 3.51792 331.82 4.08792L331.7 4.15792C284.99 30.1109 256.365 82.5289 249.12 126.898C232.503 127.771 216.219 131.895 201.19 139.035C199.838 139.649 198.736 140.706 198.066 142.031C197.396 143.356 197.199 144.87 197.506 146.323C197.7 147.162 198.068 147.951 198.586 148.639C199.103 149.327 199.76 149.899 200.512 150.318C201.264 150.737 202.096 150.993 202.954 151.071C203.811 151.148 204.676 151.045 205.491 150.768L206.011 150.558C221.511 143.255 238.408 139.393 255.541 139.238C318.369 138.669 352.698 183.262 363.161 201.528C350.161 192.378 326.811 183.338 304.341 187.248C392.081 231.108 368.541 381.784 246.951 376.448C187.487 373.838 149.881 325.467 146.421 285.648C146.421 285.648 157.671 243.698 227.041 243.698C234.541 243.698 255.971 222.778 256.371 216.698C256.281 214.698 213.836 197.822 197.281 181.518C188.434 172.805 184.229 168.611 180.511 165.458C178.499 163.75 176.392 162.158 174.201 160.688C168.638 141.231 168.399 120.638 173.51 101.058C148.45 112.468 128.96 130.508 114.8 146.428H114.68C105.01 134.178 105.68 93.7779 106.25 85.3479C106.13 84.8179 99.022 89.0159 98.1 89.6579C89.5342 95.7103 81.5528 102.55 74.26 110.088C57.969 126.688 30.128 160.242 18.76 211.318C14.224 231.701 12 255.739 12 263.618C12 398.318 121.21 507.508 255.92 507.508C376.56 507.508 478.939 420.281 496.35 304.888C507.922 228.192 481.64 173.82 481.64 172.898Z\"],\n \"replyd\": [448, 512, [], \"f3e6\", \"M320 480H128C57.6 480 0 422.4 0 352V160C0 89.6 57.6 32 128 32h192c70.4 0 128 57.6 128 128v192c0 70.4-57.6 128-128 128zM193.4 273.2c-6.1-2-11.6-3.1-16.4-3.1-7.2 0-13.5 1.9-18.9 5.6-5.4 3.7-9.6 9-12.8 15.8h-1.1l-4.2-18.3h-28v138.9h36.1v-89.7c1.5-5.4 4.4-9.8 8.7-13.2 4.3-3.4 9.8-5.1 16.2-5.1 4.6 0 9.8 1 15.6 3.1l4.8-34zm115.2 103.4c-3.2 2.4-7.7 4.8-13.7 7.1-6 2.3-12.8 3.5-20.4 3.5-12.2 0-21.1-3-26.5-8.9-5.5-5.9-8.5-14.7-9-26.4h83.3c.9-4.8 1.6-9.4 2.1-13.9.5-4.4.7-8.6.7-12.5 0-10.7-1.6-19.7-4.7-26.9-3.2-7.2-7.3-13-12.5-17.2-5.2-4.3-11.1-7.3-17.8-9.2-6.7-1.8-13.5-2.8-20.6-2.8-21.1 0-37.5 6.1-49.2 18.3s-17.5 30.5-17.5 55c0 22.8 5.2 40.7 15.6 53.7 10.4 13.1 26.8 19.6 49.2 19.6 10.7 0 20.9-1.5 30.4-4.6 9.5-3.1 17.1-6.8 22.6-11.2l-12-23.6zm-21.8-70.3c3.8 5.4 5.3 13.1 4.6 23.1h-51.7c.9-9.4 3.7-17 8.2-22.6 4.5-5.6 11.5-8.5 21-8.5 8.2-.1 14.1 2.6 17.9 8zm79.9 2.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4s2 11.7 6.1 15.6zm0 100.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4 0 6.6 2 11.7 6.1 15.6z\"],\n \"suse\": [640, 512, [], \"f7d6\", \"M471.08 102.66s-.3 18.3-.3 20.3c-9.1-3-74.4-24.1-135.7-26.3-51.9-1.8-122.8-4.3-223 57.3-19.4 12.4-73.9 46.1-99.6 109.7C7 277-.12 307 7 335.06a111 111 0 0 0 16.5 35.7c17.4 25 46.6 41.6 78.1 44.4 44.4 3.9 78.1-16 90-53.3 8.2-25.8 0-63.6-31.5-82.9-25.6-15.7-53.3-12.1-69.2-1.6-13.9 9.2-21.8 23.5-21.6 39.2.3 27.8 24.3 42.6 41.5 42.6a49 49 0 0 0 15.8-2.7c6.5-1.8 13.3-6.5 13.3-14.9 0-12.1-11.6-14.8-16.8-13.9-2.9.5-4.5 2-11.8 2.4-2-.2-12-3.1-12-14V316c.2-12.3 13.2-18 25.5-16.9 32.3 2.8 47.7 40.7 28.5 65.7-18.3 23.7-76.6 23.2-99.7-20.4-26-49.2 12.7-111.2 87-98.4 33.2 5.7 83.6 35.5 102.4 104.3h45.9c-5.7-17.6-8.9-68.3 42.7-68.3 56.7 0 63.9 39.9 79.8 68.3H460c-12.8-18.3-21.7-38.7-18.9-55.8 5.6-33.8 39.7-18.4 82.4-17.4 66.5.4 102.1-27 103.1-28 3.7-3.1 6.5-15.8 7-17.7 1.3-5.1-3.2-2.4-3.2-2.4-8.7 5.2-30.5 15.2-50.9 15.6-25.3.5-76.2-25.4-81.6-28.2-.3-.4.1 1.2-11-25.5 88.4 58.3 118.3 40.5 145.2 21.7.8-.6 4.3-2.9 3.6-5.7-13.8-48.1-22.4-62.7-34.5-69.6-37-21.6-125-34.7-129.2-35.3.1-.1-.9-.3-.9.7zm60.4 72.8a37.54 37.54 0 0 1 38.9-36.3c33.4 1.2 48.8 42.3 24.4 65.2-24.2 22.7-64.4 4.6-63.3-28.9zm38.6-25.3a26.27 26.27 0 1 0 25.4 27.2 26.19 26.19 0 0 0-25.4-27.2zm4.3 28.8c-15.4 0-15.4-15.6 0-15.6s15.4 15.64 0 15.64z\"],\n \"jenkins\": [512, 512, [], \"f3b6\", \"M487.1 425c-1.4-11.2-19-23.1-28.2-31.9-5.1-5-29-23.1-30.4-29.9-1.4-6.6 9.7-21.5 13.3-28.9 5.1-10.7 8.8-23.7 11.3-32.6 18.8-66.1 20.7-156.9-6.2-211.2-10.2-20.6-38.6-49-56.4-62.5-42-31.7-119.6-35.3-170.1-16.6-14.1 5.2-27.8 9.8-40.1 17.1-33.1 19.4-68.3 32.5-78.1 71.6-24.2 10.8-31.5 41.8-30.3 77.8.2 7 4.1 15.8 2.7 22.4-.7 3.3-5.2 7.6-6.1 9.8-11.6 27.7-2.3 64 11.1 83.7 8.1 11.9 21.5 22.4 39.2 25.2.7 10.6 3.3 19.7 8.2 30.4 3.1 6.8 14.7 19 10.4 27.7-2.2 4.4-21 13.8-27.3 17.6C89 407.2 73.7 415 54.2 429c-12.6 9-32.3 10.2-29.2 31.1 2.1 14.1 10.1 31.6 14.7 45.8.7 2 1.4 4.1 2.1 6h422c4.9-15.3 9.7-30.9 14.6-47.2 3.4-11.4 10.2-27.8 8.7-39.7zM205.9 33.7c1.8-.5 3.4.7 4.9 2.4-.2 5.2-5.4 5.1-8.9 6.8-5.4 6.7-13.4 9.8-20 17.2-6.8 7.5-14.4 27.7-23.4 30-4.5 1.1-9.7-.8-13.6-.5-10.4.7-17.7 6-28.3 7.5 13.6-29.9 56.1-54 89.3-63.4zm-104.8 93.6c13.5-14.9 32.1-24.1 54.8-25.9 11.7 29.7-8.4 65-.9 97.6 2.3 9.9 10.2 25.4-2.4 25.7.3-28.3-34.8-46.3-61.3-29.6-1.8-21.5-4.9-51.7 9.8-67.8zm36.7 200.2c-1-4.1-2.7-12.9-2.3-15.1 1.6-8.7 17.1-12.5 11-24.7-11.3-.1-13.8 10.2-24.1 11.3-26.7 2.6-45.6-35.4-44.4-58.4 1-19.5 17.6-38.2 40.1-35.8 16 1.8 21.4 19.2 24.5 34.7 9.2.5 22.5-.4 26.9-7.6-.6-17.5-8.8-31.6-8.2-47.7 1-30.3 17.5-57.6 4.8-87.4 13.6-30.9 53.5-55.3 83.1-70 36.6-18.3 94.9-3.7 129.3 15.8 19.7 11.1 34.4 32.7 48.3 50.7-19.5-5.8-36.1 4.2-33.1 20.3 16.3-14.9 44.2-.2 52.5 16.4 7.9 15.8 7.8 39.3 9 62.8 2.9 57-10.4 115.9-39.1 157.1-7.7 11-14.1 23-24.9 30.6-26 18.2-65.4 34.7-99.2 23.4-44.7-15-65-44.8-89.5-78.8.7 18.7 13.8 34.1 26.8 48.4 11.3 12.5 25 26.6 39.7 32.4-12.3-2.9-31.1-3.8-36.2 7.2-28.6-1.9-55.1-4.8-68.7-24.2-10.6-15.4-21.4-41.4-26.3-61.4zm222 124.1c4.1-3 11.1-2.9 17.4-3.6-5.4-2.7-13-3.7-19.3-2.2-.1-4.2-2-6.8-3.2-10.2 10.6-3.8 35.5-28.5 49.6-20.3 6.7 3.9 9.5 26.2 10.1 37 .4 9-.8 18-4.5 22.8-18.8-.6-35.8-2.8-50.7-7 .9-6.1-1-12.1.6-16.5zm-17.2-20c-16.8.8-26-1.2-38.3-10.8.2-.8 1.4-.5 1.5-1.4 18 8 40.8-3.3 59-4.9-7.9 5.1-14.6 11.6-22.2 17.1zm-12.1 33.2c-1.6-9.4-3.5-12-2.8-20.2 25-16.6 29.7 28.6 2.8 20.2zM226 438.6c-11.6-.7-48.1-14-38.5-23.7 9.4 6.5 27.5 4.9 41.3 7.3.8 4.4-2.8 10.2-2.8 16.4zM57.7 497.1c-4.3-12.7-9.2-25.1-14.8-36.9 30.8-23.8 65.3-48.9 102.2-63.5 2.8-1.1 23.2 25.4 26.2 27.6 16.5 11.7 37 21 56.2 30.2 1.2 8.8 3.9 20.2 8.7 35.5.7 2.3 1.4 4.7 2.2 7.2H57.7zm240.6 5.7h-.8c.3-.2.5-.4.8-.5v.5zm7.5-5.7c2.1-1.4 4.3-2.8 6.4-4.3 1.1 1.4 2.2 2.8 3.2 4.3h-9.6zm15.1-24.7c-10.8 7.3-20.6 18.3-33.3 25.2-6 3.3-27 11.7-33.4 10.2-3.6-.8-3.9-5.3-5.4-9.5-3.1-9-10.1-23.4-10.8-37-.8-17.2-2.5-46 16-42.4 14.9 2.9 32.3 9.7 43.9 16.1 7.1 3.9 11.1 8.6 21.9 9.5-.1 1.4-.1 2.8-.2 4.3-5.9 3.9-15.3 3.8-21.8 7.1 9.5.4 17 2.7 23.5 5.9-.1 3.4-.3 7-.4 10.6zm53.4 24.7h-14c-.1-3.2-2.8-5.8-6.1-5.8s-5.9 2.6-6.1 5.8h-17.4c-2.8-4.4-5.7-8.6-8.9-12.5 2.1-2.2 4-4.7 6-6.9 9 3.7 14.8-4.9 21.7-4.2 7.9.8 14.2 11.7 25.4 11l-.6 12.6zm8.7 0c.2-4 .4-7.8.6-11.5 15.6-7.3 29 1.3 35.7 11.5H383zm83.4-37c-2.3 11.2-5.8 24-9.9 37.1-.2-.1-.4-.1-.6-.1H428c.6-1.1 1.2-2.2 1.9-3.3-2.6-6.1-9-8.7-10.9-15.5 12.1-22.7 6.5-93.4-24.2-78.5 4.3-6.3 15.6-11.5 20.8-19.3 13 10.4 20.8 20.3 33.2 31.4 6.8 6 20 13.3 21.4 23.1.8 5.5-2.6 18.9-3.8 25.1zM222.2 130.5c5.4-14.9 27.2-34.7 45-32 7.7 1.2 18 8.2 12.2 17.7-30.2-7-45.2 12.6-54.4 33.1-8.1-2-4.9-13.1-2.8-18.8zm184.1 63.1c8.2-3.6 22.4-.7 29.6-5.3-4.2-11.5-10.3-21.4-9.3-37.7.5 0 1 0 1.4.1 6.8 14.2 12.7 29.2 21.4 41.7-5.7 13.5-43.6 25.4-43.1 1.2zm20.4-43zm-117.2 45.7c-6.8-10.9-19-32.5-14.5-45.3 6.5 11.9 8.6 24.4 17.8 33.3 4.1 4 12.2 9 8.2 20.2-.9 2.7-7.8 8.6-11.7 9.7-14.4 4.3-47.9.9-36.6-17.1 11.9.7 27.9 7.8 36.8-.8zm27.3 70c3.8 6.6 1.4 18.7 12.1 20.6 20.2 3.4 43.6-12.3 58.1-17.8 9-15.2-.8-20.7-8.9-30.5-16.6-20-38.8-44.8-38-74.7 6.7-4.9 7.3 7.4 8.2 9.7 8.7 20.3 30.4 46.2 46.3 63.5 3.9 4.3 10.3 8.4 11 11.2 2.1 8.2-5.4 18-4.5 23.5-21.7 13.9-45.8 29.1-81.4 25.6-7.4-6.7-10.3-21.4-2.9-31.1zm-201.3-9.2c-6.8-3.9-8.4-21-16.4-21.4-11.4-.7-9.3 22.2-9.3 35.5-7.8-7.1-9.2-29.1-3.5-40.3-6.6-3.2-9.5 3.6-13.1 5.9 4.7-34.1 49.8-15.8 42.3 20.3zm299.6 28.8c-10.1 19.2-24.4 40.4-54 41-.6-6.2-1.1-15.6 0-19.4 22.7-2.2 36.6-13.7 54-21.6zm-141.9 12.4c18.9 9.9 53.6 11 79.3 10.2 1.4 5.6 1.3 12.6 1.4 19.4-33 1.8-72-6.4-80.7-29.6zm92.2 46.7c-1.7 4.3-5.3 9.3-9.8 11.1-12.1 4.9-45.6 8.7-62.4-.3-10.7-5.7-17.5-18.5-23.4-26-2.8-3.6-16.9-12.9-.2-12.9 13.1 32.7 58 29 95.8 28.1z\"],\n \"twitter\": [512, 512, [], \"f099\", \"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z\"],\n \"rockrms\": [496, 512, [], \"f3e9\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm157.4 419.5h-90l-112-131.3c-17.9-20.4-3.9-56.1 26.6-56.1h75.3l-84.6-99.3-84.3 98.9h-90L193.5 67.2c14.4-18.4 41.3-17.3 54.5 0l157.7 185.1c19 22.8 2 57.2-27.6 56.1-.6 0-74.2.2-74.2.2l101.5 118.9z\"],\n \"pinterest\": [496, 512, [], \"f0d2\", \"M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z\"],\n \"buffer\": [448, 512, [], \"f837\", \"M427.84 380.67l-196.5 97.82a18.6 18.6 0 0 1-14.67 0L20.16 380.67c-4-2-4-5.28 0-7.29L67.22 350a18.65 18.65 0 0 1 14.69 0l134.76 67a18.51 18.51 0 0 0 14.67 0l134.76-67a18.62 18.62 0 0 1 14.68 0l47.06 23.43c4.05 1.96 4.05 5.24 0 7.24zm0-136.53l-47.06-23.43a18.62 18.62 0 0 0-14.68 0l-134.76 67.08a18.68 18.68 0 0 1-14.67 0L81.91 220.71a18.65 18.65 0 0 0-14.69 0l-47.06 23.43c-4 2-4 5.29 0 7.31l196.51 97.8a18.6 18.6 0 0 0 14.67 0l196.5-97.8c4.05-2.02 4.05-5.3 0-7.31zM20.16 130.42l196.5 90.29a20.08 20.08 0 0 0 14.67 0l196.51-90.29c4-1.86 4-4.89 0-6.74L231.33 33.4a19.88 19.88 0 0 0-14.67 0l-196.5 90.28c-4.05 1.85-4.05 4.88 0 6.74z\"],\n \"npm\": [576, 512, [], \"f3d4\", \"M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z\"],\n \"yammer\": [512, 512, [], \"f840\", \"M500.676,159.486a12.779,12.779,0,0,0-6.4-8.282,13.954,13.954,0,0,0-10.078-1.125L457.8,156.7l-.043-.2-22.3,5.785-1.243.333-.608-2.17A369.037,369.037,0,0,0,347.538,4.289a14.1,14.1,0,0,0-19.784-.463l-102.9,102.747H24.947A24.9,24.9,0,0,0,0,131.417V380.38a24.963,24.963,0,0,0,24.918,24.9H224.986L328.072,508a13.667,13.667,0,0,0,19.327,0c.126-.126.249-.255.37-.385a368.025,368.025,0,0,0,69.577-107.374,403.45,403.45,0,0,0,17.3-50.8v-.028l20.406,5.336.029-.073L483.345,362a20.253,20.253,0,0,0,2.619.5,13.359,13.359,0,0,0,4.139-.072,13.5,13.5,0,0,0,10.515-9.924,415.855,415.855,0,0,0,.058-193.013ZM337.125,24.65l.013.014h-.013Zm-110.2,165.161L174.311,281.1a11.338,11.338,0,0,0-1.489,5.655v46.189a22.04,22.04,0,0,1-22.041,22h-3.4A22.068,22.068,0,0,1,125.3,332.962V287.294a11.532,11.532,0,0,0-1.388-5.51l-51.6-92.2a21.988,21.988,0,0,1,19.264-32.726h3.268a22.059,22.059,0,0,1,19.611,11.916l36.357,70.281,37.515-70.512a22.066,22.066,0,0,1,38.556-.695,21.7,21.7,0,0,1,0,21.967ZM337.145,24.673a348.147,348.147,0,0,1,75.8,141.335l.564,1.952-114.134,29.6V131.417a25.006,25.006,0,0,0-24.947-24.9H255.067Zm60.5,367.305v-.043l-.014.014a347.19,347.19,0,0,1-60.177,95.227l-82.2-81.893h19.177a24.978,24.978,0,0,0,24.947-24.9v-66.2l114.6,29.862A385.191,385.191,0,0,1,397.648,391.978Zm84-52.45.015.014-50.618-13.131L299.379,292.1V219.572l119.746-30.99,4.468-1.157,39.54-10.253,18.511-4.816A393,393,0,0,1,481.644,339.528Z\"],\n \"btc\": [384, 512, [], \"f15a\", \"M310.204 242.638c27.73-14.18 45.377-39.39 41.28-81.3-5.358-57.351-52.458-76.573-114.85-81.929V0h-48.528v77.203c-12.605 0-25.525.315-38.444.63V0h-48.528v79.409c-17.842.539-38.622.276-97.37 0v51.678c38.314-.678 58.417-3.14 63.023 21.427v217.429c-2.925 19.492-18.524 16.685-53.255 16.071L3.765 443.68c88.481 0 97.37.315 97.37.315V512h48.528v-67.06c13.234.315 26.154.315 38.444.315V512h48.528v-68.005c81.299-4.412 135.647-24.894 142.895-101.467 5.671-61.446-23.32-88.862-69.326-99.89zM150.608 134.553c27.415 0 113.126-8.507 113.126 48.528 0 54.515-85.71 48.212-113.126 48.212v-96.74zm0 251.776V279.821c32.772 0 133.127-9.138 133.127 53.255-.001 60.186-100.355 53.253-133.127 53.253z\"],\n \"dribbble\": [512, 512, [], \"f17d\", \"M256 8C119.252 8 8 119.252 8 256s111.252 248 248 248 248-111.252 248-248S392.748 8 256 8zm163.97 114.366c29.503 36.046 47.369 81.957 47.835 131.955-6.984-1.477-77.018-15.682-147.502-6.818-5.752-14.041-11.181-26.393-18.617-41.614 78.321-31.977 113.818-77.482 118.284-83.523zM396.421 97.87c-3.81 5.427-35.697 48.286-111.021 76.519-34.712-63.776-73.185-116.168-79.04-124.008 67.176-16.193 137.966 1.27 190.061 47.489zm-230.48-33.25c5.585 7.659 43.438 60.116 78.537 122.509-99.087 26.313-186.36 25.934-195.834 25.809C62.38 147.205 106.678 92.573 165.941 64.62zM44.17 256.323c0-2.166.043-4.322.108-6.473 9.268.19 111.92 1.513 217.706-30.146 6.064 11.868 11.857 23.915 17.174 35.949-76.599 21.575-146.194 83.527-180.531 142.306C64.794 360.405 44.17 310.73 44.17 256.323zm81.807 167.113c22.127-45.233 82.178-103.622 167.579-132.756 29.74 77.283 42.039 142.053 45.189 160.638-68.112 29.013-150.015 21.053-212.768-27.882zm248.38 8.489c-2.171-12.886-13.446-74.897-41.152-151.033 66.38-10.626 124.7 6.768 131.947 9.055-9.442 58.941-43.273 109.844-90.795 141.978z\"],\n \"stumbleupon-circle\": [496, 512, [], \"f1a3\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 177.5c-9.8 0-17.8 8-17.8 17.8v106.9c0 40.9-33.9 73.9-74.9 73.9-41.4 0-74.9-33.5-74.9-74.9v-46.5h57.3v45.8c0 10 8 17.8 17.8 17.8s17.8-7.9 17.8-17.8V200.1c0-40 34.2-72.1 74.7-72.1 40.7 0 74.7 32.3 74.7 72.6v23.7l-34.1 10.1-22.9-10.7v-20.6c.1-9.6-7.9-17.6-17.7-17.6zm167.6 123.6c0 41.4-33.5 74.9-74.9 74.9-41.2 0-74.9-33.2-74.9-74.2V263l22.9 10.7 34.1-10.1v47.1c0 9.8 8 17.6 17.8 17.6s17.8-7.9 17.8-17.6v-48h57.3c-.1 45.9-.1 46.4-.1 46.4z\"],\n \"internet-explorer\": [512, 512, [], \"f26b\", \"M483.049 159.706c10.855-24.575 21.424-60.438 21.424-87.871 0-72.722-79.641-98.371-209.673-38.577-107.632-7.181-211.221 73.67-237.098 186.457 30.852-34.862 78.271-82.298 121.977-101.158C125.404 166.85 79.128 228.002 43.992 291.725 23.246 329.651 0 390.94 0 436.747c0 98.575 92.854 86.5 180.251 42.006 31.423 15.43 66.559 15.573 101.695 15.573 97.124 0 184.249-54.294 216.814-146.022H377.927c-52.509 88.593-196.819 52.996-196.819-47.436H509.9c6.407-43.581-1.655-95.715-26.851-141.162zM64.559 346.877c17.711 51.15 53.703 95.871 100.266 123.304-88.741 48.94-173.267 29.096-100.266-123.304zm115.977-108.873c2-55.151 50.276-94.871 103.98-94.871 53.418 0 101.981 39.72 103.981 94.871H180.536zm184.536-187.6c21.425-10.287 48.563-22.003 72.558-22.003 31.422 0 54.274 21.717 54.274 53.722 0 20.003-7.427 49.007-14.569 67.867-26.28-42.292-65.986-81.584-112.263-99.586z\"],\n \"telegram\": [496, 512, [62462, \"telegram-plane\"], \"f2c6\", \"M248,8C111.033,8,0,119.033,0,256S111.033,504,248,504,496,392.967,496,256,384.967,8,248,8ZM362.952,176.66c-3.732,39.215-19.881,134.378-28.1,178.3-3.476,18.584-10.322,24.816-16.948,25.425-14.4,1.326-25.338-9.517-39.287-18.661-21.827-14.308-34.158-23.215-55.346-37.177-24.485-16.135-8.612-25,5.342-39.5,3.652-3.793,67.107-61.51,68.335-66.746.153-.655.3-3.1-1.154-4.384s-3.59-.849-5.135-.5q-3.283.746-104.608,69.142-14.845,10.194-26.894,9.934c-8.855-.191-25.888-5.006-38.551-9.123-15.531-5.048-27.875-7.717-26.8-16.291q.84-6.7,18.45-13.7,108.446-47.248,144.628-62.3c68.872-28.647,83.183-33.623,92.511-33.789,2.052-.034,6.639.474,9.61,2.885a10.452,10.452,0,0,1,3.53,6.716A43.765,43.765,0,0,1,362.952,176.66Z\"],\n \"old-republic\": [496, 512, [], \"f510\", \"M235.76 10.23c7.5-.31 15-.28 22.5-.09 3.61.14 7.2.4 10.79.73 4.92.27 9.79 1.03 14.67 1.62 2.93.43 5.83.98 8.75 1.46 7.9 1.33 15.67 3.28 23.39 5.4 12.24 3.47 24.19 7.92 35.76 13.21 26.56 12.24 50.94 29.21 71.63 49.88 20.03 20.09 36.72 43.55 48.89 69.19 1.13 2.59 2.44 5.1 3.47 7.74 2.81 6.43 5.39 12.97 7.58 19.63 4.14 12.33 7.34 24.99 9.42 37.83.57 3.14 1.04 6.3 1.4 9.47.55 3.83.94 7.69 1.18 11.56.83 8.34.84 16.73.77 25.1-.07 4.97-.26 9.94-.75 14.89-.24 3.38-.51 6.76-.98 10.12-.39 2.72-.63 5.46-1.11 8.17-.9 5.15-1.7 10.31-2.87 15.41-4.1 18.5-10.3 36.55-18.51 53.63-15.77 32.83-38.83 62.17-67.12 85.12a246.503 246.503 0 0 1-56.91 34.86c-6.21 2.68-12.46 5.25-18.87 7.41-3.51 1.16-7.01 2.38-10.57 3.39-6.62 1.88-13.29 3.64-20.04 5-4.66.91-9.34 1.73-14.03 2.48-5.25.66-10.5 1.44-15.79 1.74-6.69.66-13.41.84-20.12.81-6.82.03-13.65-.12-20.45-.79-3.29-.23-6.57-.5-9.83-.95-2.72-.39-5.46-.63-8.17-1.11-4.12-.72-8.25-1.37-12.35-2.22-4.25-.94-8.49-1.89-12.69-3.02-8.63-2.17-17.08-5.01-25.41-8.13-10.49-4.12-20.79-8.75-30.64-14.25-2.14-1.15-4.28-2.29-6.35-3.57-11.22-6.58-21.86-14.1-31.92-22.34-34.68-28.41-61.41-66.43-76.35-108.7-3.09-8.74-5.71-17.65-7.8-26.68-1.48-6.16-2.52-12.42-3.58-18.66-.4-2.35-.61-4.73-.95-7.09-.6-3.96-.75-7.96-1.17-11.94-.8-9.47-.71-18.99-.51-28.49.14-3.51.34-7.01.7-10.51.31-3.17.46-6.37.92-9.52.41-2.81.65-5.65 1.16-8.44.7-3.94 1.3-7.9 2.12-11.82 3.43-16.52 8.47-32.73 15.26-48.18 1.15-2.92 2.59-5.72 3.86-8.59 8.05-16.71 17.9-32.56 29.49-47.06 20-25.38 45.1-46.68 73.27-62.47 7.5-4.15 15.16-8.05 23.07-11.37 15.82-6.88 32.41-11.95 49.31-15.38 3.51-.67 7.04-1.24 10.56-1.85 2.62-.47 5.28-.7 7.91-1.08 3.53-.53 7.1-.68 10.65-1.04 2.46-.24 4.91-.36 7.36-.51m8.64 24.41c-9.23.1-18.43.99-27.57 2.23-7.3 1.08-14.53 2.6-21.71 4.3-13.91 3.5-27.48 8.34-40.46 14.42-10.46 4.99-20.59 10.7-30.18 17.22-4.18 2.92-8.4 5.8-12.34 9.03-5.08 3.97-9.98 8.17-14.68 12.59-2.51 2.24-4.81 4.7-7.22 7.06-28.22 28.79-48.44 65.39-57.5 104.69-2.04 8.44-3.54 17.02-4.44 25.65-1.1 8.89-1.44 17.85-1.41 26.8.11 7.14.38 14.28 1.22 21.37.62 7.12 1.87 14.16 3.2 21.18 1.07 4.65 2.03 9.32 3.33 13.91 6.29 23.38 16.5 45.7 30.07 65.75 8.64 12.98 18.78 24.93 29.98 35.77 16.28 15.82 35.05 29.04 55.34 39.22 7.28 3.52 14.66 6.87 22.27 9.63 5.04 1.76 10.06 3.57 15.22 4.98 11.26 3.23 22.77 5.6 34.39 7.06 2.91.29 5.81.61 8.72.9 13.82 1.08 27.74 1 41.54-.43 4.45-.6 8.92-.99 13.35-1.78 3.63-.67 7.28-1.25 10.87-2.1 4.13-.98 8.28-1.91 12.36-3.07 26.5-7.34 51.58-19.71 73.58-36.2 15.78-11.82 29.96-25.76 42.12-41.28 3.26-4.02 6.17-8.31 9.13-12.55 3.39-5.06 6.58-10.25 9.6-15.54 2.4-4.44 4.74-8.91 6.95-13.45 5.69-12.05 10.28-24.62 13.75-37.49 2.59-10.01 4.75-20.16 5.9-30.45 1.77-13.47 1.94-27.1 1.29-40.65-.29-3.89-.67-7.77-1-11.66-2.23-19.08-6.79-37.91-13.82-55.8-5.95-15.13-13.53-29.63-22.61-43.13-12.69-18.8-28.24-35.68-45.97-49.83-25.05-20-54.47-34.55-85.65-42.08-7.78-1.93-15.69-3.34-23.63-4.45-3.91-.59-7.85-.82-11.77-1.24-7.39-.57-14.81-.72-22.22-.58zM139.26 83.53c13.3-8.89 28.08-15.38 43.3-20.18-3.17 1.77-6.44 3.38-9.53 5.29-11.21 6.68-21.52 14.9-30.38 24.49-6.8 7.43-12.76 15.73-17.01 24.89-3.29 6.86-5.64 14.19-6.86 21.71-.93 4.85-1.3 9.81-1.17 14.75.13 13.66 4.44 27.08 11.29 38.82 5.92 10.22 13.63 19.33 22.36 27.26 4.85 4.36 10.24 8.09 14.95 12.6 2.26 2.19 4.49 4.42 6.43 6.91 2.62 3.31 4.89 6.99 5.99 11.1.9 3.02.66 6.2.69 9.31.02 4.1-.04 8.2.03 12.3.14 3.54-.02 7.09.11 10.63.08 2.38.02 4.76.05 7.14.16 5.77.06 11.53.15 17.3.11 2.91.02 5.82.13 8.74.03 1.63.13 3.28-.03 4.91-.91.12-1.82.18-2.73.16-10.99 0-21.88-2.63-31.95-6.93-6-2.7-11.81-5.89-17.09-9.83-5.75-4.19-11.09-8.96-15.79-14.31-6.53-7.24-11.98-15.39-16.62-23.95-1.07-2.03-2.24-4.02-3.18-6.12-1.16-2.64-2.62-5.14-3.67-7.82-4.05-9.68-6.57-19.94-8.08-30.31-.49-4.44-1.09-8.88-1.2-13.35-.7-15.73.84-31.55 4.67-46.82 2.12-8.15 4.77-16.18 8.31-23.83 6.32-14.2 15.34-27.18 26.3-38.19 6.28-6.2 13.13-11.84 20.53-16.67zm175.37-20.12c2.74.74 5.41 1.74 8.09 2.68 6.36 2.33 12.68 4.84 18.71 7.96 13.11 6.44 25.31 14.81 35.82 24.97 10.2 9.95 18.74 21.6 25.14 34.34 1.28 2.75 2.64 5.46 3.81 8.26 6.31 15.1 10 31.26 11.23 47.57.41 4.54.44 9.09.45 13.64.07 11.64-1.49 23.25-4.3 34.53-1.97 7.27-4.35 14.49-7.86 21.18-3.18 6.64-6.68 13.16-10.84 19.24-6.94 10.47-15.6 19.87-25.82 27.22-10.48 7.64-22.64 13.02-35.4 15.38-3.51.69-7.08 1.08-10.66 1.21-1.85.06-3.72.16-5.56-.1-.28-2.15 0-4.31-.01-6.46-.03-3.73.14-7.45.1-11.17.19-7.02.02-14.05.21-21.07.03-2.38-.03-4.76.03-7.14.17-5.07-.04-10.14.14-15.21.1-2.99-.24-6.04.51-8.96.66-2.5 1.78-4.86 3.09-7.08 4.46-7.31 11.06-12.96 17.68-18.26 5.38-4.18 10.47-8.77 15.02-13.84 7.68-8.37 14.17-17.88 18.78-28.27 2.5-5.93 4.52-12.1 5.55-18.46.86-4.37 1.06-8.83 1.01-13.27-.02-7.85-1.4-15.65-3.64-23.17-1.75-5.73-4.27-11.18-7.09-16.45-3.87-6.93-8.65-13.31-13.96-19.2-9.94-10.85-21.75-19.94-34.6-27.1-1.85-1.02-3.84-1.82-5.63-2.97zm-100.8 58.45c.98-1.18 1.99-2.33 3.12-3.38-.61.93-1.27 1.81-1.95 2.68-3.1 3.88-5.54 8.31-7.03 13.06-.87 3.27-1.68 6.6-1.73 10-.07 2.52-.08 5.07.32 7.57 1.13 7.63 4.33 14.85 8.77 21.12 2 2.7 4.25 5.27 6.92 7.33 1.62 1.27 3.53 2.09 5.34 3.05 3.11 1.68 6.32 3.23 9.07 5.48 2.67 2.09 4.55 5.33 4.4 8.79-.01 73.67 0 147.34-.01 221.02 0 1.35-.08 2.7.04 4.04.13 1.48.82 2.83 1.47 4.15.86 1.66 1.78 3.34 3.18 4.62.85.77 1.97 1.4 3.15 1.24 1.5-.2 2.66-1.35 3.45-2.57.96-1.51 1.68-3.16 2.28-4.85.76-2.13.44-4.42.54-6.63.14-4.03-.02-8.06.14-12.09.03-5.89.03-11.77.06-17.66.14-3.62.03-7.24.11-10.86.15-4.03-.02-8.06.14-12.09.03-5.99.03-11.98.07-17.97.14-3.62.02-7.24.11-10.86.14-3.93-.02-7.86.14-11.78.03-5.99.03-11.98.06-17.97.16-3.94-.01-7.88.19-11.82.29 1.44.13 2.92.22 4.38.19 3.61.42 7.23.76 10.84.32 3.44.44 6.89.86 10.32.37 3.1.51 6.22.95 9.31.57 4.09.87 8.21 1.54 12.29 1.46 9.04 2.83 18.11 5.09 26.99 1.13 4.82 2.4 9.61 4 14.3 2.54 7.9 5.72 15.67 10.31 22.62 1.73 2.64 3.87 4.98 6.1 7.21.27.25.55.51.88.71.6.25 1.31-.07 1.7-.57.71-.88 1.17-1.94 1.7-2.93 4.05-7.8 8.18-15.56 12.34-23.31.7-1.31 1.44-2.62 2.56-3.61 1.75-1.57 3.84-2.69 5.98-3.63 2.88-1.22 5.9-2.19 9.03-2.42 6.58-.62 13.11.75 19.56 1.85 3.69.58 7.4 1.17 11.13 1.41 3.74.1 7.48.05 11.21-.28 8.55-.92 16.99-2.96 24.94-6.25 5.3-2.24 10.46-4.83 15.31-7.93 11.46-7.21 21.46-16.57 30.04-27.01 1.17-1.42 2.25-2.9 3.46-4.28-1.2 3.24-2.67 6.37-4.16 9.48-1.25 2.9-2.84 5.61-4.27 8.42-5.16 9.63-11.02 18.91-17.75 27.52-4.03 5.21-8.53 10.05-13.33 14.57-6.64 6.05-14.07 11.37-22.43 14.76-8.21 3.37-17.31 4.63-26.09 3.29-3.56-.58-7.01-1.69-10.41-2.88-2.79-.97-5.39-2.38-8.03-3.69-3.43-1.71-6.64-3.81-9.71-6.08 2.71 3.06 5.69 5.86 8.7 8.61 4.27 3.76 8.74 7.31 13.63 10.23 3.98 2.45 8.29 4.4 12.84 5.51 1.46.37 2.96.46 4.45.6-1.25 1.1-2.63 2.04-3.99 2.98-9.61 6.54-20.01 11.86-30.69 16.43-20.86 8.7-43.17 13.97-65.74 15.34-4.66.24-9.32.36-13.98.36-4.98-.11-9.97-.13-14.92-.65-11.2-.76-22.29-2.73-33.17-5.43-10.35-2.71-20.55-6.12-30.3-10.55-8.71-3.86-17.12-8.42-24.99-13.79-1.83-1.31-3.74-2.53-5.37-4.08 6.6-1.19 13.03-3.39 18.99-6.48 5.74-2.86 10.99-6.66 15.63-11.07 2.24-2.19 4.29-4.59 6.19-7.09-3.43 2.13-6.93 4.15-10.62 5.78-4.41 2.16-9.07 3.77-13.81 5.02-5.73 1.52-11.74 1.73-17.61 1.14-8.13-.95-15.86-4.27-22.51-8.98-4.32-2.94-8.22-6.43-11.96-10.06-9.93-10.16-18.2-21.81-25.66-33.86-3.94-6.27-7.53-12.75-11.12-19.22-1.05-2.04-2.15-4.05-3.18-6.1 2.85 2.92 5.57 5.97 8.43 8.88 8.99 8.97 18.56 17.44 29.16 24.48 7.55 4.9 15.67 9.23 24.56 11.03 3.11.73 6.32.47 9.47.81 2.77.28 5.56.2 8.34.3 5.05.06 10.11.04 15.16-.16 3.65-.16 7.27-.66 10.89-1.09 2.07-.25 4.11-.71 6.14-1.2 3.88-.95 8.11-.96 11.83.61 4.76 1.85 8.44 5.64 11.38 9.71 2.16 3.02 4.06 6.22 5.66 9.58 1.16 2.43 2.46 4.79 3.55 7.26 1 2.24 2.15 4.42 3.42 6.52.67 1.02 1.4 2.15 2.62 2.55 1.06-.75 1.71-1.91 2.28-3.03 2.1-4.16 3.42-8.65 4.89-13.05 2.02-6.59 3.78-13.27 5.19-20.02 2.21-9.25 3.25-18.72 4.54-28.13.56-3.98.83-7.99 1.31-11.97.87-10.64 1.9-21.27 2.24-31.94.08-1.86.24-3.71.25-5.57.01-4.35.25-8.69.22-13.03-.01-2.38-.01-4.76 0-7.13.05-5.07-.2-10.14-.22-15.21-.2-6.61-.71-13.2-1.29-19.78-.73-5.88-1.55-11.78-3.12-17.51-2.05-7.75-5.59-15.03-9.8-21.82-3.16-5.07-6.79-9.88-11.09-14.03-3.88-3.86-8.58-7.08-13.94-8.45-1.5-.41-3.06-.45-4.59-.64.07-2.99.7-5.93 1.26-8.85 1.59-7.71 3.8-15.3 6.76-22.6 1.52-4.03 3.41-7.9 5.39-11.72 3.45-6.56 7.62-12.79 12.46-18.46zm31.27 1.7c.35-.06.71-.12 1.07-.19.19 1.79.09 3.58.1 5.37v38.13c-.01 1.74.13 3.49-.15 5.22-.36-.03-.71-.05-1.06-.05-.95-3.75-1.72-7.55-2.62-11.31-.38-1.53-.58-3.09-1.07-4.59-1.7-.24-3.43-.17-5.15-.2-5.06-.01-10.13 0-15.19-.01-1.66-.01-3.32.09-4.98-.03-.03-.39-.26-.91.16-1.18 1.28-.65 2.72-.88 4.06-1.35 3.43-1.14 6.88-2.16 10.31-3.31 1.39-.48 2.9-.72 4.16-1.54.04-.56.02-1.13-.05-1.68-1.23-.55-2.53-.87-3.81-1.28-3.13-1.03-6.29-1.96-9.41-3.02-1.79-.62-3.67-1-5.41-1.79-.03-.37-.07-.73-.11-1.09 5.09-.19 10.2.06 15.3-.12 3.36-.13 6.73.08 10.09-.07.12-.39.26-.77.37-1.16 1.08-4.94 2.33-9.83 3.39-14.75zm5.97-.2c.36.05.72.12 1.08.2.98 3.85 1.73 7.76 2.71 11.61.36 1.42.56 2.88 1.03 4.27 2.53.18 5.07-.01 7.61.05 5.16.12 10.33.12 15.49.07.76-.01 1.52.03 2.28.08-.04.36-.07.72-.1 1.08-1.82.83-3.78 1.25-5.67 1.89-3.73 1.23-7.48 2.39-11.22 3.57-.57.17-1.12.42-1.67.64-.15.55-.18 1.12-.12 1.69.87.48 1.82.81 2.77 1.09 4.88 1.52 9.73 3.14 14.63 4.6.38.13.78.27 1.13.49.4.27.23.79.15 1.18-1.66.13-3.31.03-4.97.04-5.17.01-10.33-.01-15.5.01-1.61.03-3.22-.02-4.82.21-.52 1.67-.72 3.42-1.17 5.11-.94 3.57-1.52 7.24-2.54 10.78-.36.01-.71.02-1.06.06-.29-1.73-.15-3.48-.15-5.22v-38.13c.02-1.78-.08-3.58.11-5.37zM65.05 168.33c1.12-2.15 2.08-4.4 3.37-6.46-1.82 7.56-2.91 15.27-3.62 23-.8 7.71-.85 15.49-.54 23.23 1.05 19.94 5.54 39.83 14.23 57.88 2.99 5.99 6.35 11.83 10.5 17.11 6.12 7.47 12.53 14.76 19.84 21.09 4.8 4.1 9.99 7.78 15.54 10.8 3.27 1.65 6.51 3.39 9.94 4.68 5.01 2.03 10.19 3.61 15.42 4.94 3.83.96 7.78 1.41 11.52 2.71 5 1.57 9.47 4.61 13.03 8.43 4.93 5.23 8.09 11.87 10.2 18.67.99 2.9 1.59 5.91 2.17 8.92.15.75.22 1.52.16 2.29-6.5 2.78-13.26 5.06-20.26 6.18-4.11.78-8.29.99-12.46 1.08-10.25.24-20.47-1.76-30.12-5.12-3.74-1.42-7.49-2.85-11.03-4.72-8.06-3.84-15.64-8.7-22.46-14.46-2.92-2.55-5.83-5.13-8.4-8.03-9.16-9.83-16.3-21.41-21.79-33.65-2.39-5.55-4.61-11.18-6.37-16.96-1.17-3.94-2.36-7.89-3.26-11.91-.75-2.94-1.22-5.95-1.87-8.92-.46-2.14-.69-4.32-1.03-6.48-.85-5.43-1.28-10.93-1.33-16.43.11-6.18.25-12.37 1.07-18.5.4-2.86.67-5.74 1.15-8.6.98-5.7 2.14-11.37 3.71-16.93 3.09-11.65 7.48-22.95 12.69-33.84zm363.73-6.44c1.1 1.66 1.91 3.48 2.78 5.26 2.1 4.45 4.24 8.9 6.02 13.49 7.61 18.76 12.3 38.79 13.04 59.05.02 1.76.07 3.52.11 5.29.13 9.57-1.27 19.09-3.18 28.45-.73 3.59-1.54 7.17-2.58 10.69-4.04 14.72-10 29-18.41 41.78-8.21 12.57-19.01 23.55-31.84 31.41-5.73 3.59-11.79 6.64-18.05 9.19-5.78 2.19-11.71 4.03-17.8 5.11-6.4 1.05-12.91 1.52-19.4 1.23-7.92-.48-15.78-2.07-23.21-4.85-1.94-.8-3.94-1.46-5.84-2.33-.21-1.51.25-2.99.53-4.46 1.16-5.74 3.03-11.36 5.7-16.58 2.37-4.51 5.52-8.65 9.46-11.9 2.43-2.05 5.24-3.61 8.16-4.83 3.58-1.5 7.47-1.97 11.24-2.83 7.23-1.71 14.37-3.93 21.15-7 10.35-4.65 19.71-11.38 27.65-19.46 1.59-1.61 3.23-3.18 4.74-4.87 3.37-3.76 6.71-7.57 9.85-11.53 7.48-10.07 12.82-21.59 16.71-33.48 1.58-5.3 3.21-10.6 4.21-16.05.63-2.87 1.04-5.78 1.52-8.68.87-6.09 1.59-12.22 1.68-18.38.12-6.65.14-13.32-.53-19.94-.73-7.99-1.87-15.96-3.71-23.78z\"],\n \"square-whatsapp\": [448, 512, [\"whatsapp-square\"], \"f40c\", \"M224 122.8c-72.7 0-131.8 59.1-131.9 131.8 0 24.9 7 49.2 20.2 70.1l3.1 5-13.3 48.6 49.9-13.1 4.8 2.9c20.2 12 43.4 18.4 67.1 18.4h.1c72.6 0 133.3-59.1 133.3-131.8 0-35.2-15.2-68.3-40.1-93.2-25-25-58-38.7-93.2-38.7zm77.5 188.4c-3.3 9.3-19.1 17.7-26.7 18.8-12.6 1.9-22.4.9-47.5-9.9-39.7-17.2-65.7-57.2-67.7-59.8-2-2.6-16.2-21.5-16.2-41s10.2-29.1 13.9-33.1c3.6-4 7.9-5 10.6-5 2.6 0 5.3 0 7.6.1 2.4.1 5.7-.9 8.9 6.8 3.3 7.9 11.2 27.4 12.2 29.4s1.7 4.3.3 6.9c-7.6 15.2-15.7 14.6-11.6 21.6 15.3 26.3 30.6 35.4 53.9 47.1 4 2 6.3 1.7 8.6-1 2.3-2.6 9.9-11.6 12.5-15.5 2.6-4 5.3-3.3 8.9-2 3.6 1.3 23.1 10.9 27.1 12.9s6.6 3 7.6 4.6c.9 1.9.9 9.9-2.4 19.1zM400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM223.9 413.2c-26.6 0-52.7-6.7-75.8-19.3L64 416l22.5-82.2c-13.9-24-21.2-51.3-21.2-79.3C65.4 167.1 136.5 96 223.9 96c42.4 0 82.2 16.5 112.2 46.5 29.9 30 47.9 69.8 47.9 112.2 0 87.4-72.7 158.5-160.1 158.5z\"],\n \"node-js\": [448, 512, [], \"f3d3\", \"M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z\"],\n \"edge-legacy\": [512, 512, [], \"e078\", \"M25.71,228.16l.35-.48c0,.16,0,.32-.07.48Zm460.58,15.51c0-44-7.76-84.46-28.81-122.4C416.5,47.88,343.91,8,258.89,8,119,7.72,40.62,113.21,26.06,227.68c42.42-61.31,117.07-121.38,220.37-125,0,0,109.67,0,99.42,105H170c6.37-37.39,18.55-59,34.34-78.93-75.05,34.9-121.85,96.1-120.75,188.32.83,71.45,50.13,144.84,120.75,172,83.35,31.84,192.77,7.2,240.13-21.33V363.31C363.6,419.8,173.6,424.23,172.21,295.74H486.29V243.67Z\"],\n \"slack\": [448, 512, [62447, \"slack-hash\"], \"f198\", \"M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z\"],\n \"medrt\": [544, 512, [], \"f3c8\", \"M113.7 256c0 121.8 83.9 222.8 193.5 241.1-18.7 4.5-38.2 6.9-58.2 6.9C111.4 504 0 393 0 256S111.4 8 248.9 8c20.1 0 39.6 2.4 58.2 6.9C197.5 33.2 113.7 134.2 113.7 256m297.4 100.3c-77.7 55.4-179.6 47.5-240.4-14.6 5.5 14.1 12.7 27.7 21.7 40.5 61.6 88.2 182.4 109.3 269.7 47 87.3-62.3 108.1-184.3 46.5-272.6-9-12.9-19.3-24.3-30.5-34.2 37.4 78.8 10.7 178.5-67 233.9m-218.8-244c-1.4 1-2.7 2.1-4 3.1 64.3-17.8 135.9 4 178.9 60.5 35.7 47 42.9 106.6 24.4 158 56.7-56.2 67.6-142.1 22.3-201.8-50-65.5-149.1-74.4-221.6-19.8M296 224c-4.4 0-8-3.6-8-8v-40c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v40c0 4.4-3.6 8-8 8h-40c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h40c4.4 0 8 3.6 8 8v40c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-40z\"],\n \"usb\": [640, 512, [], \"f287\", \"M641.5 256c0 3.1-1.7 6.1-4.5 7.5L547.9 317c-1.4.8-2.8 1.4-4.5 1.4-1.4 0-3.1-.3-4.5-1.1-2.8-1.7-4.5-4.5-4.5-7.8v-35.6H295.7c25.3 39.6 40.5 106.9 69.6 106.9H392V354c0-5 3.9-8.9 8.9-8.9H490c5 0 8.9 3.9 8.9 8.9v89.1c0 5-3.9 8.9-8.9 8.9h-89.1c-5 0-8.9-3.9-8.9-8.9v-26.7h-26.7c-75.4 0-81.1-142.5-124.7-142.5H140.3c-8.1 30.6-35.9 53.5-69 53.5C32 327.3 0 295.3 0 256s32-71.3 71.3-71.3c33.1 0 61 22.8 69 53.5 39.1 0 43.9 9.5 74.6-60.4C255 88.7 273 95.7 323.8 95.7c7.5-20.9 27-35.6 50.4-35.6 29.5 0 53.5 23.9 53.5 53.5s-23.9 53.5-53.5 53.5c-23.4 0-42.9-14.8-50.4-35.6H294c-29.1 0-44.3 67.4-69.6 106.9h310.1v-35.6c0-3.3 1.7-6.1 4.5-7.8 2.8-1.7 6.4-1.4 8.9.3l89.1 53.5c2.8 1.1 4.5 4.1 4.5 7.2z\"],\n \"tumblr\": [320, 512, [], \"f173\", \"M309.8 480.3c-13.6 14.5-50 31.7-97.4 31.7-120.8 0-147-88.8-147-140.6v-144H17.9c-5.5 0-10-4.5-10-10v-68c0-7.2 4.5-13.6 11.3-16 62-21.8 81.5-76 84.3-117.1.8-11 6.5-16.3 16.1-16.3h70.9c5.5 0 10 4.5 10 10v115.2h83c5.5 0 10 4.4 10 9.9v81.7c0 5.5-4.5 10-10 10h-83.4V360c0 34.2 23.7 53.6 68 35.8 4.8-1.9 9-3.2 12.7-2.2 3.5.9 5.8 3.4 7.4 7.9l22 64.3c1.8 5 3.3 10.6-.4 14.5z\"],\n \"vaadin\": [448, 512, [], \"f408\", \"M224.5 140.7c1.5-17.6 4.9-52.7 49.8-52.7h98.6c20.7 0 32.1-7.8 32.1-21.6V54.1c0-12.2 9.3-22.1 21.5-22.1S448 41.9 448 54.1v36.5c0 42.9-21.5 62-66.8 62H280.7c-30.1 0-33 14.7-33 27.1 0 1.3-.1 2.5-.2 3.7-.7 12.3-10.9 22.2-23.4 22.2s-22.7-9.8-23.4-22.2c-.1-1.2-.2-2.4-.2-3.7 0-12.3-3-27.1-33-27.1H66.8c-45.3 0-66.8-19.1-66.8-62V54.1C0 41.9 9.4 32 21.6 32s21.5 9.9 21.5 22.1v12.3C43.1 80.2 54.5 88 75.2 88h98.6c44.8 0 48.3 35.1 49.8 52.7h.9zM224 456c11.5 0 21.4-7 25.7-16.3 1.1-1.8 97.1-169.6 98.2-171.4 11.9-19.6-3.2-44.3-27.2-44.3-13.9 0-23.3 6.4-29.8 20.3L224 362l-66.9-117.7c-6.4-13.9-15.9-20.3-29.8-20.3-24 0-39.1 24.6-27.2 44.3 1.1 1.9 97.1 169.6 98.2 171.4 4.3 9.3 14.2 16.3 25.7 16.3z\"],\n \"quora\": [448, 512, [], \"f2c4\", \"M440.5 386.7h-29.3c-1.5 13.5-10.5 30.8-33 30.8-20.5 0-35.3-14.2-49.5-35.8 44.2-34.2 74.7-87.5 74.7-153C403.5 111.2 306.8 32 205 32 105.3 32 7.3 111.7 7.3 228.7c0 134.1 131.3 221.6 249 189C276 451.3 302 480 351.5 480c81.8 0 90.8-75.3 89-93.3zM297 329.2C277.5 300 253.3 277 205.5 277c-30.5 0-54.3 10-69 22.8l12.2 24.3c6.2-3 13-4 19.8-4 35.5 0 53.7 30.8 69.2 61.3-10 3-20.7 4.2-32.7 4.2-75 0-107.5-53-107.5-156.7C97.5 124.5 130 71 205 71c76.2 0 108.7 53.5 108.7 157.7.1 41.8-5.4 75.6-16.7 100.5z\"],\n \"reacteurope\": [576, 512, [], \"f75d\", \"M250.6 211.74l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm63.7 0l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.2-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm-91.3 50.5h-3.4c-4.8 0-3.8 4-3.8 12.1 0 4.7-2.3 6.1-5.8 6.1s-5.8-1.4-5.8-6.1v-36.6c0-4.7 2.3-6.1 5.8-6.1s5.8 1.4 5.8 6.1c0 7.2-.7 10.5 3.8 10.5h3.4c4.7-.1 3.8-3.9 3.8-12.3 0-9.9-6.7-14.1-16.8-14.1h-.2c-10.1 0-16.8 4.2-16.8 14.1V276c0 10.4 6.7 14.1 16.8 14.1h.2c10.1 0 16.8-3.8 16.8-14.1 0-9.86 1.1-13.76-3.8-13.76zm-80.7 17.4h-14.7v-19.3H139c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-11.4v-18.3H142c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-21.7c-2.4-.1-3.7 1.3-3.7 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h21.9c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8zm-42-18.5c4.6-2 7.3-6 7.3-12.4v-11.9c0-10.1-6.7-14.1-16.8-14.1H77.4c-2.5 0-3.8 1.3-3.8 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5 0 3.8-1.3 3.8-3.8v-22.9h5.6l7.4 23.5a4.1 4.1 0 0 0 4.3 3.2h3.3c2.8 0 4-1.8 3.2-4.4zm-3.8-14c0 4.8-2.5 6.1-6.1 6.1h-5.8v-20.9h5.8c3.6 0 6.1 1.3 6.1 6.1zM176 226a3.82 3.82 0 0 0-4.2-3.4h-6.9a3.68 3.68 0 0 0-4 3.4l-11 59.2c-.5 2.7.9 4.1 3.4 4.1h3a3.74 3.74 0 0 0 4.1-3.5l1.8-11.3h12.2l1.8 11.3a3.74 3.74 0 0 0 4.1 3.5h3.5c2.6 0 3.9-1.4 3.4-4.1zm-12.3 39.3l4.7-29.7 4.7 29.7zm89.3 20.2v-53.2h7.5c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-25.8c-2.5 0-3.8 1.3-3.8 3.8v2.1c0 2.5 1.3 3.8 3.8 3.8h7.3v53.2c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5.04 3.8-1.3 3.8-3.76zm248-.8h-19.4V258h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9H501a1.81 1.81 0 0 0 2-1.9v-.8a1.84 1.84 0 0 0-2-1.96zm-93.1-62.9h-.8c-10.1 0-15.3 4.7-15.3 14.1V276c0 9.3 5.2 14.1 15.3 14.1h.8c10.1 0 15.3-4.8 15.3-14.1v-40.1c0-9.36-5.2-14.06-15.3-14.06zm10.2 52.4c-.1 8-3 11.1-10.5 11.1s-10.5-3.1-10.5-11.1v-36.6c0-7.9 3-11.1 10.5-11.1s10.5 3.2 10.5 11.1zm-46.5-14.5c6.1-1.6 9.2-6.1 9.2-13.3v-9.7c0-9.4-5.2-14.1-15.3-14.1h-13.7a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.9h11.6l10.4 27.2a2.32 2.32 0 0 0 2.3 1.5h1.5c1.4 0 2-1 1.5-2.3zm-6.4-3.9H355v-28.5h10.2c7.5 0 10.5 3.1 10.5 11.1v6.4c0 7.84-3 11.04-10.5 11.04zm85.9-33.1h-13.7a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.1h10.6c10.1 0 15.3-4.8 15.3-14.1v-10.5c0-9.4-5.2-14.1-15.3-14.1zm10.2 22.8c0 7.9-3 11.1-10.5 11.1h-10.2v-29.2h10.2c7.5-.1 10.5 3.1 10.5 11zM259.5 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm227.6-136.1a364.42 364.42 0 0 0-35.6-11.3c19.6-78 11.6-134.7-22.3-153.9C394.7-12.66 343.3 11 291 61.94q5.1 4.95 10.2 10.2c82.5-80 119.6-53.5 120.9-52.8 22.4 12.7 36 55.8 15.5 137.8a587.83 587.83 0 0 0-84.6-13C281.1 43.64 212.4 2 170.8 2 140 2 127 23 123.2 29.74c-18.1 32-13.3 84.2.1 133.8-70.5 20.3-120.7 54.1-120.3 95 .5 59.6 103.2 87.8 122.1 92.8-20.5 81.9-10.1 135.6 22.3 153.9 28 15.8 75.1 6 138.2-55.2q-5.1-4.95-10.2-10.2c-82.5 80-119.7 53.5-120.9 52.8-22.3-12.6-36-55.6-15.5-137.9 12.4 2.9 41.8 9.5 84.6 13 71.9 100.4 140.6 142 182.1 142 30.8 0 43.8-21 47.6-27.7 18-31.9 13.3-84.1-.1-133.8 152.3-43.8 156.2-130.2 33.9-176.3zM135.9 36.84c2.9-5.1 11.9-20.3 34.9-20.3 36.8 0 98.8 39.6 163.3 126.2a714 714 0 0 0-93.9.9 547.76 547.76 0 0 1 42.2-52.4Q277.3 86 272.2 81a598.25 598.25 0 0 0-50.7 64.2 569.69 569.69 0 0 0-84.4 14.6c-.2-1.4-24.3-82.2-1.2-123zm304.8 438.3c-2.9 5.1-11.8 20.3-34.9 20.3-36.7 0-98.7-39.4-163.3-126.2a695.38 695.38 0 0 0 93.9-.9 547.76 547.76 0 0 1-42.2 52.4q5.1 5.25 10.2 10.2a588.47 588.47 0 0 0 50.7-64.2c47.3-4.7 80.3-13.5 84.4-14.6 22.7 84.4 4.5 117 1.2 123zm9.1-138.6c-3.6-11.9-7.7-24.1-12.4-36.4a12.67 12.67 0 0 1-10.7-5.7l-.1.1a19.61 19.61 0 0 1-5.4 3.6c5.7 14.3 10.6 28.4 14.7 42.2a535.3 535.3 0 0 1-72 13c3.5-5.3 17.2-26.2 32.2-54.2a24.6 24.6 0 0 1-6-3.2c-1.1 1.2-3.6 4.2-10.9 4.2-6.2 11.2-17.4 30.9-33.9 55.2a711.91 711.91 0 0 1-112.4 1c-7.9-11.2-21.5-31.1-36.8-57.8a21 21 0 0 1-3-1.5c-1.9 1.6-3.9 3.2-12.6 3.2 6.3 11.2 17.5 30.7 33.8 54.6a548.81 548.81 0 0 1-72.2-11.7q5.85-21 14.1-42.9c-3.2 0-5.4.2-8.4-1a17.58 17.58 0 0 1-6.9 1c-4.9 13.4-9.1 26.5-12.7 39.4C-31.7 297-12.1 216 126.7 175.64c3.6 11.9 7.7 24.1 12.4 36.4 10.4 0 12.9 3.4 14.4 5.3a12 12 0 0 1 2.3-2.2c-5.8-14.7-10.9-29.2-15.2-43.3 7-1.8 32.4-8.4 72-13-15.9 24.3-26.7 43.9-32.8 55.3a14.22 14.22 0 0 1 6.4 8 23.42 23.42 0 0 1 10.2-8.4c6.5-11.7 17.9-31.9 34.8-56.9a711.72 711.72 0 0 1 112.4-1c31.5 44.6 28.9 48.1 42.5 64.5a21.42 21.42 0 0 1 10.4-7.4c-6.4-11.4-17.6-31-34.3-55.5 40.4 4.1 65 10 72.2 11.7-4 14.4-8.9 29.2-14.6 44.2a20.74 20.74 0 0 1 6.8 4.3l.1.1a12.72 12.72 0 0 1 8.9-5.6c4.9-13.4 9.2-26.6 12.8-39.5a359.71 359.71 0 0 1 34.5 11c106.1 39.9 74 87.9 72.6 90.4-19.8 35.1-80.1 55.2-105.7 62.5zm-114.4-114h-1.2a1.74 1.74 0 0 0-1.9 1.9v49.8c0 7.9-2.6 11.1-10.1 11.1s-10.1-3.1-10.1-11.1v-49.8a1.69 1.69 0 0 0-1.9-1.9H309a1.81 1.81 0 0 0-2 1.9v51.5c0 9.6 5 14.1 15.1 14.1h.4c10.1 0 15.1-4.6 15.1-14.1v-51.5a2 2 0 0 0-2.2-1.9zM321.7 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm-31.1 7.4l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm5.1-30.8h-19.4v-26.7h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h22.5a1.77 1.77 0 0 0 2-1.9v-.8a1.83 1.83 0 0 0-2-2.06zm-7.4-99.4L286 192l-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1z\"],\n \"medium\": [640, 512, [62407, \"medium-m\"], \"f23a\", \"M180.5,74.262C80.813,74.262,0,155.633,0,256S80.819,437.738,180.5,437.738,361,356.373,361,256,280.191,74.262,180.5,74.262Zm288.25,10.646c-49.845,0-90.245,76.619-90.245,171.095s40.406,171.1,90.251,171.1,90.251-76.619,90.251-171.1H559C559,161.5,518.6,84.908,468.752,84.908Zm139.506,17.821c-17.526,0-31.735,68.628-31.735,153.274s14.2,153.274,31.735,153.274S640,340.631,640,256C640,171.351,625.785,102.729,608.258,102.729Z\"],\n \"amilia\": [448, 512, [], \"f36d\", \"M240.1 32c-61.9 0-131.5 16.9-184.2 55.4-5.1 3.1-9.1 9.2-7.2 19.4 1.1 5.1 5.1 27.4 10.2 39.6 4.1 10.2 14.2 10.2 20.3 6.1 32.5-22.3 96.5-47.7 152.3-47.7 57.9 0 58.9 28.4 58.9 73.1v38.5C203 227.7 78.2 251 46.7 264.2 11.2 280.5 16.3 357.7 16.3 376s15.2 104 124.9 104c47.8 0 113.7-20.7 153.3-42.1v25.4c0 3 2.1 8.2 6.1 9.1 3.1 1 50.7 2 59.9 2s62.5.3 66.5-.7c4.1-1 5.1-6.1 5.1-9.1V168c-.1-80.3-57.9-136-192-136zm50.2 348c-21.4 13.2-48.7 24.4-79.1 24.4-52.8 0-58.9-33.5-59-44.7 0-12.2-3-42.7 18.3-52.9 24.3-13.2 75.1-29.4 119.8-33.5z\"],\n \"mixcloud\": [640, 512, [], \"f289\", \"M212.98 346.566H179.789V195.114L185.973 173.47H175.262L137.127 346.566H76.1069L37.7323 173.47H27.276L33.1913 195.114V346.566H0V165H65.6506L102.248 338.096H110.747L147.329 165H212.98L212.98 346.566ZM544.459 283.589L458.434 345.655V307.534L531.329 255.776L458.434 204.017V165.896L544.459 228.231H553.721L640 165.896V204.017L566.866 255.776L640 307.549V345.655L553.721 283.589H544.459ZM430.157 272.311H248.113V239.255H430.157V272.311Z\"],\n \"flipboard\": [448, 512, [], \"f44d\", \"M0 32v448h448V32H0zm358.4 179.2h-89.6v89.6h-89.6v89.6H89.6V121.6h268.8v89.6z\"],\n \"viacoin\": [384, 512, [], \"f237\", \"M384 32h-64l-80.7 192h-94.5L64 32H0l48 112H0v48h68.5l13.8 32H0v48h102.8L192 480l89.2-208H384v-48h-82.3l13.8-32H384v-48h-48l48-112zM192 336l-27-64h54l-27 64z\"],\n \"critical-role\": [448, 512, [], \"f6c9\", \"M225.82 0c.26.15 216.57 124.51 217.12 124.72 3 1.18 3.7 3.46 3.7 6.56q-.11 125.17 0 250.36a5.88 5.88 0 0 1-3.38 5.78c-21.37 12-207.86 118.29-218.93 124.58h-3C142 466.34 3.08 386.56 2.93 386.48a3.29 3.29 0 0 1-1.88-3.24c0-.87 0-225.94-.05-253.1a5 5 0 0 1 2.93-4.93C27.19 112.11 213.2 6 224.07 0zM215.4 20.42l-.22-.16Q118.06 75.55 21 130.87c0 .12.08.23.13.35l30.86 11.64c-7.71 6-8.32 6-10.65 5.13-.1 0-24.17-9.28-26.8-10v230.43c.88-1.41 64.07-110.91 64.13-111 1.62-2.82 3-1.92 9.12-1.52 1.4.09 1.48.22.78 1.42-41.19 71.33-36.4 63-67.48 116.94-.81 1.4-.61 1.13 1.25 1.13h186.5c1.44 0 1.69-.23 1.7-1.64v-8.88c0-1.34 2.36-.81-18.37-1-7.46-.07-14.14-3.22-21.38-12.7-7.38-9.66-14.62-19.43-21.85-29.21-2.28-3.08-3.45-2.38-16.76-2.38-1.75 0-1.78 0-1.76 1.82.29 26.21.15 25.27 1 32.66.52 4.37 2.16 4.2 9.69 4.81 3.14.26 3.88 4.08.52 4.92-1.57.39-31.6.51-33.67-.1a2.42 2.42 0 0 1 .3-4.73c3.29-.76 6.16.81 6.66-4.44 1.3-13.66 1.17-9 1.1-79.42 0-10.82-.35-12.58-5.36-13.55-1.22-.24-3.54-.16-4.69-.55-2.88-1-2-4.84 1.77-4.85 33.67 0 46.08-1.07 56.06 4.86 7.74 4.61 12 11.48 12.51 20.4.88 14.59-6.51 22.35-15 32.59a1.46 1.46 0 0 0 0 2.22c2.6 3.25 5 6.63 7.71 9.83 27.56 33.23 24.11 30.54 41.28 33.06.89.13 1-.42 1-1.15v-11c0-1 .32-1.43 1.41-1.26a72.37 72.37 0 0 0 23.58-.3c1.08-.15 1.5.2 1.48 1.33 0 .11.88 26.69.87 26.8-.05 1.52.67 1.62 1.89 1.62h186.71Q386.51 304.6 346 234.33c2.26-.66-.4 0 6.69-1.39 2-.39 2.05-.41 3.11 1.44 7.31 12.64 77.31 134 77.37 134.06V138c-1.72.5-103.3 38.72-105.76 39.68-1.08.42-1.55.2-1.91-.88-.63-1.9-1.34-3.76-2.09-5.62-.32-.79-.09-1.13.65-1.39.1 0 95.53-35.85 103-38.77-65.42-37.57-130.56-75-196-112.6l86.82 150.39-.28.33c-9.57-.9-10.46-1.6-11.8-3.94-1-1.69-73.5-127.71-82-142.16-9.1 14.67-83.56 146.21-85.37 146.32-2.93.17-5.88.08-9.25.08q43.25-74.74 86.18-149zm51.93 129.92a37.68 37.68 0 0 0 5.54-.85c1.69-.3 2.53.2 2.6 1.92 0 .11.07 19.06-.86 20.45s-1.88 1.22-2.6-.19c-5-9.69 6.22-9.66-39.12-12-.7 0-1 .23-1 .93 0 .13 3.72 122 3.73 122.11 0 .89.52 1.2 1.21 1.51a83.92 83.92 0 0 1 8.7 4.05c7.31 4.33 11.38 10.84 12.41 19.31 1.44 11.8-2.77 35.77-32.21 37.14-2.75.13-28.26 1.08-34.14-23.25-4.66-19.26 8.26-32.7 19.89-36.4a2.45 2.45 0 0 0 2-2.66c.1-5.63 3-107.1 3.71-121.35.05-1.08-.62-1.16-1.35-1.15-32.35.52-36.75-.34-40.22 8.52-2.42 6.18-4.14 1.32-3.95.23q1.59-9 3.31-18c.4-2.11 1.43-2.61 3.43-1.86 5.59 2.11 6.72 1.7 37.25 1.92 1.73 0 1.78-.08 1.82-1.85.68-27.49.58-22.59 1-29.55a2.69 2.69 0 0 0-1.63-2.8c-5.6-2.91-8.75-7.55-8.9-13.87-.35-14.81 17.72-21.67 27.38-11.51 6.84 7.19 5.8 18.91-2.45 24.15a4.35 4.35 0 0 0-2.22 4.34c0 .59-.11-4.31 1 30.05 0 .9.43 1.12 1.24 1.11.1 0 23-.09 34.47-.37zM68.27 141.7c19.84-4.51 32.68-.56 52.49 1.69 2.76.31 3.74 1.22 3.62 4-.21 5-1.16 22.33-1.24 23.15a2.65 2.65 0 0 1-1.63 2.34c-4.06 1.7-3.61-4.45-4-7.29-3.13-22.43-73.87-32.7-74.63 25.4-.31 23.92 17 53.63 54.08 50.88 27.24-2 19-20.19 24.84-20.47a2.72 2.72 0 0 1 3 3.36c-1.83 10.85-3.42 18.95-3.45 19.15-1.54 9.17-86.7 22.09-93.35-42.06-2.71-25.85 10.44-53.37 40.27-60.15zm80 87.67h-19.49a2.57 2.57 0 0 1-2.66-1.79c2.38-3.75 5.89.92 5.86-6.14-.08-25.75.21-38 .23-40.1 0-3.42-.53-4.65-3.32-4.94-7-.72-3.11-3.37-1.11-3.38 11.84-.1 22.62-.18 30.05.72 8.77 1.07 16.71 12.63 7.93 22.62-2 2.25-4 4.42-6.14 6.73.95 1.15 6.9 8.82 17.28 19.68 2.66 2.78 6.15 3.51 9.88 3.13a2.21 2.21 0 0 0 2.23-2.12c.3-3.42.26 4.73.45-40.58 0-5.65-.34-6.58-3.23-6.83-3.95-.35-4-2.26-.69-3.37l19.09-.09c.32 0 4.49.53 1 3.38 0 .05-.16 0-.24 0-3.61.26-3.94 1-4 4.62-.27 43.93.07 40.23.41 42.82.11.84.27 2.23 5.1 2.14 2.49 0 3.86 3.37 0 3.4-10.37.08-20.74 0-31.11.07-10.67 0-13.47-6.2-24.21-20.82-1.6-2.18-8.31-2.36-8.2-.37.88 16.47 0 17.78 4 17.67 4.75-.1 4.73 3.57.83 3.55zm275-10.15c-1.21 7.13.17 10.38-5.3 10.34-61.55-.42-47.82-.22-50.72-.31a18.4 18.4 0 0 1-3.63-.73c-2.53-.6 1.48-1.23-.38-5.6-1.43-3.37-2.78-6.78-4.11-10.19a1.94 1.94 0 0 0-2-1.44 138 138 0 0 0-14.58.07 2.23 2.23 0 0 0-1.62 1.06c-1.58 3.62-3.07 7.29-4.51 11-1.27 3.23 7.86 1.32 12.19 2.16 3 .57 4.53 3.72.66 3.73H322.9c-2.92 0-3.09-3.15-.74-3.21a6.3 6.3 0 0 0 5.92-3.47c1.5-3 2.8-6 4.11-9.09 18.18-42.14 17.06-40.17 18.42-41.61a1.83 1.83 0 0 1 3 0c2.93 3.34 18.4 44.71 23.62 51.92 2 2.7 5.74 2 6.36 2 3.61.13 4-1.11 4.13-4.29.09-1.87.08 1.17.07-41.24 0-4.46-2.36-3.74-5.55-4.27-.26 0-2.56-.63-.08-3.06.21-.2-.89-.24 21.7-.15 2.32 0 5.32 2.75-1.21 3.45a2.56 2.56 0 0 0-2.66 2.83c-.07 1.63-.19 38.89.29 41.21a3.06 3.06 0 0 0 3.23 2.43c13.25.43 14.92.44 16-3.41 1.67-5.78 4.13-2.52 3.73-.19zm-104.72 64.37c-4.24 0-4.42-3.39-.61-3.41 35.91-.16 28.11.38 37.19-.65 1.68-.19 2.38.24 2.25 1.89-.26 3.39-.64 6.78-1 10.16-.25 2.16-3.2 2.61-3.4-.15-.38-5.31-2.15-4.45-15.63-5.08-1.58-.07-1.64 0-1.64 1.52V304c0 1.65 0 1.6 1.62 1.47 3.12-.25 10.31.34 15.69-1.52.47-.16 3.3-1.79 3.07 1.76 0 .21-.76 10.35-1.18 11.39-.53 1.29-1.88 1.51-2.58.32-1.17-2 0-5.08-3.71-5.3-15.42-.9-12.91-2.55-12.91 6 0 12.25-.76 16.11 3.89 16.24 16.64.48 14.4 0 16.43-5.71.84-2.37 3.5-1.77 3.18.58-.44 3.21-.85 6.43-1.23 9.64 0 .36-.16 2.4-4.66 2.39-37.16-.08-34.54-.19-35.21-.31-2.72-.51-2.2-3 .22-3.45 1.1-.19 4 .54 4.16-2.56 2.44-56.22-.07-51.34-3.91-51.33zm-.41-109.52c2.46.61 3.13 1.76 2.95 4.65-.33 5.3-.34 9-.55 9.69-.66 2.23-3.15 2.12-3.34-.27-.38-4.81-3.05-7.82-7.57-9.15-26.28-7.73-32.81 15.46-27.17 30.22 5.88 15.41 22 15.92 28.86 13.78 5.92-1.85 5.88-6.5 6.91-7.58 1.23-1.3 2.25-1.84 3.12 1.1 0 .1.57 11.89-6 12.75-1.6.21-19.38 3.69-32.68-3.39-21-11.19-16.74-35.47-6.88-45.33 14-14.06 39.91-7.06 42.32-6.47zM289.8 280.14c3.28 0 3.66 3 .16 3.43-2.61.32-5-.42-5 5.46 0 2-.19 29.05.4 41.45.11 2.29 1.15 3.52 3.44 3.65 22 1.21 14.95-1.65 18.79-6.34 1.83-2.24 2.76.84 2.76 1.08.35 13.62-4 12.39-5.19 12.4l-38.16-.19c-1.93-.23-2.06-3-.42-3.38 2-.48 4.94.4 5.13-2.8 1-15.87.57-44.65.34-47.81-.27-3.77-2.8-3.27-5.68-3.71-2.47-.38-2-3.22.34-3.22 1.45-.02 17.97-.03 23.09-.02zm-31.63-57.79c.07 4.08 2.86 3.46 6 3.58 2.61.1 2.53 3.41-.07 3.43-6.48 0-13.7 0-21.61-.06-3.84 0-3.38-3.35 0-3.37 4.49 0 3.24 1.61 3.41-45.54 0-5.08-3.27-3.54-4.72-4.23-2.58-1.23-1.36-3.09.41-3.15 1.29 0 20.19-.41 21.17.21s1.87 1.65-.42 2.86c-1 .52-3.86-.28-4.15 2.47 0 .21-.82 1.63-.07 43.8zm-36.91 274.27a2.93 2.93 0 0 0 3.26 0c17-9.79 182-103.57 197.42-112.51-.14-.43 11.26-.18-181.52-.27-1.22 0-1.57.37-1.53 1.56 0 .1 1.25 44.51 1.22 50.38a28.33 28.33 0 0 1-1.36 7.71c-.55 1.83.38-.5-13.5 32.23-.73 1.72-1 2.21-2-.08-4.19-10.34-8.28-20.72-12.57-31a23.6 23.6 0 0 1-2-10.79c.16-2.46.8-16.12 1.51-48 0-1.95 0-2-2-2h-183c2.58 1.63 178.32 102.57 196 112.76zm-90.9-188.75c0 2.4.36 2.79 2.76 3 11.54 1.17 21 3.74 25.64-7.32 6-14.46 2.66-34.41-12.48-38.84-2-.59-16-2.76-15.94 1.51.05 8.04.01 11.61.02 41.65zm105.75-15.05c0 2.13 1.07 38.68 1.09 39.13.34 9.94-25.58 5.77-25.23-2.59.08-2 1.37-37.42 1.1-39.43-14.1 7.44-14.42 40.21 6.44 48.8a17.9 17.9 0 0 0 22.39-7.07c4.91-7.76 6.84-29.47-5.43-39a2.53 2.53 0 0 1-.36.12zm-12.28-198c-9.83 0-9.73 14.75-.07 14.87s10.1-14.88.07-14.91zm-80.15 103.83c0 1.8.41 2.4 2.17 2.58 13.62 1.39 12.51-11 12.16-13.36-1.69-11.22-14.38-10.2-14.35-7.81.05 4.5-.03 13.68.02 18.59zm212.32 6.4l-6.1-15.84c-2.16 5.48-4.16 10.57-6.23 15.84z\"],\n \"sitrox\": [448, 512, [], \"e44a\", \"M212.439 0.00846128V0H448V128H64C64 57.6008 141.755 0.475338 212.439 0.00846128ZM237.256 192V192.007C307.135 192.475 384 249.6 384 320H210.809V319.995C140.915 319.563 64 262.424 64 192H237.256ZM235.565 511.993C306.251 511.521 384 454.399 384 384H0V512H235.565V511.993Z\"],\n \"discourse\": [448, 512, [], \"f393\", \"M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z\"],\n \"joomla\": [448, 512, [], \"f1aa\", \"M.6 92.1C.6 58.8 27.4 32 60.4 32c30 0 54.5 21.9 59.2 50.2 32.6-7.6 67.1.6 96.5 30l-44.3 44.3c-20.5-20.5-42.6-16.3-55.4-3.5-14.3 14.3-14.3 37.9 0 52.2l99.5 99.5-44 44.3c-87.7-87.2-49.7-49.7-99.8-99.7-26.8-26.5-35-64.8-24.8-98.9C20.4 144.6.6 120.7.6 92.1zm129.5 116.4l44.3 44.3c10-10 89.7-89.7 99.7-99.8 14.3-14.3 37.6-14.3 51.9 0 12.8 12.8 17 35-3.5 55.4l44 44.3c31.2-31.2 38.5-67.6 28.9-101.2 29.2-4.1 51.9-29.2 51.9-59.5 0-33.2-26.8-60.1-59.8-60.1-30.3 0-55.4 22.5-59.5 51.6-33.8-9.9-71.7-1.5-98.3 25.1-18.3 19.1-71.1 71.5-99.6 99.9zm266.3 152.2c8.2-32.7-.9-68.5-26.3-93.9-11.8-12.2 5 4.7-99.5-99.7l-44.3 44.3 99.7 99.7c14.3 14.3 14.3 37.6 0 51.9-12.8 12.8-35 17-55.4-3.5l-44 44.3c27.6 30.2 68 38.8 102.7 28 5.5 27.4 29.7 48.1 58.9 48.1 33 0 59.8-26.8 59.8-60.1 0-30.2-22.5-55-51.6-59.1zm-84.3-53.1l-44-44.3c-87 86.4-50.4 50.4-99.7 99.8-14.3 14.3-37.6 14.3-51.9 0-13.1-13.4-16.9-35.3 3.2-55.4l-44-44.3c-30.2 30.2-38 65.2-29.5 98.3-26.7 6-46.2 29.9-46.2 58.2C0 453.2 26.8 480 59.8 480c28.6 0 52.5-19.8 58.6-46.7 32.7 8.2 68.5-.6 94.2-26 32.1-32 12.2-12.4 99.5-99.7z\"],\n \"mastodon\": [448, 512, [], \"f4f6\", \"M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z\"],\n \"airbnb\": [448, 512, [], \"f834\", \"M224 373.12c-25.24-31.67-40.08-59.43-45-83.18-22.55-88 112.61-88 90.06 0-5.45 24.25-20.29 52-45 83.18zm138.15 73.23c-42.06 18.31-83.67-10.88-119.3-50.47 103.9-130.07 46.11-200-18.85-200-54.92 0-85.16 46.51-73.28 100.5 6.93 29.19 25.23 62.39 54.43 99.5-32.53 36.05-60.55 52.69-85.15 54.92-50 7.43-89.11-41.06-71.3-91.09 15.1-39.16 111.72-231.18 115.87-241.56 15.75-30.07 25.56-57.4 59.38-57.4 32.34 0 43.4 25.94 60.37 59.87 36 70.62 89.35 177.48 114.84 239.09 13.17 33.07-1.37 71.29-37.01 86.64zm47-136.12C280.27 35.93 273.13 32 224 32c-45.52 0-64.87 31.67-84.66 72.79C33.18 317.1 22.89 347.19 22 349.81-3.22 419.14 48.74 480 111.63 480c21.71 0 60.61-6.06 112.37-62.4 58.68 63.78 101.26 62.4 112.37 62.4 62.89.05 114.85-60.86 89.61-130.19.02-3.89-16.82-38.9-16.82-39.58z\"],\n \"wolf-pack-battalion\": [512, 512, [], \"f514\", \"M267.73 471.53l10.56 15.84 5.28-12.32 5.28 7V512c21.06-7.92 21.11-66.86 25.51-97.21 4.62-31.89-.88-92.81 81.37-149.11-8.88-23.61-12-49.43-2.64-80.05C421 189 447 196.21 456.43 239.73l-30.35 8.36c11.15 23 17 46.76 13.2 72.14L412 313.18l-6.16 33.43-18.47-7-8.8 33.39-19.35-7 26.39 21.11 8.8-28.15L419 364.2l7-35.63 26.39 14.52c.25-20 7-58.06-8.8-84.45l26.39 5.28c4-22.07-2.38-39.21-7.92-56.74l22.43 9.68c-.44-25.07-29.94-56.79-61.58-58.5-20.22-1.09-56.74-25.17-54.1-51.9 2-19.87 17.45-42.62 43.11-49.7-44 36.51-9.68 67.3 5.28 73.46 4.4-11.44 17.54-69.08 0-130.2-40.39 22.87-89.65 65.1-93.2 147.79l-58 38.71-3.52 93.25L369.78 220l7 7-17.59 3.52-44 38.71-15.84-5.28-28.1 49.25-3.52 119.64 21.11 15.84-32.55 15.84-32.55-15.84 21.11-15.84-3.52-119.64-28.15-49.26-15.84 5.28-44-38.71-17.58-3.51 7-7 107.33 59.82-3.52-93.25-58.06-38.71C185 65.1 135.77 22.87 95.3 0c-17.54 61.12-4.4 118.76 0 130.2 15-6.16 49.26-36.95 5.28-73.46 25.66 7.08 41.15 29.83 43.11 49.7 2.63 26.74-33.88 50.81-54.1 51.9-31.65 1.72-61.15 33.44-61.59 58.51l22.43-9.68c-5.54 17.53-11.91 34.67-7.92 56.74l26.39-5.28c-15.76 26.39-9.05 64.43-8.8 84.45l26.39-14.52 7 35.63 24.63-5.28 8.8 28.15L153.35 366 134 373l-8.8-33.43-18.47 7-6.16-33.43-27.27 7c-3.82-25.38 2-49.1 13.2-72.14l-30.35-8.36c9.4-43.52 35.47-50.77 63.34-54.1 9.36 30.62 6.24 56.45-2.64 80.05 82.25 56.3 76.75 117.23 81.37 149.11 4.4 30.35 4.45 89.29 25.51 97.21v-29.83l5.28-7 5.28 12.32 10.56-15.84 11.44 21.11 11.43-21.1zm79.17-95L331.06 366c7.47-4.36 13.76-8.42 19.35-12.32-.6 7.22-.27 13.84-3.51 22.84zm28.15-49.26c-.4 10.94-.9 21.66-1.76 31.67-7.85-1.86-15.57-3.8-21.11-7 8.24-7.94 15.55-16.32 22.87-24.68zm24.63 5.28c0-13.43-2.05-24.21-5.28-33.43a235 235 0 0 1-18.47 27.27zm3.52-80.94c19.44 12.81 27.8 33.66 29.91 56.3-12.32-4.53-24.63-9.31-36.95-10.56 5.06-12 6.65-28.14 7-45.74zm-1.76-45.74c.81 14.3 1.84 28.82 1.76 42.23 19.22-8.11 29.78-9.72 44-14.08-10.61-18.96-27.2-25.53-45.76-28.16zM165.68 376.52L181.52 366c-7.47-4.36-13.76-8.42-19.35-12.32.6 7.26.27 13.88 3.51 22.88zm-28.15-49.26c.4 10.94.9 21.66 1.76 31.67 7.85-1.86 15.57-3.8 21.11-7-8.24-7.93-15.55-16.31-22.87-24.67zm-24.64 5.28c0-13.43 2-24.21 5.28-33.43a235 235 0 0 0 18.47 27.27zm-3.52-80.94c-19.44 12.81-27.8 33.66-29.91 56.3 12.32-4.53 24.63-9.31 37-10.56-5-12-6.65-28.14-7-45.74zm1.76-45.74c-.81 14.3-1.84 28.82-1.76 42.23-19.22-8.11-29.78-9.72-44-14.08 10.63-18.95 27.23-25.52 45.76-28.15z\"],\n \"buy-n-large\": [576, 512, [], \"f8a6\", \"M288 32C133.27 32 7.79 132.32 7.79 256S133.27 480 288 480s280.21-100.32 280.21-224S442.73 32 288 32zm-85.39 357.19L64.1 390.55l77.25-290.74h133.44c63.15 0 84.93 28.65 78 72.84a60.24 60.24 0 0 1-1.5 6.85 77.39 77.39 0 0 0-17.21-1.93c-42.35 0-76.69 33.88-76.69 75.65 0 37.14 27.14 68 62.93 74.45-18.24 37.16-56.16 60.92-117.71 61.52zM358 207.11h32l-22.16 90.31h-35.41l-11.19-35.63-7.83 35.63h-37.83l26.63-90.31h31.34l15 36.75zm145.86 182.08H306.79L322.63 328a78.8 78.8 0 0 0 11.47.83c42.34 0 76.69-33.87 76.69-75.65 0-32.65-21-60.46-50.38-71.06l21.33-82.35h92.5l-53.05 205.36h103.87zM211.7 269.39H187l-13.8 56.47h24.7c16.14 0 32.11-3.18 37.94-26.65 5.56-22.31-7.99-29.82-24.14-29.82zM233 170h-21.34L200 217.71h21.37c18 0 35.38-14.64 39.21-30.14C265.23 168.71 251.07 170 233 170z\"],\n \"gulp\": [256, 512, [], \"f3ae\", \"M209.8 391.1l-14.1 24.6-4.6 80.2c0 8.9-28.3 16.1-63.1 16.1s-63.1-7.2-63.1-16.1l-5.8-79.4-14.9-25.4c41.2 17.3 126 16.7 165.6 0zm-196-253.3l13.6 125.5c5.9-20 20.8-47 40-55.2 6.3-2.7 12.7-2.7 18.7.9 5.2 3 9.6 9.3 10.1 11.8 1.2 6.5-2 9.1-4.5 9.1-3 0-5.3-4.6-6.8-7.3-4.1-7.3-10.3-7.6-16.9-2.8-6.9 5-12.9 13.4-17.1 20.7-5.1 8.8-9.4 18.5-12 28.2-1.5 5.6-2.9 14.6-.6 19.9 1 2.2 2.5 3.6 4.9 3.6 5 0 12.3-6.6 15.8-10.1 4.5-4.5 10.3-11.5 12.5-16l5.2-15.5c2.6-6.8 9.9-5.6 9.9 0 0 10.2-3.7 13.6-10 34.7-5.8 19.5-7.6 25.8-7.6 25.8-.7 2.8-3.4 7.5-6.3 7.5-1.2 0-2.1-.4-2.6-1.2-1-1.4-.9-5.3-.8-6.3.2-3.2 6.3-22.2 7.3-25.2-2 2.2-4.1 4.4-6.4 6.6-5.4 5.1-14.1 11.8-21.5 11.8-3.4 0-5.6-.9-7.7-2.4l7.6 79.6c2 5 39.2 17.1 88.2 17.1 49.1 0 86.3-12.2 88.2-17.1l10.9-94.6c-5.7 5.2-12.3 11.6-19.6 14.8-5.4 2.3-17.4 3.8-17.4-5.7 0-5.2 9.1-14.8 14.4-21.5 1.4-1.7 4.7-5.9 4.7-8.1 0-2.9-6-2.2-11.7 2.5-3.2 2.7-6.2 6.3-8.7 9.7-4.3 6-6.6 11.2-8.5 15.5-6.2 14.2-4.1 8.6-9.1 22-5 13.3-4.2 11.8-5.2 14-.9 1.9-2.2 3.5-4 4.5-1.9 1-4.5.9-6.1-.3-.9-.6-1.3-1.9-1.3-3.7 0-.9.1-1.8.3-2.7 1.5-6.1 7.8-18.1 15-34.3 1.6-3.7 1-2.6.8-2.3-6.2 6-10.9 8.9-14.4 10.5-5.8 2.6-13 2.6-14.5-4.1-.1-.4-.1-.8-.2-1.2-11.8 9.2-24.3 11.7-20-8.1-4.6 8.2-12.6 14.9-22.4 14.9-4.1 0-7.1-1.4-8.6-5.1-2.3-5.5 1.3-14.9 4.6-23.8 1.7-4.5 4-9.9 7.1-16.2 1.6-3.4 4.2-5.4 7.6-4.5.6.2 1.1.4 1.6.7 2.6 1.8 1.6 4.5.3 7.2-3.8 7.5-7.1 13-9.3 20.8-.9 3.3-2 9 1.5 9 2.4 0 4.7-.8 6.9-2.4 4.6-3.4 8.3-8.5 11.1-13.5 2-3.6 4.4-8.3 5.6-12.3.5-1.7 1.1-3.3 1.8-4.8 1.1-2.5 2.6-5.1 5.2-5.1 1.3 0 2.4.5 3.2 1.5 1.7 2.2 1.3 4.5.4 6.9-2 5.6-4.7 10.6-6.9 16.7-1.3 3.5-2.7 8-2.7 11.7 0 3.4 3.7 2.6 6.8 1.2 2.4-1.1 4.8-2.8 6.8-4.5 1.2-4.9.9-3.8 26.4-68.2 1.3-3.3 3.7-4.7 6.1-4.7 1.2 0 2.2.4 3.2 1.1 1.7 1.3 1.7 4.1 1 6.2-.7 1.9-.6 1.3-4.5 10.5-5.2 12.1-8.6 20.8-13.2 31.9-1.9 4.6-7.7 18.9-8.7 22.3-.6 2.2-1.3 5.8 1 5.8 5.4 0 19.3-13.1 23.1-17 .2-.3.5-.4.9-.6.6-1.9 1.2-3.7 1.7-5.5 1.4-3.8 2.7-8.2 5.3-11.3.8-1 1.7-1.6 2.7-1.6 2.8 0 4.2 1.2 4.2 4 0 1.1-.7 5.1-1.1 6.2 1.4-1.5 2.9-3 4.5-4.5 15-13.9 25.7-6.8 25.7.2 0 7.4-8.9 17.7-13.8 23.4-1.6 1.9-4.9 5.4-5 6.4 0 1.3.9 1.8 2.2 1.8 2 0 6.4-3.5 8-4.7 5-3.9 11.8-9.9 16.6-14.1l14.8-136.8c-30.5 17.1-197.6 17.2-228.3.2zm229.7-8.5c0 21-231.2 21-231.2 0 0-8.8 51.8-15.9 115.6-15.9 9 0 17.8.1 26.3.4l12.6-48.7L228.1.6c1.4-1.4 5.8-.2 9.9 3.5s6.6 7.9 5.3 9.3l-.1.1L185.9 74l-10 40.7c39.9 2.6 67.6 8.1 67.6 14.6zm-69.4 4.6c0-.8-.9-1.5-2.5-2.1l-.2.8c0 1.3-5 2.4-11.1 2.4s-11.1-1.1-11.1-2.4c0-.1 0-.2.1-.3l.2-.7c-1.8.6-3 1.4-3 2.3 0 2.1 6.2 3.7 13.7 3.7 7.7.1 13.9-1.6 13.9-3.7z\"],\n \"creative-commons-sampling-plus\": [496, 512, [], \"f4f1\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm107 205.6c-4.7 0-9 2.8-10.7 7.2l-4 9.5-11-92.8c-1.7-13.9-22-13.4-23.1.4l-4.3 51.4-5.2-68.8c-1.1-14.3-22.1-14.2-23.2 0l-3.5 44.9-5.9-94.3c-.9-14.5-22.3-14.4-23.2 0l-5.1 83.7-4.3-66.3c-.9-14.4-22.2-14.4-23.2 0l-5.3 80.2-4.1-57c-1.1-14.3-22-14.3-23.2-.2l-7.7 89.8-1.8-12.2c-1.7-11.4-17.1-13.6-22-3.3l-13.2 27.7H87.5v23.2h51.3c4.4 0 8.4-2.5 10.4-6.4l10.7 73.1c2 13.5 21.9 13 23.1-.7l3.8-43.6 5.7 78.3c1.1 14.4 22.3 14.2 23.2-.1l4.6-70.4 4.8 73.3c.9 14.4 22.3 14.4 23.2-.1l4.9-80.5 4.5 71.8c.9 14.3 22.1 14.5 23.2.2l4.6-58.6 4.9 64.4c1.1 14.3 22 14.2 23.1.1l6.8-83 2.7 22.3c1.4 11.8 17.7 14.1 22.3 3.1l18-43.4h50.5V258l-58.4.3zm-78 5.2h-21.9v21.9c0 4.1-3.3 7.5-7.5 7.5-4.1 0-7.5-3.3-7.5-7.5v-21.9h-21.9c-4.1 0-7.5-3.3-7.5-7.5 0-4.1 3.4-7.5 7.5-7.5h21.9v-21.9c0-4.1 3.4-7.5 7.5-7.5s7.5 3.3 7.5 7.5v21.9h21.9c4.1 0 7.5 3.3 7.5 7.5 0 4.1-3.4 7.5-7.5 7.5z\"],\n \"strava\": [384, 512, [], \"f428\", \"M158.4 0L7 292h89.2l62.2-116.1L220.1 292h88.5zm150.2 292l-43.9 88.2-44.6-88.2h-67.6l112.2 220 111.5-220z\"],\n \"ember\": [640, 512, [], \"f423\", \"M639.9 254.6c-1.1-10.7-10.7-6.8-10.7-6.8s-15.6 12.1-29.3 10.7c-13.7-1.3-9.4-32-9.4-32s3-28.1-5.1-30.4c-8.1-2.4-18 7.3-18 7.3s-12.4 13.7-18.3 31.2l-1.6.5s1.9-30.6-.3-37.6c-1.6-3.5-16.4-3.2-18.8 3s-14.2 49.2-15 67.2c0 0-23.1 19.6-43.3 22.8s-25-9.4-25-9.4 54.8-15.3 52.9-59.1-44.2-27.6-49-24c-4.6 3.5-29.4 18.4-36.6 59.7-.2 1.4-.7 7.5-.7 7.5s-21.2 14.2-33 18c0 0 33-55.6-7.3-80.9-11.4-6.8-21.3-.5-27.2 5.3 13.6-17.3 46.4-64.2 36.9-105.2-5.8-24.4-18-27.1-29.2-23.1-17 6.7-23.5 16.7-23.5 16.7s-22 32-27.1 79.5-12.6 105.1-12.6 105.1-10.5 10.2-20.2 10.7-5.4-28.7-5.4-28.7 7.5-44.6 7-52.1-1.1-11.6-9.9-14.2c-8.9-2.7-18.5 8.6-18.5 8.6s-25.5 38.7-27.7 44.6l-1.3 2.4-1.3-1.6s18-52.7.8-53.5-28.5 18.8-28.5 18.8-19.6 32.8-20.4 36.5l-1.3-1.6s8.1-38.2 6.4-47.6c-1.6-9.4-10.5-7.5-10.5-7.5s-11.3-1.3-14.2 5.9-13.7 55.3-15 70.7c0 0-28.2 20.2-46.8 20.4-18.5.3-16.7-11.8-16.7-11.8s68-23.3 49.4-69.2c-8.3-11.8-18-15.5-31.7-15.3-13.7.3-30.3 8.6-41.3 33.3-5.3 11.8-6.8 23-7.8 31.5 0 0-12.3 2.4-18.8-2.9s-10 0-10 0-11.2 14-.1 18.3 28.1 6.1 28.1 6.1c1.6 7.5 6.2 19.5 19.6 29.7 20.2 15.3 58.8-1.3 58.8-1.3l15.9-8.8s.5 14.6 12.1 16.7 16.4 1 36.5-47.9c11.8-25 12.6-23.6 12.6-23.6l1.3-.3s-9.1 46.8-5.6 59.7C187.7 319.4 203 318 203 318s8.3 2.4 15-21.2 19.6-49.9 19.6-49.9h1.6s-5.6 48.1 3 63.7 30.9 5.3 30.9 5.3 15.6-7.8 18-10.2c0 0 18.5 15.8 44.6 12.9 58.3-11.5 79.1-25.9 79.1-25.9s10 24.4 41.1 26.7c35.5 2.7 54.8-18.6 54.8-18.6s-.3 13.5 12.1 18.6 20.7-22.8 20.7-22.8l20.7-57.2h1.9s1.1 37.3 21.5 43.2 47-13.7 47-13.7 6.4-3.5 5.3-14.3zm-578 5.3c.8-32 21.8-45.9 29-39 7.3 7 4.6 22-9.1 31.4-13.7 9.5-19.9 7.6-19.9 7.6zm272.8-123.8s19.1-49.7 23.6-25.5-40 96.2-40 96.2c.5-16.2 16.4-70.7 16.4-70.7zm22.8 138.4c-12.6 33-43.3 19.6-43.3 19.6s-3.5-11.8 6.4-44.9 33.3-20.2 33.3-20.2 16.2 12.4 3.6 45.5zm84.6-14.6s-3-10.5 8.1-30.6c11-20.2 19.6-9.1 19.6-9.1s9.4 10.2-1.3 25.5-26.4 14.2-26.4 14.2z\"],\n \"canadian-maple-leaf\": [512, 512, [], \"f785\", \"M383.8 351.7c2.5-2.5 105.2-92.4 105.2-92.4l-17.5-7.5c-10-4.9-7.4-11.5-5-17.4 2.4-7.6 20.1-67.3 20.1-67.3s-47.7 10-57.7 12.5c-7.5 2.4-10-2.5-12.5-7.5s-15-32.4-15-32.4-52.6 59.9-55.1 62.3c-10 7.5-20.1 0-17.6-10 0-10 27.6-129.6 27.6-129.6s-30.1 17.4-40.1 22.4c-7.5 5-12.6 5-17.6-5C293.5 72.3 255.9 0 255.9 0s-37.5 72.3-42.5 79.8c-5 10-10 10-17.6 5-10-5-40.1-22.4-40.1-22.4S183.3 182 183.3 192c2.5 10-7.5 17.5-17.6 10-2.5-2.5-55.1-62.3-55.1-62.3S98.1 167 95.6 172s-5 9.9-12.5 7.5C73 177 25.4 167 25.4 167s17.6 59.7 20.1 67.3c2.4 6 5 12.5-5 17.4L23 259.3s102.6 89.9 105.2 92.4c5.1 5 10 7.5 5.1 22.5-5.1 15-10.1 35.1-10.1 35.1s95.2-20.1 105.3-22.6c8.7-.9 18.3 2.5 18.3 12.5S241 512 241 512h30s-5.8-102.7-5.8-112.8 9.5-13.4 18.4-12.5c10 2.5 105.2 22.6 105.2 22.6s-5-20.1-10-35.1 0-17.5 5-22.5z\"],\n \"teamspeak\": [512, 512, [], \"f4f9\", \"M244.2 346.79c2.4-12.3-12-30-32.4-48.7-20.9-19.2-48.2-39.1-63.4-46.6-21.7-12-41.7-1.8-46.3 22.7-5 26.2 0 51.4 14.5 73.9 10.2 15.5 25.4 22.7 43.4 24 11.6.6 52.5 2.2 61.7-1 11.9-4.3 20.1-11.8 22.5-24.3zm205 20.8a5.22 5.22 0 0 0-8.3 2.4c-8 25.4-44.7 112.5-172.1 121.5-149.7 10.5 80.3 43.6 145.4-6.4 22.7-17.4 47.6-35 46.6-85.4-.4-10.1-4.9-26.69-11.6-32.1zm62-122.4c-.3-18.9-8.6-33.4-26-42.2-2.9-1.3-5-2.7-5.9-6.4A222.64 222.64 0 0 0 438.9 103c-1.1-1.5-3.5-3.2-2.2-5 8.5-11.5-.3-18-7-24.4Q321.4-31.11 177.4 13.09c-40.1 12.3-73.9 35.6-102 67.4-4 4.3-6.7 9.1-3 14.5 3 4 1.3 6.2-1 9.3C51.6 132 38.2 162.59 32.1 196c-.7 4.3-2.9 6-6.4 7.8-14.2 7-22.5 18.5-24.9 34L0 264.29v20.9c0 30.8 21 50.4 51.8 49 7.7-.3 11.7-4.3 12-11.5 2-77.5-2.4-95.4 3.7-125.8C92.1 72.39 234.3 5 345.3 65.39 411.4 102 445.7 159 447.6 234.79c.8 28.2 0 56.5 0 84.6 0 7 2.2 12.5 9.4 14.2 24.1 5 49.2-12 53.2-36.7 2.9-17.1 1-34.5 1-51.7zm-159.6 131.5c36.5 2.8 59.3-28.5 58.4-60.5-2.1-45.2-66.2-16.5-87.8-8-73.2 28.1-45 54.9-22.2 60.8z\"],\n \"pushed\": [432, 512, [], \"f3e1\", \"M407 111.9l-98.5-9 14-33.4c10.4-23.5-10.8-40.4-28.7-37L22.5 76.9c-15.1 2.7-26 18.3-21.4 36.6l105.1 348.3c6.5 21.3 36.7 24.2 47.7 7l35.3-80.8 235.2-231.3c16.4-16.8 4.3-42.9-17.4-44.8zM297.6 53.6c5.1-.7 7.5 2.5 5.2 7.4L286 100.9 108.6 84.6l189-31zM22.7 107.9c-3.1-5.1 1-10 6.1-9.1l248.7 22.7-96.9 230.7L22.7 107.9zM136 456.4c-2.6 4-7.9 3.1-9.4-1.2L43.5 179.7l127.7 197.6c-7 15-35.2 79.1-35.2 79.1zm272.8-314.5L210.1 337.3l89.7-213.7 106.4 9.7c4 1.1 5.7 5.3 2.6 8.6z\"],\n \"wordpress-simple\": [512, 512, [], \"f411\", \"M256 8C119.3 8 8 119.2 8 256c0 136.7 111.3 248 248 248s248-111.3 248-248C504 119.2 392.7 8 256 8zM33 256c0-32.3 6.9-63 19.3-90.7l106.4 291.4C84.3 420.5 33 344.2 33 256zm223 223c-21.9 0-43-3.2-63-9.1l66.9-194.4 68.5 187.8c.5 1.1 1 2.1 1.6 3.1-23.1 8.1-48 12.6-74 12.6zm30.7-327.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-21.9 0-58.7-2.8-58.7-2.8-12-.7-13.4 17.7-1.4 18.4 0 0 11.4 1.4 23.4 2.1l34.7 95.2L200.6 393l-81.2-241.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-4.2 0-9.1-.1-14.4-.3C109.6 73 178.1 33 256 33c58 0 110.9 22.2 150.6 58.5-1-.1-1.9-.2-2.9-.2-21.9 0-37.4 19.1-37.4 39.6 0 18.4 10.6 33.9 21.9 52.3 8.5 14.8 18.4 33.9 18.4 61.5 0 19.1-7.3 41.2-17 72.1l-22.2 74.3-80.7-239.6zm81.4 297.2l68.1-196.9c12.7-31.8 17-57.2 17-79.9 0-8.2-.5-15.8-1.5-22.9 17.4 31.8 27.3 68.2 27.3 107 0 82.3-44.6 154.1-110.9 192.7z\"],\n \"nutritionix\": [400, 512, [], \"f3d6\", \"M88 8.1S221.4-.1 209 112.5c0 0 19.1-74.9 103-40.6 0 0-17.7 74-88 56 0 0 14.6-54.6 66.1-56.6 0 0-39.9-10.3-82.1 48.8 0 0-19.8-94.5-93.6-99.7 0 0 75.2 19.4 77.6 107.5 0 .1-106.4 7-104-119.8zm312 315.6c0 48.5-9.7 95.3-32 132.3-42.2 30.9-105 48-168 48-62.9 0-125.8-17.1-168-48C9.7 419 0 372.2 0 323.7 0 275.3 17.7 229 40 192c42.2-30.9 97.1-48.6 160-48.6 63 0 117.8 17.6 160 48.6 22.3 37 40 83.3 40 131.7zM120 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM192 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM264 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM336 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm24-39.6c-4.8-22.3-7.4-36.9-16-56-38.8-19.9-90.5-32-144-32S94.8 180.1 56 200c-8.8 19.5-11.2 33.9-16 56 42.2-7.9 98.7-14.8 160-14.8s117.8 6.9 160 14.8z\"],\n \"wodu\": [640, 512, [], \"e088\", \"M178.414 339.706H141.1L112.166 223.475h-.478L83.228 339.706H45.2L0 168.946H37.548L64.574 285.177h.478L94.707 168.946h35.157l29.178 117.667h.479L187.5 168.946h36.831zM271.4 212.713c38.984 0 64.1 25.828 64.1 65.291 0 39.222-25.111 65.05-64.1 65.05-38.743 0-63.855-25.828-63.855-65.05C207.547 238.541 232.659 212.713 271.4 212.713zm0 104.753c23.2 0 30.133-19.852 30.133-39.462 0-19.852-6.934-39.7-30.133-39.7-27.7 0-29.894 19.85-29.894 39.7C241.508 297.614 248.443 317.466 271.4 317.466zM435.084 323.922h-.478c-7.893 13.392-21.765 19.132-37.548 19.132-37.31 0-55.485-32.045-55.485-66.246 0-33.243 18.415-64.095 54.767-64.095 14.589 0 28.938 6.218 36.831 18.416h.24V168.946h33.96v170.76H435.084zM405.428 238.3c-22.24 0-29.894 19.134-29.894 39.463 0 19.371 8.848 39.7 29.894 39.7 22.482 0 29.178-19.613 29.178-39.94C434.606 257.436 427.432 238.3 405.428 238.3zM592.96 339.706H560.673V322.487h-.718c-8.609 13.87-23.436 20.567-37.786 20.567-36.113 0-45.2-20.328-45.2-50.941V216.061h33.959V285.9c0 20.329 5.979 30.372 21.765 30.372 18.415 0 26.306-10.283 26.306-35.393V216.061H592.96zM602.453 302.876H640v36.83H602.453z\"],\n \"google-pay\": [640, 512, [], \"e079\", \"M105.72,215v41.25h57.1a49.66,49.66,0,0,1-21.14,32.6c-9.54,6.55-21.72,10.28-36,10.28-27.6,0-50.93-18.91-59.3-44.22a65.61,65.61,0,0,1,0-41l0,0c8.37-25.46,31.7-44.37,59.3-44.37a56.43,56.43,0,0,1,40.51,16.08L176.47,155a101.24,101.24,0,0,0-70.75-27.84,105.55,105.55,0,0,0-94.38,59.11,107.64,107.64,0,0,0,0,96.18v.15a105.41,105.41,0,0,0,94.38,59c28.47,0,52.55-9.53,70-25.91,20-18.61,31.41-46.15,31.41-78.91A133.76,133.76,0,0,0,205.38,215Zm389.41-4c-10.13-9.38-23.93-14.14-41.39-14.14-22.46,0-39.34,8.34-50.5,24.86l20.85,13.26q11.45-17,31.26-17a34.05,34.05,0,0,1,22.75,8.79A28.14,28.14,0,0,1,487.79,248v5.51c-9.1-5.07-20.55-7.75-34.64-7.75-16.44,0-29.65,3.88-39.49,11.77s-14.82,18.31-14.82,31.56a39.74,39.74,0,0,0,13.94,31.27c9.25,8.34,21,12.51,34.79,12.51,16.29,0,29.21-7.3,39-21.89h1v17.72h22.61V250C510.25,233.45,505.26,220.34,495.13,211ZM475.9,300.3a37.32,37.32,0,0,1-26.57,11.16A28.61,28.61,0,0,1,431,305.21a19.41,19.41,0,0,1-7.77-15.63c0-7,3.22-12.81,9.54-17.42s14.53-7,24.07-7C470,265,480.3,268,487.64,273.94,487.64,284.07,483.68,292.85,475.9,300.3Zm-93.65-142A55.71,55.71,0,0,0,341.74,142H279.07V328.74H302.7V253.1h39c16,0,29.5-5.36,40.51-15.93.88-.89,1.76-1.79,2.65-2.68A54.45,54.45,0,0,0,382.25,158.26Zm-16.58,62.23a30.65,30.65,0,0,1-23.34,9.68H302.7V165h39.63a32,32,0,0,1,22.6,9.23A33.18,33.18,0,0,1,365.67,220.49ZM614.31,201,577.77,292.7h-.45L539.9,201H514.21L566,320.55l-29.35,64.32H561L640,201Z\"],\n \"intercom\": [448, 512, [], \"f7af\", \"M392 32H56C25.1 32 0 57.1 0 88v336c0 30.9 25.1 56 56 56h336c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56zm-108.3 82.1c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zm-74.6-7.5c0-19.8 29.9-19.8 29.9 0v216.5c0 19.8-29.9 19.8-29.9 0V106.6zm-74.7 7.5c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zM59.7 144c0-19.8 29.9-19.8 29.9 0v134.3c0 19.8-29.9 19.8-29.9 0V144zm323.4 227.8c-72.8 63-241.7 65.4-318.1 0-15-12.8 4.4-35.5 19.4-22.7 65.9 55.3 216.1 53.9 279.3 0 14.9-12.9 34.3 9.8 19.4 22.7zm5.2-93.5c0 19.8-29.9 19.8-29.9 0V144c0-19.8 29.9-19.8 29.9 0v134.3z\"],\n \"zhihu\": [640, 512, [], \"f63f\", \"M170.54 148.13v217.54l23.43.01 7.71 26.37 42.01-26.37h49.53V148.13H170.54zm97.75 193.93h-27.94l-27.9 17.51-5.08-17.47-11.9-.04V171.75h72.82v170.31zm-118.46-94.39H97.5c1.74-27.1 2.2-51.59 2.2-73.46h51.16s1.97-22.56-8.58-22.31h-88.5c3.49-13.12 7.87-26.66 13.12-40.67 0 0-24.07 0-32.27 21.57-3.39 8.9-13.21 43.14-30.7 78.12 5.89-.64 25.37-1.18 36.84-22.21 2.11-5.89 2.51-6.66 5.14-14.53h28.87c0 10.5-1.2 66.88-1.68 73.44H20.83c-11.74 0-15.56 23.62-15.56 23.62h65.58C66.45 321.1 42.83 363.12 0 396.34c20.49 5.85 40.91-.93 51-9.9 0 0 22.98-20.9 35.59-69.25l53.96 64.94s7.91-26.89-1.24-39.99c-7.58-8.92-28.06-33.06-36.79-41.81L87.9 311.95c4.36-13.98 6.99-27.55 7.87-40.67h61.65s-.09-23.62-7.59-23.62v.01zm412.02-1.6c20.83-25.64 44.98-58.57 44.98-58.57s-18.65-14.8-27.38-4.06c-6 8.15-36.83 48.2-36.83 48.2l19.23 14.43zm-150.09-59.09c-9.01-8.25-25.91 2.13-25.91 2.13s39.52 55.04 41.12 57.45l19.46-13.73s-25.67-37.61-34.66-45.86h-.01zM640 258.35c-19.78 0-130.91.93-131.06.93v-101c4.81 0 12.42-.4 22.85-1.2 40.88-2.41 70.13-4 87.77-4.81 0 0 12.22-27.19-.59-33.44-3.07-1.18-23.17 4.58-23.17 4.58s-165.22 16.49-232.36 18.05c1.6 8.82 7.62 17.08 15.78 19.55 13.31 3.48 22.69 1.7 49.15.89 24.83-1.6 43.68-2.43 56.51-2.43v99.81H351.41s2.82 22.31 25.51 22.85h107.94v70.92c0 13.97-11.19 21.99-24.48 21.12-14.08.11-26.08-1.15-41.69-1.81 1.99 3.97 6.33 14.39 19.31 21.84 9.88 4.81 16.17 6.57 26.02 6.57 29.56 0 45.67-17.28 44.89-45.31v-73.32h122.36c9.68 0 8.7-23.78 8.7-23.78l.03-.01z\"],\n \"korvue\": [446, 512, [], \"f42f\", \"M386.5 34h-327C26.8 34 0 60.8 0 93.5v327.1C0 453.2 26.8 480 59.5 480h327.1c33 0 59.5-26.8 59.5-59.5v-327C446 60.8 419.2 34 386.5 34zM87.1 120.8h96v116l61.8-116h110.9l-81.2 132H87.1v-132zm161.8 272.1l-65.7-113.6v113.6h-96V262.1h191.5l88.6 130.8H248.9z\"],\n \"pix\": [512, 512, [], \"e43a\", \"M242.4 292.5C247.8 287.1 257.1 287.1 262.5 292.5L339.5 369.5C353.7 383.7 372.6 391.5 392.6 391.5H407.7L310.6 488.6C280.3 518.1 231.1 518.1 200.8 488.6L103.3 391.2H112.6C132.6 391.2 151.5 383.4 165.7 369.2L242.4 292.5zM262.5 218.9C256.1 224.4 247.9 224.5 242.4 218.9L165.7 142.2C151.5 127.1 132.6 120.2 112.6 120.2H103.3L200.7 22.76C231.1-7.586 280.3-7.586 310.6 22.76L407.8 119.9H392.6C372.6 119.9 353.7 127.7 339.5 141.9L262.5 218.9zM112.6 142.7C126.4 142.7 139.1 148.3 149.7 158.1L226.4 234.8C233.6 241.1 243 245.6 252.5 245.6C261.9 245.6 271.3 241.1 278.5 234.8L355.5 157.8C365.3 148.1 378.8 142.5 392.6 142.5H430.3L488.6 200.8C518.9 231.1 518.9 280.3 488.6 310.6L430.3 368.9H392.6C378.8 368.9 365.3 363.3 355.5 353.5L278.5 276.5C264.6 262.6 240.3 262.6 226.4 276.6L149.7 353.2C139.1 363 126.4 368.6 112.6 368.6H80.78L22.76 310.6C-7.586 280.3-7.586 231.1 22.76 200.8L80.78 142.7H112.6z\"],\n \"steam-symbol\": [448, 512, [], \"f3f6\", \"M395.5 177.5c0 33.8-27.5 61-61 61-33.8 0-61-27.3-61-61s27.3-61 61-61c33.5 0 61 27.2 61 61zm52.5.2c0 63-51 113.8-113.7 113.8L225 371.3c-4 43-40.5 76.8-84.5 76.8-40.5 0-74.7-28.8-83-67L0 358V250.7L97.2 290c15.1-9.2 32.2-13.3 52-11.5l71-101.7c.5-62.3 51.5-112.8 114-112.8C397 64 448 115 448 177.7zM203 363c0-34.7-27.8-62.5-62.5-62.5-4.5 0-9 .5-13.5 1.5l26 10.5c25.5 10.2 38 39 27.7 64.5-10.2 25.5-39.2 38-64.7 27.5-10.2-4-20.5-8.3-30.7-12.2 10.5 19.7 31.2 33.2 55.2 33.2 34.7 0 62.5-27.8 62.5-62.5zm207.5-185.3c0-42-34.3-76.2-76.2-76.2-42.3 0-76.5 34.2-76.5 76.2 0 42.2 34.3 76.2 76.5 76.2 41.9.1 76.2-33.9 76.2-76.2z\"]\n };\n\n bunker(function () {\n defineIcons('fab', icons);\n defineIcons('fa-brands', icons);\n });\n\n}());\n(function () {\n 'use strict';\n\n var _WINDOW = {};\n var _DOCUMENT = {};\n\n try {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n } catch (e) {}\n\n var _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n var WINDOW = _WINDOW;\n var DOCUMENT = _DOCUMENT;\n var IS_BROWSER = !!WINDOW.document;\n var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\n var IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5;\n\n var NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\n var PRODUCTION = function () {\n try {\n return \"production\" === 'production';\n } catch (e) {\n return false;\n }\n }();\n var FAMILY_CLASSIC = 'classic';\n var FAMILY_SHARP = 'sharp';\n var FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];\n\n function familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get: function get(target, prop) {\n return prop in target ? target[prop] : target[FAMILY_CLASSIC];\n }\n });\n }\n var PREFIX_TO_STYLE = familyProxy((_familyProxy = {}, _defineProperty(_familyProxy, FAMILY_CLASSIC, {\n 'fa': 'solid',\n 'fas': 'solid',\n 'fa-solid': 'solid',\n 'far': 'regular',\n 'fa-regular': 'regular',\n 'fal': 'light',\n 'fa-light': 'light',\n 'fat': 'thin',\n 'fa-thin': 'thin',\n 'fad': 'duotone',\n 'fa-duotone': 'duotone',\n 'fab': 'brands',\n 'fa-brands': 'brands',\n 'fak': 'kit',\n 'fa-kit': 'kit'\n }), _defineProperty(_familyProxy, FAMILY_SHARP, {\n 'fa': 'solid',\n 'fass': 'solid',\n 'fa-solid': 'solid'\n }), _familyProxy));\n var STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'thin': 'fat',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n }), _defineProperty(_familyProxy2, FAMILY_SHARP, {\n 'solid': 'fass'\n }), _familyProxy2));\n var PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, {\n 'fab': 'fa-brands',\n 'fad': 'fa-duotone',\n 'fak': 'fa-kit',\n 'fal': 'fa-light',\n 'far': 'fa-regular',\n 'fas': 'fa-solid',\n 'fat': 'fa-thin'\n }), _defineProperty(_familyProxy3, FAMILY_SHARP, {\n 'fass': 'fa-solid'\n }), _familyProxy3));\n var LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, {\n 'fa-brands': 'fab',\n 'fa-duotone': 'fad',\n 'fa-kit': 'fak',\n 'fa-light': 'fal',\n 'fa-regular': 'far',\n 'fa-solid': 'fas',\n 'fa-thin': 'fat'\n }), _defineProperty(_familyProxy4, FAMILY_SHARP, {\n 'fa-solid': 'fass'\n }), _familyProxy4));\n // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\n var FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal',\n '100': 'fat'\n }), _defineProperty(_familyProxy5, FAMILY_SHARP, {\n '900': 'fass'\n }), _familyProxy5));\n var oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n var oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\n var DUOTONE_CLASSES = {\n GROUP: 'duotone-group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n };\n var prefixes = new Set();\n Object.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes));\n Object.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes));\n var RESERVED_CLASSES = [].concat(FAMILIES, _toConsumableArray(prefixes), ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', 'beat', 'border', 'fade', 'beat-fade', 'bounce', 'flip-both', 'flip-horizontal', 'flip-vertical', 'flip', 'fw', 'inverse', 'layers-counter', 'layers-text', 'layers', 'li', 'pull-left', 'pull-right', 'pulse', 'rotate-180', 'rotate-270', 'rotate-90', 'rotate-by', 'shake', 'spin-pulse', 'spin-reverse', 'spin', 'stack-1x', 'stack-2x', 'stack', 'ul', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY]).concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n })).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n }));\n\n function bunker(fn) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n fn.apply(void 0, args);\n } catch (e) {\n if (!PRODUCTION) {\n throw e;\n }\n }\n }\n\n var w = WINDOW || {};\n if (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\n if (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\n if (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\n if (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\n var namespace = w[NAMESPACE_IDENTIFIER];\n\n function normalizeIcons(icons) {\n return Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n }\n\n function defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = normalizeIcons(icons);\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n }\n\n var icons = {\n \"trash-can\": [448, 512, [61460, \"trash-alt\"], \"f2ed\", \"M160 400C160 408.8 152.8 416 144 416C135.2 416 128 408.8 128 400V192C128 183.2 135.2 176 144 176C152.8 176 160 183.2 160 192V400zM240 400C240 408.8 232.8 416 224 416C215.2 416 208 408.8 208 400V192C208 183.2 215.2 176 224 176C232.8 176 240 183.2 240 192V400zM320 400C320 408.8 312.8 416 304 416C295.2 416 288 408.8 288 400V192C288 183.2 295.2 176 304 176C312.8 176 320 183.2 320 192V400zM317.5 24.94L354.2 80H424C437.3 80 448 90.75 448 104C448 117.3 437.3 128 424 128H416V432C416 476.2 380.2 512 336 512H112C67.82 512 32 476.2 32 432V128H24C10.75 128 0 117.3 0 104C0 90.75 10.75 80 24 80H93.82L130.5 24.94C140.9 9.357 158.4 0 177.1 0H270.9C289.6 0 307.1 9.358 317.5 24.94H317.5zM151.5 80H296.5L277.5 51.56C276 49.34 273.5 48 270.9 48H177.1C174.5 48 171.1 49.34 170.5 51.56L151.5 80zM80 432C80 449.7 94.33 464 112 464H336C353.7 464 368 449.7 368 432V128H80V432z\"],\n \"message\": [512, 512, [\"comment-alt\"], \"f27a\", \"M447.1 0h-384c-35.25 0-64 28.75-64 63.1v287.1c0 35.25 28.75 63.1 64 63.1h96v83.98c0 9.836 11.02 15.55 19.12 9.7l124.9-93.68h144c35.25 0 64-28.75 64-63.1V63.1C511.1 28.75 483.2 0 447.1 0zM464 352c0 8.75-7.25 16-16 16h-160l-80 60v-60H64c-8.75 0-16-7.25-16-16V64c0-8.75 7.25-16 16-16h384c8.75 0 16 7.25 16 16V352z\"],\n \"file-lines\": [384, 512, [128441, 128462, 61686, \"file-alt\", \"file-text\"], \"f15c\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0L64-.0001c-35.35 0-64 28.65-64 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM96 280C96 293.3 106.8 304 120 304h144C277.3 304 288 293.3 288 280S277.3 256 264 256h-144C106.8 256 96 266.8 96 280zM264 352h-144C106.8 352 96 362.8 96 376s10.75 24 24 24h144c13.25 0 24-10.75 24-24S277.3 352 264 352z\"],\n \"calendar-days\": [448, 512, [\"calendar-alt\"], \"f073\", \"M152 64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0C141.3 0 152 10.75 152 24V64zM48 248H128V192H48V248zM48 296V360H128V296H48zM176 296V360H272V296H176zM320 296V360H400V296H320zM400 192H320V248H400V192zM400 408H320V464H384C392.8 464 400 456.8 400 448V408zM272 408H176V464H272V408zM128 408H48V448C48 456.8 55.16 464 64 464H128V408zM272 192H176V248H272V192z\"],\n \"hand-point-right\": [512, 512, [], \"f0a4\", \"M320 408c0-6.428-.8457-12.66-2.434-18.6C338.2 376.7 352 353.9 352 328c0-6.428-.8457-12.66-2.434-18.6C370.2 296.7 384 273.9 384 248c0-2.705-.1484-5.373-.4414-8H440C479.7 240 512 207.7 512 168S479.7 96 440 96H243.7C227.5 76.51 203.2 64 176 64H126.1C94.02 64 64.47 81.1 49 108.6L17.65 164.5C6.104 185.1 0 208.4 0 231.8v107.9C0 417.1 64.6 480 144 480h104C287.7 480 320 447.7 320 408zM280 304c13.23 0 24 10.78 24 24S293.2 352 280 352H232.1C218.9 352 208 341.2 208 328S218.8 304 232 304H280zM312 224c13.23 0 24 10.78 24 24S325.2 272 312 272h-48c-3.029 0-5.875-.7012-8.545-1.73C260.7 259.9 264 248.4 264 236V224H312zM440 144c13.23 0 24 10.78 24 24S453.2 192 440 192h-176V152c0-2.686-.5566-5.217-.793-7.84C263.5 144.2 263.7 144 264 144H440zM48 339.7V231.8c0-15.25 3.984-30.41 11.52-43.88l31.34-55.78C97.84 119.7 111.4 112 126.1 112H176c22.06 0 40 17.94 40 40v84c0 15.44-12.56 28-28 28S160 251.4 160 236V184C160 170.8 149.3 160 136 160S112 170.8 112 184v52c0 33.23 21.58 61.25 51.36 71.54C161.3 314 160 320.9 160 328c0 5.041 1.166 9.836 2.178 14.66C137.4 354 120 378.1 120 408c0 7.684 1.557 14.94 3.836 21.87C80.56 420.9 48 383.9 48 339.7zM192 432c-13.23 0-24-10.78-24-24S178.8 384 192 384h56c13.23 0 24 10.78 24 24s-10.77 24-24 24H192z\"],\n \"face-smile-beam\": [512, 512, [128522, \"smile-beam\"], \"f5b8\", \"M256 352C293.2 352 319.2 334.5 334.4 318.1C343.3 308.4 358.5 307.7 368.3 316.7C378 325.7 378.6 340.9 369.6 350.6C347.7 374.5 309.7 400 256 400C202.3 400 164.3 374.5 142.4 350.6C133.4 340.9 133.1 325.7 143.7 316.7C153.5 307.7 168.7 308.4 177.6 318.1C192.8 334.5 218.8 352 256 352zM217.6 228.8L217.6 228.8L217.4 228.5C217.2 228.3 217 228 216.7 227.6C216 226.8 215.1 225.7 213.9 224.3C211.4 221.4 207.9 217.7 203.7 213.1C194.9 206.2 184.8 200 176 200C167.2 200 157.1 206.2 148.3 213.1C144.1 217.7 140.6 221.4 138.1 224.3C136.9 225.7 135.1 226.8 135.3 227.6C134.1 228 134.8 228.3 134.6 228.5L134.4 228.8L134.4 228.8C132.3 231.6 128.7 232.7 125.5 231.6C122.2 230.5 120 227.4 120 224C120 206.1 126.7 188.4 136.6 175.2C146.4 162.2 160.5 152 176 152C191.5 152 205.6 162.2 215.4 175.2C225.3 188.4 232 206.1 232 224C232 227.4 229.8 230.5 226.5 231.6C223.3 232.7 219.7 231.6 217.6 228.8V228.8zM377.6 228.8L377.4 228.5C377.2 228.3 377 228 376.7 227.6C376 226.8 375.1 225.7 373.9 224.3C371.4 221.4 367.9 217.7 363.7 213.1C354.9 206.2 344.8 200 336 200C327.2 200 317.1 206.2 308.3 213.1C304.1 217.7 300.6 221.4 298.1 224.3C296.9 225.7 295.1 226.8 295.3 227.6C294.1 228 294.8 228.3 294.6 228.5L294.4 228.8L294.4 228.8C292.3 231.6 288.7 232.7 285.5 231.6C282.2 230.5 280 227.4 280 224C280 206.1 286.7 188.4 296.6 175.2C306.4 162.2 320.5 152 336 152C351.5 152 365.6 162.2 375.4 175.2C385.3 188.4 392 206.1 392 224C392 227.4 389.8 230.5 386.5 231.6C383.3 232.7 379.7 231.6 377.6 228.8L377.6 228.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"face-grin-stars\": [512, 512, [129321, \"grin-stars\"], \"f587\", \"M199.8 167.3L237.9 172.3C240.1 172.7 243.5 174.8 244.5 177.8C245.4 180.7 244.6 183.9 242.4 186L214.5 212.5L221.5 250.3C222 253.4 220.8 256.4 218.3 258.2C215.8 260.1 212.5 260.3 209.8 258.8L175.1 240.5L142.2 258.8C139.5 260.3 136.2 260.1 133.7 258.2C131.2 256.4 129.1 253.4 130.5 250.3L137.5 212.5L109.6 186C107.4 183.9 106.6 180.7 107.5 177.8C108.5 174.8 111 172.7 114.1 172.3L152.2 167.3L168.8 132.6C170.1 129.8 172.9 128 175.1 128C179.1 128 181.9 129.8 183.2 132.6L199.8 167.3zM359.8 167.3L397.9 172.3C400.1 172.7 403.5 174.8 404.5 177.8C405.4 180.7 404.6 183.9 402.4 186L374.5 212.5L381.5 250.3C382 253.4 380.8 256.4 378.3 258.2C375.8 260.1 372.5 260.3 369.8 258.8L336 240.5L302.2 258.8C299.5 260.3 296.2 260.1 293.7 258.2C291.2 256.4 289.1 253.4 290.5 250.3L297.5 212.5L269.6 186C267.4 183.9 266.6 180.7 267.5 177.8C268.5 174.8 271 172.7 274.1 172.3L312.2 167.3L328.8 132.6C330.1 129.8 332.9 128 336 128C339.1 128 341.9 129.8 343.2 132.6L359.8 167.3zM349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464z\"],\n \"address-book\": [512, 512, [62138, \"contact-book\"], \"f2b9\", \"M272 288h-64C163.8 288 128 323.8 128 368C128 376.8 135.2 384 144 384h192c8.836 0 16-7.164 16-16C352 323.8 316.2 288 272 288zM240 256c35.35 0 64-28.65 64-64s-28.65-64-64-64c-35.34 0-64 28.65-64 64S204.7 256 240 256zM496 320H480v96h16c8.836 0 16-7.164 16-16v-64C512 327.2 504.8 320 496 320zM496 64H480v96h16C504.8 160 512 152.8 512 144v-64C512 71.16 504.8 64 496 64zM496 192H480v96h16C504.8 288 512 280.8 512 272v-64C512 199.2 504.8 192 496 192zM384 0H96C60.65 0 32 28.65 32 64v384c0 35.35 28.65 64 64 64h288c35.35 0 64-28.65 64-64V64C448 28.65 419.3 0 384 0zM400 448c0 8.836-7.164 16-16 16H96c-8.836 0-16-7.164-16-16V64c0-8.838 7.164-16 16-16h288c8.836 0 16 7.162 16 16V448z\"],\n \"comments\": [640, 512, [128490, 61670], \"f086\", \"M208 0C322.9 0 416 78.8 416 176C416 273.2 322.9 352 208 352C189.3 352 171.2 349.7 153.9 345.8C123.3 364.8 79.13 384 24.95 384C14.97 384 5.93 378.1 2.018 368.9C-1.896 359.7-.0074 349.1 6.739 341.9C7.26 341.5 29.38 317.4 45.73 285.9C17.18 255.8 0 217.6 0 176C0 78.8 93.13 0 208 0zM164.6 298.1C179.2 302.3 193.8 304 208 304C296.2 304 368 246.6 368 176C368 105.4 296.2 48 208 48C119.8 48 48 105.4 48 176C48 211.2 65.71 237.2 80.57 252.9L104.1 277.8L88.31 308.1C84.74 314.1 80.73 321.9 76.55 328.5C94.26 323.4 111.7 315.5 128.7 304.1L145.4 294.6L164.6 298.1zM441.6 128.2C552 132.4 640 209.5 640 304C640 345.6 622.8 383.8 594.3 413.9C610.6 445.4 632.7 469.5 633.3 469.9C640 477.1 641.9 487.7 637.1 496.9C634.1 506.1 625 512 615 512C560.9 512 516.7 492.8 486.1 473.8C468.8 477.7 450.7 480 432 480C350 480 279.1 439.8 245.2 381.5C262.5 379.2 279.1 375.3 294.9 369.9C322.9 407.1 373.9 432 432 432C446.2 432 460.8 430.3 475.4 426.1L494.6 422.6L511.3 432.1C528.3 443.5 545.7 451.4 563.5 456.5C559.3 449.9 555.3 442.1 551.7 436.1L535.9 405.8L559.4 380.9C574.3 365.3 592 339.2 592 304C592 237.7 528.7 183.1 447.1 176.6L448 176C448 159.5 445.8 143.5 441.6 128.2H441.6z\"],\n \"paste\": [512, 512, [\"file-clipboard\"], \"f0ea\", \"M80 96v16c0 17.7 14.3 32 32 32h60.8c16.6-28.7 47.6-48 83.2-48h62c-7.1-27.6-32.2-48-62-48H215.4C211.6 20.9 188.2 0 160 0s-51.6 20.9-55.4 48H64C28.7 48 0 76.7 0 112V384c0 35.3 28.7 64 64 64h96V400H64c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H80zm64-40a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM256 464c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16H384v48c0 17.7 14.3 32 32 32h48V448c0 8.8-7.2 16-16 16H256zm192 48c35.3 0 64-28.7 64-64V227.9c0-12.7-5.1-24.9-14.1-33.9l-51.9-51.9c-9-9-21.2-14.1-33.9-14.1H256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H448z\"],\n \"face-grin-tongue-squint\": [512, 512, [128541, \"grin-tongue-squint\"], \"f58a\", \"M116 157.1C116 148.2 125.6 142.4 133.5 146.7L223.4 194.6C234.1 200.3 234.1 215.7 223.4 221.4L133.5 269.3C125.6 273.6 116 267.8 116 258.9C116 256.1 116.1 253.4 118.8 251.2L154.8 208L118.8 164.8C116.1 162.6 116 159.9 116 157.1V157.1zM378.5 146.7C386.4 142.4 396 148.2 396 157.1C396 159.9 395 162.6 393.2 164.8L357.2 208L393.2 251.2C395 253.4 396 256.1 396 258.9C396 267.8 386.4 273.6 378.5 269.3L288.6 221.4C277.9 215.7 277.9 200.3 288.6 194.6L378.5 146.7zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 337.7 95.13 408.4 163.7 442.4C161.3 434 160 425.2 160 416V392.7C135.1 375.1 116.9 351.3 105.2 323.5C100.2 311.7 112.2 301 124.5 304.8C164.1 316.9 208.9 323.8 256.3 323.8C303.7 323.8 348.4 316.9 388.1 304.8C400.4 301 412.4 311.7 407.4 323.5C395.6 351.5 376.3 375.5 352 393.1V416C352 425.2 350.7 434 348.3 442.4C416.9 408.4 464 337.7 464 255.1C464 141.1 370.9 47.1 256 47.1L256 48zM320 416V378.6C320 363.9 308.1 352 293.4 352H291.4C280.1 352 270.3 359.9 267.8 370.9C264.1 383.5 247 383.5 244.2 370.9C241.7 359.9 231.9 352 220.6 352H218.6C203.9 352 192 363.9 192 378.6V416C192 451.3 220.7 480 256 480C291.3 480 320 451.3 320 416z\"],\n \"face-flushed\": [512, 512, [128563, \"flushed\"], \"f579\", \"M320 336C333.3 336 344 346.7 344 360C344 373.3 333.3 384 320 384H192C178.7 384 168 373.3 168 360C168 346.7 178.7 336 192 336H320zM136.4 224C136.4 210.7 147.1 200 160.4 200C173.6 200 184.4 210.7 184.4 224C184.4 237.3 173.6 248 160.4 248C147.1 248 136.4 237.3 136.4 224zM80 224C80 179.8 115.8 144 160 144C204.2 144 240 179.8 240 224C240 268.2 204.2 304 160 304C115.8 304 80 268.2 80 224zM160 272C186.5 272 208 250.5 208 224C208 197.5 186.5 176 160 176C133.5 176 112 197.5 112 224C112 250.5 133.5 272 160 272zM376.4 224C376.4 237.3 365.6 248 352.4 248C339.1 248 328.4 237.3 328.4 224C328.4 210.7 339.1 200 352.4 200C365.6 200 376.4 210.7 376.4 224zM432 224C432 268.2 396.2 304 352 304C307.8 304 272 268.2 272 224C272 179.8 307.8 144 352 144C396.2 144 432 179.8 432 224zM352 176C325.5 176 304 197.5 304 224C304 250.5 325.5 272 352 272C378.5 272 400 250.5 400 224C400 197.5 378.5 176 352 176zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464z\"],\n \"square-caret-right\": [448, 512, [\"caret-square-right\"], \"f152\", \"M200.3 142.4C193.3 135.9 183.1 134.2 174.4 138C165.7 141.8 160 150.5 160 159.1v192C160 361.5 165.7 370.2 174.4 374c8.719 3.812 18.91 2.094 25.91-4.375l104-96C309.2 269.1 312 262.7 312 256s-2.812-13.09-7.719-17.62L200.3 142.4zM384 32H64C28.66 32 0 60.66 0 96v320c0 35.34 28.66 64 64 64h320c35.34 0 64-28.66 64-64V96C448 60.66 419.3 32 384 32zM400 416c0 8.82-7.18 16-16 16H64c-8.82 0-16-7.18-16-16V96c0-8.82 7.18-16 16-16h320c8.82 0 16 7.18 16 16V416z\"],\n \"square-minus\": [448, 512, [61767, \"minus-square\"], \"f146\", \"M312 232C325.3 232 336 242.7 336 256C336 269.3 325.3 280 312 280H136C122.7 280 112 269.3 112 256C112 242.7 122.7 232 136 232H312zM0 96C0 60.65 28.65 32 64 32H384C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H384C392.8 432 400 424.8 400 416V96C400 87.16 392.8 80 384 80H64C55.16 80 48 87.16 48 96z\"],\n \"compass\": [512, 512, [129517], \"f14e\", \"M306.7 325.1L162.4 380.6C142.1 388.1 123.9 369 131.4 349.6L186.9 205.3C190.1 196.8 196.8 190.1 205.3 186.9L349.6 131.4C369 123.9 388.1 142.1 380.6 162.4L325.1 306.7C321.9 315.2 315.2 321.9 306.7 325.1V325.1zM255.1 224C238.3 224 223.1 238.3 223.1 256C223.1 273.7 238.3 288 255.1 288C273.7 288 288 273.7 288 256C288 238.3 273.7 224 255.1 224V224zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"square-caret-down\": [448, 512, [\"caret-square-down\"], \"f150\", \"M320 192H128C118.5 192 109.8 197.7 105.1 206.4C102.2 215.1 103.9 225.3 110.4 232.3l96 104C210.9 341.2 217.3 344 224 344s13.09-2.812 17.62-7.719l96-104c6.469-7 8.188-17.19 4.375-25.91C338.2 197.7 329.5 192 320 192zM384 32H64C28.65 32 0 60.66 0 96v320c0 35.34 28.65 64 64 64h320c35.35 0 64-28.66 64-64V96C448 60.66 419.3 32 384 32zM400 416c0 8.82-7.178 16-16 16H64c-8.822 0-16-7.18-16-16V96c0-8.82 7.178-16 16-16h320c8.822 0 16 7.18 16 16V416z\"],\n \"face-kiss-beam\": [512, 512, [128537, \"kiss-beam\"], \"f597\", \"M304.7 297.7C308.9 302.8 312 309.1 312 316C312 322.9 308.9 329.2 304.7 334.3C300.4 339.5 294.5 344 287.9 347.7C285.2 349.3 282.3 350.7 279.2 352C282.3 353.3 285.2 354.7 287.9 356.3C294.5 359.1 300.4 364.5 304.7 369.7C308.9 374.8 312 381.1 312 388C312 394.9 308.9 401.2 304.7 406.3C300.4 411.5 294.5 416 287.9 419.7C274.7 427.1 257.4 432 240 432C236.4 432 233.2 429.5 232.3 426C231.3 422.5 232.9 418.8 236.1 417L236.1 417L236.3 416.9C236.5 416.8 236.8 416.6 237.2 416.3C238 415.9 239.2 415.1 240.6 414.2C243.4 412.4 247.2 409.7 250.8 406.6C254.6 403.5 258 400 260.5 396.6C262.1 393 264 390.2 264 388C264 385.8 262.1 382.1 260.5 379.4C258 375.1 254.6 372.5 250.8 369.4C247.2 366.3 243.4 363.6 240.6 361.8C239.2 360.9 238 360.1 237.2 359.7C236.8 359.4 236.5 359.2 236.3 359.1L236.1 358.1L236.1 358.1C233.6 357.6 232 354.9 232 352C232 349.1 233.6 346.4 236.1 345L236.1 345L236.3 344.9C236.5 344.8 236.8 344.6 237.2 344.3C238 343.9 239.2 343.1 240.6 342.2C243.4 340.4 247.2 337.7 250.8 334.6C254.6 331.5 258 328.1 260.5 324.6C262.1 321 264 318.2 264 316C264 313.8 262.1 310.1 260.5 307.4C258 303.1 254.6 300.5 250.8 297.4C247.2 294.3 243.4 291.6 240.6 289.8C239.2 288.9 238 288.1 237.2 287.7C236.8 287.4 236.5 287.2 236.3 287.1L236.1 286.1L236.1 286.1C232.9 285.2 231.3 281.5 232.3 277.1C233.2 274.5 236.4 272 240 272C257.4 272 274.7 276.9 287.9 284.3C294.5 287.1 300.4 292.5 304.7 297.7L304.7 297.7zM217.6 228.8L217.6 228.8L217.4 228.5C217.2 228.3 217 228 216.7 227.6C216 226.8 215.1 225.7 213.9 224.3C211.4 221.4 207.9 217.7 203.7 213.1C194.9 206.2 184.8 200 176 200C167.2 200 157.1 206.2 148.3 213.1C144.1 217.7 140.6 221.4 138.1 224.3C136.9 225.7 135.1 226.8 135.3 227.6C134.1 228 134.8 228.3 134.6 228.5L134.4 228.8L134.4 228.8C132.3 231.6 128.7 232.7 125.5 231.6C122.2 230.5 120 227.4 120 224C120 206.1 126.7 188.4 136.6 175.2C146.4 162.2 160.5 152 176 152C191.5 152 205.6 162.2 215.4 175.2C225.3 188.4 232 206.1 232 224C232 227.4 229.8 230.5 226.5 231.6C223.3 232.7 219.7 231.6 217.6 228.8V228.8zM377.6 228.8L377.4 228.5C377.2 228.3 377 228 376.7 227.6C376 226.8 375.1 225.7 373.9 224.3C371.4 221.4 367.9 217.7 363.7 213.1C354.9 206.2 344.8 200 336 200C327.2 200 317.1 206.2 308.3 213.1C304.1 217.7 300.6 221.4 298.1 224.3C296.9 225.7 295.1 226.8 295.3 227.6C294.1 228 294.8 228.3 294.6 228.5L294.4 228.8L294.4 228.8C292.3 231.6 288.7 232.7 285.5 231.6C282.2 230.5 280 227.4 280 224C280 206.1 286.7 188.4 296.6 175.2C306.4 162.2 320.5 152 336 152C351.5 152 365.6 162.2 375.4 175.2C385.3 188.4 392 206.1 392 224C392 227.4 389.8 230.5 386.5 231.6C383.3 232.7 379.7 231.6 377.6 228.8L377.6 228.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"lightbulb\": [384, 512, [128161], \"f0eb\", \"M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM192 0C90.02 .3203 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.8 289.2 .0039 192 0zM288.4 260.1c-15.66 17.85-35.04 46.3-49.05 75.89h-94.61c-14.01-29.59-33.39-58.04-49.04-75.88C75.24 236.8 64 206.1 64 175.1C64 113.3 112.1 48.25 191.1 48C262.6 48 320 105.4 320 175.1C320 206.1 308.8 236.8 288.4 260.1zM176 80C131.9 80 96 115.9 96 160c0 8.844 7.156 16 16 16S128 168.8 128 160c0-26.47 21.53-48 48-48c8.844 0 16-7.148 16-15.99S184.8 80 176 80z\"],\n \"flag\": [448, 512, [127988, 61725], \"f024\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24V64 350.5 400v88c0 13.3 10.7 24 24 24s24-10.7 24-24V388l80.3-20.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30V66.1c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L48 52V24zm0 77.5l96.6-24.2c27-6.7 55.5-3.6 80.4 8.8c54.9 27.4 118.7 29.7 175 6.8V334.7l-24.4 9.1c-33.7 12.6-71.2 10.7-103.4-5.4c-48.2-24.1-103.3-30.1-155.6-17.1L48 338.5v-237z\"],\n \"square-check\": [448, 512, [9745, 9989, 61510, \"check-square\"], \"f14a\", \"M211.8 339.8C200.9 350.7 183.1 350.7 172.2 339.8L108.2 275.8C97.27 264.9 97.27 247.1 108.2 236.2C119.1 225.3 136.9 225.3 147.8 236.2L192 280.4L300.2 172.2C311.1 161.3 328.9 161.3 339.8 172.2C350.7 183.1 350.7 200.9 339.8 211.8L211.8 339.8zM0 96C0 60.65 28.65 32 64 32H384C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H384C392.8 432 400 424.8 400 416V96C400 87.16 392.8 80 384 80H64C55.16 80 48 87.16 48 96z\"],\n \"circle-dot\": [512, 512, [128280, \"dot-circle\"], \"f192\", \"M160 256C160 202.1 202.1 160 256 160C309 160 352 202.1 352 256C352 309 309 352 256 352C202.1 352 160 309 160 256zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"face-dizzy\": [512, 512, [\"dizzy\"], \"f567\", \"M192 352C192 316.7 220.7 288 256 288C291.3 288 320 316.7 320 352C320 387.3 291.3 416 256 416C220.7 416 192 387.3 192 352zM103 135C112.4 125.7 127.6 125.7 136.1 135L160 158.1L183 135C192.4 125.7 207.6 125.7 216.1 135C226.3 144.4 226.3 159.6 216.1 168.1L193.9 192L216.1 215C226.3 224.4 226.3 239.6 216.1 248.1C207.6 258.3 192.4 258.3 183 248.1L160 225.9L136.1 248.1C127.6 258.3 112.4 258.3 103 248.1C93.66 239.6 93.66 224.4 103 215L126.1 192L103 168.1C93.66 159.6 93.66 144.4 103 135V135zM295 135C304.4 125.7 319.6 125.7 328.1 135L352 158.1L375 135C384.4 125.7 399.6 125.7 408.1 135C418.3 144.4 418.3 159.6 408.1 168.1L385.9 192L408.1 215C418.3 224.4 418.3 239.6 408.1 248.1C399.6 258.3 384.4 258.3 375 248.1L352 225.9L328.1 248.1C319.6 258.3 304.4 258.3 295 248.1C285.7 239.6 285.7 224.4 295 215L318.1 192L295 168.1C285.7 159.6 285.7 144.4 295 135V135zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"futbol\": [512, 512, [9917, \"futbol-ball\", \"soccer-ball\"], \"f1e3\", \"M177.1 228.6L207.9 320h96.5l29.62-91.38L256 172.1L177.1 228.6zM255.1 0C114.6 0 .0001 114.6 .0001 256S114.6 512 256 512s255.1-114.6 255.1-255.1S397.4 0 255.1 0zM435.2 361.1l-103.9-1.578l-30.67 99.52C286.2 462.2 271.3 464 256 464s-30.19-1.773-44.56-4.93L180.8 359.6L76.83 361.1c-14.93-25.35-24.79-54.01-27.8-84.72L134.3 216.4L100.7 118.1c19.85-22.34 44.32-40.45 72.04-52.62L256 128l83.29-62.47c27.72 12.17 52.19 30.27 72.04 52.62L377.7 216.4l85.23 59.97C459.1 307.1 450.1 335.8 435.2 361.1z\"],\n \"pen-to-square\": [512, 512, [\"edit\"], \"f044\", \"M373.1 24.97C401.2-3.147 446.8-3.147 474.9 24.97L487 37.09C515.1 65.21 515.1 110.8 487 138.9L289.8 336.2C281.1 344.8 270.4 351.1 258.6 354.5L158.6 383.1C150.2 385.5 141.2 383.1 135 376.1C128.9 370.8 126.5 361.8 128.9 353.4L157.5 253.4C160.9 241.6 167.2 230.9 175.8 222.2L373.1 24.97zM440.1 58.91C431.6 49.54 416.4 49.54 407 58.91L377.9 88L424 134.1L453.1 104.1C462.5 95.6 462.5 80.4 453.1 71.03L440.1 58.91zM203.7 266.6L186.9 325.1L245.4 308.3C249.4 307.2 252.9 305.1 255.8 302.2L390.1 168L344 121.9L209.8 256.2C206.9 259.1 204.8 262.6 203.7 266.6zM200 64C213.3 64 224 74.75 224 88C224 101.3 213.3 112 200 112H88C65.91 112 48 129.9 48 152V424C48 446.1 65.91 464 88 464H360C382.1 464 400 446.1 400 424V312C400 298.7 410.7 288 424 288C437.3 288 448 298.7 448 312V424C448 472.6 408.6 512 360 512H88C39.4 512 0 472.6 0 424V152C0 103.4 39.4 64 88 64H200z\"],\n \"hourglass-half\": [384, 512, [\"hourglass-2\"], \"f252\", \"M0 24C0 10.75 10.75 0 24 0H360C373.3 0 384 10.75 384 24C384 37.25 373.3 48 360 48H352V66.98C352 107.3 335.1 145.1 307.5 174.5L225.9 256L307.5 337.5C335.1 366 352 404.7 352 445V464H360C373.3 464 384 474.7 384 488C384 501.3 373.3 512 360 512H24C10.75 512 0 501.3 0 488C0 474.7 10.75 464 24 464H32V445C32 404.7 48.01 366 76.52 337.5L158.1 256L76.52 174.5C48.01 145.1 32 107.3 32 66.98V48H24C10.75 48 0 37.25 0 24V24zM99.78 384H284.2C281 379.6 277.4 375.4 273.5 371.5L192 289.9L110.5 371.5C106.6 375.4 102.1 379.6 99.78 384H99.78zM284.2 128C296.1 110.4 304 89.03 304 66.98V48H80V66.98C80 89.03 87 110.4 99.78 128H284.2z\"],\n \"eye-slash\": [640, 512, [], \"f070\", \"M150.7 92.77C195 58.27 251.8 32 320 32C400.8 32 465.5 68.84 512.6 112.6C559.4 156 590.7 207.1 605.5 243.7C608.8 251.6 608.8 260.4 605.5 268.3C592.1 300.6 565.2 346.1 525.6 386.7L630.8 469.1C641.2 477.3 643.1 492.4 634.9 502.8C626.7 513.2 611.6 515.1 601.2 506.9L9.196 42.89C-1.236 34.71-3.065 19.63 5.112 9.196C13.29-1.236 28.37-3.065 38.81 5.112L150.7 92.77zM189.8 123.5L235.8 159.5C258.3 139.9 287.8 128 320 128C390.7 128 448 185.3 448 256C448 277.2 442.9 297.1 433.8 314.7L487.6 356.9C521.1 322.8 545.9 283.1 558.6 256C544.1 225.1 518.4 183.5 479.9 147.7C438.8 109.6 385.2 79.1 320 79.1C269.5 79.1 225.1 97.73 189.8 123.5L189.8 123.5zM394.9 284.2C398.2 275.4 400 265.9 400 255.1C400 211.8 364.2 175.1 320 175.1C319.3 175.1 318.7 176 317.1 176C319.3 181.1 320 186.5 320 191.1C320 202.2 317.6 211.8 313.4 220.3L394.9 284.2zM404.3 414.5L446.2 447.5C409.9 467.1 367.8 480 320 480C239.2 480 174.5 443.2 127.4 399.4C80.62 355.1 49.34 304 34.46 268.3C31.18 260.4 31.18 251.6 34.46 243.7C44 220.8 60.29 191.2 83.09 161.5L120.8 191.2C102.1 214.5 89.76 237.6 81.45 255.1C95.02 286 121.6 328.5 160.1 364.3C201.2 402.4 254.8 432 320 432C350.7 432 378.8 425.4 404.3 414.5H404.3zM192 255.1C192 253.1 192.1 250.3 192.3 247.5L248.4 291.7C258.9 312.8 278.5 328.6 302 333.1L358.2 378.2C346.1 381.1 333.3 384 319.1 384C249.3 384 191.1 326.7 191.1 255.1H192z\"],\n \"hand\": [512, 512, [129306, 9995, \"hand-paper\"], \"f256\", \"M408 80c-3.994 0-7.91 .3262-11.73 .9551c-9.586-28.51-36.57-49.11-68.27-49.11c-6.457 0-12.72 .8555-18.68 2.457C296.6 13.73 273.9 0 248 0C222.1 0 199.3 13.79 186.6 34.44C180.7 32.85 174.5 32 168.1 32C128.4 32 96.01 64.3 96.01 104v121.6C90.77 224.6 85.41 224 80.01 224c-.0026 0 .0026 0 0 0C36.43 224 0 259.2 0 304.1c0 20.29 7.558 39.52 21.46 54.45l81.25 87.24C141.9 487.9 197.4 512 254.9 512h33.08C393.9 512 480 425.9 480 320V152C480 112.3 447.7 80 408 80zM432 320c0 79.41-64.59 144-143.1 144H254.9c-44.41 0-86.83-18.46-117.1-50.96l-79.76-85.63c-6.202-6.659-9.406-15.4-9.406-23.1c0-22.16 18.53-31.4 31.35-31.4c8.56 0 17.1 3.416 23.42 10.18l26.72 28.69C131.8 312.7 133.9 313.4 135.9 313.4c4.106 0 8.064-3.172 8.064-8.016V104c0-13.25 10.75-24 23.1-24c13.25 0 23.1 10.75 23.1 24v152C192 264.8 199.2 272 208 272s15.1-7.163 15.1-15.1L224 72c0-13.25 10.75-24 23.1-24c13.25 0 23.1 10.75 23.1 24v184C272 264.8 279.2 272 288 272s15.99-7.164 15.99-15.1l.0077-152.2c0-13.25 10.75-24 23.1-24c13.25 0 23.1 10.75 23.1 24v152.2C352 264.8 359.2 272 368 272s15.1-7.163 15.1-15.1V152c0-13.25 10.75-24 23.1-24c13.25 0 23.1 10.75 23.1 24V320z\"],\n \"hand-spock\": [576, 512, [128406], \"f259\", \"M234.9 48.02c10.43 0 20.72 5.834 24.13 19.17l47.33 184.1c2.142 8.456 9.174 12.62 16.21 12.62c7.326 0 14.66-4.505 16.51-13.37l31.72-155.1c2.921-14.09 13.76-20.57 24.67-20.57c13.01 0 26.14 9.19 26.14 25.62c0 2.19-.2333 4.508-.7313 6.951l-28.48 139.2c-.2389 1.156-.3514 2.265-.3514 3.323c0 8.644 7.504 13.9 14.86 13.9c5.869 0 11.65-3.341 13.46-10.98l24.73-104.2c.2347-.9802 4.12-19.76 24.28-19.76c13.21 0 26.64 9.4 26.64 24.79c0 2.168-.2665 4.455-.8378 6.852l-48.06 204.7c-13.59 57.85-65.15 98.74-124.5 98.74l-48.79-.0234c-40.7-.0196-79.86-15.58-109.5-43.51l-75.93-71.55c-5.938-5.584-8.419-11.1-8.419-18.2c0-13.88 12.45-26.69 26.38-26.69c5.756 0 11.76 2.182 17.26 7.376l51.08 48.14c1.682 1.569 3.599 2.249 5.448 2.249c4.192 0 8.04-3.49 8.04-8.001c0-23.76-3.372-47.39-10.12-70.28L142 161.1C141.2 159.1 140.8 156.3 140.8 153.7c0-15.23 13.48-24.82 26.75-24.82c10.11 0 20.1 5.559 23.94 18.42l31.22 105.8c2.231 7.546 8.029 10.8 13.9 10.8c7.752 0 15.64-5.659 15.64-14.57c0-1.339-.1783-2.752-.562-4.23L209.3 80.06C208.7 77.45 208.3 74.97 208.3 72.62C208.3 57.33 221.7 48.02 234.9 48.02zM234.9 0C201.5 0 160.4 25.24 160.4 72.72c0 2.807 .1579 5.632 .4761 8.463C129.9 83.9 92.84 108.9 92.84 153.8c0 7.175 1.038 14.47 3.148 21.68l24.33 81.94C115.8 256.5 111.1 256 106.4 256C65.74 256 32 290.6 32 330.8c0 19.59 8.162 38.58 23.6 53.1l75.89 71.51c38.68 36.45 89.23 56.53 142.3 56.56L322.6 512c82.1 0 152.5-55.83 171.3-135.8l48.06-204.7C543.3 165.7 544 159.7 544 153.9c0-54.55-49.55-72.95-74.59-72.95c-.7689 0-1.534 .0117-2.297 .0352c-10.49-39.43-46.46-54.11-71.62-54.11c-34.1 0-64.45 24.19-71.63 58.83L319.2 108.5l-13.7-53.29C297.1 22.22 268.7 0 234.9 0z\"],\n \"face-kiss\": [512, 512, [128535, \"kiss\"], \"f596\", \"M304.7 281.7C308.9 286.8 312 293.1 312 300C312 306.9 308.9 313.2 304.7 318.3C300.4 323.5 294.5 328 287.9 331.7C285.2 333.3 282.3 334.7 279.2 336C282.3 337.3 285.2 338.7 287.9 340.3C294.5 343.1 300.4 348.5 304.7 353.7C308.9 358.8 312 365.1 312 372C312 378.9 308.9 385.2 304.7 390.3C300.4 395.5 294.5 400 287.9 403.7C274.7 411.1 257.4 416 240 416C236.4 416 233.2 413.5 232.3 410C231.3 406.5 232.9 402.8 236.1 401L236.1 401L236.3 400.9C236.5 400.8 236.8 400.6 237.2 400.3C238 399.9 239.2 399.1 240.6 398.2C243.4 396.4 247.2 393.7 250.8 390.6C254.6 387.5 258 384 260.5 380.6C262.1 377 264 374.2 264 372C264 369.8 262.1 366.1 260.5 363.4C258 359.1 254.6 356.5 250.8 353.4C247.2 350.3 243.4 347.6 240.6 345.8C239.2 344.9 238 344.1 237.2 343.7L236.5 343.2L236.3 343.1L236.1 342.1L236.1 342.1C233.6 341.6 232 338.9 232 336C232 333.1 233.6 330.4 236.1 329L236.1 329L236.3 328.9C236.5 328.8 236.8 328.6 237.2 328.3C238 327.9 239.2 327.1 240.6 326.2C243.4 324.4 247.2 321.7 250.8 318.6C254.6 315.5 258 312.1 260.5 308.6C262.1 305 264 302.2 264 300C264 297.8 262.1 294.1 260.5 291.4C258 287.1 254.6 284.5 250.8 281.4C247.2 278.3 243.4 275.6 240.6 273.8C239.2 272.9 238 272.1 237.2 271.7C236.8 271.4 236.5 271.2 236.3 271.1L236.1 270.1L236.1 270.1C232.9 269.2 231.3 265.5 232.3 261.1C233.2 258.5 236.4 256 240 256C257.4 256 274.7 260.9 287.9 268.3C294.5 271.1 300.4 276.5 304.7 281.7V281.7zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"face-grin-tongue\": [512, 512, [128539, \"grin-tongue\"], \"f589\", \"M144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208zM368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 337.7 95.13 408.4 163.7 442.4C161.3 434 160 425.2 160 416V363.6C151.1 355.6 143.3 346.5 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C368.6 346.4 360.8 355.5 352 363.5V416C352 425.2 350.7 434 348.3 442.4C416.9 408.4 464 337.7 464 256C464 141.1 370.9 48 255.1 48H256zM320 416V378.6C320 363.9 308.1 352 293.4 352H291.4C280.1 352 270.3 359.9 267.8 370.9C264.1 383.5 247 383.5 244.2 370.9C241.7 359.9 231.9 352 220.6 352H218.6C203.9 352 192 363.9 192 378.6V416C192 451.3 220.7 480 256 480C291.3 480 320 451.3 320 416z\"],\n \"chess-bishop\": [320, 512, [9821], \"f43a\", \"M296 464H23.1C10.75 464 0 474.7 0 487.1S10.75 512 23.1 512h272C309.3 512 320 501.3 320 488S309.3 464 296 464zM0 304c0 51.63 30.12 85.25 64 96v32h48v-67.13l-33.5-10.63C63.75 349.5 48 333.9 48 304c0-84.1 93.2-206.5 112.6-206.5c19.63 0 60.01 67.18 70.28 85.8l-66.13 66.13c-3.125 3.125-4.688 7.219-4.688 11.31S161.6 268.9 164.8 272L176 283.2c3.125 3.125 7.219 4.688 11.31 4.688s8.188-1.562 11.31-4.688L253 229C264.4 256.8 272 283.5 272 304c0 29.88-15.75 45.5-30.5 50.25L208 364.9V432H256v-32c33.88-10.75 64-44.38 64-96c0-73.38-67.75-197.2-120.6-241.5C213.4 59.12 224 47 224 32c0-17.62-14.38-32-32-32H128C110.4 0 96 14.38 96 32c0 15 10.62 27.12 24.62 30.5C67.75 106.8 0 230.6 0 304z\"],\n \"face-grin-wink\": [512, 512, [\"grin-wink\"], \"f58c\", \"M349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM281.9 230.6C273.9 223 273.5 210.4 281 202.3C295.6 186.8 316.3 180 335.6 180C354.1 180 375.7 186.8 390.2 202.3C397.8 210.4 397.4 223 389.3 230.6C381.2 238.1 368.6 237.7 361 229.7C355.6 223.8 346.3 220 335.6 220C324.1 220 315.7 223.8 310.2 229.7C302.7 237.7 290 238.1 281.9 230.6zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"face-grin-wide\": [512, 512, [128515, \"grin-alt\"], \"f581\", \"M349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM224 192C224 227.3 209.7 256 192 256C174.3 256 160 227.3 160 192C160 156.7 174.3 128 192 128C209.7 128 224 156.7 224 192zM288 192C288 156.7 302.3 128 320 128C337.7 128 352 156.7 352 192C352 227.3 337.7 256 320 256C302.3 256 288 227.3 288 192zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"face-frown-open\": [512, 512, [128550, \"frown-open\"], \"f57a\", \"M179.3 369.3C166.1 374.5 153.1 365.1 158.4 352.9C175.1 314.7 214.3 287.8 259.9 287.8C305.6 287.8 344.8 314.7 361.4 352.1C366.7 365.2 352.9 374.5 340.6 369.3C316.2 359 288.8 353.2 259.9 353.2C231 353.2 203.7 358.1 179.3 369.3L179.3 369.3zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"hand-point-up\": [448, 512, [9757], \"f0a6\", \"M376 192c-6.428 0-12.66 .8457-18.6 2.434C344.7 173.8 321.9 160 296 160c-6.428 0-12.66 .8457-18.6 2.434C264.7 141.8 241.9 128 216 128C213.3 128 210.6 128.1 208 128.4V72C208 32.3 175.7 0 136 0S64 32.3 64 72v196.3C44.51 284.5 32 308.8 32 336v49.88c0 32.1 17.1 61.65 44.63 77.12l55.83 31.35C153.1 505.9 176.4 512 199.8 512h107.9C385.1 512 448 447.4 448 368V264C448 224.3 415.7 192 376 192zM272 232c0-13.23 10.78-24 24-24S320 218.8 320 232v47.91C320 293.1 309.2 304 296 304S272 293.2 272 280V232zM192 200C192 186.8 202.8 176 216 176s24 10.77 24 24v48c0 3.029-.7012 5.875-1.73 8.545C227.9 251.3 216.4 248 204 248H192V200zM112 72c0-13.23 10.78-24 24-24S160 58.77 160 72v176H120c-2.686 0-5.217 .5566-7.84 .793C112.2 248.5 112 248.3 112 248V72zM307.7 464H199.8c-15.25 0-30.41-3.984-43.88-11.52l-55.78-31.34C87.72 414.2 80 400.6 80 385.9V336c0-22.06 17.94-40 40-40h84c15.44 0 28 12.56 28 28S219.4 352 204 352H152C138.8 352 128 362.8 128 376s10.75 24 24 24h52c33.23 0 61.25-21.58 71.54-51.36C282 350.7 288.9 352 296 352c5.041 0 9.836-1.166 14.66-2.178C322 374.6 346.1 392 376 392c7.684 0 14.94-1.557 21.87-3.836C388.9 431.4 351.9 464 307.7 464zM400 320c0 13.23-10.78 24-24 24S352 333.2 352 320V264c0-13.23 10.78-24 24-24s24 10.77 24 24V320z\"],\n \"bookmark\": [384, 512, [128278, 61591], \"f02e\", \"M336 0h-288C21.49 0 0 21.49 0 48v431.9c0 24.7 26.79 40.08 48.12 27.64L192 423.6l143.9 83.93C357.2 519.1 384 504.6 384 479.9V48C384 21.49 362.5 0 336 0zM336 452L192 368l-144 84V54C48 50.63 50.63 48 53.1 48h276C333.4 48 336 50.63 336 54V452z\"],\n \"hand-point-down\": [448, 512, [], \"f0a7\", \"M448 248V144C448 64.6 385.1 0 307.7 0H199.8C176.4 0 153.1 6.104 132.5 17.65L76.63 49C49.1 64.47 32 94.02 32 126.1V176c0 27.23 12.51 51.53 32 67.69V440C64 479.7 96.3 512 136 512s72-32.3 72-72v-56.44C210.6 383.9 213.3 384 216 384c25.95 0 48.73-13.79 61.4-34.43C283.3 351.2 289.6 352 296 352c25.95 0 48.73-13.79 61.4-34.43C363.3 319.2 369.6 320 376 320C415.7 320 448 287.7 448 248zM272 232c0-13.23 10.78-24 24-24S320 218.9 320 232.1V280c0 13.23-10.78 24-24 24S272 293.2 272 280V232zM192 264h12c12.39 0 23.93-3.264 34.27-8.545C239.3 258.1 240 260.1 240 264v48c0 13.23-10.78 24-24 24S192 325.2 192 312V264zM112 264c0-.2813 .1504-.5137 .1602-.793C114.8 263.4 117.3 264 120 264H160v176c0 13.23-10.78 24-24 24S112 453.2 112 440V264zM397.9 123.8C390.9 121.6 383.7 120 376 120c-29.04 0-53.96 17.37-65.34 42.18C305.8 161.2 301 160 296 160c-7.139 0-13.96 1.273-20.46 3.355C265.2 133.6 237.2 112 204 112H152C138.8 112 128 122.8 128 136S138.8 160 152 160h52c15.44 0 28 12.56 28 28S219.4 216 204 216H120C97.94 216 80 198.1 80 176V126.1c0-14.77 7.719-28.28 20.16-35.27l55.78-31.34C169.4 51.98 184.6 48 199.8 48h107.9C351.9 48 388.9 80.56 397.9 123.8zM400 248c0 13.23-10.78 24-24 24S352 261.2 352 248V192c0-13.23 10.78-24 24-24S400 178.8 400 192V248z\"],\n \"folder\": [512, 512, [128193, 128447, 61716, \"folder-blank\"], \"f07b\", \"M447.1 96h-172.1L226.7 50.75C214.7 38.74 198.5 32 181.5 32H63.1c-35.35 0-64 28.66-64 64v320c0 35.34 28.65 64 64 64h384c35.35 0 64-28.66 64-64V160C511.1 124.7 483.3 96 447.1 96zM463.1 416c0 8.824-7.178 16-16 16h-384c-8.822 0-16-7.176-16-16V96c0-8.824 7.178-16 16-16h117.5c4.273 0 8.293 1.664 11.31 4.688L255.1 144h192c8.822 0 16 7.176 16 16V416z\"],\n \"user\": [448, 512, [128100, 62144], \"f007\", \"M272 304h-96C78.8 304 0 382.8 0 480c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32C448 382.8 369.2 304 272 304zM48.99 464C56.89 400.9 110.8 352 176 352h96c65.16 0 119.1 48.95 127 112H48.99zM224 256c70.69 0 128-57.31 128-128c0-70.69-57.31-128-128-128S96 57.31 96 128C96 198.7 153.3 256 224 256zM224 48c44.11 0 80 35.89 80 80c0 44.11-35.89 80-80 80S144 172.1 144 128C144 83.89 179.9 48 224 48z\"],\n \"square-caret-left\": [448, 512, [\"caret-square-left\"], \"f191\", \"M384 32H64C28.66 32 0 60.66 0 96v320c0 35.34 28.66 64 64 64h320c35.34 0 64-28.66 64-64V96C448 60.66 419.3 32 384 32zM400 416c0 8.82-7.18 16-16 16H64c-8.82 0-16-7.18-16-16V96c0-8.82 7.18-16 16-16h320c8.82 0 16 7.18 16 16V416zM273.6 138c-8.719-3.812-18.91-2.094-25.91 4.375l-104 96C138.8 242.9 136 249.3 136 256s2.812 13.09 7.719 17.62l104 96c7 6.469 17.19 8.188 25.91 4.375C282.3 370.2 288 361.5 288 352V160C288 150.5 282.3 141.8 273.6 138z\"],\n \"star\": [576, 512, [11088, 61446], \"f005\", \"M287.9 0C297.1 0 305.5 5.25 309.5 13.52L378.1 154.8L531.4 177.5C540.4 178.8 547.8 185.1 550.7 193.7C553.5 202.4 551.2 211.9 544.8 218.2L433.6 328.4L459.9 483.9C461.4 492.9 457.7 502.1 450.2 507.4C442.8 512.7 432.1 513.4 424.9 509.1L287.9 435.9L150.1 509.1C142.9 513.4 133.1 512.7 125.6 507.4C118.2 502.1 114.5 492.9 115.1 483.9L142.2 328.4L31.11 218.2C24.65 211.9 22.36 202.4 25.2 193.7C28.03 185.1 35.5 178.8 44.49 177.5L197.7 154.8L266.3 13.52C270.4 5.249 278.7 0 287.9 0L287.9 0zM287.9 78.95L235.4 187.2C231.9 194.3 225.1 199.3 217.3 200.5L98.98 217.9L184.9 303C190.4 308.5 192.9 316.4 191.6 324.1L171.4 443.7L276.6 387.5C283.7 383.7 292.2 383.7 299.2 387.5L404.4 443.7L384.2 324.1C382.9 316.4 385.5 308.5 391 303L476.9 217.9L358.6 200.5C350.7 199.3 343.9 194.3 340.5 187.2L287.9 78.95z\"],\n \"chess-knight\": [384, 512, [9822], \"f441\", \"M44 320.6l14.5 6.5c-17.01 20.24-26.44 45.91-26.44 72.35C32.06 399.7 32.12 432 32.12 432h48v-32c0-24.75 14-47.5 36.13-58.63l38.13-23.37c13.25-6.625 21.75-20.25 21.75-35.13v-58.75l-15.37 9C155.6 235.8 151.9 240.4 150.5 245.9L143 271c-2.25 7.625-8 13.88-15.38 16.75L117.1 292C114 293.3 110.7 293.9 107.4 293.9c-3.626 0-7.263-.7514-10.66-2.254L63.5 276.9C54.12 272.6 48 263.2 48 252.9V140.5c0-5.125 2.125-10.12 5.75-13.88l7.375-7.375L49.5 96C48.5 94.12 48 92 48 89.88C48 84.38 52.38 80 57.88 80h105c86.75 0 156.1 70.38 156.1 157.1V432h48.06l-.0625-194.9C367.9 124 276 32 162.9 32H57.88C25.88 32 0 57.88 0 89.88c0 8.5 1.75 16.88 5.125 24.62C1.75 122.8 0 131.6 0 140.5v112.4C0 282.2 17.25 308.8 44 320.6zM80.12 164c0 11 8.875 20 20 20c11 0 20-9 20-20s-9-20-20-20C89 144 80.12 153 80.12 164zM360 464H23.1C10.75 464 0 474.7 0 487.1S10.75 512 23.1 512H360C373.3 512 384 501.3 384 488S373.3 464 360 464z\"],\n \"face-laugh-squint\": [512, 512, [\"laugh-squint\"], \"f59b\", \"M130.7 313.9C126.5 300.4 137.8 288 151.1 288H364.5C378.7 288 389.9 300.4 385.8 313.9C368.1 368.4 318.2 408 258.2 408C198.2 408 147.5 368.4 130.7 313.9V313.9zM223.4 178.6C234.1 184.3 234.1 199.7 223.4 205.4L133.5 253.3C125.6 257.6 116 251.8 116 242.9C116 240.1 116.1 237.4 118.8 235.2L154.8 192L118.8 148.8C116.1 146.6 116 143.9 116 141.1C116 132.2 125.6 126.4 133.5 130.7L223.4 178.6zM393.2 148.8L357.2 192L393.2 235.2C395 237.4 396 240.1 396 242.9C396 251.8 386.4 257.6 378.5 253.3L288.6 205.4C277.9 199.7 277.9 184.3 288.6 178.6L378.5 130.7C386.4 126.4 396 132.2 396 141.1C396 143.9 395 146.6 393.2 148.8V148.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"face-laugh\": [512, 512, [\"laugh\"], \"f599\", \"M130.7 313.9C126.5 300.4 137.8 288 151.1 288H364.5C378.7 288 389.9 300.4 385.8 313.9C368.1 368.4 318.2 408 258.2 408C198.2 408 147.5 368.4 130.7 313.9V313.9zM208.4 192C208.4 209.7 194 224 176.4 224C158.7 224 144.4 209.7 144.4 192C144.4 174.3 158.7 160 176.4 160C194 160 208.4 174.3 208.4 192zM304.4 192C304.4 174.3 318.7 160 336.4 160C354 160 368.4 174.3 368.4 192C368.4 209.7 354 224 336.4 224C318.7 224 304.4 209.7 304.4 192zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"folder-open\": [576, 512, [128194, 128449, 61717], \"f07c\", \"M572.6 270.3l-96 192C471.2 473.2 460.1 480 447.1 480H64c-35.35 0-64-28.66-64-64V96c0-35.34 28.65-64 64-64h117.5c16.97 0 33.25 6.742 45.26 18.75L275.9 96H416c35.35 0 64 28.66 64 64v32h-48V160c0-8.824-7.178-16-16-16H256L192.8 84.69C189.8 81.66 185.8 80 181.5 80H64C55.18 80 48 87.18 48 96v288l71.16-142.3C124.6 230.8 135.7 224 147.8 224h396.2C567.7 224 583.2 249 572.6 270.3z\"],\n \"clipboard\": [384, 512, [128203], \"f328\", \"M280 64h40c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64h40 9.6C121 27.5 153.3 0 192 0s71 27.5 78.4 64H280zM64 112c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H304v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112H64zm128-8a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"],\n \"chess-queen\": [512, 512, [9819], \"f445\", \"M256 112c30.88 0 56-25.12 56-56S286.9 0 256 0S199.1 25.12 199.1 56S225.1 112 256 112zM511.1 197.4c0-5.178-2.509-10.2-7.096-13.26L476.4 168.2c-2.5-1.75-5.497-2.62-8.497-2.62c-5.501 .125-10.63 2.87-13.75 7.245c-9.001 12-23.16 19.13-38.16 19.13c-3.125 0-6.089-.2528-9.089-.8778c-23.13-4.25-38.88-26.25-38.88-49.75C367.1 134 361.1 128 354.6 128h-38.75c-6.001 0-11.63 4-12.88 9.875C298.2 160.1 278.7 176 255.1 176c-22.75 0-42.25-15.88-47-38.12C207.7 132 202.2 128 196.1 128h-38.75C149.1 128 143.1 134 143.1 141.4c0 18.49-13.66 50.62-47.95 50.62c-15.13 0-29.3-7.118-38.3-19.24C54.6 168.4 49.66 165.7 44.15 165.6c-3 0-5.931 .8951-8.432 2.645l-28.63 16C2.509 187.2 0 192.3 0 197.4c0 2.438 .5583 4.901 1.72 7.185L109.9 432h53.13L69.85 236.4C78.35 238.8 87.11 240 95.98 240c2.432 0 56.83 1.503 84.76-52.5C198.1 210.5 226.6 224 255.9 224c29.38 0 57.01-13.38 75.26-36.25C336.1 197.6 360.6 240 416 240c8.751 0 17.5-1.125 26-3.5L349 432h53.13l108.1-227.4C511.4 202.3 511.1 199.8 511.1 197.4zM424 464H87.98c-13.26 0-24 10.75-24 23.1S74.72 512 87.98 512h336c13.26 0 24-10.75 24-23.1S437.3 464 424 464z\"],\n \"hand-back-fist\": [448, 512, [\"hand-rock\"], \"f255\", \"M377.1 68.05C364.4 50.65 343.7 40 321.2 40h-13.53c-3.518 0-7.039 .2754-10.53 .8184C284.8 31.33 269.6 26 253.5 26H240c-3.977 0-7.904 .3691-11.75 1.084C216.7 10.71 197.6 0 176 0H160C124.7 0 96 28.65 96 64v49.71L63.04 143.3C43.3 160 32 184.6 32 210.9v78.97c0 32.1 17.11 61.65 44.65 77.12L112 386.9v101.1C112 501.3 122.7 512 135.1 512S160 501.3 160 488v-129.9c-1.316-.6543-2.775-.9199-4.062-1.639l-55.78-31.34C87.72 318.2 80 304.6 80 289.9V210.9c0-12.31 5.281-23.77 14.5-31.39L112 163.8V208C112 216.8 119.2 224 128 224s16-7.156 16-16V64c0-8.828 7.188-16 16-16h16C184.8 48 192 55.17 192 64v16c0 9.578 7.942 16.04 16.15 16.04c6.432 0 12.31-4.018 14.73-10.17C223.3 84.84 228.3 74 240 74h13.53c20.97 0 17.92 19.58 34.27 19.58c8.177 0 9.9-5.584 19.88-5.584h13.53c25.54 0 18.27 28.23 38.66 28.23c.1562 0 .3125-.002 .4668-.0078L375.4 116C388.1 116 400 127.7 400 142V272c0 36.15-19.54 67.32-48 83.69v132.3C352 501.3 362.7 512 375.1 512S400 501.3 400 488v-108.1C430.1 352.8 448 313.6 448 272V142C448 102.1 416.8 69.44 377.1 68.05z\"],\n \"square-caret-up\": [448, 512, [\"caret-square-up\"], \"f151\", \"M241.6 175.7C237.1 170.8 230.7 168 224 168S210.9 170.8 206.4 175.7l-96 104c-6.469 7-8.188 17.19-4.375 25.91C109.8 314.3 118.5 320 127.1 320h192c9.531 0 18.16-5.656 22-14.38c3.813-8.719 2.094-18.91-4.375-25.91L241.6 175.7zM384 32H64C28.65 32 0 60.66 0 96v320c0 35.34 28.65 64 64 64h320c35.35 0 64-28.66 64-64V96C448 60.66 419.3 32 384 32zM400 416c0 8.82-7.178 16-16 16H64c-8.822 0-16-7.18-16-16V96c0-8.82 7.178-16 16-16h320c8.822 0 16 7.18 16 16V416z\"],\n \"chart-bar\": [512, 512, [\"bar-chart\"], \"f080\", \"M24 32C37.25 32 48 42.75 48 56V408C48 421.3 58.75 432 72 432H488C501.3 432 512 442.7 512 456C512 469.3 501.3 480 488 480H72C32.24 480 0 447.8 0 408V56C0 42.75 10.75 32 24 32zM128 136C128 122.7 138.7 112 152 112H360C373.3 112 384 122.7 384 136C384 149.3 373.3 160 360 160H152C138.7 160 128 149.3 128 136zM296 208C309.3 208 320 218.7 320 232C320 245.3 309.3 256 296 256H152C138.7 256 128 245.3 128 232C128 218.7 138.7 208 152 208H296zM424 304C437.3 304 448 314.7 448 328C448 341.3 437.3 352 424 352H152C138.7 352 128 341.3 128 328C128 314.7 138.7 304 152 304H424z\"],\n \"window-restore\": [512, 512, [], \"f2d2\", \"M432 48H208C190.3 48 176 62.33 176 80V96H128V80C128 35.82 163.8 0 208 0H432C476.2 0 512 35.82 512 80V304C512 348.2 476.2 384 432 384H416V336H432C449.7 336 464 321.7 464 304V80C464 62.33 449.7 48 432 48zM320 128C355.3 128 384 156.7 384 192V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V192C0 156.7 28.65 128 64 128H320zM64 464H320C328.8 464 336 456.8 336 448V256H48V448C48 456.8 55.16 464 64 464z\"],\n \"square-plus\": [448, 512, [61846, \"plus-square\"], \"f0fe\", \"M200 344V280H136C122.7 280 112 269.3 112 256C112 242.7 122.7 232 136 232H200V168C200 154.7 210.7 144 224 144C237.3 144 248 154.7 248 168V232H312C325.3 232 336 242.7 336 256C336 269.3 325.3 280 312 280H248V344C248 357.3 237.3 368 224 368C210.7 368 200 357.3 200 344zM0 96C0 60.65 28.65 32 64 32H384C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H384C392.8 432 400 424.8 400 416V96C400 87.16 392.8 80 384 80H64C55.16 80 48 87.16 48 96z\"],\n \"image\": [512, 512, [], \"f03e\", \"M152 120c-26.51 0-48 21.49-48 48s21.49 48 48 48s48-21.49 48-48S178.5 120 152 120zM447.1 32h-384C28.65 32-.0091 60.65-.0091 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96C511.1 60.65 483.3 32 447.1 32zM463.1 409.3l-136.8-185.9C323.8 218.8 318.1 216 312 216c-6.113 0-11.82 2.768-15.21 7.379l-106.6 144.1l-37.09-46.1c-3.441-4.279-8.934-6.809-14.77-6.809c-5.842 0-11.33 2.529-14.78 6.809l-75.52 93.81c0-.0293 0 .0293 0 0L47.99 96c0-8.822 7.178-16 16-16h384c8.822 0 16 7.178 16 16V409.3z\"],\n \"folder-closed\": [512, 512, [], \"e185\", \"M448 96h-172.1L226.7 50.75C214.7 38.74 198.5 32 181.5 32H64C28.65 32 0 60.66 0 96v320c0 35.34 28.65 64 64 64h384c35.35 0 64-28.66 64-64V160C512 124.7 483.3 96 448 96zM64 80h117.5c4.273 0 8.293 1.664 11.31 4.688L256 144h192c8.822 0 16 7.176 16 16v32h-416V96C48 87.18 55.18 80 64 80zM448 432H64c-8.822 0-16-7.176-16-16V240h416V416C464 424.8 456.8 432 448 432z\"],\n \"lemon\": [448, 512, [127819], \"f094\", \"M439.9 144.6c15.34-26.38 8.372-62.41-16.96-87.62c-25.21-25.32-61.22-32.26-87.61-16.95c-9.044 5.218-27.15 3.702-48.08 1.968c-50.78-4.327-127.4-10.73-207.6 69.56C-.6501 191.9 5.801 268.5 10.07 319.3c1.749 20.96 3.28 39.07-1.984 48.08c-15.35 26.4-8.357 62.45 16.92 87.57c16.26 16.37 37.05 25.09 56.83 25.09c10.89 0 21.46-2.64 30.83-8.092c9.013-5.249 27.12-3.718 48.08-1.968c50.69 4.233 127.4 10.7 207.6-69.56c80.27-80.28 73.82-156.9 69.56-207.7C436.2 171.8 434.7 153.7 439.9 144.6zM398.4 120.5c-12.87 22.09-10.67 48.41-8.326 76.25c4.155 49.3 8.841 105.2-55.67 169.7c-64.53 64.49-120.5 59.78-169.7 55.68c-27.85-2.328-54.12-4.53-76.26 8.311c-6.139 3.64-19.17 1.031-29.58-9.451c-10.39-10.33-12.95-23.35-9.372-29.49c12.87-22.09 10.67-48.41 8.326-76.25C53.72 265.1 49.04 210.1 113.5 145.5c48.27-48.27 91.71-57.8 131.2-57.8c13.28 0 26.12 1.078 38.52 2.125c27.9 2.359 54.17 4.561 76.26-8.311c6.123-3.577 19.18-1.031 29.49 9.357C399.4 101.2 402 114.4 398.4 120.5zM239.5 124.1c2.156 8.561-3.062 17.25-11.62 19.43C183.6 154.7 122.7 215.6 111.6 259.9C109.7 267.1 103.2 271.1 96.05 271.1c-1.281 0-2.593-.1562-3.905-.4687C83.58 269.3 78.4 260.6 80.52 252.1C94.67 195.8 163.8 126.7 220.1 112.5C228.8 110.4 237.3 115.5 239.5 124.1z\"],\n \"handshake\": [640, 512, [], \"f2b5\", \"M506.1 127.1c-17.97-20.17-61.46-61.65-122.7-71.1c-22.5-3.354-45.39 3.606-63.41 18.21C302 60.47 279.1 53.42 256.5 56.86C176.8 69.17 126.7 136.2 124.6 139.1c-7.844 10.69-5.531 25.72 5.125 33.57c4.281 3.157 9.281 4.657 14.19 4.657c7.406 0 14.69-3.375 19.38-9.782c.4062-.5626 40.19-53.91 100.5-63.23c7.457-.9611 14.98 .67 21.56 4.483L227.2 168.2C214.8 180.5 207.1 196.1 207.1 214.5c0 17.5 6.812 33.94 19.16 46.29C239.5 273.2 255.9 279.1 273.4 279.1s33.94-6.813 46.31-19.19l11.35-11.35l124.2 100.9c2.312 1.875 2.656 5.251 .5 7.97l-27.69 35.75c-1.844 2.25-5.25 2.594-7.156 1.063l-22.22-18.69l-26.19 27.75c-2.344 2.875-5.344 3.563-6.906 3.719c-1.656 .1562-4.562 .125-6.812-1.719l-32.41-27.66L310.7 392.3l-2.812 2.938c-5.844 7.157-14.09 11.66-23.28 12.6c-9.469 .8126-18.25-1.75-24.5-6.782L170.3 319.8H96V128.3L0 128.3v255.6l64 .0404c11.74 0 21.57-6.706 27.14-16.14h60.64l77.06 69.66C243.7 449.6 261.9 456 280.8 456c2.875 0 5.781-.125 8.656-.4376c13.62-1.406 26.41-6.063 37.47-13.5l.9062 .8126c12.03 9.876 27.28 14.41 42.69 12.78c13.19-1.375 25.28-7.032 33.91-15.35c21.09 8.188 46.09 2.344 61.25-16.47l27.69-35.75c18.47-22.82 14.97-56.48-7.844-75.01l-120.3-97.76l8.381-8.382c9.375-9.376 9.375-24.57 0-33.94c-9.375-9.376-24.56-9.376-33.94 0L285.8 226.8C279.2 233.5 267.7 233.5 261.1 226.8c-3.312-3.282-5.125-7.657-5.125-12.31c0-4.688 1.812-9.064 5.281-12.53l85.91-87.64c7.812-7.845 18.53-11.75 28.94-10.03c59.75 9.22 100.2 62.73 100.6 63.29c3.088 4.155 7.264 6.946 11.84 8.376H544v175.1c0 17.67 14.33 32.05 31.1 32.05L640 384V128.1L506.1 127.1zM48 352c-8.75 0-16-7.245-16-15.99c0-8.876 7.25-15.99 16-15.99S64 327.2 64 336.1C64 344.8 56.75 352 48 352zM592 352c-8.75 0-16-7.245-16-15.99c0-8.876 7.25-15.99 16-15.99s16 7.117 16 15.99C608 344.8 600.8 352 592 352z\"],\n \"gem\": [512, 512, [128142], \"f3a5\", \"M168.5 72L256 165l87.5-93h-175zM383.9 99.1L311.5 176h129L383.9 99.1zm50 124.9H256 78.1L256 420.3 433.9 224zM71.5 176h129L128.1 99.1 71.5 176zm434.3 40.1l-232 256c-4.6 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152c4.5-6.1 11.7-9.8 19.3-9.8H376c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4z\"],\n \"circle-play\": [512, 512, [61469, \"play-circle\"], \"f144\", \"M188.3 147.1C195.8 142.8 205.1 142.1 212.5 147.5L356.5 235.5C363.6 239.9 368 247.6 368 256C368 264.4 363.6 272.1 356.5 276.5L212.5 364.5C205.1 369 195.8 369.2 188.3 364.9C180.7 360.7 176 352.7 176 344V167.1C176 159.3 180.7 151.3 188.3 147.1V147.1zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"circle-check\": [512, 512, [61533, \"check-circle\"], \"f058\", \"M243.8 339.8C232.9 350.7 215.1 350.7 204.2 339.8L140.2 275.8C129.3 264.9 129.3 247.1 140.2 236.2C151.1 225.3 168.9 225.3 179.8 236.2L224 280.4L332.2 172.2C343.1 161.3 360.9 161.3 371.8 172.2C382.7 183.1 382.7 200.9 371.8 211.8L243.8 339.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"circle-stop\": [512, 512, [62094, \"stop-circle\"], \"f28d\", \"M328 160h-144C170.8 160 160 170.8 160 184v144C160 341.2 170.8 352 184 352h144c13.2 0 24-10.8 24-24v-144C352 170.8 341.2 160 328 160zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464z\"],\n \"id-badge\": [384, 512, [], \"f2c1\", \"M320 0H64C28.65 0 0 28.65 0 64v384c0 35.35 28.65 64 64 64h256c35.35 0 64-28.65 64-64V64C384 28.65 355.3 0 320 0zM336 448c0 8.836-7.164 16-16 16H64c-8.836 0-16-7.164-16-16V64c0-8.838 7.164-16 16-16h64V64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V48h64c8.836 0 16 7.162 16 16V448zM192 288c35.35 0 64-28.65 64-64s-28.65-64-64-64C156.7 160 128 188.7 128 224S156.7 288 192 288zM224 320H160c-44.18 0-80 35.82-80 80C80 408.8 87.16 416 96 416h192c8.836 0 16-7.164 16-16C304 355.8 268.2 320 224 320z\"],\n \"face-laugh-beam\": [512, 512, [128513, \"laugh-beam\"], \"f59a\", \"M130.7 313.9C126.5 300.4 137.8 288 151.1 288H364.5C378.7 288 389.9 300.4 385.8 313.9C368.1 368.4 318.2 408 258.2 408C198.2 408 147.5 368.4 130.7 313.9V313.9zM217.6 228.8L217.6 228.8L217.4 228.5C217.2 228.3 217 228 216.7 227.6C216 226.8 215.1 225.7 213.9 224.3C211.4 221.4 207.9 217.7 203.7 213.1C194.9 206.2 184.8 200 176 200C167.2 200 157.1 206.2 148.3 213.1C144.1 217.7 140.6 221.4 138.1 224.3C136.9 225.7 135.1 226.8 135.3 227.6C134.1 228 134.8 228.3 134.6 228.5L134.4 228.8L134.4 228.8C132.3 231.6 128.7 232.7 125.5 231.6C122.2 230.5 120 227.4 120 224C120 206.1 126.7 188.4 136.6 175.2C146.4 162.2 160.5 152 176 152C191.5 152 205.6 162.2 215.4 175.2C225.3 188.4 232 206.1 232 224C232 227.4 229.8 230.5 226.5 231.6C223.3 232.7 219.7 231.6 217.6 228.8V228.8zM377.6 228.8L377.4 228.5C377.2 228.3 377 228 376.7 227.6C376 226.8 375.1 225.7 373.9 224.3C371.4 221.4 367.9 217.7 363.7 213.1C354.9 206.2 344.8 200 336 200C327.2 200 317.1 206.2 308.3 213.1C304.1 217.7 300.6 221.4 298.1 224.3C296.9 225.7 295.1 226.8 295.3 227.6C294.1 228 294.8 228.3 294.6 228.5L294.4 228.8L294.4 228.8C292.3 231.6 288.7 232.7 285.5 231.6C282.2 230.5 280 227.4 280 224C280 206.1 286.7 188.4 296.6 175.2C306.4 162.2 320.5 152 336 152C351.5 152 365.6 162.2 375.4 175.2C385.3 188.4 392 206.1 392 224C392 227.4 389.8 230.5 386.5 231.6C383.3 232.7 379.7 231.6 377.6 228.8L377.6 228.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"registered\": [512, 512, [174], \"f25d\", \"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464zM352 208c0-44.13-35.88-80-80-80L184 128c-13.25 0-24 10.75-24 24v208c0 13.25 10.75 24 24 24s24-10.75 24-24v-72h59.79l38.46 82.19C310.3 378.9 319 384 328 384c3.438 0 6.875-.7187 10.19-2.25c12-5.625 17.16-19.91 11.56-31.94l-34.87-74.5C337.1 261.1 352 236.3 352 208zM272 240h-64v-64h64c17.66 0 32 14.34 32 32S289.7 240 272 240z\"],\n \"address-card\": [576, 512, [62140, \"contact-card\", \"vcard\"], \"f2bb\", \"M208 256c35.35 0 64-28.65 64-64c0-35.35-28.65-64-64-64s-64 28.65-64 64C144 227.3 172.7 256 208 256zM464 232h-96c-13.25 0-24 10.75-24 24s10.75 24 24 24h96c13.25 0 24-10.75 24-24S477.3 232 464 232zM240 288h-64C131.8 288 96 323.8 96 368C96 376.8 103.2 384 112 384h192c8.836 0 16-7.164 16-16C320 323.8 284.2 288 240 288zM464 152h-96c-13.25 0-24 10.75-24 24s10.75 24 24 24h96c13.25 0 24-10.75 24-24S477.3 152 464 152zM512 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h448c35.35 0 64-28.65 64-64V96C576 60.65 547.3 32 512 32zM528 416c0 8.822-7.178 16-16 16H64c-8.822 0-16-7.178-16-16V96c0-8.822 7.178-16 16-16h448c8.822 0 16 7.178 16 16V416z\"],\n \"face-tired\": [512, 512, [128555, \"tired\"], \"f5c8\", \"M176.5 320.3C196.1 302.1 223.8 288 256 288C288.2 288 315.9 302.1 335.5 320.3C354.5 338.1 368 362 368 384C368 389.4 365.3 394.4 360.8 397.4C356.2 400.3 350.5 400.8 345.6 398.7L328.4 391.1C305.6 381.2 280.9 376 256 376C231.1 376 206.4 381.2 183.6 391.1L166.4 398.7C161.5 400.8 155.8 400.3 151.2 397.4C146.7 394.4 144 389.4 144 384C144 362 157.5 338.1 176.5 320.3zM223.4 194.6C234.1 200.3 234.1 215.7 223.4 221.4L133.5 269.3C125.6 273.6 116 267.8 116 258.9C116 256.1 116.1 253.4 118.8 251.2L154.8 208L118.8 164.8C116.1 162.6 116 159.9 116 157.1C116 148.2 125.6 142.4 133.5 146.7L223.4 194.6zM393.2 164.8L357.2 208L393.2 251.2C395 253.4 396 256.1 396 258.9C396 267.8 386.4 273.6 378.5 269.3L288.6 221.4C277.9 215.7 277.9 200.3 288.6 194.6L378.5 146.7C386.4 142.4 396 148.2 396 157.1C396 159.9 395 162.6 393.2 164.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"font-awesome\": [448, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", \"M448 48V384c-63.09 22.54-82.34 32-119.5 32c-62.82 0-86.6-32-149.3-32c-21.69 0-38.48 3.791-53.74 8.766C110.1 397.5 96 386.1 96 371.7v-.7461c0-9.275 5.734-17.6 14.42-20.86C129.1 342.8 150.2 336 179.2 336c62.73 0 86.51 32 149.3 32c25.5 0 42.85-4.604 71.47-14.7v-240C379.2 120.6 357.7 128 328.5 128c-.0039 0 .0039 0 0 0c-62.81 0-86.61-32-149.3-32C122.1 96 98.8 122.1 48 126.1V456C48 469.3 37.25 480 24 480S0 469.3 0 456V56C0 42.74 10.75 32 24 32S48 42.74 48 56v22.99C98.8 74.14 122.1 48 179.2 48c62.77 0 86.45 32 149.3 32C366.1 80 386.8 69.85 448 48z\"],\n \"face-smile-wink\": [512, 512, [128521, \"smile-wink\"], \"f4da\", \"M256 352C293.2 352 319.2 334.5 334.4 318.1C343.3 308.4 358.5 307.7 368.3 316.7C378 325.7 378.6 340.9 369.6 350.6C347.7 374.5 309.7 400 256 400C202.3 400 164.3 374.5 142.4 350.6C133.4 340.9 133.1 325.7 143.7 316.7C153.5 307.7 168.7 308.4 177.6 318.1C192.8 334.5 218.8 352 256 352zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM281.9 230.6C273.9 223 273.5 210.4 281 202.3C295.6 186.8 316.3 180 335.6 180C354.1 180 375.7 186.8 390.2 202.3C397.8 210.4 397.4 223 389.3 230.6C381.2 238.1 368.6 237.7 361 229.7C355.6 223.8 346.3 220 335.6 220C324.1 220 315.7 223.8 310.2 229.7C302.7 237.7 290 238.1 281.9 230.6zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"file-word\": [384, 512, [], \"f1c2\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H64C28.65 0 0 28.65 0 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM214.6 248C211.3 238.4 202.2 232 192 232s-19.25 6.406-22.62 16L144.7 318.1l-25.89-77.66C114.6 227.8 101 221.2 88.41 225.2C75.83 229.4 69.05 243 73.23 255.6l48 144C124.5 409.3 133.5 415.9 143.8 416c10.17 0 19.45-6.406 22.83-16L192 328.1L217.4 400C220.8 409.6 229.8 416 240 416c10.27-.0938 19.53-6.688 22.77-16.41l48-144c4.188-12.59-2.594-26.16-15.17-30.38c-12.61-4.125-26.2 2.594-30.36 15.19l-25.89 77.66L214.6 248z\"],\n \"file-powerpoint\": [384, 512, [], \"f1c4\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H64C28.65 0 0 28.65 0 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM200 224H128C119.2 224 112 231.2 112 240v168c0 13.25 10.75 24 24 24S160 421.3 160 408v-32h44c44.21 0 79.73-37.95 75.69-82.98C276.1 253.2 240 224 200 224zM204 328H160V272h44c15.44 0 28 12.56 28 28S219.4 328 204 328z\"],\n \"envelope-open\": [512, 512, [62135], \"f2b6\", \"M493.6 163c-24.88-19.62-45.5-35.37-164.3-121.6C312.7 29.21 279.7 0 256.4 0H255.6C232.3 0 199.3 29.21 182.6 41.38C63.88 127.6 43.25 143.4 18.38 163C6.75 172 0 186 0 200.8v247.2C0 483.3 28.65 512 64 512h384c35.35 0 64-28.67 64-64.01V200.8C512 186 505.3 172 493.6 163zM464 448c0 8.822-7.178 16-16 16H64c-8.822 0-16-7.178-16-16V276.7l136.1 113.4C204.3 406.8 229.8 416 256 416s51.75-9.211 71.97-26.01L464 276.7V448zM464 214.2l-166.8 138.1c-23.19 19.28-59.34 19.27-82.47 .0156L48 214.2l.1055-13.48c23.24-18.33 42.25-32.97 162.9-120.6c3.082-2.254 6.674-5.027 10.63-8.094C229.4 65.99 246.7 52.59 256 48.62c9.312 3.973 26.62 17.37 34.41 23.41c3.959 3.066 7.553 5.84 10.76 8.186C421.6 167.7 440.7 182.4 464 200.8V214.2z\"],\n \"file-zipper\": [384, 512, [\"file-archive\"], \"f1c6\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0L64-.0001c-35.35 0-64 28.65-64 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h48V64h64V48.13h48.01L224 128c0 17.67 14.33 32 32 32h79.1V448zM176 96h-64v32h64V96zM176 160h-64v32h64V160zM176 224h-64l-30.56 116.5C73.51 379.5 103.7 416 144.3 416c40.26 0 70.45-36.3 62.68-75.15L176 224zM160 368H128c-8.836 0-16-7.164-16-16s7.164-16 16-16h32c8.836 0 16 7.164 16 16S168.8 368 160 368z\"],\n \"square\": [448, 512, [9632, 9723, 9724, 61590], \"f0c8\", \"M384 32C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96C0 60.65 28.65 32 64 32H384zM384 80H64C55.16 80 48 87.16 48 96V416C48 424.8 55.16 432 64 432H384C392.8 432 400 424.8 400 416V96C400 87.16 392.8 80 384 80z\"],\n \"snowflake\": [512, 512, [10052, 10054], \"f2dc\", \"M484.4 294.4c1.715 6.402 .6758 12.89-2.395 18.21s-8.172 9.463-14.57 11.18l-31.46 8.43l32.96 19.03C480.4 357.8 484.4 372.5 477.8 384s-21.38 15.41-32.86 8.783l-32.96-19.03l8.43 31.46c3.432 12.81-4.162 25.96-16.97 29.39s-25.96-4.162-29.39-16.97l-20.85-77.82L280 297.6v84.49l56.97 56.97c9.375 9.375 9.375 24.56 0 33.94C332.3 477.7 326.1 480 320 480s-12.28-2.344-16.97-7.031L280 449.9V488c0 13.25-10.75 24-24 24s-24-10.75-24-24v-38.06l-23.03 23.03c-9.375 9.375-24.56 9.375-33.94 0s-9.375-24.56 0-33.94L232 382.1V297.6l-73.17 42.25l-20.85 77.82c-3.432 12.81-16.58 20.4-29.39 16.97s-20.4-16.58-16.97-29.39l8.43-31.46l-32.96 19.03C55.61 399.4 40.85 395.5 34.22 384s-2.615-26.16 8.859-32.79l32.96-19.03l-31.46-8.43c-12.81-3.432-20.4-16.58-16.97-29.39s16.58-20.4 29.39-16.97l77.82 20.85L208 255.1L134.8 213.8L57.01 234.6C44.2 238 31.05 230.4 27.62 217.6s4.162-25.96 16.97-29.39l31.46-8.432L43.08 160.8C31.61 154.2 27.6 139.5 34.22 128s21.38-15.41 32.86-8.785l32.96 19.03L91.62 106.8C88.18 93.98 95.78 80.83 108.6 77.39s25.96 4.162 29.39 16.97l20.85 77.82L232 214.4V129.9L175 72.97c-9.375-9.375-9.375-24.56 0-33.94s24.56-9.375 33.94 0L232 62.06V24C232 10.75 242.8 0 256 0s24 10.75 24 24v38.06l23.03-23.03c9.375-9.375 24.56-9.375 33.94 0s9.375 24.56 0 33.94L280 129.9v84.49l73.17-42.25l20.85-77.82c3.432-12.81 16.58-20.4 29.39-16.97c6.402 1.715 11.5 5.861 14.57 11.18s4.109 11.81 2.395 18.21l-8.43 31.46l32.96-19.03C456.4 112.6 471.2 116.5 477.8 128s2.615 26.16-8.859 32.78l-32.96 19.03l31.46 8.432c12.81 3.432 20.4 16.58 16.97 29.39s-16.58 20.4-29.39 16.97l-77.82-20.85L304 255.1l73.17 42.25l77.82-20.85C467.8 273.1 480.1 281.6 484.4 294.4z\"],\n \"newspaper\": [512, 512, [128240], \"f1ea\", \"M456 32h-304C121.1 32 96 57.13 96 88v320c0 13.22-10.77 24-24 24S48 421.2 48 408V112c0-13.25-10.75-24-24-24S0 98.75 0 112v296C0 447.7 32.3 480 72 480h352c48.53 0 88-39.47 88-88v-304C512 57.13 486.9 32 456 32zM464 392c0 22.06-17.94 40-40 40H139.9C142.5 424.5 144 416.4 144 408v-320c0-4.406 3.594-8 8-8h304c4.406 0 8 3.594 8 8V392zM264 272h-64C186.8 272 176 282.8 176 296S186.8 320 200 320h64C277.3 320 288 309.3 288 296S277.3 272 264 272zM408 272h-64C330.8 272 320 282.8 320 296S330.8 320 344 320h64c13.25 0 24-10.75 24-24S421.3 272 408 272zM264 352h-64c-13.25 0-24 10.75-24 24s10.75 24 24 24h64c13.25 0 24-10.75 24-24S277.3 352 264 352zM408 352h-64C330.8 352 320 362.8 320 376s10.75 24 24 24h64c13.25 0 24-10.75 24-24S421.3 352 408 352zM400 112h-192c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-64C432 126.3 417.7 112 400 112z\"],\n \"face-kiss-wink-heart\": [512, 512, [128536, \"kiss-wink-heart\"], \"f598\", \"M345.3 472.1C347.3 479.7 350.9 486.4 355.7 491.8C325.1 504.8 291.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 285.3 507.1 313.4 498 339.7C486.9 334.1 474.5 333.1 461.8 334.6C459.7 329.4 457 324.6 453.9 320.1C460.5 299.9 464 278.4 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C285.4 464 313.5 457.9 338.9 446.8L345.3 472.1zM288.7 334.3C284.4 339.5 278.5 344 271.9 347.7C269.2 349.3 266.3 350.7 263.2 352C266.3 353.3 269.2 354.7 271.9 356.3C278.5 359.1 284.4 364.5 288.7 369.7C292.9 374.8 296 381.1 296 388C296 394.9 292.9 401.2 288.7 406.3C284.4 411.5 278.5 416 271.9 419.7C258.7 427.1 241.4 432 224 432C220.4 432 217.2 429.5 216.3 426C215.3 422.5 216.9 418.8 220.1 417L220.1 417L220.3 416.9C220.5 416.8 220.8 416.6 221.2 416.3C222 415.9 223.2 415.1 224.6 414.2C227.4 412.4 231.2 409.7 234.8 406.6C238.6 403.5 242 400 244.5 396.6C246.1 393 248 390.2 248 388C248 385.8 246.1 382.1 244.5 379.4C242 375.1 238.6 372.5 234.8 369.4C231.2 366.3 227.4 363.6 224.6 361.8C223.2 360.9 222 360.1 221.2 359.7C220.8 359.4 220.5 359.2 220.3 359.1L220.1 358.1L220.1 358.1C217.6 357.6 216 354.9 216 352C216 349.1 217.6 346.4 220.1 345L220.1 345L220.3 344.9C220.5 344.8 220.8 344.6 221.2 344.3C222 343.9 223.2 343.1 224.6 342.2C227.4 340.4 231.2 337.7 234.8 334.6C238.6 331.5 242 328.1 244.5 324.6C246.1 321 248 318.2 248 316C248 313.8 246.1 310.1 244.5 307.4C242 303.1 238.6 300.5 234.8 297.4C231.2 294.3 227.4 291.6 224.6 289.8C223.2 288.9 222 288.1 221.2 287.7C220.8 287.4 220.5 287.2 220.3 287.1L220.1 286.1L220.1 286.1C216.9 285.2 215.3 281.5 216.3 277.1C217.2 274.5 220.4 272 224 272C241.4 272 258.7 276.9 271.9 284.3C278.5 287.1 284.4 292.5 288.7 297.7C292.9 302.8 296 309.1 296 316C296 322.9 292.9 329.2 288.7 334.3V334.3zM144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208zM335.6 220C324.1 220 315.7 223.8 310.2 229.7C302.7 237.7 290 238.1 281.9 230.6C273.9 223 273.5 210.4 281 202.3C295.6 186.8 316.3 180 335.6 180C354.1 180 375.7 186.8 390.2 202.3C397.8 210.4 397.4 223 389.3 230.6C381.2 238.1 368.6 237.7 361 229.7C355.6 223.8 346.3 220 335.6 220zM439.4 373.3L459.5 367.6C481.7 361.4 504.6 375.2 510.6 398.4C516.5 421.7 503.3 445.6 481.1 451.8L396.1 475.6C387.5 478 378.6 472.9 376.3 464.2L353.4 374.9C347.5 351.6 360.7 327.7 382.9 321.5C405.2 315.3 428 329.1 433.1 352.3L439.4 373.3z\"],\n \"star-half-stroke\": [576, 512, [\"star-half-alt\"], \"f5c0\", \"M378.1 154.8L531.4 177.5C540.4 178.8 547.8 185.1 550.7 193.7C553.5 202.4 551.2 211.9 544.8 218.2L433.6 328.4L459.9 483.9C461.4 492.9 457.7 502.1 450.2 507.4C442.8 512.7 432.1 513.4 424.9 509.1L287.9 435.9L150.1 509.1C142.9 513.4 133.1 512.7 125.6 507.4C118.2 502.1 114.5 492.9 115.1 483.9L142.2 328.4L31.11 218.2C24.65 211.9 22.36 202.4 25.2 193.7C28.03 185.1 35.5 178.8 44.49 177.5L197.7 154.8L266.3 13.52C270.4 5.249 278.7 0 287.9 0C297.1 0 305.5 5.25 309.5 13.52L378.1 154.8zM287.1 384.7C291.9 384.7 295.7 385.6 299.2 387.5L404.4 443.7L384.2 324.1C382.9 316.4 385.5 308.5 391 303L476.9 217.9L358.6 200.5C350.7 199.3 343.9 194.3 340.5 187.2L287.1 79.09L287.1 384.7z\"],\n \"file-excel\": [384, 512, [], \"f1c3\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H64C28.65 0 0 28.65 0 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM229.1 233.3L192 280.9L154.9 233.3C146.8 222.8 131.8 220.9 121.3 229.1C110.8 237.2 108.9 252.3 117.1 262.8L161.6 320l-44.53 57.25c-8.156 10.47-6.25 25.56 4.188 33.69C125.7 414.3 130.8 416 135.1 416c7.156 0 14.25-3.188 18.97-9.25L192 359.1l37.06 47.65C233.8 412.8 240.9 416 248 416c5.125 0 10.31-1.656 14.72-5.062c10.44-8.125 12.34-23.22 4.188-33.69L222.4 320l44.53-57.25c8.156-10.47 6.25-25.56-4.188-33.69C252.2 220.9 237.2 222.8 229.1 233.3z\"],\n \"face-grin-beam\": [512, 512, [128516, \"grin-beam\"], \"f582\", \"M349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM217.6 228.8L217.6 228.8L217.4 228.5C217.2 228.3 217 228 216.7 227.6C216 226.8 215.1 225.7 213.9 224.3C211.4 221.4 207.9 217.7 203.7 213.1C194.9 206.2 184.8 200 176 200C167.2 200 157.1 206.2 148.3 213.1C144.1 217.7 140.6 221.4 138.1 224.3C136.9 225.7 135.1 226.8 135.3 227.6C134.1 228 134.8 228.3 134.6 228.5L134.4 228.8L134.4 228.8C132.3 231.6 128.7 232.7 125.5 231.6C122.2 230.5 120 227.4 120 224C120 206.1 126.7 188.4 136.6 175.2C146.4 162.2 160.5 152 176 152C191.5 152 205.6 162.2 215.4 175.2C225.3 188.4 232 206.1 232 224C232 227.4 229.8 230.5 226.5 231.6C223.3 232.7 219.7 231.6 217.6 228.8V228.8zM377.6 228.8L377.4 228.5C377.2 228.3 377 228 376.7 227.6C376 226.8 375.1 225.7 373.9 224.3C371.4 221.4 367.9 217.7 363.7 213.1C354.9 206.2 344.8 200 336 200C327.2 200 317.1 206.2 308.3 213.1C304.1 217.7 300.6 221.4 298.1 224.3C296.9 225.7 295.1 226.8 295.3 227.6C294.1 228 294.8 228.3 294.6 228.5L294.4 228.8L294.4 228.8C292.3 231.6 288.7 232.7 285.5 231.6C282.2 230.5 280 227.4 280 224C280 206.1 286.7 188.4 296.6 175.2C306.4 162.2 320.5 152 336 152C351.5 152 365.6 162.2 375.4 175.2C385.3 188.4 392 206.1 392 224C392 227.4 389.8 230.5 386.5 231.6C383.3 232.7 379.7 231.6 377.6 228.8L377.6 228.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"object-ungroup\": [640, 512, [], \"f248\", \"M64 0C90.86 0 113.9 16.55 123.3 40H324.7C334.1 16.55 357.1 0 384 0C419.3 0 448 28.65 448 64C448 90.86 431.5 113.9 408 123.3V228.7C431.5 238.1 448 261.1 448 288C448 323.3 419.3 352 384 352C357.1 352 334.1 335.5 324.7 312H123.3C113.9 335.5 90.86 352 64 352C28.65 352 0 323.3 0 288C0 261.1 16.55 238.1 40 228.7V123.3C16.55 113.9 0 90.86 0 64C0 28.65 28.65 0 64 0V0zM64 80C72.84 80 80 72.84 80 64C80 56.1 74.28 49.54 66.75 48.24C65.86 48.08 64.94 48 64 48C55.16 48 48 55.16 48 64C48 64.07 48 64.14 48 64.21C48.01 65.07 48.09 65.92 48.24 66.75C49.54 74.28 56.1 80 64 80zM384 48C383.1 48 382.1 48.08 381.2 48.24C373.7 49.54 368 56.1 368 64C368 72.84 375.2 80 384 80C391.9 80 398.5 74.28 399.8 66.75C399.9 65.86 400 64.94 400 64C400 55.16 392.8 48 384 48V48zM324.7 88H123.3C116.9 104 104 116.9 88 123.3V228.7C104 235.1 116.9 247.1 123.3 264H324.7C331.1 247.1 343.1 235.1 360 228.7V123.3C343.1 116.9 331.1 104 324.7 88zM400 288C400 287.1 399.9 286.1 399.8 285.2C398.5 277.7 391.9 272 384 272C375.2 272 368 279.2 368 288C368 295.9 373.7 302.5 381.2 303.8C382.1 303.9 383.1 304 384 304C392.8 304 400 296.8 400 288zM64 272C56.1 272 49.54 277.7 48.24 285.2C48.08 286.1 48 287.1 48 288C48 296.8 55.16 304 64 304L64.22 303.1C65.08 303.1 65.93 303.9 66.75 303.8C74.28 302.5 80 295.9 80 288C80 279.2 72.84 272 64 272zM471.3 248C465.8 235.9 457.8 225.2 448 216.4V200H516.7C526.1 176.5 549.1 160 576 160C611.3 160 640 188.7 640 224C640 250.9 623.5 273.9 600 283.3V388.7C623.5 398.1 640 421.1 640 448C640 483.3 611.3 512 576 512C549.1 512 526.1 495.5 516.7 472H315.3C305.9 495.5 282.9 512 256 512C220.7 512 192 483.3 192 448C192 421.1 208.5 398.1 232 388.7V352H280V388.7C296 395.1 308.9 407.1 315.3 424H516.7C523.1 407.1 535.1 395.1 552 388.7V283.3C535.1 276.9 523.1 264 516.7 248H471.3zM592 224C592 215.2 584.8 208 576 208C575.1 208 574.1 208.1 573.2 208.2C565.7 209.5 560 216.1 560 224C560 232.8 567.2 240 576 240C583.9 240 590.5 234.3 591.8 226.8C591.9 225.9 592 224.9 592 224zM240 448C240 456.8 247.2 464 256 464C256.9 464 257.9 463.9 258.8 463.8C266.3 462.5 272 455.9 272 448C272 439.2 264.8 432 256 432C248.1 432 241.5 437.7 240.2 445.2C240.1 446.1 240 447.1 240 448zM573.2 463.8C574.1 463.9 575.1 464 576 464C584.8 464 592 456.8 592 448C592 447.1 591.9 446.2 591.8 445.3L591.8 445.2C590.5 437.7 583.9 432 576 432C567.2 432 560 439.2 560 448C560 455.9 565.7 462.5 573.2 463.8V463.8z\"],\n \"circle-right\": [512, 512, [61838, \"arrow-alt-circle-right\"], \"f35a\", \"M280.2 150.2C273.1 143.8 262.1 142.2 254.3 146.1S239.1 158.5 239.1 167.1l.002 56L152 224C138.8 224 128 234.8 128 248v16C128 277.3 138.8 288 152 288L240 287.1v56c0 9.531 5.656 18.16 14.38 22c8.75 3.812 18.91 2.094 25.91-4.375l96-88.75C381.2 268.3 384 261.9 384 255.2c-.3125-7.781-2.875-13.25-7.844-17.75L280.2 150.2zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464z\"],\n \"face-rolling-eyes\": [512, 512, [128580, \"meh-rolling-eyes\"], \"f5a5\", \"M168 376C168 362.7 178.7 352 192 352H320C333.3 352 344 362.7 344 376C344 389.3 333.3 400 320 400H192C178.7 400 168 389.3 168 376zM80 224C80 179.8 115.8 144 160 144C204.2 144 240 179.8 240 224C240 268.2 204.2 304 160 304C115.8 304 80 268.2 80 224zM160 272C186.5 272 208 250.5 208 224C208 209.7 201.7 196.8 191.8 188C191.9 189.3 192 190.6 192 192C192 209.7 177.7 224 160 224C142.3 224 128 209.7 128 192C128 190.6 128.1 189.3 128.2 188C118.3 196.8 112 209.7 112 224C112 250.5 133.5 272 160 272V272zM272 224C272 179.8 307.8 144 352 144C396.2 144 432 179.8 432 224C432 268.2 396.2 304 352 304C307.8 304 272 268.2 272 224zM352 272C378.5 272 400 250.5 400 224C400 209.7 393.7 196.8 383.8 188C383.9 189.3 384 190.6 384 192C384 209.7 369.7 224 352 224C334.3 224 320 209.7 320 192C320 190.6 320.1 189.3 320.2 188C310.3 196.8 304 209.7 304 224C304 250.5 325.5 272 352 272zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464z\"],\n \"object-group\": [576, 512, [], \"f247\", \"M128 160C128 142.3 142.3 128 160 128H288C305.7 128 320 142.3 320 160V256C320 273.7 305.7 288 288 288H160C142.3 288 128 273.7 128 256V160zM288 320C323.3 320 352 291.3 352 256V224H416C433.7 224 448 238.3 448 256V352C448 369.7 433.7 384 416 384H288C270.3 384 256 369.7 256 352V320H288zM48 115.8C38.18 106.1 32 94.22 32 80C32 53.49 53.49 32 80 32C94.22 32 106.1 38.18 115.8 48H460.2C469 38.18 481.8 32 496 32C522.5 32 544 53.49 544 80C544 94.22 537.8 106.1 528 115.8V396.2C537.8 405 544 417.8 544 432C544 458.5 522.5 480 496 480C481.8 480 469 473.8 460.2 464H115.8C106.1 473.8 94.22 480 80 480C53.49 480 32 458.5 32 432C32 417.8 38.18 405 48 396.2V115.8zM96 125.3V386.7C109.6 391.6 120.4 402.4 125.3 416H450.7C455.6 402.4 466.4 391.6 480 386.7V125.3C466.4 120.4 455.6 109.6 450.7 96H125.3C120.4 109.6 109.6 120.4 96 125.3z\"],\n \"heart\": [512, 512, [128153, 128154, 128155, 128156, 128420, 129293, 129294, 129505, 9829, 10084, 61578], \"f004\", \"M244 84L255.1 96L267.1 84.02C300.6 51.37 347 36.51 392.6 44.1C461.5 55.58 512 115.2 512 185.1V190.9C512 232.4 494.8 272.1 464.4 300.4L283.7 469.1C276.2 476.1 266.3 480 256 480C245.7 480 235.8 476.1 228.3 469.1L47.59 300.4C17.23 272.1 0 232.4 0 190.9V185.1C0 115.2 50.52 55.58 119.4 44.1C164.1 36.51 211.4 51.37 244 84C243.1 84 244 84.01 244 84L244 84zM255.1 163.9L210.1 117.1C188.4 96.28 157.6 86.4 127.3 91.44C81.55 99.07 48 138.7 48 185.1V190.9C48 219.1 59.71 246.1 80.34 265.3L256 429.3L431.7 265.3C452.3 246.1 464 219.1 464 190.9V185.1C464 138.7 430.4 99.07 384.7 91.44C354.4 86.4 323.6 96.28 301.9 117.1L255.1 163.9z\"],\n \"face-surprise\": [512, 512, [128558, \"surprise\"], \"f5c2\", \"M144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208zM368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208zM192 352C192 316.7 220.7 288 256 288C291.3 288 320 316.7 320 352C320 387.3 291.3 416 256 416C220.7 416 192 387.3 192 352zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"circle-pause\": [512, 512, [62092, \"pause-circle\"], \"f28b\", \"M200 160C186.8 160 176 170.8 176 184v144C176 341.3 186.8 352 200 352S224 341.3 224 328v-144C224 170.8 213.3 160 200 160zM312 160C298.8 160 288 170.8 288 184v144c0 13.25 10.75 24 24 24s24-10.75 24-24v-144C336 170.8 325.3 160 312 160zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464z\"],\n \"circle\": [512, 512, [128308, 128309, 128992, 128993, 128994, 128995, 128996, 9679, 9898, 9899, 11044, 61708, 61915], \"f111\", \"M512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"circle-up\": [512, 512, [61467, \"arrow-alt-circle-up\"], \"f35b\", \"M272.9 135.7C268.3 130.8 261.9 128 255.2 128C247.5 128.3 241.1 130.9 237.5 135.8l-87.25 96C143.8 238.9 142.2 249 146.1 257.7C149.9 266.4 158.5 272 167.1 272h56L224 360c0 13.25 10.75 24 24 24h16c13.25 0 23.1-10.75 23.1-24L287.1 272h56c9.531 0 18.16-5.656 22-14.38c3.811-8.75 2.092-18.91-4.377-25.91L272.9 135.7zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464z\"],\n \"file-audio\": [384, 512, [], \"f1c7\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0L64-.0001c-35.35 0-64 28.65-64 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM171.5 259.5L136 296H92C85.38 296 80 301.4 80 308v56C80 370.7 85.38 376 92 376H136l35.5 36.5C179.1 420 192 414.8 192 404v-136C192 257.3 179.1 251.9 171.5 259.5zM235.1 260.7c-6.25 6.25-6.25 16.38 0 22.62C235.3 283.5 256 305.1 256 336c0 30.94-20.77 52.53-20.91 52.69c-6.25 6.25-6.25 16.38 0 22.62C238.2 414.4 242.3 416 246.4 416s8.188-1.562 11.31-4.688C258.1 410.1 288 380.5 288 336s-29.05-74.06-30.28-75.31C251.5 254.4 241.3 254.4 235.1 260.7z\"],\n \"file-image\": [384, 512, [128443], \"f1c5\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H64C28.65 0 0 28.65 0 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM215.3 292c-4.68 0-9.051 2.34-11.65 6.234L164 357.8l-11.68-17.53C149.7 336.3 145.3 334 140.7 334c-4.682 0-9.053 2.34-11.65 6.234l-46.67 70c-2.865 4.297-3.131 9.82-.6953 14.37C84.09 429.2 88.84 432 93.1 432h196c5.163 0 9.907-2.844 12.34-7.395c2.436-4.551 2.17-10.07-.6953-14.37l-74.67-112C224.4 294.3 220 292 215.3 292zM128 288c17.67 0 32-14.33 32-32S145.7 224 128 224S96 238.3 96 256S110.3 288 128 288z\"],\n \"circle-question\": [512, 512, [62108, \"question-circle\"], \"f059\", \"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464zM256 336c-18 0-32 14-32 32s13.1 32 32 32c17.1 0 32-14 32-32S273.1 336 256 336zM289.1 128h-51.1C199 128 168 159 168 198c0 13 11 24 24 24s24-11 24-24C216 186 225.1 176 237.1 176h51.1C301.1 176 312 186 312 198c0 8-4 14.1-11 18.1L244 251C236 256 232 264 232 272V288c0 13 11 24 24 24S280 301 280 288V286l45.1-28c21-13 34-36 34-60C360 159 329 128 289.1 128z\"],\n \"face-meh-blank\": [512, 512, [128566, \"meh-blank\"], \"f5a4\", \"M208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"eye\": [576, 512, [128065], \"f06e\", \"M160 256C160 185.3 217.3 128 288 128C358.7 128 416 185.3 416 256C416 326.7 358.7 384 288 384C217.3 384 160 326.7 160 256zM288 336C332.2 336 368 300.2 368 256C368 211.8 332.2 176 288 176C287.3 176 286.7 176 285.1 176C287.3 181.1 288 186.5 288 192C288 227.3 259.3 256 224 256C218.5 256 213.1 255.3 208 253.1C208 254.7 208 255.3 208 255.1C208 300.2 243.8 336 288 336L288 336zM95.42 112.6C142.5 68.84 207.2 32 288 32C368.8 32 433.5 68.84 480.6 112.6C527.4 156 558.7 207.1 573.5 243.7C576.8 251.6 576.8 260.4 573.5 268.3C558.7 304 527.4 355.1 480.6 399.4C433.5 443.2 368.8 480 288 480C207.2 480 142.5 443.2 95.42 399.4C48.62 355.1 17.34 304 2.461 268.3C-.8205 260.4-.8205 251.6 2.461 243.7C17.34 207.1 48.62 156 95.42 112.6V112.6zM288 80C222.8 80 169.2 109.6 128.1 147.7C89.6 183.5 63.02 225.1 49.44 256C63.02 286 89.6 328.5 128.1 364.3C169.2 402.4 222.8 432 288 432C353.2 432 406.8 402.4 447.9 364.3C486.4 328.5 512.1 286 526.6 256C512.1 225.1 486.4 183.5 447.9 147.7C406.8 109.6 353.2 80 288 80V80z\"],\n \"face-sad-cry\": [512, 512, [128557, \"sad-cry\"], \"f5b3\", \"M159.6 220C148.1 220 139.7 223.8 134.2 229.7C126.7 237.7 114 238.1 105.1 230.6C97.89 223 97.48 210.4 105 202.3C119.6 186.8 140.3 180 159.6 180C178.1 180 199.7 186.8 214.2 202.3C221.8 210.4 221.4 223 213.3 230.6C205.2 238.1 192.6 237.7 185 229.7C179.6 223.8 170.3 220 159.6 220zM297.9 230.6C289.9 223 289.5 210.4 297 202.3C311.6 186.8 332.3 180 351.6 180C370.1 180 391.7 186.8 406.2 202.3C413.8 210.4 413.4 223 405.3 230.6C397.2 238.1 384.6 237.7 377 229.7C371.6 223.8 362.3 220 351.6 220C340.1 220 331.7 223.8 326.2 229.7C318.7 237.7 306 238.1 297.9 230.6zM208 320C208 293.5 229.5 272 256 272C282.5 272 304 293.5 304 320V352C304 378.5 282.5 400 256 400C229.5 400 208 378.5 208 352V320zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM400 406.1C439.4 368.2 464 314.1 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 314.1 72.55 368.2 112 406.1V288C112 274.7 122.7 264 136 264C149.3 264 160 274.7 160 288V440.6C188.7 455.5 221.4 464 256 464C290.6 464 323.3 455.5 352 440.6V288C352 274.7 362.7 264 376 264C389.3 264 400 274.7 400 288V406.1z\"],\n \"file-code\": [384, 512, [], \"f1c9\", \"M162.1 257.8c-7.812-7.812-20.47-7.812-28.28 0l-48 48c-7.812 7.812-7.812 20.5 0 28.31l48 48C137.8 386.1 142.9 388 148 388s10.23-1.938 14.14-5.844c7.812-7.812 7.812-20.5 0-28.31L128.3 320l33.86-33.84C169.1 278.3 169.1 265.7 162.1 257.8zM365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H64C28.65 0 0 28.65 0 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM221.9 257.8c-7.812 7.812-7.812 20.5 0 28.31L255.7 320l-33.86 33.84c-7.812 7.812-7.812 20.5 0 28.31C225.8 386.1 230.9 388 236 388s10.23-1.938 14.14-5.844l48-48c7.812-7.812 7.812-20.5 0-28.31l-48-48C242.3 250 229.7 250 221.9 257.8z\"],\n \"window-maximize\": [512, 512, [128470], \"f2d0\", \"M7.724 65.49C13.36 55.11 21.79 46.47 32 40.56C39.63 36.15 48.25 33.26 57.46 32.33C59.61 32.11 61.79 32 64 32H448C483.3 32 512 60.65 512 96V416C512 451.3 483.3 480 448 480H64C28.65 480 0 451.3 0 416V96C0 93.79 .112 91.61 .3306 89.46C1.204 80.85 3.784 72.75 7.724 65.49V65.49zM48 416C48 424.8 55.16 432 64 432H448C456.8 432 464 424.8 464 416V224H48V416z\"],\n \"face-frown\": [512, 512, [9785, \"frown\"], \"f119\", \"M143.9 398.6C131.4 394.1 124.9 380.3 129.4 367.9C146.9 319.4 198.9 288 256 288C313.1 288 365.1 319.4 382.6 367.9C387.1 380.3 380.6 394.1 368.1 398.6C355.7 403.1 341.9 396.6 337.4 384.1C328.2 358.5 297.2 336 256 336C214.8 336 183.8 358.5 174.6 384.1C170.1 396.6 156.3 403.1 143.9 398.6V398.6zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"floppy-disk\": [448, 512, [128190, 128426, \"save\"], \"f0c7\", \"M224 256c-35.2 0-64 28.8-64 64c0 35.2 28.8 64 64 64c35.2 0 64-28.8 64-64C288 284.8 259.2 256 224 256zM433.1 129.1l-83.9-83.9C341.1 37.06 328.8 32 316.1 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V163.9C448 151.2 442.9 138.9 433.1 129.1zM128 80h144V160H128V80zM400 416c0 8.836-7.164 16-16 16H64c-8.836 0-16-7.164-16-16V96c0-8.838 7.164-16 16-16h16v104c0 13.25 10.75 24 24 24h192C309.3 208 320 197.3 320 184V83.88l78.25 78.25C399.4 163.2 400 164.8 400 166.3V416z\"],\n \"comment-dots\": [512, 512, [128172, 62075, \"commenting\"], \"f4ad\", \"M144 208C126.3 208 112 222.2 112 239.1C112 257.7 126.3 272 144 272s31.1-14.25 31.1-32S161.8 208 144 208zM256 207.1c-17.75 0-31.1 14.25-31.1 32s14.25 31.1 31.1 31.1s31.1-14.25 31.1-31.1S273.8 207.1 256 207.1zM368 208c-17.75 0-31.1 14.25-31.1 32s14.25 32 31.1 32c17.75 0 31.99-14.25 31.99-32C400 222.2 385.8 208 368 208zM256 31.1c-141.4 0-255.1 93.12-255.1 208c0 47.62 19.91 91.25 52.91 126.3c-14.87 39.5-45.87 72.88-46.37 73.25c-6.624 7-8.373 17.25-4.624 26C5.818 474.2 14.38 480 24 480c61.49 0 109.1-25.75 139.1-46.25c28.87 9 60.16 14.25 92.9 14.25c141.4 0 255.1-93.13 255.1-207.1S397.4 31.1 256 31.1zM256 400c-26.75 0-53.12-4.125-78.36-12.12l-22.75-7.125L135.4 394.5c-14.25 10.12-33.87 21.38-57.49 29c7.374-12.12 14.37-25.75 19.87-40.25l10.62-28l-20.62-21.87C69.81 314.1 48.06 282.2 48.06 240c0-88.25 93.24-160 207.1-160s207.1 71.75 207.1 160S370.8 400 256 400z\"],\n \"face-grin-squint\": [512, 512, [128518, \"grin-squint\"], \"f585\", \"M349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM223.4 194.6C234.1 200.3 234.1 215.7 223.4 221.4L133.5 269.3C125.6 273.6 116 267.8 116 258.9C116 256.1 116.1 253.4 118.8 251.2L154.8 208L118.8 164.8C116.1 162.6 116 159.9 116 157.1C116 148.2 125.6 142.4 133.5 146.7L223.4 194.6zM393.2 164.8L357.2 208L393.2 251.2C395 253.4 396 256.1 396 258.9C396 267.8 386.4 273.6 378.5 269.3L288.6 221.4C277.9 215.7 277.9 200.3 288.6 194.6L378.5 146.7C386.4 142.4 396 148.2 396 157.1C396 159.9 395 162.6 393.2 164.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"hand-pointer\": [448, 512, [], \"f25a\", \"M208 288C199.2 288 192 295.2 192 304v96C192 408.8 199.2 416 208 416s16-7.164 16-16v-96C224 295.2 216.8 288 208 288zM272 288C263.2 288 256 295.2 256 304v96c0 8.836 7.162 16 15.1 16S288 408.8 288 400l-.0013-96C287.1 295.2 280.8 288 272 288zM376.9 201.2c-13.74-17.12-34.8-27.45-56.92-27.45h-13.72c-3.713 0-7.412 .291-11.07 .8652C282.7 165.1 267.4 160 251.4 160h-11.44V72c0-39.7-32.31-72-72.01-72c-39.7 0-71.98 32.3-71.98 72v168.5C84.85 235.1 75.19 235.4 69.83 235.4c-44.35 0-69.83 37.23-69.83 69.85c0 14.99 4.821 29.51 13.99 41.69l78.14 104.2C120.7 489.3 166.2 512 213.7 512h109.7c6.309 0 12.83-.957 18.14-2.645c28.59-5.447 53.87-19.41 73.17-40.44C436.1 446.3 448 416.2 448 384.2V274.3C448 234.6 416.3 202.3 376.9 201.2zM400 384.2c0 19.62-7.219 38.06-20.44 52.06c-12.53 13.66-29.03 22.67-49.69 26.56C327.4 463.6 325.3 464 323.4 464H213.7c-32.56 0-63.65-15.55-83.18-41.59L52.36 318.2C49.52 314.4 48.02 309.8 48.02 305.2c0-16.32 14.5-21.75 21.72-21.75c4.454 0 12.01 1.55 17.34 8.703l28.12 37.5c3.093 4.105 7.865 6.419 12.8 6.419c11.94 0 16.01-10.7 16.01-16.01V72c0-13.23 10.78-24 23.1-24c13.22 0 24 10.77 24 24v130.7c0 6.938 5.451 16.01 16.03 16.01C219.5 218.7 220.1 208 237.7 208h13.72c21.5 0 18.56 19.21 34.7 19.21c8.063 0 9.805-5.487 20.15-5.487h13.72c26.96 0 17.37 27.43 40.77 27.43l14.07-.0037c13.88 0 25.16 11.28 25.16 25.14V384.2zM336 288C327.2 288 320 295.2 320 304v96c0 8.836 7.164 16 16 16s16-7.164 16-16v-96C352 295.2 344.8 288 336 288z\"],\n \"hand-scissors\": [512, 512, [], \"f257\", \"M270.1 480h97.92C447.4 480 512 417.1 512 339.7V231.8c0-23.45-6.106-46.73-17.66-67.33l-31.35-55.85C447.5 81.1 417.1 64 385.9 64h-46.97c-26.63 0-51.56 11.63-68.4 31.93l-15.46 18.71L127.3 68.44C119 65.46 110.5 64.05 102.1 64.05c-30.02 0-58.37 18.06-69.41 47.09C15.06 156.8 46.19 194 76.75 204.9l2.146 .7637L68.79 206.4C30.21 209 0 241.2 0 279.3c0 39.7 33.27 72.09 73.92 72.09c1.745 0 3.501-.0605 5.268-.1833l88.79-6.135v8.141c0 22.11 10.55 43.11 28.05 56.74C197.4 448.8 230.2 480 270.1 480zM269.1 432c-14.34 0-26-11.03-26-24.62c0 0 .0403-14.31 .0403-14.71c0-6.894-4.102-14.2-10.67-16.39c-10.39-3.5-17.38-12.78-17.38-23.06v-13.53c0-16.98 13.7-16.4 13.7-29.89c0-9.083-7.392-15.96-15.96-15.96c-.3646 0-.7311 .0125-1.099 .0377c0 0-138.1 9.505-138.7 9.505c-14.32 0-25.93-11.04-25.93-24.49c0-13.28 10.7-23.74 24.1-24.64l163.2-11.28c2.674-.1882 14.92-2.907 14.92-16.18c0-6.675-4.284-12.58-10.65-14.85L92.84 159.7C85.39 156.1 75.97 149.4 75.97 136.7c0-11.14 9.249-24.66 25.97-24.66c3.043 0 6.141 .5115 9.166 1.59l234.1 85.03c1.801 .6581 3.644 .9701 5.456 .9701c8.96 0 16-7.376 16-15.1c0-6.514-4.068-12.69-10.59-15.04l-64.81-23.47l15.34-18.56C315.2 117.3 326.6 112 338.9 112h46.97c14.77 0 28.28 7.719 35.27 20.16L452.5 188c7.531 13.41 11.52 28.56 11.52 43.81v107.9c0 50.91-43.06 92.31-96 92.31H269.1z\"],\n \"face-grin-tears\": [640, 512, [128514, \"grin-tears\"], \"f588\", \"M519.4 334.4C522.7 342.5 527.8 352.1 535.9 361.1C539.9 365 544.1 368.4 548.6 371.4C506.4 454.8 419.9 512 319.1 512C220.1 512 133.6 454.8 91.4 371.4C95.87 368.4 100.1 365 104.1 361.1C112.2 352.1 117.3 342.5 120.6 334.4C121.8 331.5 122.9 328.6 123.9 325.5C152.5 406.2 229.5 464 319.1 464C410.5 464 487.5 406.2 516.1 325.5C517.1 328.6 518.2 331.5 519.4 334.4V334.4zM319.1 47.1C218.6 47.1 134.2 120.5 115.7 216.5C109.1 213.4 101.4 212.2 93.4 213.3C86.59 214.3 77.18 215.7 66.84 217.7C85.31 94.5 191.6 0 319.1 0C448.4 0 554.7 94.5 573.2 217.7C562.8 215.7 553.4 214.3 546.6 213.3C538.6 212.2 530.9 213.4 524.2 216.5C505.8 120.5 421.4 48 319.1 48V47.1zM78.5 341.1C59.98 356.7 32.01 355.5 14.27 337.7C-4.442 319-4.825 288.9 13.55 270.6C22.19 261.9 43.69 255.4 64.05 250.1C77.02 248.2 89.53 246.2 97.94 245C103.3 244.2 107.8 248.7 106.1 254.1C103.9 275.6 95.58 324.3 81.43 338.4C80.49 339.4 79.51 340.3 78.5 341.1V341.1zM561.5 341.1C560.7 340.5 559.1 339.8 559.2 339.1C559 338.9 558.8 338.7 558.6 338.4C544.4 324.3 536.1 275.6 533 254.1C532.2 248.7 536.7 244.2 542.1 245C543.1 245.2 544.2 245.3 545.4 245.5C553.6 246.7 564.6 248.5 575.1 250.1C596.3 255.4 617.8 261.9 626.4 270.6C644.8 288.9 644.4 319 625.7 337.7C607.1 355.5 580 356.7 561.5 341.1L561.5 341.1zM319.9 399.1C269.6 399.1 225.5 374.6 200.9 336.5C190.5 320.4 207.7 303.1 226.3 308.4C255.3 315.1 286.8 318.8 319.9 318.8C353 318.8 384.6 315.1 413.5 308.4C432.2 303.1 449.4 320.4 438.1 336.5C414.4 374.6 370.3 399.1 319.9 399.1zM281.6 228.8L281.4 228.5C281.2 228.3 281 228 280.7 227.6C280 226.8 279.1 225.7 277.9 224.3C275.4 221.4 271.9 217.7 267.7 213.1C258.9 206.2 248.8 200 239.1 200C231.2 200 221.1 206.2 212.3 213.1C208.1 217.7 204.6 221.4 202.1 224.3C200.9 225.7 199.1 226.8 199.3 227.6C198.1 228 198.8 228.3 198.6 228.5L198.4 228.8L198.4 228.8C196.3 231.6 192.7 232.7 189.5 231.6C186.2 230.5 183.1 227.4 183.1 224C183.1 206.1 190.7 188.4 200.6 175.2C210.4 162.2 224.5 152 239.1 152C255.5 152 269.6 162.2 279.4 175.2C289.3 188.4 295.1 206.1 295.1 224C295.1 227.4 293.8 230.5 290.5 231.6C287.3 232.7 283.7 231.6 281.6 228.8L281.6 228.8zM441.6 228.8L441.6 228.8L441.4 228.5C441.2 228.3 441 228 440.7 227.6C440 226.8 439.1 225.7 437.9 224.3C435.4 221.4 431.9 217.7 427.7 213.1C418.9 206.2 408.8 200 400 200C391.2 200 381.1 206.2 372.3 213.1C368.1 217.7 364.6 221.4 362.1 224.3C360.9 225.7 359.1 226.8 359.3 227.6C358.1 228 358.8 228.3 358.6 228.5L358.4 228.8L358.4 228.8C356.3 231.6 352.7 232.7 349.5 231.6C346.2 230.5 344 227.4 344 223.1C344 206.1 350.7 188.4 360.6 175.2C370.4 162.2 384.5 151.1 400 151.1C415.5 151.1 429.6 162.2 439.4 175.2C449.3 188.4 456 206.1 456 223.1C456 227.4 453.8 230.5 450.5 231.6C447.3 232.7 443.7 231.6 441.6 228.8V228.8z\"],\n \"calendar-xmark\": [448, 512, [\"calendar-times\"], \"f273\", \"M257.9 328L304.1 375C314.3 384.4 314.3 399.6 304.1 408.1C295.6 418.3 280.4 418.3 271 408.1L224 361.9L176.1 408.1C167.6 418.3 152.4 418.3 143 408.1C133.7 399.6 133.7 384.4 143 375L190.1 328L143 280.1C133.7 271.6 133.7 256.4 143 247C152.4 237.7 167.6 237.7 176.1 247L224 294.1L271 247C280.4 237.7 295.6 237.7 304.1 247C314.3 256.4 314.3 271.6 304.1 280.1L257.9 328zM128 0C141.3 0 152 10.75 152 24V64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0zM400 192H48V448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192z\"],\n \"file-video\": [384, 512, [], \"f1c8\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H64C28.65 0 0 28.65 0 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM240 288c0-17.67-14.33-32-32-32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-16.52l43.84 30.2C292.3 403.5 304 397.6 304 387.4V284.6c0-10.16-11.64-16.16-20.16-10.32L240 304.5V288z\"],\n \"file-pdf\": [384, 512, [], \"f1c1\", \"M320 464C328.8 464 336 456.8 336 448V416H384V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V416H48V448C48 456.8 55.16 464 64 464H320zM256 160C238.3 160 224 145.7 224 128V48H64C55.16 48 48 55.16 48 64V192H0V64C0 28.65 28.65 0 64 0H229.5C246.5 0 262.7 6.743 274.7 18.75L365.3 109.3C377.3 121.3 384 137.5 384 154.5V192H336V160H256zM88 224C118.9 224 144 249.1 144 280C144 310.9 118.9 336 88 336H80V368C80 376.8 72.84 384 64 384C55.16 384 48 376.8 48 368V240C48 231.2 55.16 224 64 224H88zM112 280C112 266.7 101.3 256 88 256H80V304H88C101.3 304 112 293.3 112 280zM160 240C160 231.2 167.2 224 176 224H200C226.5 224 248 245.5 248 272V336C248 362.5 226.5 384 200 384H176C167.2 384 160 376.8 160 368V240zM192 352H200C208.8 352 216 344.8 216 336V272C216 263.2 208.8 256 200 256H192V352zM336 224C344.8 224 352 231.2 352 240C352 248.8 344.8 256 336 256H304V288H336C344.8 288 352 295.2 352 304C352 312.8 344.8 320 336 320H304V368C304 376.8 296.8 384 288 384C279.2 384 272 376.8 272 368V240C272 231.2 279.2 224 288 224H336z\"],\n \"comment\": [512, 512, [128489, 61669], \"f075\", \"M256 32C114.6 32 .0272 125.1 .0272 240c0 47.63 19.91 91.25 52.91 126.2c-14.88 39.5-45.87 72.88-46.37 73.25c-6.625 7-8.375 17.25-4.625 26C5.818 474.2 14.38 480 24 480c61.5 0 109.1-25.75 139.1-46.25C191.1 442.8 223.3 448 256 448c141.4 0 255.1-93.13 255.1-208S397.4 32 256 32zM256.1 400c-26.75 0-53.12-4.125-78.38-12.12l-22.75-7.125l-19.5 13.75c-14.25 10.12-33.88 21.38-57.5 29c7.375-12.12 14.37-25.75 19.88-40.25l10.62-28l-20.62-21.87C69.82 314.1 48.07 282.2 48.07 240c0-88.25 93.25-160 208-160s208 71.75 208 160S370.8 400 256.1 400z\"],\n \"envelope\": [512, 512, [128386, 9993, 61443], \"f0e0\", \"M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"],\n \"hourglass\": [384, 512, [9203, 62032, \"hourglass-empty\"], \"f254\", \"M360 0C373.3 0 384 10.75 384 24C384 37.25 373.3 48 360 48H352V66.98C352 107.3 335.1 145.1 307.5 174.5L225.9 256L307.5 337.5C335.1 366 352 404.7 352 445V464H360C373.3 464 384 474.7 384 488C384 501.3 373.3 512 360 512H24C10.75 512 0 501.3 0 488C0 474.7 10.75 464 24 464H32V445C32 404.7 48.01 366 76.52 337.5L158.1 256L76.52 174.5C48.01 145.1 32 107.3 32 66.98V48H24C10.75 48 0 37.25 0 24C0 10.75 10.75 0 24 0L360 0zM192 289.9L110.5 371.5C90.96 390.1 80 417.4 80 445V464H304V445C304 417.4 293 390.1 273.5 371.5L192 289.9zM192 222.1L273.5 140.5C293 121 304 94.56 304 66.98V47.1H80V66.98C80 94.56 90.96 121 110.5 140.5L192 222.1z\"],\n \"calendar-check\": [448, 512, [], \"f274\", \"M216.1 408.1C207.6 418.3 192.4 418.3 183 408.1L119 344.1C109.7 335.6 109.7 320.4 119 311C128.4 301.7 143.6 301.7 152.1 311L200 358.1L295 263C304.4 253.7 319.6 253.7 328.1 263C338.3 272.4 338.3 287.6 328.1 296.1L216.1 408.1zM128 0C141.3 0 152 10.75 152 24V64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0zM400 192H48V448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192z\"],\n \"hard-drive\": [512, 512, [128436, \"hdd\"], \"f0a0\", \"M304 344c-13.25 0-24 10.74-24 24c0 13.25 10.75 24 24 24c13.26 0 24-10.75 24-24C328 354.7 317.3 344 304 344zM448 32h-384c-35.35 0-64 28.65-64 64v320c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V96C512 60.65 483.3 32 448 32zM464 416c0 8.822-7.178 16-16 16H64c-8.822 0-16-7.178-16-16v-96c0-8.822 7.178-16 16-16h384C456.8 304 464 311.2 464 320V416zM464 258.3C458.9 256.9 453.6 256 448 256H64C58.44 256 53.14 256.9 48 258.3V96c0-8.822 7.178-16 16-16h384c8.822 0 16 7.178 16 16V258.3zM400 344c-13.25 0-24 10.74-24 24c0 13.25 10.75 24 24 24c13.26 0 24-10.75 24-24C424 354.7 413.3 344 400 344z\"],\n \"face-grin-squint-tears\": [512, 512, [129315, \"grin-squint-tears\"], \"f586\", \"M426.8 14.18C446-5.046 477.5-4.646 497.1 14.92C516.6 34.49 517 65.95 497.8 85.18C483 99.97 432.2 108.8 409.6 111.9C403.1 112.8 399.2 108 400.1 102.4C403.3 79.94 412 28.97 426.8 14.18H426.8zM74.98 74.98C158.2-8.253 284.5-22.19 382.2 33.17C380.6 37.96 379.3 42.81 378.1 47.52C375 59.67 372.6 72.08 370.8 82.52C290.1 28.93 180.1 37.74 108.9 108.9C37.75 180.1 28.94 290 82.49 370.8C72.01 372.6 59.6 374.1 47.46 378.1C42.76 379.3 37.93 380.6 33.15 382.1C-22.19 284.5-8.245 158.2 74.98 74.98V74.98zM478.8 129.9C534.2 227.5 520.2 353.8 437 437C353.8 520.3 227.5 534.2 129.8 478.8C131.3 474 132.7 469.2 133.9 464.5C136.1 452.3 139.4 439.9 141.2 429.5C221.9 483.1 331.9 474.3 403.1 403.1C474.3 331.9 483.1 221.1 429.5 141.2C439.1 139.4 452.4 137 464.5 133.9C469.2 132.7 474.1 131.4 478.8 129.9L478.8 129.9zM359.2 226.9C369.3 210.6 393 210 397 228.8C406.6 273.1 393.4 322.3 357.8 357.9C322.2 393.5 273 406.7 228.6 397.1C209.9 393.1 210.5 369.4 226.8 359.3C252 343.6 276.1 323.9 300.4 300.5C323.8 277.1 343.5 252.1 359.2 226.9L359.2 226.9zM189.5 235.7C201.1 232.1 211.1 242.1 208.5 254.6L178.8 352.1C176.2 360.7 165.4 363.4 159 357C157.1 355 155.8 352.5 155.6 349.7L150.5 293.6L94.43 288.5C91.66 288.3 89.07 287.1 87.1 285.1C80.76 278.7 83.46 267.9 92.05 265.3L189.5 235.7zM288.5 94.43L293.6 150.5L349.7 155.6C352.5 155.8 355 157.1 357 159C363.4 165.4 360.7 176.2 352.1 178.8L254.6 208.5C242.1 211.1 232.1 201.1 235.7 189.5L265.3 92.05C267.9 83.46 278.7 80.76 285.1 87.1C287.1 89.07 288.3 91.66 288.5 94.43V94.43zM14.18 426.8C28.97 412 79.85 403.2 102.4 400.1C108 399.2 112.8 403.1 111.9 409.6C108.7 432.1 99.97 483 85.18 497.8C65.95 517 34.5 516.6 14.93 497.1C-4.645 477.5-5.046 446 14.18 426.8H14.18z\"],\n \"rectangle-list\": [576, 512, [\"list-alt\"], \"f022\", \"M128 192C110.3 192 96 177.7 96 160C96 142.3 110.3 128 128 128C145.7 128 160 142.3 160 160C160 177.7 145.7 192 128 192zM200 160C200 146.7 210.7 136 224 136H448C461.3 136 472 146.7 472 160C472 173.3 461.3 184 448 184H224C210.7 184 200 173.3 200 160zM200 256C200 242.7 210.7 232 224 232H448C461.3 232 472 242.7 472 256C472 269.3 461.3 280 448 280H224C210.7 280 200 269.3 200 256zM200 352C200 338.7 210.7 328 224 328H448C461.3 328 472 338.7 472 352C472 365.3 461.3 376 448 376H224C210.7 376 200 365.3 200 352zM128 224C145.7 224 160 238.3 160 256C160 273.7 145.7 288 128 288C110.3 288 96 273.7 96 256C96 238.3 110.3 224 128 224zM128 384C110.3 384 96 369.7 96 352C96 334.3 110.3 320 128 320C145.7 320 160 334.3 160 352C160 369.7 145.7 384 128 384zM0 96C0 60.65 28.65 32 64 32H512C547.3 32 576 60.65 576 96V416C576 451.3 547.3 480 512 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H512C520.8 432 528 424.8 528 416V96C528 87.16 520.8 80 512 80H64C55.16 80 48 87.16 48 96z\"],\n \"calendar-plus\": [448, 512, [], \"f271\", \"M224 232C237.3 232 248 242.7 248 256V304H296C309.3 304 320 314.7 320 328C320 341.3 309.3 352 296 352H248V400C248 413.3 237.3 424 224 424C210.7 424 200 413.3 200 400V352H152C138.7 352 128 341.3 128 328C128 314.7 138.7 304 152 304H200V256C200 242.7 210.7 232 224 232zM152 64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0C141.3 0 152 10.75 152 24V64zM48 448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192H48V448z\"],\n \"circle-left\": [512, 512, [61840, \"arrow-alt-circle-left\"], \"f359\", \"M360 224L272 224v-56c0-9.531-5.656-18.16-14.38-22C248.9 142.2 238.7 143.9 231.7 150.4l-96 88.75C130.8 243.7 128 250.1 128 256.8c.3125 7.781 2.875 13.25 7.844 17.75l96 87.25c7.031 6.406 17.19 8.031 25.88 4.188s14.28-12.44 14.28-21.94l-.002-56L360 288C373.3 288 384 277.3 384 264v-16C384 234.8 373.3 224 360 224zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464z\"],\n \"money-bill-1\": [576, 512, [\"money-bill-alt\"], \"f3d1\", \"M400 256C400 317.9 349.9 368 288 368C226.1 368 176 317.9 176 256C176 194.1 226.1 144 288 144C349.9 144 400 194.1 400 256zM272 224V288H264C255.2 288 248 295.2 248 304C248 312.8 255.2 320 264 320H312C320.8 320 328 312.8 328 304C328 295.2 320.8 288 312 288H304V208C304 199.2 296.8 192 288 192H272C263.2 192 256 199.2 256 208C256 216.8 263.2 224 272 224zM0 128C0 92.65 28.65 64 64 64H512C547.3 64 576 92.65 576 128V384C576 419.3 547.3 448 512 448H64C28.65 448 0 419.3 0 384V128zM48 176V336C83.35 336 112 364.7 112 400H464C464 364.7 492.7 336 528 336V176C492.7 176 464 147.3 464 112H112C112 147.3 83.35 176 48 176z\"],\n \"clock\": [512, 512, [128339, \"clock-four\"], \"f017\", \"M232 120C232 106.7 242.7 96 256 96C269.3 96 280 106.7 280 120V243.2L365.3 300C376.3 307.4 379.3 322.3 371.1 333.3C364.6 344.3 349.7 347.3 338.7 339.1L242.7 275.1C236 271.5 232 264 232 255.1L232 120zM256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0zM48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256z\"],\n \"keyboard\": [576, 512, [9000], \"f11c\", \"M512 64H64C28.65 64 0 92.65 0 128v256c0 35.35 28.65 64 64 64h448c35.35 0 64-28.65 64-64V128C576 92.65 547.3 64 512 64zM528 384c0 8.822-7.178 16-16 16H64c-8.822 0-16-7.178-16-16V128c0-8.822 7.178-16 16-16h448c8.822 0 16 7.178 16 16V384zM140 152h-24c-6.656 0-12 5.344-12 12v24c0 6.656 5.344 12 12 12h24c6.656 0 12-5.344 12-12v-24C152 157.3 146.7 152 140 152zM196 200h24c6.656 0 12-5.344 12-12v-24c0-6.656-5.344-12-12-12h-24c-6.656 0-12 5.344-12 12v24C184 194.7 189.3 200 196 200zM276 200h24c6.656 0 12-5.344 12-12v-24c0-6.656-5.344-12-12-12h-24c-6.656 0-12 5.344-12 12v24C264 194.7 269.3 200 276 200zM356 200h24c6.656 0 12-5.344 12-12v-24c0-6.656-5.344-12-12-12h-24c-6.656 0-12 5.344-12 12v24C344 194.7 349.3 200 356 200zM460 152h-24c-6.656 0-12 5.344-12 12v24c0 6.656 5.344 12 12 12h24c6.656 0 12-5.344 12-12v-24C472 157.3 466.7 152 460 152zM140 232h-24c-6.656 0-12 5.344-12 12v24c0 6.656 5.344 12 12 12h24c6.656 0 12-5.344 12-12v-24C152 237.3 146.7 232 140 232zM196 280h24c6.656 0 12-5.344 12-12v-24c0-6.656-5.344-12-12-12h-24c-6.656 0-12 5.344-12 12v24C184 274.7 189.3 280 196 280zM276 280h24c6.656 0 12-5.344 12-12v-24c0-6.656-5.344-12-12-12h-24c-6.656 0-12 5.344-12 12v24C264 274.7 269.3 280 276 280zM356 280h24c6.656 0 12-5.344 12-12v-24c0-6.656-5.344-12-12-12h-24c-6.656 0-12 5.344-12 12v24C344 274.7 349.3 280 356 280zM460 232h-24c-6.656 0-12 5.344-12 12v24c0 6.656 5.344 12 12 12h24c6.656 0 12-5.344 12-12v-24C472 237.3 466.7 232 460 232zM400 320h-224C167.1 320 160 327.1 160 336V352c0 8.875 7.125 16 16 16h224c8.875 0 16-7.125 16-16v-16C416 327.1 408.9 320 400 320z\"],\n \"closed-captioning\": [576, 512, [], \"f20a\", \"M512 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h448c35.35 0 64-28.65 64-64V96C576 60.65 547.3 32 512 32zM528 416c0 8.822-7.178 16-16 16H64c-8.822 0-16-7.178-16-16V96c0-8.822 7.178-16 16-16h448c8.822 0 16 7.178 16 16V416zM236.5 222.1c9.375 9.375 24.56 9.375 33.94 0c9.375-9.375 9.375-24.56 0-33.94c-37.44-37.44-98.31-37.44-135.7 0C116.5 206.2 106.5 230.4 106.5 256s9.1 49.75 28.12 67.88c18.72 18.72 43.28 28.08 67.87 28.08s49.16-9.359 67.87-28.08c9.375-9.375 9.375-24.56 0-33.94c-9.375-9.375-24.56-9.375-33.94 0c-18.69 18.72-49.19 18.72-67.87 0C159.5 280.9 154.5 268.8 154.5 256s5-24.88 14.06-33.94C187.3 203.3 217.8 203.3 236.5 222.1zM428.5 222.1c9.375 9.375 24.56 9.375 33.94 0c9.375-9.375 9.375-24.56 0-33.94c-37.44-37.44-98.31-37.44-135.7 0C308.5 206.2 298.5 230.4 298.5 256s9.1 49.75 28.12 67.88c18.72 18.72 43.28 28.08 67.87 28.08s49.16-9.359 67.87-28.08c9.375-9.375 9.375-24.56 0-33.94c-9.375-9.375-24.56-9.375-33.94 0c-18.69 18.72-49.19 18.72-67.87 0C351.5 280.9 346.5 268.8 346.5 256s5-24.88 14.06-33.94C379.3 203.3 409.8 203.3 428.5 222.1z\"],\n \"images\": [576, 512, [], \"f302\", \"M512 32H160c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64H512c35.35 0 64-28.65 64-64V96C576 60.65 547.3 32 512 32zM528 320c0 8.822-7.178 16-16 16h-16l-109.3-160.9C383.7 170.7 378.7 168 373.3 168c-5.352 0-10.35 2.672-13.31 7.125l-62.74 94.11L274.9 238.6C271.9 234.4 267.1 232 262 232c-5.109 0-9.914 2.441-12.93 6.574L176 336H160c-8.822 0-16-7.178-16-16V96c0-8.822 7.178-16 16-16H512c8.822 0 16 7.178 16 16V320zM224 112c-17.67 0-32 14.33-32 32s14.33 32 32 32c17.68 0 32-14.33 32-32S241.7 112 224 112zM456 480H120C53.83 480 0 426.2 0 360v-240C0 106.8 10.75 96 24 96S48 106.8 48 120v240c0 39.7 32.3 72 72 72h336c13.25 0 24 10.75 24 24S469.3 480 456 480z\"],\n \"face-grin\": [512, 512, [128512, \"grin\"], \"f580\", \"M349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"face-meh\": [512, 512, [128528, \"meh\"], \"f11a\", \"M144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208zM368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208zM328 328C341.3 328 352 338.7 352 352C352 365.3 341.3 376 328 376H184C170.7 376 160 365.3 160 352C160 338.7 170.7 328 184 328H328zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464z\"],\n \"id-card\": [576, 512, [62147, \"drivers-license\"], \"f2c2\", \"M368 344h96c13.25 0 24-10.75 24-24s-10.75-24-24-24h-96c-13.25 0-24 10.75-24 24S354.8 344 368 344zM208 320c35.35 0 64-28.65 64-64c0-35.35-28.65-64-64-64s-64 28.65-64 64C144 291.3 172.7 320 208 320zM512 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h448c35.35 0 64-28.65 64-64V96C576 60.65 547.3 32 512 32zM528 416c0 8.822-7.178 16-16 16h-192c0-44.18-35.82-80-80-80h-64C131.8 352 96 387.8 96 432H64c-8.822 0-16-7.178-16-16V160h480V416zM368 264h96c13.25 0 24-10.75 24-24s-10.75-24-24-24h-96c-13.25 0-24 10.75-24 24S354.8 264 368 264z\"],\n \"sun\": [512, 512, [9728], \"f185\", \"M505.2 324.8l-47.73-68.78l47.75-68.81c7.359-10.62 8.797-24.12 3.844-36.06c-4.969-11.94-15.52-20.44-28.22-22.72l-82.39-14.88l-14.89-82.41c-2.281-12.72-10.76-23.25-22.69-28.22c-11.97-4.936-25.42-3.498-36.12 3.844L256 54.49L187.2 6.709C176.5-.6016 163.1-2.039 151.1 2.896c-11.92 4.971-20.4 15.5-22.7 28.19l-14.89 82.44L31.15 128.4C18.42 130.7 7.854 139.2 2.9 151.2C-2.051 163.1-.5996 176.6 6.775 187.2l47.73 68.78l-47.75 68.81c-7.359 10.62-8.795 24.12-3.844 36.06c4.969 11.94 15.52 20.44 28.22 22.72l82.39 14.88l14.89 82.41c2.297 12.72 10.78 23.25 22.7 28.22c11.95 4.906 25.44 3.531 36.09-3.844L256 457.5l68.83 47.78C331.3 509.7 338.8 512 346.3 512c4.906 0 9.859-.9687 14.56-2.906c11.92-4.969 20.4-15.5 22.7-28.19l14.89-82.44l82.37-14.88c12.73-2.281 23.3-10.78 28.25-22.75C514.1 348.9 512.6 335.4 505.2 324.8zM456.8 339.2l-99.61 18l-18 99.63L256 399.1L172.8 456.8l-18-99.63l-99.61-18L112.9 255.1L55.23 172.8l99.61-18l18-99.63L256 112.9l83.15-57.75l18.02 99.66l99.61 18L399.1 255.1L456.8 339.2zM256 143.1c-61.85 0-111.1 50.14-111.1 111.1c0 61.85 50.15 111.1 111.1 111.1s111.1-50.14 111.1-111.1C367.1 194.1 317.8 143.1 256 143.1zM256 319.1c-35.28 0-63.99-28.71-63.99-63.99S220.7 192 256 192s63.99 28.71 63.99 63.1S291.3 319.1 256 319.1z\"],\n \"face-laugh-wink\": [512, 512, [\"laugh-wink\"], \"f59c\", \"M130.7 313.9C126.5 300.4 137.8 288 151.1 288H364.5C378.7 288 389.9 300.4 385.8 313.9C368.1 368.4 318.2 408 258.2 408C198.2 408 147.5 368.4 130.7 313.9V313.9zM208.4 192C208.4 209.7 194 224 176.4 224C158.7 224 144.4 209.7 144.4 192C144.4 174.3 158.7 160 176.4 160C194 160 208.4 174.3 208.4 192zM281.9 214.6C273.9 207 273.5 194.4 281 186.3C295.6 170.8 316.3 164 335.6 164C354.1 164 375.7 170.8 390.2 186.3C397.8 194.4 397.4 207 389.3 214.6C381.2 222.1 368.6 221.7 361 213.7C355.6 207.8 346.3 204 335.6 204C324.1 204 315.7 207.8 310.2 213.7C302.7 221.7 290 222.1 281.9 214.6zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"circle-down\": [512, 512, [61466, \"arrow-alt-circle-down\"], \"f358\", \"M344 240h-56L287.1 152c0-13.25-10.75-24-24-24h-16C234.7 128 223.1 138.8 223.1 152L224 240h-56c-9.531 0-18.16 5.656-22 14.38C142.2 263.1 143.9 273.3 150.4 280.3l88.75 96C243.7 381.2 250.1 384 256.8 384c7.781-.3125 13.25-2.875 17.75-7.844l87.25-96c6.406-7.031 8.031-17.19 4.188-25.88S353.5 240 344 240zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464z\"],\n \"thumbs-down\": [512, 512, [128078, 61576], \"f165\", \"M128 288V64.03c0-17.67-14.33-31.1-32-31.1H32c-17.67 0-32 14.33-32 31.1v223.1c0 17.67 14.33 31.1 32 31.1h64C113.7 320 128 305.7 128 288zM481.5 229.1c1.234-5.092 1.875-10.32 1.875-15.64c0-22.7-11.44-43.13-29.28-55.28c.4219-3.015 .6406-6.076 .6406-9.122c0-22.32-11.06-42.6-28.83-54.83c-2.438-34.71-31.47-62.2-66.8-62.2h-52.53c-35.94 0-71.55 11.87-100.3 33.41L169.6 92.93c-6.285 4.71-9.596 11.85-9.596 19.13c0 12.76 10.29 24.04 24.03 24.04c5.013 0 10.07-1.565 14.38-4.811l36.66-27.51c20.48-15.34 45.88-23.81 71.5-23.81h52.53c10.45 0 18.97 8.497 18.97 18.95c0 3.5-1.11 4.94-1.11 9.456c0 26.97 29.77 17.91 29.77 40.64c0 9.254-6.392 10.96-6.392 22.25c0 13.97 10.85 21.95 19.58 23.59c8.953 1.671 15.45 9.481 15.45 18.56c0 13.04-11.39 13.37-11.39 28.91c0 12.54 9.702 23.08 22.36 23.94C456.2 266.1 464 275.2 464 284.1c0 10.43-8.516 18.93-18.97 18.93H307.4c-12.44 0-24 10.02-24 23.1c0 4.038 1.02 8.078 3.066 11.72C304.4 371.7 312 403.8 312 411.2c0 8.044-5.984 20.79-22.06 20.79c-12.53 0-14.27-.9059-24.94-28.07c-24.75-62.91-61.74-99.9-80.98-99.9c-13.8 0-24.02 11.27-24.02 23.99c0 7.041 3.083 14.02 9.016 18.76C238.1 402 211.4 480 289.9 480C333.8 480 360 445 360 411.2c0-12.7-5.328-35.21-14.83-59.33h99.86C481.1 351.9 512 321.9 512 284.1C512 261.8 499.9 241 481.5 229.1z\"],\n \"chess-pawn\": [320, 512, [9823], \"f443\", \"M296 463.1H23.1c-13.25 0-23.1 10.75-23.1 24s10.75 24 23.1 24h272c13.25 0 23.1-10.75 23.1-23.1S309.3 463.1 296 463.1zM55.1 287.1L80 287.1v29.5c0 40.25-3.5 81.25-23.38 114.5h53.5C125.1 394.1 128 354.6 128 317.5v-29.5h64v29.5c0 37.13 2.875 77.5 17.88 114.5h53.5C243.5 398.7 240 357.7 240 317.5V287.1l24-.0001C277.3 287.1 288 277.3 288 263.1c0-13.25-10.75-24-23.1-24H241c23.75-21.88 38.1-53.12 38.1-87.1c0-9.393-1.106-19.05-3.451-28.86C272.3 105.4 244.9 32 159.1 32C93.75 32 40 85.75 40 151.1c0 34.88 15.12 66.12 39 88H55.1C42.75 239.1 32 250.7 32 263.1C32 277.3 42.75 287.1 55.1 287.1zM160 79.1c39.75 0 72 32.25 72 72S199.8 223.1 160 223.1S88 191.7 88 151.1S120.2 79.1 160 79.1z\"],\n \"credit-card\": [576, 512, [128179, 62083, \"credit-card-alt\"], \"f09d\", \"M168 336C181.3 336 192 346.7 192 360C192 373.3 181.3 384 168 384H120C106.7 384 96 373.3 96 360C96 346.7 106.7 336 120 336H168zM360 336C373.3 336 384 346.7 384 360C384 373.3 373.3 384 360 384H248C234.7 384 224 373.3 224 360C224 346.7 234.7 336 248 336H360zM512 32C547.3 32 576 60.65 576 96V416C576 451.3 547.3 480 512 480H64C28.65 480 0 451.3 0 416V96C0 60.65 28.65 32 64 32H512zM512 80H64C55.16 80 48 87.16 48 96V128H528V96C528 87.16 520.8 80 512 80zM528 224H48V416C48 424.8 55.16 432 64 432H512C520.8 432 528 424.8 528 416V224z\"],\n \"bell\": [448, 512, [128276, 61602], \"f0f3\", \"M256 32V49.88C328.5 61.39 384 124.2 384 200V233.4C384 278.8 399.5 322.9 427.8 358.4L442.7 377C448.5 384.2 449.6 394.1 445.6 402.4C441.6 410.7 433.2 416 424 416H24C14.77 416 6.365 410.7 2.369 402.4C-1.628 394.1-.504 384.2 5.26 377L20.17 358.4C48.54 322.9 64 278.8 64 233.4V200C64 124.2 119.5 61.39 192 49.88V32C192 14.33 206.3 0 224 0C241.7 0 256 14.33 256 32V32zM216 96C158.6 96 112 142.6 112 200V233.4C112 281.3 98.12 328 72.31 368H375.7C349.9 328 336 281.3 336 233.4V200C336 142.6 289.4 96 232 96H216zM288 448C288 464.1 281.3 481.3 269.3 493.3C257.3 505.3 240.1 512 224 512C207 512 190.7 505.3 178.7 493.3C166.7 481.3 160 464.1 160 448H288z\"],\n \"file\": [384, 512, [128196, 128459, 61462], \"f15b\", \"M0 64C0 28.65 28.65 0 64 0H229.5C246.5 0 262.7 6.743 274.7 18.75L365.3 109.3C377.3 121.3 384 137.5 384 154.5V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V64zM336 448V160H256C238.3 160 224 145.7 224 128V48H64C55.16 48 48 55.16 48 64V448C48 456.8 55.16 464 64 464H320C328.8 464 336 456.8 336 448z\"],\n \"hospital\": [640, 512, [127973, 62589, \"hospital-alt\", \"hospital-wide\"], \"f0f8\", \"M296 96C296 87.16 303.2 80 312 80H328C336.8 80 344 87.16 344 96V120H368C376.8 120 384 127.2 384 136V152C384 160.8 376.8 168 368 168H344V192C344 200.8 336.8 208 328 208H312C303.2 208 296 200.8 296 192V168H272C263.2 168 256 160.8 256 152V136C256 127.2 263.2 120 272 120H296V96zM408 0C447.8 0 480 32.24 480 72V80H568C607.8 80 640 112.2 640 152V440C640 479.8 607.8 512 568 512H71.98C32.19 512 0 479.8 0 440V152C0 112.2 32.24 80 72 80H160V72C160 32.24 192.2 0 232 0L408 0zM480 128V464H568C581.3 464 592 453.3 592 440V336H536C522.7 336 512 325.3 512 312C512 298.7 522.7 288 536 288H592V240H536C522.7 240 512 229.3 512 216C512 202.7 522.7 192 536 192H592V152C592 138.7 581.3 128 568 128H480zM48 152V192H104C117.3 192 128 202.7 128 216C128 229.3 117.3 240 104 240H48V288H104C117.3 288 128 298.7 128 312C128 325.3 117.3 336 104 336H48V440C48 453.3 58.74 464 71.98 464H160V128H72C58.75 128 48 138.7 48 152V152zM208 464H272V400C272 373.5 293.5 352 320 352C346.5 352 368 373.5 368 400V464H432V72C432 58.75 421.3 48 408 48H232C218.7 48 208 58.75 208 72V464z\"],\n \"chess-rook\": [384, 512, [9820], \"f447\", \"M360 464H23.1C10.75 464 0 474.7 0 487.1S10.75 512 23.1 512H360C373.3 512 384 501.3 384 488S373.3 464 360 464zM345.1 32h-308C17 32 0 49 0 70v139.4C0 218.8 4 227.5 11 233.6L48 265.8c0 8.885 .0504 17.64 .0504 26.46c0 39.32-1.001 79.96-11.93 139.8h49C94.95 374.3 96.11 333.3 96.11 285.5C96.11 270.7 96 255.1 96 238.2L48 196.5V80h64V128H160V80h64V128h48V80h64v116.5L288 238.2c0 16.77-.1124 32.25-.1124 47.1c0 47.79 1.164 89.15 10.99 146.7h49c-10.92-59.83-11.93-100.6-11.93-139.9C335.9 283.3 336 274.6 336 265.8l37-32.13C380 227.5 384 218.8 384 209.4V70C384 49 367 32 345.1 32zM192 224C174.4 224 160 238.4 160 256v64h64V256C224 238.4 209.6 224 192 224z\"],\n \"star-half\": [576, 512, [61731], \"f089\", \"M293.3 .6123C304.2 3.118 311.9 12.82 311.9 24V408.7C311.9 417.5 307.1 425.7 299.2 429.8L150.1 509.1C142.9 513.4 133.1 512.7 125.6 507.4C118.2 502.1 114.5 492.1 115.1 483.9L142.2 328.4L31.11 218.3C24.65 211.9 22.36 202.4 25.2 193.7C28.03 185.1 35.5 178.8 44.49 177.5L197.7 154.8L266.3 13.52C271.2 3.46 282.4-1.893 293.3 .6127L293.3 .6123zM263.9 128.4L235.4 187.2C231.9 194.3 225.1 199.3 217.3 200.5L98.98 217.9L184.9 303C190.4 308.5 192.9 316.4 191.6 324.1L171.4 443.7L263.9 394.3L263.9 128.4z\"],\n \"chess-king\": [448, 512, [9818], \"f43f\", \"M391.9 464H55.95c-13.25 0-23.1 10.75-23.1 23.1S42.7 512 55.95 512h335.1c13.25 0 23.1-10.75 23.1-23.1S405.2 464 391.9 464zM448 216c0-11.82-3.783-23.51-11.08-33.17c-10.3-14.39-27-22.88-44.73-22.88L247.9 160V104h31.1c13.2 0 24.06-10.8 24.06-24S293.1 56 279.9 56h-31.1V23.1C247.9 10.8 237.2 0 223.1 0S199.9 10.8 199.9 23.1V56H167.9c-13.2 0-23.97 10.8-23.97 24S154.7 104 167.9 104h31.1V160H55.95C24.72 160 0 185.3 0 215.9C0 221.6 .8893 227.4 2.704 233L68.45 432h50.5L48.33 218.4C48.09 217.6 47.98 216.9 47.98 216.1C47.98 212.3 50.93 208 55.95 208h335.9c6.076 0 8.115 5.494 8.115 8.113c0 .6341-.078 1.269-.2405 1.887L328.8 432h50.62l65.1-199.2C447.2 227.3 448 221.7 448 216z\"],\n \"circle-user\": [512, 512, [62142, \"user-circle\"], \"f2bd\", \"M256 112c-48.6 0-88 39.4-88 88C168 248.6 207.4 288 256 288s88-39.4 88-88C344 151.4 304.6 112 256 112zM256 240c-22.06 0-40-17.95-40-40C216 177.9 233.9 160 256 160s40 17.94 40 40C296 222.1 278.1 240 256 240zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-46.73 0-89.76-15.68-124.5-41.79C148.8 389 182.4 368 220.2 368h71.69c37.75 0 71.31 21.01 88.68 54.21C345.8 448.3 302.7 464 256 464zM416.2 388.5C389.2 346.3 343.2 320 291.8 320H220.2c-51.36 0-97.35 26.25-124.4 68.48C65.96 352.5 48 306.3 48 256c0-114.7 93.31-208 208-208s208 93.31 208 208C464 306.3 446 352.5 416.2 388.5z\"],\n \"copy\": [512, 512, [], \"f0c5\", \"M502.6 70.63l-61.25-61.25C435.4 3.371 427.2 0 418.7 0H255.1c-35.35 0-64 28.66-64 64l.0195 256C192 355.4 220.7 384 256 384h192c35.2 0 64-28.8 64-64V93.25C512 84.77 508.6 76.63 502.6 70.63zM464 320c0 8.836-7.164 16-16 16H255.1c-8.838 0-16-7.164-16-16L239.1 64.13c0-8.836 7.164-16 16-16h128L384 96c0 17.67 14.33 32 32 32h47.1V320zM272 448c0 8.836-7.164 16-16 16H63.1c-8.838 0-16-7.164-16-16L47.98 192.1c0-8.836 7.164-16 16-16H160V128H63.99c-35.35 0-64 28.65-64 64l.0098 256C.002 483.3 28.66 512 64 512h192c35.2 0 64-28.8 64-64v-32h-47.1L272 448z\"],\n \"share-from-square\": [576, 512, [61509, \"share-square\"], \"f14d\", \"M400 255.4V240 208c0-8.8-7.2-16-16-16H352 336 289.5c-50.9 0-93.9 33.5-108.3 79.6c-3.3-9.4-5.2-19.8-5.2-31.6c0-61.9 50.1-112 112-112h48 16 32c8.8 0 16-7.2 16-16V80 64.6L506 160 400 255.4zM336 240h16v48c0 17.7 14.3 32 32 32h3.7c7.9 0 15.5-2.9 21.4-8.2l139-125.1c7.6-6.8 11.9-16.5 11.9-26.7s-4.3-19.9-11.9-26.7L409.9 8.9C403.5 3.2 395.3 0 386.7 0C367.5 0 352 15.5 352 34.7V80H336 304 288c-88.4 0-160 71.6-160 160c0 60.4 34.6 99.1 63.9 120.9c5.9 4.4 11.5 8.1 16.7 11.2c4.4 2.7 8.5 4.9 11.9 6.6c3.4 1.7 6.2 3 8.2 3.9c2.2 1 4.6 1.4 7.1 1.4h2.5c9.8 0 17.8-8 17.8-17.8c0-7.8-5.3-14.7-11.6-19.5l0 0c-.4-.3-.7-.5-1.1-.8c-1.7-1.1-3.4-2.5-5-4.1c-.8-.8-1.7-1.6-2.5-2.6s-1.6-1.9-2.4-2.9c-1.8-2.5-3.5-5.3-5-8.5c-2.6-6-4.3-13.3-4.3-22.4c0-36.1 29.3-65.5 65.5-65.5H304h32zM72 32C32.2 32 0 64.2 0 104V440c0 39.8 32.2 72 72 72H408c39.8 0 72-32.2 72-72V376c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"],\n \"copyright\": [512, 512, [169], \"f1f9\", \"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464zM255.1 176C255.1 176 255.1 176 255.1 176c21.06 0 40.92 8.312 55.83 23.38c9.375 9.344 24.53 9.5 33.97 .1562c9.406-9.344 9.469-24.53 .1562-33.97c-24-24.22-55.95-37.56-89.95-37.56c0 0 .0313 0 0 0c-33.97 0-65.95 13.34-89.95 37.56c-49.44 49.88-49.44 131 0 180.9c24 24.22 55.98 37.56 89.95 37.56c.0313 0 0 0 0 0c34 0 65.95-13.34 89.95-37.56c9.312-9.438 9.25-24.62-.1562-33.97c-9.438-9.312-24.59-9.219-33.97 .1562c-14.91 15.06-34.77 23.38-55.83 23.38c0 0 .0313 0 0 0c-21.09 0-40.95-8.312-55.89-23.38c-30.94-31.22-30.94-82.03 0-113.3C214.2 184.3 234 176 255.1 176z\"],\n \"map\": [576, 512, [128506, 62072], \"f279\", \"M565.6 36.24C572.1 40.72 576 48.11 576 56V392C576 401.1 569.8 410.9 560.5 414.4L392.5 478.4C387.4 480.4 381.7 480.5 376.4 478.8L192.5 417.5L32.54 478.4C25.17 481.2 16.88 480.2 10.38 475.8C3.882 471.3 0 463.9 0 456V120C0 110 6.15 101.1 15.46 97.57L183.5 33.57C188.6 31.6 194.3 31.48 199.6 33.23L383.5 94.52L543.5 33.57C550.8 30.76 559.1 31.76 565.6 36.24H565.6zM48 421.2L168 375.5V90.83L48 136.5V421.2zM360 137.3L216 89.3V374.7L360 422.7V137.3zM408 421.2L528 375.5V90.83L408 136.5V421.2z\"],\n \"bell-slash\": [640, 512, [128277, 61943], \"f1f6\", \"M183.6 118.6C206.5 82.58 244.1 56.84 288 49.88V32C288 14.33 302.3 .0003 320 .0003C337.7 .0003 352 14.33 352 32V49.88C424.5 61.39 480 124.2 480 200V233.4C480 278.8 495.5 322.9 523.8 358.4L538.7 377C543.1 383.5 545.4 392.2 542.6 400L630.8 469.1C641.2 477.3 643.1 492.4 634.9 502.8C626.7 513.2 611.6 515.1 601.2 506.9L9.196 42.89C-1.236 34.71-3.065 19.63 5.112 9.196C13.29-1.236 28.37-3.065 38.81 5.112L183.6 118.6zM221.7 148.4L450.7 327.1C438.4 298.2 432 266.1 432 233.4V200C432 142.6 385.4 96 328 96H312C273.3 96 239.6 117.1 221.7 148.4V148.4zM160 233.4V222.1L206.7 258.9C202.7 297.7 189.5 335.2 168.3 368H345.2L406.2 416H120C110.8 416 102.4 410.7 98.37 402.4C94.37 394.1 95.5 384.2 101.3 377L116.2 358.4C144.5 322.9 160 278.8 160 233.4V233.4zM384 448C384 464.1 377.3 481.3 365.3 493.3C353.3 505.3 336.1 512 320 512C303 512 286.7 505.3 274.7 493.3C262.7 481.3 256 464.1 256 448H384z\"],\n \"hand-lizard\": [512, 512, [], \"f258\", \"M512 331.8V424c0 13.25-10.75 24-24 24c-13.25 0-24-10.75-24-24v-92.17c0-10.09-3.031-19.8-8.766-28.08l-118.6-170.5C327.4 119.1 312.2 112 295.1 112H53.32c-2.5 0-5.25 2.453-5.313 4.172c-.2969 9.5 3.156 18.47 9.75 25.28C64.36 148.3 73.2 152 82.67 152h161.8c17.09 0 33.4 8.281 43.4 22.14c9.984 13.88 12.73 31.83 7.328 48.05l-9.781 29.34C278.2 273.3 257.8 288 234.9 288H138.7C129.2 288 120.4 291.8 113.8 298.5c-6.594 6.812-10.05 15.78-9.75 25.28C104.1 325.5 106.8 328 109.3 328h156.6c5.188 0 10.14 1.688 14.3 4.797l78.22 58.67c6.031 4.531 9.594 11.66 9.594 19.2L367.1 424c0 13.25-10.75 24-24 24s-24-10.75-24-24v-1.328L257.8 376H109.3c-28.48 0-52.39-22.72-53.28-50.64c-.7187-22.61 7.531-43.98 23.23-60.2C94.1 248.9 116.1 240 138.7 240h96.19c2.297 0 4.328-1.469 5.063-3.656l9.781-29.33c.7031-2.141-.0156-3.797-.7344-4.797C248.2 201.2 246.9 200 244.6 200H82.67c-22.58 0-43.67-8.938-59.39-25.16C7.575 158.6-.6755 137.3 .0433 114.6C.9339 86.72 24.84 64 53.32 64h242.7c31.94 0 61.86 15.67 80.05 41.92l118.6 170.5C506 292.8 512 311.9 512 331.8z\"],\n \"face-smile\": [512, 512, [128578, \"smile\"], \"f118\", \"M256 352C293.2 352 319.2 334.5 334.4 318.1C343.3 308.4 358.5 307.7 368.3 316.7C378 325.7 378.6 340.9 369.6 350.6C347.7 374.5 309.7 400 256 400C202.3 400 164.3 374.5 142.4 350.6C133.4 340.9 133.1 325.7 143.7 316.7C153.5 307.7 168.7 308.4 177.6 318.1C192.8 334.5 218.8 352 256 352zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"hand-peace\": [512, 512, [9996], \"f25b\", \"M412 160c-8.326 0-16.3 1.51-23.68 4.27C375.1 151.8 358.9 144 340 144c-11.64 0-22.44 3.223-32.03 8.418l11.12-68.95c.6228-3.874 .9243-7.725 .9243-11.53c0-36.08-28.91-71.95-72.09-71.95c-34.68 0-65.31 25.16-71.03 60.54L173.4 82.22L168.9 72.77c-12.4-25.75-38.07-40.78-64.89-40.78c-40.8 0-72.01 33.28-72.01 72.07c0 10.48 2.296 21.11 7.144 31.18L89.05 238.9C64.64 250.4 48 275.7 48 303.1v80c0 22.06 10.4 43.32 27.83 56.86l45.95 35.74c29.35 22.83 65.98 35.41 103.2 35.41l78.81 .0352C400.9 512 480 432.1 480 335.8v-107.5C480 189.6 447.9 160 412 160zM320 212.3C320 201.1 328.1 192 340 192c11.02 0 20 9.078 20 20.25v55.5C360 278.9 351 288 340 288C328.1 288 320 278.9 320 267.8V212.3zM247.9 47.98c12.05 0 24.13 9.511 24.13 23.98c0 1.277-.1022 2.57-.3134 3.871L248.4 220.5C240.7 217.6 232.4 215.1 223.9 215.1c0 0 .002 0 0 0c-4.475 0-8.967 .4199-13.38 1.254l-10.55 1.627l24.32-150.7C226.2 56.42 236.4 47.98 247.9 47.98zM79.1 104c0-13.27 10.79-24.04 24.02-24.04c8.937 0 17.5 5.023 21.61 13.61l61.29 127.3L137.3 228.5L82.38 114.4C80.76 111.1 79.1 107.5 79.1 104zM303.8 464l-78.81-.0352c-26.56 0-52.72-8.984-73.69-25.3l-45.97-35.75C99.47 398.4 96 391.3 96 383.1v-80c0-11.23 7.969-21.11 17.59-23.22l105.3-16.23C220.6 264.2 222.3 263.1 223.9 263.1c11.91 0 24.09 9.521 24.09 24.06c0 11.04-7.513 20.95-17.17 23.09L172.8 319c-12.03 1.633-20.78 11.92-20.78 23.75c0 20.21 18.82 24.08 23.7 24.08c2.645 0 64.61-8.619 65.54-8.826c23.55-5.227 41.51-22.23 49.73-43.64C303.3 327.5 320.6 336 340 336c8.326 0 16.31-1.51 23.69-4.27C376 344.2 393.1 352 412 352c.1992 0 10.08-.4453 18.65-2.92C423.9 413.5 369.9 464 303.8 464zM432 283.8C432 294.9 423 304 412 304c-11.02 0-20-9.078-20-20.25v-55.5C392 217.1 400.1 208 412 208c11.02 0 20 9.078 20 20.25V283.8z\"],\n \"face-grin-hearts\": [512, 512, [128525, \"grin-hearts\"], \"f584\", \"M349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM238.9 177.1L221.4 243C219.1 251.6 210.4 256.6 201.8 254.3L136.7 236.9C118.9 232.1 108.4 213.8 113.1 196.1C117.9 178.3 136.2 167.7 153.1 172.5L170.1 176.8L174.4 160.7C179.2 142.9 197.5 132.4 215.3 137.1C233.1 141.9 243.6 160.2 238.9 177.1H238.9zM341.9 176.8L358 172.5C375.8 167.7 394.1 178.3 398.9 196.1C403.6 213.8 393.1 232.1 375.3 236.9L310.2 254.3C301.6 256.6 292.9 251.6 290.6 243L273.1 177.1C268.4 160.2 278.9 141.9 296.7 137.1C314.5 132.4 332.8 142.9 337.6 160.7L341.9 176.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"building\": [384, 512, [127970, 61687], \"f1ad\", \"M88 104C88 95.16 95.16 88 104 88H152C160.8 88 168 95.16 168 104V152C168 160.8 160.8 168 152 168H104C95.16 168 88 160.8 88 152V104zM280 88C288.8 88 296 95.16 296 104V152C296 160.8 288.8 168 280 168H232C223.2 168 216 160.8 216 152V104C216 95.16 223.2 88 232 88H280zM88 232C88 223.2 95.16 216 104 216H152C160.8 216 168 223.2 168 232V280C168 288.8 160.8 296 152 296H104C95.16 296 88 288.8 88 280V232zM280 216C288.8 216 296 223.2 296 232V280C296 288.8 288.8 296 280 296H232C223.2 296 216 288.8 216 280V232C216 223.2 223.2 216 232 216H280zM0 64C0 28.65 28.65 0 64 0H320C355.3 0 384 28.65 384 64V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V64zM48 64V448C48 456.8 55.16 464 64 464H144V400C144 373.5 165.5 352 192 352C218.5 352 240 373.5 240 400V464H320C328.8 464 336 456.8 336 448V64C336 55.16 328.8 48 320 48H64C55.16 48 48 55.16 48 64z\"],\n \"face-grin-beam-sweat\": [512, 512, [128517, \"grin-beam-sweat\"], \"f583\", \"M464 128C437.5 128 416 107 416 81.01C416 76.01 417.8 69.74 420.6 62.87C420.9 62.17 421.2 61.46 421.6 60.74C430.5 40.51 448.1 15.86 457.6 3.281C460.8-1.094 467.2-1.094 470.4 3.281C483.4 20.65 512 61.02 512 81.01C512 102.7 497.1 120.8 476.8 126.3C472.7 127.4 468.4 128 464 128L464 128zM391.1 50.53C387.8 58.57 384 69.57 384 81.01C384 84.1 384.3 88.91 384.9 92.72C349.4 64.71 304.7 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 219.7 454.7 185.5 438.3 155.8C446.4 158.5 455.1 160 464 160C473.6 160 482.8 158.3 491.4 155.2C504.7 186.2 512 220.2 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 .0002 256 .0002C307.4 .0002 355.3 15.15 395.4 41.23C393.9 44.32 392.4 47.43 391.1 50.53V50.53zM255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.9 255.9 318.9C289 318.9 320.6 315.1 349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1zM217.6 228.8L217.4 228.5C217.2 228.3 217 228 216.7 227.6C216 226.8 215.1 225.7 213.9 224.3C211.4 221.4 207.9 217.7 203.7 213.1C194.9 206.2 184.8 200 176 200C167.2 200 157.1 206.2 148.3 213.1C144.1 217.7 140.6 221.4 138.1 224.3C136.9 225.7 135.1 226.8 135.3 227.6C134.1 228 134.8 228.3 134.6 228.5L134.4 228.8L134.4 228.8C132.3 231.6 128.7 232.7 125.5 231.6C122.2 230.5 119.1 227.4 119.1 224C119.1 206.1 126.7 188.4 136.6 175.2C146.4 162.2 160.5 152 175.1 152C191.5 152 205.6 162.2 215.4 175.2C225.3 188.4 231.1 206.1 231.1 224C231.1 227.4 229.8 230.5 226.5 231.6C223.3 232.7 219.7 231.6 217.6 228.8L217.6 228.8zM377.6 228.8L377.6 228.8L377.4 228.5C377.2 228.3 377 228 376.7 227.6C376 226.8 375.1 225.7 373.9 224.3C371.4 221.4 367.9 217.7 363.7 213.1C354.9 206.2 344.8 200 336 200C327.2 200 317.1 206.2 308.3 213.1C304.1 217.7 300.6 221.4 298.1 224.3C296.9 225.7 295.1 226.8 295.3 227.6C294.1 228 294.8 228.3 294.6 228.5L294.4 228.8L294.4 228.8C292.3 231.6 288.7 232.7 285.5 231.6C282.2 230.5 280 227.4 280 224C280 206.1 286.7 188.4 296.6 175.2C306.4 162.2 320.5 152 336 152C351.5 152 365.6 162.2 375.4 175.2C385.3 188.4 392 206.1 392 224C392 227.4 389.8 230.5 386.5 231.6C383.3 232.7 379.7 231.6 377.6 228.8V228.8z\"],\n \"moon\": [512, 512, [127769, 9214], \"f186\", \"M421.6 379.9c-.6641 0-1.35 .0625-2.049 .1953c-11.24 2.143-22.37 3.17-33.32 3.17c-94.81 0-174.1-77.14-174.1-175.5c0-63.19 33.79-121.3 88.73-152.6c8.467-4.812 6.339-17.66-3.279-19.44c-11.2-2.078-29.53-3.746-40.9-3.746C132.3 31.1 32 132.2 32 256c0 123.6 100.1 224 223.8 224c69.04 0 132.1-31.45 173.8-82.93C435.3 389.1 429.1 379.9 421.6 379.9zM255.8 432C158.9 432 80 353 80 256c0-76.32 48.77-141.4 116.7-165.8C175.2 125 163.2 165.6 163.2 207.8c0 99.44 65.13 183.9 154.9 212.8C298.5 428.1 277.4 432 255.8 432z\"],\n \"calendar\": [448, 512, [128197, 128198], \"f133\", \"M152 64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0C141.3 0 152 10.75 152 24V64zM48 448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192H48V448z\"],\n \"face-grin-tongue-wink\": [512, 512, [128540, \"grin-tongue-wink\"], \"f58b\", \"M159.6 220C148.1 220 139.7 223.8 134.2 229.7C126.7 237.7 114 238.1 105.9 230.6C97.89 223 97.48 210.4 105 202.3C119.6 186.8 140.3 180 159.6 180C178.1 180 199.7 186.8 214.2 202.3C221.8 210.4 221.4 223 213.3 230.6C205.2 238.1 192.6 237.7 185 229.7C179.6 223.8 170.3 220 159.6 220zM312.4 208C312.4 194.7 323.1 184 336.4 184C349.6 184 360.4 194.7 360.4 208C360.4 221.3 349.6 232 336.4 232C323.1 232 312.4 221.3 312.4 208zM256 208C256 163.8 291.8 128 336 128C380.2 128 416 163.8 416 208C416 252.2 380.2 288 336 288C291.8 288 256 252.2 256 208zM336 256C362.5 256 384 234.5 384 208C384 181.5 362.5 160 336 160C309.5 160 288 181.5 288 208C288 234.5 309.5 256 336 256zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM348.3 442.4C416.9 408.4 464 337.7 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 337.7 95.13 408.4 163.7 442.4C161.3 434 160 425.2 160 416V363.6C151.1 355.6 143.3 346.5 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C368.6 346.4 360.8 355.5 352 363.5V416C352 425.2 350.7 434 348.3 442.4H348.3zM320 416V378.6C320 363.9 308.1 352 293.4 352H291.4C280.1 352 270.3 359.9 267.8 370.9C264.1 383.5 247 383.5 244.2 370.9C241.7 359.9 231.9 352 220.6 352H218.6C203.9 352 192 363.9 192 378.6V416C192 451.3 220.7 480 256 480C291.3 480 320 451.3 320 416z\"],\n \"clone\": [512, 512, [], \"f24d\", \"M64 464H288C296.8 464 304 456.8 304 448V384H352V448C352 483.3 323.3 512 288 512H64C28.65 512 0 483.3 0 448V224C0 188.7 28.65 160 64 160H128V208H64C55.16 208 48 215.2 48 224V448C48 456.8 55.16 464 64 464zM160 64C160 28.65 188.7 0 224 0H448C483.3 0 512 28.65 512 64V288C512 323.3 483.3 352 448 352H224C188.7 352 160 323.3 160 288V64zM224 304H448C456.8 304 464 296.8 464 288V64C464 55.16 456.8 48 448 48H224C215.2 48 208 55.16 208 64V288C208 296.8 215.2 304 224 304z\"],\n \"face-angry\": [512, 512, [128544, \"angry\"], \"f556\", \"M328.4 393.5C318.7 402.6 303.5 402.1 294.5 392.4C287.1 384.5 274.4 376 256 376C237.6 376 224.9 384.5 217.5 392.4C208.5 402.1 193.3 402.6 183.6 393.5C173.9 384.5 173.4 369.3 182.5 359.6C196.7 344.3 221.4 328 256 328C290.6 328 315.3 344.3 329.5 359.6C338.6 369.3 338.1 384.5 328.4 393.5zM144.4 240C144.4 231.2 147.9 223.2 153.7 217.4L122.9 207.2C114.6 204.4 110 195.3 112.8 186.9C115.6 178.6 124.7 174 133.1 176.8L229.1 208.8C237.4 211.6 241.1 220.7 239.2 229.1C236.4 237.4 227.3 241.1 218.9 239.2L208.1 235.6C208.3 237 208.4 238.5 208.4 240C208.4 257.7 194 272 176.4 272C158.7 272 144.4 257.7 144.4 240V240zM368.4 240C368.4 257.7 354 272 336.4 272C318.7 272 304.4 257.7 304.4 240C304.4 238.4 304.5 236.8 304.7 235.3L293.1 239.2C284.7 241.1 275.6 237.4 272.8 229.1C270 220.7 274.6 211.6 282.9 208.8L378.9 176.8C387.3 174 396.4 178.6 399.2 186.9C401.1 195.3 397.4 204.4 389.1 207.2L358.9 217.2C364.7 223 368.4 231.1 368.4 240H368.4zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464z\"],\n \"rectangle-xmark\": [512, 512, [62164, \"rectangle-times\", \"times-rectangle\", \"window-close\"], \"f410\", \"M175 175C184.4 165.7 199.6 165.7 208.1 175L255.1 222.1L303 175C312.4 165.7 327.6 165.7 336.1 175C346.3 184.4 346.3 199.6 336.1 208.1L289.9 255.1L336.1 303C346.3 312.4 346.3 327.6 336.1 336.1C327.6 346.3 312.4 346.3 303 336.1L255.1 289.9L208.1 336.1C199.6 346.3 184.4 346.3 175 336.1C165.7 327.6 165.7 312.4 175 303L222.1 255.1L175 208.1C165.7 199.6 165.7 184.4 175 175V175zM0 96C0 60.65 28.65 32 64 32H448C483.3 32 512 60.65 512 96V416C512 451.3 483.3 480 448 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H448C456.8 432 464 424.8 464 416V96C464 87.16 456.8 80 448 80H64C55.16 80 48 87.16 48 96z\"],\n \"paper-plane\": [512, 512, [61913], \"f1d8\", \"M16.1 260.2c-22.6 12.9-20.5 47.3 3.6 57.3L160 376V479.3c0 18.1 14.6 32.7 32.7 32.7c9.7 0 18.9-4.3 25.1-11.8l62-74.3 123.9 51.6c18.9 7.9 40.8-4.5 43.9-24.7l64-416c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448 256zm52.1 25.5L409.7 90.6 190.1 336l1.2 1L68.2 285.7zM403.3 425.4L236.7 355.9 450.8 116.6 403.3 425.4z\"],\n \"life-ring\": [512, 512, [], \"f1cd\", \"M464.1 431C474.3 440.4 474.3 455.6 464.1 464.1C455.6 474.3 440.4 474.3 431 464.1L419.3 453.2C374.9 489.9 318.1 512 256 512C193.9 512 137.1 489.9 92.74 453.2L80.97 464.1C71.6 474.3 56.4 474.3 47.03 464.1C37.66 455.6 37.66 440.4 47.03 431L58.8 419.3C22.08 374.9 0 318.1 0 256C0 193.9 22.08 137.1 58.8 92.74L47.03 80.97C37.66 71.6 37.66 56.4 47.03 47.03C56.4 37.66 71.6 37.66 80.97 47.03L92.74 58.8C137.1 22.08 193.9 0 256 0C318.1 0 374.9 22.08 419.3 58.8L431 47.03C440.4 37.66 455.6 37.66 464.1 47.03C474.3 56.4 474.3 71.6 464.1 80.97L453.2 92.74C489.9 137.1 512 193.9 512 256C512 318.1 489.9 374.9 453.2 419.3L464.1 431zM304.8 338.7C290.5 347.2 273.8 352 256 352C238.2 352 221.5 347.2 207.2 338.7L126.9 419.1C162.3 447.2 207.2 464 256 464C304.8 464 349.7 447.2 385.1 419.1L304.8 338.7zM464 256C464 207.2 447.2 162.3 419.1 126.9L338.7 207.2C347.2 221.5 352 238.2 352 256C352 273.8 347.2 290.5 338.7 304.8L419.1 385.1C447.2 349.7 464 304.8 464 256V256zM256 48C207.2 48 162.3 64.8 126.9 92.93L207.2 173.3C221.5 164.8 238.2 160 256 160C273.8 160 290.5 164.8 304.8 173.3L385.1 92.93C349.7 64.8 304.8 48 256 48V48zM173.3 304.8C164.8 290.5 160 273.8 160 256C160 238.2 164.8 221.5 173.3 207.2L92.93 126.9C64.8 162.3 48 207.2 48 256C48 304.8 64.8 349.7 92.93 385.1L173.3 304.8zM256 208C229.5 208 208 229.5 208 256C208 282.5 229.5 304 256 304C282.5 304 304 282.5 304 256C304 229.5 282.5 208 256 208z\"],\n \"face-grimace\": [512, 512, [128556, \"grimace\"], \"f57f\", \"M344 288C374.9 288 400 313.1 400 344C400 374.9 374.9 400 344 400H168C137.1 400 112 374.9 112 344C112 313.1 137.1 288 168 288H344zM168 320C154.7 320 144 330.7 144 344C144 357.3 154.7 368 168 368H176V320H168zM208 368H240V320H208V368zM304 320H272V368H304V320zM336 368H344C357.3 368 368 357.3 368 344C368 330.7 357.3 320 344 320H336V368zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"calendar-minus\": [448, 512, [], \"f272\", \"M152 352C138.7 352 128 341.3 128 328C128 314.7 138.7 304 152 304H296C309.3 304 320 314.7 320 328C320 341.3 309.3 352 296 352H152zM128 0C141.3 0 152 10.75 152 24V64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0zM400 192H48V448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192z\"],\n \"circle-xmark\": [512, 512, [61532, \"times-circle\", \"xmark-circle\"], \"f057\", \"M175 175C184.4 165.7 199.6 165.7 208.1 175L255.1 222.1L303 175C312.4 165.7 327.6 165.7 336.1 175C346.3 184.4 346.3 199.6 336.1 208.1L289.9 255.1L336.1 303C346.3 312.4 346.3 327.6 336.1 336.1C327.6 346.3 312.4 346.3 303 336.1L255.1 289.9L208.1 336.1C199.6 346.3 184.4 346.3 175 336.1C165.7 327.6 165.7 312.4 175 303L222.1 255.1L175 208.1C165.7 199.6 165.7 184.4 175 175V175zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"],\n \"thumbs-up\": [512, 512, [128077, 61575], \"f164\", \"M96 191.1H32c-17.67 0-32 14.33-32 31.1v223.1c0 17.67 14.33 31.1 32 31.1h64c17.67 0 32-14.33 32-31.1V223.1C128 206.3 113.7 191.1 96 191.1zM512 227c0-36.89-30.05-66.92-66.97-66.92h-99.86C354.7 135.1 360 113.5 360 100.8c0-33.8-26.2-68.78-70.06-68.78c-46.61 0-59.36 32.44-69.61 58.5c-31.66 80.5-60.33 66.39-60.33 93.47c0 12.84 10.36 23.99 24.02 23.99c5.256 0 10.55-1.721 14.97-5.26c76.76-61.37 57.97-122.7 90.95-122.7c16.08 0 22.06 12.75 22.06 20.79c0 7.404-7.594 39.55-25.55 71.59c-2.046 3.646-3.066 7.686-3.066 11.72c0 13.92 11.43 23.1 24 23.1h137.6C455.5 208.1 464 216.6 464 227c0 9.809-7.766 18.03-17.67 18.71c-12.66 .8593-22.36 11.4-22.36 23.94c0 15.47 11.39 15.95 11.39 28.91c0 25.37-35.03 12.34-35.03 42.15c0 11.22 6.392 13.03 6.392 22.25c0 22.66-29.77 13.76-29.77 40.64c0 4.515 1.11 5.961 1.11 9.456c0 10.45-8.516 18.95-18.97 18.95h-52.53c-25.62 0-51.02-8.466-71.5-23.81l-36.66-27.51c-4.315-3.245-9.37-4.811-14.38-4.811c-13.85 0-24.03 11.38-24.03 24.04c0 7.287 3.312 14.42 9.596 19.13l36.67 27.52C235 468.1 270.6 480 306.6 480h52.53c35.33 0 64.36-27.49 66.8-62.2c17.77-12.23 28.83-32.51 28.83-54.83c0-3.046-.2187-6.107-.6406-9.122c17.84-12.15 29.28-32.58 29.28-55.28c0-5.311-.6406-10.54-1.875-15.64C499.9 270.1 512 250.2 512 227z\"],\n \"window-minimize\": [512, 512, [128469], \"f2d1\", \"M0 456C0 442.7 10.75 432 24 432H488C501.3 432 512 442.7 512 456C512 469.3 501.3 480 488 480H24C10.75 480 0 469.3 0 456z\"],\n \"square-full\": [512, 512, [128997, 128998, 128999, 129000, 129001, 129002, 129003, 11035, 11036], \"f45c\", \"M512 0V512H0V0H512zM464 48H48V464H464V48z\"],\n \"note-sticky\": [448, 512, [62026, \"sticky-note\"], \"f249\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H288V352c0-17.7 14.3-32 32-32h80V96c0-8.8-7.2-16-16-16H64zM288 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V320v5.5c0 17-6.7 33.3-18.7 45.3l-90.5 90.5c-12 12-28.3 18.7-45.3 18.7H288z\"],\n \"face-sad-tear\": [512, 512, [128546, \"sad-tear\"], \"f5b4\", \"M169.6 291.3C172.8 286.9 179.2 286.9 182.4 291.3C195.6 308.6 223.1 349 223.1 369C223.1 395 202.5 416 175.1 416C149.5 416 127.1 395 127.1 369C127.1 349 156.6 308.6 169.6 291.3H169.6zM368 346.8C377.9 355.6 378.7 370.8 369.9 380.7C361 390.6 345.9 391.4 335.1 382.6C314.7 363.5 286.7 352 256 352C242.7 352 232 341.3 232 328C232 314.7 242.7 304 256 304C299 304 338.3 320.2 368 346.8L368 346.8zM335.6 176C353.3 176 367.6 190.3 367.6 208C367.6 225.7 353.3 240 335.6 240C317.1 240 303.6 225.7 303.6 208C303.6 190.3 317.1 176 335.6 176zM175.6 240C157.1 240 143.6 225.7 143.6 208C143.6 190.3 157.1 176 175.6 176C193.3 176 207.6 190.3 207.6 208C207.6 225.7 193.3 240 175.6 240zM256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0zM175.9 448C200.5 458.3 227.6 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 308.7 67.59 356.8 99.88 393.4C110.4 425.4 140.9 447.9 175.9 448V448z\"],\n \"hand-point-left\": [512, 512, [], \"f0a5\", \"M264 480h104c79.4 0 144-62.95 144-140.3V231.8c0-23.44-6.104-46.73-17.65-67.35L462.1 108.6C447.5 81.1 417.1 64 385.9 64H336c-27.23 0-51.53 12.51-67.69 32H72C32.3 96 0 128.3 0 168S32.3 240 72 240h56.44C128.1 242.6 128 245.3 128 248c0 25.95 13.79 48.73 34.43 61.4C160.8 315.3 160 321.6 160 328c0 25.95 13.79 48.73 34.43 61.4C192.8 395.3 192 401.6 192 408C192 447.7 224.3 480 264 480zM280 304c13.23 0 24 10.78 24 24S293.1 352 279.9 352H232c-13.23 0-24-10.78-24-24S218.8 304 232 304H280zM248 224v12c0 12.39 3.264 23.93 8.545 34.27C253.9 271.3 251 272 248 272h-48C186.8 272 176 261.2 176 248S186.8 224 200 224H248zM248 144c.2813 0 .5137 .1504 .793 .1602C248.6 146.8 248 149.3 248 152V192h-176C58.77 192 48 181.2 48 168S58.77 144 72 144H248zM388.2 429.9C390.4 422.9 392 415.7 392 408c0-29.04-17.37-53.96-42.18-65.34C350.8 337.8 352 333 352 328c0-7.139-1.273-13.96-3.355-20.46C378.4 297.2 400 269.2 400 236V184C400 170.8 389.3 160 376 160S352 170.8 352 184v52c0 15.44-12.56 28-28 28S296 251.4 296 236V152c0-22.06 17.94-40 40-40h49.88c14.77 0 28.28 7.719 35.27 20.16l31.34 55.78C460 201.4 464 216.6 464 231.8v107.9C464 383.9 431.4 420.9 388.2 429.9zM264 432c-13.23 0-24-10.78-24-24S250.8 384 264 384H320c13.23 0 24 10.78 24 24S333.2 432 320 432H264z\"]\n };\n\n bunker(function () {\n defineIcons('far', icons);\n defineIcons('fa-regular', icons);\n });\n\n}());\n(function () {\n 'use strict';\n\n var _WINDOW = {};\n var _DOCUMENT = {};\n\n try {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n } catch (e) {}\n\n var _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n var WINDOW = _WINDOW;\n var DOCUMENT = _DOCUMENT;\n var IS_BROWSER = !!WINDOW.document;\n var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\n var IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5;\n\n var NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\n var PRODUCTION = function () {\n try {\n return \"production\" === 'production';\n } catch (e) {\n return false;\n }\n }();\n var FAMILY_CLASSIC = 'classic';\n var FAMILY_SHARP = 'sharp';\n var FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];\n\n function familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get: function get(target, prop) {\n return prop in target ? target[prop] : target[FAMILY_CLASSIC];\n }\n });\n }\n var PREFIX_TO_STYLE = familyProxy((_familyProxy = {}, _defineProperty(_familyProxy, FAMILY_CLASSIC, {\n 'fa': 'solid',\n 'fas': 'solid',\n 'fa-solid': 'solid',\n 'far': 'regular',\n 'fa-regular': 'regular',\n 'fal': 'light',\n 'fa-light': 'light',\n 'fat': 'thin',\n 'fa-thin': 'thin',\n 'fad': 'duotone',\n 'fa-duotone': 'duotone',\n 'fab': 'brands',\n 'fa-brands': 'brands',\n 'fak': 'kit',\n 'fa-kit': 'kit'\n }), _defineProperty(_familyProxy, FAMILY_SHARP, {\n 'fa': 'solid',\n 'fass': 'solid',\n 'fa-solid': 'solid'\n }), _familyProxy));\n var STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'thin': 'fat',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n }), _defineProperty(_familyProxy2, FAMILY_SHARP, {\n 'solid': 'fass'\n }), _familyProxy2));\n var PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, {\n 'fab': 'fa-brands',\n 'fad': 'fa-duotone',\n 'fak': 'fa-kit',\n 'fal': 'fa-light',\n 'far': 'fa-regular',\n 'fas': 'fa-solid',\n 'fat': 'fa-thin'\n }), _defineProperty(_familyProxy3, FAMILY_SHARP, {\n 'fass': 'fa-solid'\n }), _familyProxy3));\n var LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, {\n 'fa-brands': 'fab',\n 'fa-duotone': 'fad',\n 'fa-kit': 'fak',\n 'fa-light': 'fal',\n 'fa-regular': 'far',\n 'fa-solid': 'fas',\n 'fa-thin': 'fat'\n }), _defineProperty(_familyProxy4, FAMILY_SHARP, {\n 'fa-solid': 'fass'\n }), _familyProxy4));\n // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\n var FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal',\n '100': 'fat'\n }), _defineProperty(_familyProxy5, FAMILY_SHARP, {\n '900': 'fass'\n }), _familyProxy5));\n var oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n var oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\n var DUOTONE_CLASSES = {\n GROUP: 'duotone-group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n };\n var prefixes = new Set();\n Object.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes));\n Object.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes));\n var RESERVED_CLASSES = [].concat(FAMILIES, _toConsumableArray(prefixes), ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', 'beat', 'border', 'fade', 'beat-fade', 'bounce', 'flip-both', 'flip-horizontal', 'flip-vertical', 'flip', 'fw', 'inverse', 'layers-counter', 'layers-text', 'layers', 'li', 'pull-left', 'pull-right', 'pulse', 'rotate-180', 'rotate-270', 'rotate-90', 'rotate-by', 'shake', 'spin-pulse', 'spin-reverse', 'spin', 'stack-1x', 'stack-2x', 'stack', 'ul', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY]).concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n })).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n }));\n\n function bunker(fn) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n fn.apply(void 0, args);\n } catch (e) {\n if (!PRODUCTION) {\n throw e;\n }\n }\n }\n\n var w = WINDOW || {};\n if (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\n if (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\n if (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\n if (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\n var namespace = w[NAMESPACE_IDENTIFIER];\n\n function normalizeIcons(icons) {\n return Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n }\n\n function defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = normalizeIcons(icons);\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n }\n\n var icons = {\n \"0\": [320, 512, [], \"30\", \"M0 192C0 103.6 71.6 32 160 32s160 71.6 160 160V320c0 88.4-71.6 160-160 160S0 408.4 0 320V192zM160 96c-53 0-96 43-96 96V320c0 53 43 96 96 96s96-43 96-96V192c0-53-43-96-96-96z\"],\n \"1\": [256, 512, [], \"31\", \"M160 64c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.9 1.6l-96 64C-.5 111.2-4.4 131 5.4 145.8s29.7 18.7 44.4 8.9L96 123.8V416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160V64z\"],\n \"2\": [320, 512, [], \"32\", \"M142.9 96c-21.5 0-42.2 8.5-57.4 23.8L54.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L40.2 74.5C67.5 47.3 104.4 32 142.9 32C223 32 288 97 288 177.1c0 38.5-15.3 75.4-42.5 102.6L109.3 416H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L200.2 234.5c15.2-15.2 23.8-35.9 23.8-57.4c0-44.8-36.3-81.1-81.1-81.1z\"],\n \"3\": [448, 512, [], \"33\", \"M64 64c0-17.7 14.3-32 32-32H336c13.2 0 25 8.1 29.8 20.4s1.5 26.3-8.2 35.2L226.3 208H248c75.1 0 136 60.9 136 136s-60.9 136-136 136H169.4c-42.4 0-81.2-24-100.2-61.9l-1.9-3.8c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l1.9 3.8c8.1 16.3 24.8 26.5 42.9 26.5H248c39.8 0 72-32.2 72-72s-32.2-72-72-72H144c-13.2 0-25-8.1-29.8-20.4s-1.5-26.3 8.2-35.2L253.7 96H96C78.3 96 64 81.7 64 64z\"],\n \"4\": [384, 512, [], \"34\", \"M189 77.6c7.5-16 .7-35.1-15.3-42.6s-35.1-.7-42.6 15.3L3 322.4c-4.7 9.9-3.9 21.5 1.9 30.8S21 368 32 368H256v80c0 17.7 14.3 32 32 32s32-14.3 32-32V368h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V304H82.4L189 77.6z\"],\n \"5\": [320, 512, [], \"35\", \"M32.5 58.3C35.3 43.1 48.5 32 64 32H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H90.7L70.3 208H184c75.1 0 136 60.9 136 136s-60.9 136-136 136H100.5c-39.4 0-75.4-22.3-93-57.5l-4.1-8.2c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l4.1 8.2c6.8 13.6 20.6 22.1 35.8 22.1H184c39.8 0 72-32.2 72-72s-32.2-72-72-72H32c-9.5 0-18.5-4.2-24.6-11.5s-8.6-16.9-6.9-26.2l32-176z\"],\n \"6\": [320, 512, [], \"36\", \"M232.4 84.7c11.4-13.5 9.7-33.7-3.8-45.1s-33.7-9.7-45.1 3.8L38.6 214.7C14.7 242.9 1.1 278.4 .1 315.2c0 1.4-.1 2.9-.1 4.3c0 .2 0 .3 0 .5c0 88.4 71.6 160 160 160s160-71.6 160-160c0-85.5-67.1-155.4-151.5-159.8l63.9-75.6zM64 320c0-53 43-96 96-96s96 43 96 96s-43 96-96 96s-96-43-96-96z\"],\n \"7\": [320, 512, [], \"37\", \"M0 64C0 46.3 14.3 32 32 32H288c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-224 384c-8.9 15.3-28.5 20.4-43.8 11.5s-20.4-28.5-11.5-43.8L232.3 96H32C14.3 96 0 81.7 0 64z\"],\n \"8\": [320, 512, [], \"38\", \"M304 160c0-70.7-57.3-128-128-128H144C73.3 32 16 89.3 16 160c0 34.6 13.7 66 36 89C20.5 272.3 0 309.8 0 352c0 70.7 57.3 128 128 128h64c70.7 0 128-57.3 128-128c0-42.2-20.5-79.7-52-103c22.3-23 36-54.4 36-89zM176.1 288H192c35.3 0 64 28.7 64 64s-28.7 64-64 64H128c-35.3 0-64-28.7-64-64s28.7-64 64-64h15.9c0 0 .1 0 .1 0h32c0 0 .1 0 .1 0zm0-64c0 0 0 0 0 0H144c0 0 0 0 0 0c-35.3 0-64-28.7-64-64c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64c0 35.3-28.6 64-64 64z\"],\n \"9\": [320, 512, [], \"39\", \"M64 192c0 53 43 96 96 96s96-43 96-96s-43-96-96-96s-96 43-96 96zm87.5 159.8C67.1 347.4 0 277.5 0 192C0 103.6 71.6 32 160 32s160 71.6 160 160c0 2.6-.1 5.3-.2 7.9c-1.7 35.7-15.2 70-38.4 97.4l-145 171.4c-11.4 13.5-31.6 15.2-45.1 3.8s-15.2-31.6-3.8-45.1l63.9-75.6z\"],\n \"fill-drip\": [576, 512, [], \"f576\", \"M41.4 9.4C53.9-3.1 74.1-3.1 86.6 9.4L168 90.7l53.1-53.1c28.1-28.1 73.7-28.1 101.8 0L474.3 189.1c28.1 28.1 28.1 73.7 0 101.8L283.9 481.4c-37.5 37.5-98.3 37.5-135.8 0L30.6 363.9c-37.5-37.5-37.5-98.3 0-135.8L122.7 136 41.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm176 221.3L168 181.3 75.9 273.4c-4.2 4.2-7 9.3-8.4 14.6H386.7l42.3-42.3c3.1-3.1 3.1-8.2 0-11.3L277.7 82.9c-3.1-3.1-8.2-3.1-11.3 0L213.3 136l49.4 49.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0zM512 512c-35.3 0-64-28.7-64-64c0-25.2 32.6-79.6 51.2-108.7c6-9.4 19.5-9.4 25.5 0C543.4 368.4 576 422.8 576 448c0 35.3-28.7 64-64 64z\"],\n \"arrows-to-circle\": [640, 512, [], \"e4bd\", \"M9.4 9.4C21.9-3.1 42.1-3.1 54.6 9.4L160 114.7V96c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 4.3-.9 8.5-2.4 12.2c-1.6 3.7-3.8 7.3-6.9 10.3l-.1 .1c-3.1 3-6.6 5.3-10.3 6.9c-3.8 1.6-7.9 2.4-12.2 2.4H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h18.7L9.4 54.6C-3.1 42.1-3.1 21.9 9.4 9.4zM384 256c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM114.7 352H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h96 0l.1 0c8.8 0 16.7 3.6 22.5 9.3l.1 .1c3 3.1 5.3 6.6 6.9 10.3c1.6 3.8 2.4 7.9 2.4 12.2v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L114.7 352zM416 96c0-17.7 14.3-32 32-32s32 14.3 32 32v18.7L585.4 9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 160H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H448c-8.8 0-16.8-3.6-22.6-9.3l-.1-.1c-3-3.1-5.3-6.6-6.9-10.3s-2.4-7.8-2.4-12.2l0-.1v0V96zM525.3 352L630.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L480 397.3V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V320v0c0 0 0-.1 0-.1c0-4.3 .9-8.4 2.4-12.2c1.6-3.8 3.9-7.3 6.9-10.4c5.8-5.8 13.7-9.3 22.5-9.4c0 0 .1 0 .1 0h0 96c17.7 0 32 14.3 32 32s-14.3 32-32 32H525.3z\"],\n \"circle-chevron-right\": [512, 512, [\"chevron-circle-right\"], \"f138\", \"M0 256C0 397.4 114.6 512 256 512s256-114.6 256-256S397.4 0 256 0S0 114.6 0 256zM241 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L345 239c9.4 9.4 9.4 24.6 0 33.9L241 377z\"],\n \"at\": [512, 512, [61946], \"40\", \"M256 64C150 64 64 150 64 256s86 192 192 192c17.7 0 32 14.3 32 32s-14.3 32-32 32C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256v32c0 53-43 96-96 96c-29.3 0-55.6-13.2-73.2-33.9C320 371.1 289.5 384 256 384c-70.7 0-128-57.3-128-128s57.3-128 128-128c27.9 0 53.7 8.9 74.7 24.1c5.7-5 13.1-8.1 21.3-8.1c17.7 0 32 14.3 32 32v80 32c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-106-86-192-192-192zm64 192c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\"],\n \"trash-can\": [448, 512, [61460, \"trash-alt\"], \"f2ed\", \"M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zm96 64c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16z\"],\n \"text-height\": [576, 512, [], \"f034\", \"M32 32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64l0 320H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H192l0-320h64v32c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H160 32zm470.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32V352H416c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H512V160h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z\"],\n \"user-xmark\": [640, 512, [\"user-times\"], \"f235\", \"M352 128c0 70.7-57.3 128-128 128s-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM471 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"],\n \"stethoscope\": [576, 512, [129658], \"f0f1\", \"M142.4 21.9c5.6 16.8-3.5 34.9-20.2 40.5L96 71.1V192c0 53 43 96 96 96s96-43 96-96V71.1l-26.1-8.7c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l26.1 8.7C334.4 19.1 352 43.5 352 71.1V192c0 77.2-54.6 141.6-127.3 156.7C231 404.6 278.4 448 336 448c61.9 0 112-50.1 112-112V265.3c-28.3-12.3-48-40.5-48-73.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V336c0 97.2-78.8 176-176 176c-92.9 0-168.9-71.9-175.5-163.1C87.2 334.2 32 269.6 32 192V71.1c0-27.5 17.6-52 43.8-60.7l26.1-8.7c16.8-5.6 34.9 3.5 40.5 20.2zM480 224c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"message\": [512, 512, [\"comment-alt\"], \"f27a\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h96v80c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64z\"],\n \"info\": [192, 512, [], \"f129\", \"M144 80c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM0 224c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32V448h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64V256H32c-17.7 0-32-14.3-32-32z\"],\n \"down-left-and-up-right-to-center\": [512, 512, [\"compress-alt\"], \"f422\", \"M473 7c-9.4-9.4-24.6-9.4-33.9 0l-87 87L313 55c-6.9-6.9-17.2-8.9-26.2-5.2S272 62.3 272 72V216c0 13.3 10.7 24 24 24H440c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-39-39 87-87c9.4-9.4 9.4-24.6 0-33.9L473 7zM216 272H72c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l39 39L7 439c-9.4 9.4-9.4 24.6 0 33.9l32 32c9.4 9.4 24.6 9.4 33.9 0l87-87 39 39c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V296c0-13.3-10.7-24-24-24z\"],\n \"explosion\": [576, 512, [], \"e4e9\", \"M499.6 11.3c6.7-10.7 20.5-14.5 31.7-8.5s15.8 19.5 10.6 31L404.8 338.6c2.2 2.3 4.3 4.7 6.3 7.1l97.2-54.7c10.5-5.9 23.6-3.1 30.9 6.4s6.3 23-2.2 31.5l-87 87H378.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H117.8L42.3 363.7c-9.7-6.7-13.1-19.6-7.9-30.3s17.4-15.9 28.7-12.4l97.2 30.4c3-3.9 6.1-7.7 9.4-11.3L107.4 236.3c-6.1-10.1-3.9-23.1 5.1-30.7s22.2-7.5 31.1 .1L246 293.6c1.5-.4 3-.8 4.5-1.1l13.6-142.7c1.2-12.3 11.5-21.7 23.9-21.7s22.7 9.4 23.9 21.7l13.5 141.9L499.6 11.3zM64 448v0H512v0h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64zM288 0c13.3 0 24 10.7 24 24V72c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24z\"],\n \"file-lines\": [384, 512, [128441, 128462, 61686, \"file-alt\", \"file-text\"], \"f15c\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM112 256H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"wave-square\": [640, 512, [], \"f83e\", \"M128 64c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32V416h96V256c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H512V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V96H192V256c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h96V64z\"],\n \"ring\": [512, 512, [], \"f70b\", \"M64 208c0 7.8 4.4 18.7 17.1 30.3C126.5 214.1 188.9 200 256 200s129.5 14.1 174.9 38.3C443.6 226.7 448 215.8 448 208c0-12.3-10.8-32-47.9-50.6C364.9 139.8 314 128 256 128s-108.9 11.8-144.1 29.4C74.8 176 64 195.7 64 208zm192 40c-47 0-89.3 7.6-122.9 19.7C166.3 280.2 208.8 288 256 288s89.7-7.8 122.9-20.3C345.3 255.6 303 248 256 248zM0 208c0-49.6 39.4-85.8 83.3-107.8C129.1 77.3 190.3 64 256 64s126.9 13.3 172.7 36.2c43.9 22 83.3 58.2 83.3 107.8v96c0 49.6-39.4 85.8-83.3 107.8C382.9 434.7 321.7 448 256 448s-126.9-13.3-172.7-36.2C39.4 389.8 0 353.6 0 304V208z\"],\n \"building-un\": [384, 512, [], \"e4d9\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM237.3 71.1l34.7 52V80c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM112 80v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V80c0-8.8 7.2-16 16-16s16 7.2 16 16z\"],\n \"dice-three\": [448, 512, [9858], \"f527\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 160c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm128 64c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm64 128c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"calendar-days\": [448, 512, [\"calendar-alt\"], \"f073\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm64 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm128 0v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H336zM64 400v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H208zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16z\"],\n \"anchor-circle-check\": [640, 512, [], \"e4aa\", \"M256 96c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm85.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2H320V368 240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM640 368c0-79.5-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144s144-64.5 144-144zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"],\n \"building-circle-arrow-right\": [640, 512, [], \"e4d1\", \"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V232.2c-39.1 32.3-64 81.1-64 135.8c0 49.5 20.4 94.2 53.3 126.2C364.5 505.1 351.1 512 336 512H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zM640 368c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM492.7 300.7c-6.2 6.2-6.2 16.4 0 22.6L521.4 352H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56-56c6.2-6.2 6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0z\"],\n \"volleyball\": [512, 512, [127952, \"volleyball-ball\"], \"f45f\", \"M511.8 267.4c-26.1 8.7-53.4 13.8-81 15.1c9.2-105.3-31.5-204.2-103.2-272.4C434.1 41.1 512 139.5 512 256c0 3.8-.1 7.6-.2 11.4zm-3.9 34.7c-5.8 32-17.6 62-34.2 88.7c-97.5 48.5-217.7 42.6-311.9-24.5c23.7-36.2 55.4-67.7 94.5-91.8c79.9 43.2 170.1 50.8 251.6 27.6zm-236-55.5c-2.5-90.9-41.1-172.7-101.9-231.7C196.8 5.2 225.8 0 256 0c2.7 0 5.3 0 7.9 .1c90.8 60.2 145.7 167.2 134.7 282.3c-43.1-2.4-86.4-14.1-126.8-35.9zM138 28.8c20.6 18.3 38.7 39.4 53.7 62.6C95.9 136.1 30.6 220.8 7.3 316.9C2.5 297.4 0 277 0 256C0 157.2 56 71.5 138 28.8zm69.6 90.5c19.5 38.6 31 81.9 32.3 127.7C162.5 294.6 110.9 368.9 90.2 451C66 430.4 45.6 405.4 30.4 377.2c6.7-108.7 71.9-209.9 177.1-257.9zM256 512c-50.7 0-98-14.7-137.8-40.2c5.6-27 14.8-53.1 27.4-77.7C232.2 454.6 338.1 468.8 433 441c-46 44-108.3 71-177 71z\"],\n \"arrows-up-to-line\": [640, 512, [], \"e4c2\", \"M64 96l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 32C46.3 32 32 46.3 32 64s14.3 32 32 32zM41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L128 237.3 128 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96zm320 45.3c12.5 12.5 32.8 12.5 45.3 0L448 237.3 448 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3z\"],\n \"sort-down\": [320, 512, [\"sort-desc\"], \"f0dd\", \"M182.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z\"],\n \"circle-minus\": [512, 512, [\"minus-circle\"], \"f056\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM184 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"],\n \"door-open\": [576, 512, [], \"f52b\", \"M320 32c0-9.9-4.5-19.2-12.3-25.2S289.8-1.4 280.2 1l-179.9 45C79 51.3 64 70.5 64 92.5V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96 288h32V480 32zM256 256c0 17.7-10.7 32-24 32s-24-14.3-24-32s10.7-32 24-32s24 14.3 24 32zm96-128h96V480v32h32 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H512V128c0-35.3-28.7-64-64-64H352v64z\"],\n \"right-from-bracket\": [512, 512, [\"sign-out-alt\"], \"f2f5\", \"M160 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96C43 32 0 75 0 128V384c0 53 43 96 96 96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H96c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32h64zM504.5 273.4c4.8-4.5 7.5-10.8 7.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6s-14.5 12.5-14.5 22v72H192c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32H320v72c0 9.6 5.7 18.2 14.5 22s19 2 26-4.6l144-136z\"],\n \"atom\": [448, 512, [9883], \"f5d2\", \"M258.9 412.3c-16.7 33.8-31 35.7-34.9 35.7s-18.1-1.9-34.9-35.7c11.4-3.9 23.1-8.4 34.9-13.5c11.8 5.1 23.4 9.7 34.9 13.5zM252.8 312c-9.7 5.8-19.3 11.2-28.8 16c-9.4-4.8-19-10.2-28.8-16c-12.1-7.3-23.6-14.8-34.2-22.4c-.7-10.8-1-22-1-33.6s.4-22.7 1-33.6c10.6-7.6 22.1-15.1 34.2-22.4c9.7-5.8 19.3-11.2 28.8-16c9.4 4.8 19 10.2 28.8 16c12.1 7.3 23.6 14.8 34.2 22.4c.7 10.8 1 22 1 33.6s-.4 22.7-1 33.6c-10.6 7.6-22.1 15.1-34.2 22.4zm184.8 72c20.7-37.1 9.4-82.8-23.6-128c33-45.2 44.3-90.9 23.6-128c-20.2-36.3-62.5-49.3-115.2-43.2C300.4 32.7 266.8 0 224 0s-76.4 32.7-98.4 84.8c-52.7-6.1-95 6.8-115.2 43.2C-10.3 165.1 1 210.8 34 256C1 301.2-10.3 346.9 10.4 384c20.2 36.3 62.5 49.3 115.2 43.2c22 52.1 55.7 84.8 98.4 84.8s76.4-32.7 98.4-84.8c52.7 6.1 95-6.8 115.2-43.2zm-67.8-79.2c18.9 30.2 14.2 44 11.9 48.1c-1.6 2.9-8.4 13-40.2 11.7c2.8-13.1 5-26.9 6.7-41.2c7.6-6.1 14.8-12.3 21.6-18.6zm11.9-145.7c2.3 4.2 7 17.9-11.9 48.1c-6.8-6.3-14-12.5-21.6-18.6c-1.7-14.3-3.9-28-6.7-41.2c31.8-1.4 38.6 8.7 40.2 11.7zM224 64c3.9 0 18.1 1.9 34.9 35.7c-11.4 3.9-23.1 8.4-34.9 13.5c-11.8-5.1-23.4-9.7-34.9-13.5C205.9 65.9 220.1 64 224 64zM106.5 147.5c-2.8 13.1-5 26.9-6.7 41.2c-7.6 6.1-14.8 12.3-21.6 18.6C59.4 177 64 163.3 66.3 159.1c1.6-2.9 8.4-13 40.2-11.7zM66.3 352.9c-2.3-4.2-7-17.9 11.9-48.1c6.8 6.3 14 12.5 21.6 18.6c1.7 14.2 3.9 28 6.7 41.2c-31.8 1.4-38.6-8.7-40.2-11.7zM224 288c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"soap\": [512, 512, [129532], \"e06e\", \"M208 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM320 256c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64zM416 32c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm0 160c0 27.6-11.7 52.5-30.4 70.1C422.1 275.7 448 310.8 448 352c0 53-43 96-96 96H160c-53 0-96-43-96-96s43-96 96-96h88.4c-15.2-17-24.4-39.4-24.4-64H96c-53 0-96 43-96 96V416c0 53 43 96 96 96H416c53 0 96-43 96-96V288c0-53-43-96-96-96zM160 288c-35.3 0-64 28.7-64 64s28.7 64 64 64H352c35.3 0 64-28.7 64-64s-28.7-64-64-64H320 160z\"],\n \"icons\": [576, 512, [\"heart-music-camera-bolt\"], \"f86d\", \"M532.3 7.3C539.7 13.3 544 22.4 544 32V176c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V71L384 90.2V208c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V64c0-15.3 10.8-28.4 25.7-31.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM106.7 304l11.8-17.8c5.9-8.9 15.9-14.2 26.6-14.2h61.7c10.7 0 20.7 5.3 26.6 14.2L245.3 304H272c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V352c0-26.5 21.5-48 48-48h26.7zM224 408c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM510.7 278.3L472.3 368H528c6.7 0 12.6 4.1 15 10.4s.6 13.3-4.4 17.7l-128 112c-5.6 4.9-13.9 5.3-19.9 .9s-8.2-12.4-5.3-19.2L423.7 400H368c-6.7 0-12.6-4.1-15-10.4s-.6-13.3 4.4-17.7l128-112c5.6-4.9 13.9-5.3 19.9-.9s8.2 12.4 5.3 19.2zm-339-59.2c-6.5 6.5-17 6.5-23 0L51.9 119.2c-28-29-26.5-76.9 5-103.9c27-23.5 68.4-19 93.4 6.5l10 10.5 9.5-10.5c25-25.5 65.9-30 93.9-6.5c31 27 32.5 74.9 4.5 103.9l-96.4 99.9z\"],\n \"microphone-lines-slash\": [640, 512, [\"microphone-alt-slash\"], \"f539\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v24 16c0 21.2-5.1 41.1-14.2 58.7L416 300.8V256H358.9l-34.5-27c2.9-3.1 7-5 11.6-5h80V192H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V128H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1zm362.5 407l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2z\"],\n \"bridge-circle-check\": [640, 512, [], \"e4c9\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32h40v64H32V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2V160H536V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM488 96v64H408V96h80zM360 96v64H280V96h80zM232 96v64H152V96h80zM640 368c0-79.5-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144s144-64.5 144-144zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"],\n \"pump-medical\": [448, 512, [], \"e06a\", \"M128 32v96H256V96h60.1c4.2 0 8.3 1.7 11.3 4.7l33.9 33.9c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L372.7 55.4c-15-15-35.4-23.4-56.6-23.4H256c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zM117.4 160c-33.3 0-61 25.5-63.8 58.7L35 442.7C31.9 480 61.3 512 98.8 512H285.2c37.4 0 66.9-32 63.8-69.3l-18.7-224c-2.8-33.2-30.5-58.7-63.8-58.7H117.4zM216 280v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V360H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V280c0-13.3 10.7-24 24-24s24 10.7 24 24z\"],\n \"fingerprint\": [512, 512, [], \"f577\", \"M48 256C48 141.1 141.1 48 256 48c69.3 0 130.6 33.8 168.5 86c7.8 10.7 22.8 13.1 33.5 5.3s13.1-22.8 5.3-33.5C416.8 41.7 341.3 0 256 0C114.6 0 0 114.6 0 256v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-18.1-1.9-35.8-5.5-52.9zM222.1 128.2c10.8-2.9 22.1-4.4 33.9-4.4c73 0 132.2 59.2 132.2 132.2c0 31.1-1.9 62.4-3.9 86c-1 11.8-2 21.6-2.7 28.4c-.4 3.4-.7 6.1-.9 7.9l-.2 2-.1 .5 0 .1 0 0 0 0c-1.6 13.2 7.7 25.1 20.8 26.8s25.1-7.7 26.8-20.8l-23.8-3c23.8 3 23.8 3 23.8 3l0 0 0 0 0 0 0-.2 .1-.6 .3-2.2c.2-1.9 .5-4.8 .9-8.3c.8-7.2 1.8-17.4 2.8-29.6c2-24.4 4.1-57.1 4.1-90c0-99.5-80.7-180.2-180.2-180.2c-15.9 0-31.4 2.1-46.2 6c-12.8 3.4-20.5 16.5-17.1 29.3s16.5 20.5 29.3 17.1zm-74.5 52.1c7.6-10.9 5-25.8-5.9-33.4s-25.8-5-33.4 5.9C87.9 182 75.8 217.6 75.8 256c0 30.1-3.8 58.6-7.6 79.7c-1.9 10.5-3.8 19.1-5.2 24.9c-.7 2.9-1.3 5.2-1.7 6.7c-.2 .7-.3 1.3-.4 1.6l-.1 .4 0 .1 0 0c-3.6 12.7 3.7 26 16.5 29.7s26-3.7 29.7-16.5L83.8 376c23.1 6.6 23.1 6.6 23.1 6.6l0 0 0 0 0-.1 0-.2 .2-.6c.1-.5 .3-1.2 .6-2.1c.5-1.8 1.2-4.4 1.9-7.7c1.6-6.6 3.7-16.1 5.8-27.6c4.2-22.9 8.4-54.4 8.4-88.3c0-28.2 8.8-54.3 23.8-75.7zM256 200c30.9 0 56 25.1 56 56c0 47.1-2.7 86.3-5.5 113.6c-1.4 13.7-2.7 24.3-3.7 31.6c-.5 3.6-.9 6.3-1.2 8.1c-.1 .9-.2 1.6-.3 2l-.1 .5 0 .1 0 0 0 0 0 0c-2.3 13.1 6.5 25.5 19.5 27.8s25.5-6.4 27.8-19.5L324.8 416c23.6 4.1 23.6 4.1 23.6 4.1l0 0 0 0 0-.1 0-.2 .1-.7c.1-.6 .2-1.4 .4-2.4c.3-2.1 .8-5.1 1.3-9c1.1-7.8 2.5-19.1 4-33.4c2.9-28.7 5.7-69.5 5.7-118.4c0-57.4-46.6-104-104-104s-104 46.6-104 104c0 46.7-3.9 83.4-7.7 108.4c-1.9 12.5-3.8 21.9-5.2 28.2c-.7 3.1-1.3 5.5-1.6 6.9c-.2 .7-.3 1.3-.4 1.6l-.1 .3c-3.6 12.7 3.7 26 16.5 29.7s26-3.7 29.7-16.5L160 408c23.1 6.6 23.1 6.6 23.1 6.6l0 0 0 0 0-.1 .1-.2 .2-.7c.1-.5 .3-1.3 .6-2.3c.5-2 1.2-4.8 2-8.4c1.6-7.2 3.7-17.8 5.8-31.3c3-19.2 5.9-44.6 7.3-75.3c.6-12.6 .9-26 .9-40.3c0-30.9 25.1-56 56-56zm24 56c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 45.4-2.6 83.4-6.3 114.5L202 478.3l0 0c-5.3 12.1 .1 26.2 12.2 31.6c12.1 5.4 26.3-.1 31.7-12.2L224 488c21.9 9.7 21.9 9.7 21.9 9.7l0 0 0 0 0-.1 .1-.3 .4-.9c.3-.8 .7-1.8 1.2-3.1c1-2.7 2.4-6.5 4-11.5c3.3-10.1 7.5-24.9 11.7-44.7C271.8 397.3 280 337.6 280 256zM225.7 370.5s0 0 0 0L256 232 225.7 370.5zm0 0c-2.7 22.5-5.9 41.3-9.2 56.6c-3.8 18.2-7.6 31.3-10.3 39.8c-1.4 4.2-2.5 7.3-3.2 9.2c-.4 .9-.6 1.6-.8 2l-.1 .4 23.6-107.9z\"],\n \"hand-point-right\": [512, 512, [], \"f0a4\", \"M480 96c17.7 0 32 14.3 32 32s-14.3 32-32 32l-208 0 0-64 208 0zM320 288c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32h64zm64-64c0 17.7-14.3 32-32 32H304c-17.7 0-32-14.3-32-32s14.3-32 32-32h48c17.7 0 32 14.3 32 32zM288 384c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h64zm-88-96l.6 0c-5.4 9.4-8.6 20.3-8.6 32c0 13.2 4 25.4 10.8 35.6C177.9 364.3 160 388.1 160 416c0 11.7 3.1 22.6 8.6 32H160C71.6 448 0 376.4 0 288l0-61.7c0-42.4 16.9-83.1 46.9-113.1l11.6-11.6C82.5 77.5 115.1 64 149 64l27 0c35.3 0 64 28.7 64 64v88c0 22.1-17.9 40-40 40s-40-17.9-40-40V160c0-8.8-7.2-16-16-16s-16 7.2-16 16v56c0 39.8 32.2 72 72 72z\"],\n \"magnifying-glass-location\": [512, 512, [\"search-location\"], \"f689\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM288 176c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 48.8 46.5 111.6 68.6 138.6c6 7.3 16.8 7.3 22.7 0c22.1-27 68.6-89.8 68.6-138.6zm-48 0c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32z\"],\n \"forward-step\": [320, 512, [\"step-forward\"], \"f051\", \"M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4l192 160L256 241V96c0-17.7 14.3-32 32-32s32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V271l-11.5 9.6-192 160z\"],\n \"face-smile-beam\": [512, 512, [128522, \"smile-beam\"], \"f5b8\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zm53.5-96.7l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"],\n \"flag-checkered\": [448, 512, [127937], \"f11e\", \"M32 0C49.7 0 64 14.3 64 32V48l69-17.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1V345.8c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.4-23.7-122.5-13.4L64 384v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V400 334 64 32C0 14.3 14.3 0 32 0zM64 187.1l64-13.9v65.5L64 252.6V318l48.8-12.2c5.1-1.3 10.1-2.4 15.2-3.3V238.7l38.9-8.4c8.3-1.8 16.7-2.5 25.1-2.1l0-64c13.6 .4 27.2 2.6 40.4 6.4l23.6 6.9v66.7l-41.7-12.3c-7.3-2.1-14.8-3.4-22.3-3.8v71.4c21.8 1.9 43.3 6.7 64 14.4V244.2l22.7 6.7c13.5 4 27.3 6.4 41.3 7.4V194c-7.8-.8-15.6-2.3-23.2-4.5l-40.8-12v-62c-13-3.8-25.8-8.8-38.2-15c-8.2-4.1-16.9-7-25.8-8.8v72.4c-13-.4-26 .8-38.7 3.6L128 173.2V98L64 114v73.1zM320 335.7c16.8 1.5 33.9-.7 50-6.8l14-5.2V251.9l-7.9 1.8c-18.4 4.3-37.3 5.7-56.1 4.5v77.4zm64-149.4V115.4c-20.9 6.1-42.4 9.1-64 9.1V194c13.9 1.4 28 .5 41.7-2.6l22.3-5.2z\"],\n \"football\": [512, 512, [127944, \"football-ball\"], \"f44e\", \"M247.5 25.4c-13.5 3.3-26.4 7.2-38.6 11.7C142.9 61.6 96.7 103.6 66 153.6c-18.3 29.8-30.9 62.3-39.2 95.4L264.5 486.6c13.5-3.3 26.4-7.2 38.6-11.7c66-24.5 112.2-66.5 142.9-116.5c18.3-29.8 30.9-62.3 39.1-95.3L247.5 25.4zM495.2 205.3c6.1-56.8 1.4-112.2-7.7-156.4c-2.7-12.9-13-22.9-26.1-25.1c-58.2-9.7-109.9-12-155.6-7.9L495.2 205.3zM206.1 496L16.8 306.7c-6.1 56.8-1.4 112.2 7.7 156.4c2.7 12.9 13 22.9 26.1 25.1c58.2 9.7 109.9 12 155.6 7.9zm54.6-331.3c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-48 48c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-48 48c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6z\"],\n \"school-circle-exclamation\": [640, 512, [], \"e56c\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H320v0H256V416c0-35.3 28.7-64 64-64l.3 0h.5c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"],\n \"crop\": [512, 512, [], \"f125\", \"M448 109.3l54.6-54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L402.7 64 160 64v64l178.7 0L128 338.7V32c0-17.7-14.3-32-32-32S64 14.3 64 32V64H32C14.3 64 0 78.3 0 96s14.3 32 32 32H64V384c0 35.3 28.7 64 64 64H352V384H173.3L384 173.3 384 480c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H448l0-274.7z\"],\n \"angles-down\": [448, 512, [\"angle-double-down\"], \"f103\", \"M246.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 402.7 361.4 265.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-160 160zm160-352l-160 160c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 210.7 361.4 73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3z\"],\n \"users-rectangle\": [640, 512, [], \"e594\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H544c53 0 96-43 96-96V96c0-53-43-96-96-96H96zM64 96c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96zm159.8 80c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3C119.9 256 96 279.9 96 309.3zM461.2 336h56.1c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6zM372 289c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-26 4.4-47.3 22.7-55.9 47c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24c-8.6-24.3-29.9-42.6-55.9-47zM512 176c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM320 256c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64z\"],\n \"people-roof\": [640, 512, [], \"e537\", \"M335.5 4l288 160c15.4 8.6 21 28.1 12.4 43.5s-28.1 21-43.5 12.4L320 68.6 47.5 220c-15.4 8.6-34.9 3-43.5-12.4s-3-34.9 12.4-43.5L304.5 4c9.7-5.4 21.4-5.4 31.1 0zM320 240c-22.1 0-40-17.9-40-40s17.9-40 40-40s40 17.9 40 40s-17.9 40-40 40zM144 336c-22.1 0-40-17.9-40-40s17.9-40 40-40s40 17.9 40 40s-17.9 40-40 40zm392-40c0 22.1-17.9 40-40 40s-40-17.9-40-40s17.9-40 40-40s40 17.9 40 40zM226.9 491.4L200 441.5V480c0 17.7-14.3 32-32 32H120c-17.7 0-32-14.3-32-32V441.5L61.1 491.4c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l37.9-70.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c16.3 0 31.9 4.5 45.4 12.6l33.6-62.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c32.4 0 62.1 17.8 77.5 46.3l33.6 62.3c13.5-8.1 29.1-12.6 45.4-12.6h19.5c32.4 0 62.1 17.8 77.5 46.3l37.9 70.3c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8L552 441.5V480c0 17.7-14.3 32-32 32H472c-17.7 0-32-14.3-32-32V441.5l-26.9 49.9c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l36.3-67.5c-1.7-1.7-3.2-3.6-4.3-5.8L376 345.5V400c0 17.7-14.3 32-32 32H296c-17.7 0-32-14.3-32-32V345.5l-26.9 49.9c-1.2 2.2-2.6 4.1-4.3 5.8l36.3 67.5c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8z\"],\n \"people-line\": [640, 512, [], \"e534\", \"M360 72c0-22.1-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40s40-17.9 40-40zM144 208c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM496 208c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40zM200 313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8L264 217.5V272c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V217.5l26.9 49.9c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L440 313.5V352c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H486.2c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.3-28.5-45.1-46.3-77.5-46.3H310.2c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6H134.2c-32.4 0-62.1 17.8-77.5 46.3L18.9 340.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L88 313.5V352c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V313.5z\"],\n \"beer-mug-empty\": [512, 512, [\"beer\"], \"f0fc\", \"M32 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V96h51.2c42.4 0 76.8 34.4 76.8 76.8V274.9c0 30.4-17.9 57.9-45.6 70.2L384 381.7V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM384 311.6l56.4-25.1c4.6-2.1 7.6-6.6 7.6-11.7V172.8c0-7.1-5.7-12.8-12.8-12.8H384V311.6zM160 144c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144z\"],\n \"diagram-predecessor\": [512, 512, [], \"e477\", \"M448 416l0-64L64 352l0 64 384 0zm0 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64zM288 160c0 35.3-28.7 64-64 64L64 224c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l144 0 16 0 144 0c44.2 0 80 35.8 80 80l0 16 38.1 0c21.4 0 32.1 25.9 17 41L433 239c-9.4 9.4-24.6 9.4-33.9 0L329 169c-15.1-15.1-4.4-41 17-41l38.1 0 0-16c0-8.8-7.2-16-16-16l-80 0 0 64z\"],\n \"arrow-up-long\": [384, 512, [\"long-arrow-up\"], \"f176\", \"M214.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V109.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128z\"],\n \"fire-flame-simple\": [384, 512, [\"burn\"], \"f46a\", \"M372.5 256.5l-.7-1.9C337.8 160.8 282 76.5 209.1 8.5l-3.3-3C202.1 2 197.1 0 192 0s-10.1 2-13.8 5.5l-3.3 3C102 76.5 46.2 160.8 12.2 254.6l-.7 1.9C3.9 277.3 0 299.4 0 321.6C0 426.7 86.8 512 192 512s192-85.3 192-190.4c0-22.2-3.9-44.2-11.5-65.1zm-90.8 49.5c4.1 9.3 6.2 19.4 6.2 29.5c0 53-43 96.5-96 96.5s-96-43.5-96-96.5c0-10.1 2.1-20.3 6.2-29.5l1.9-4.3c15.8-35.4 37.9-67.7 65.3-95.1l8.9-8.9c3.6-3.6 8.5-5.6 13.6-5.6s10 2 13.6 5.6l8.9 8.9c27.4 27.4 49.6 59.7 65.3 95.1l1.9 4.3z\"],\n \"person\": [320, 512, [129485, \"male\"], \"f183\", \"M208 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM152 352V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152z\"],\n \"laptop\": [640, 512, [128187], \"f109\", \"M128 32C92.7 32 64 60.7 64 96V352h64V96H512V352h64V96c0-35.3-28.7-64-64-64H128zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2z\"],\n \"file-csv\": [384, 512, [], \"f6dd\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM80 224H96c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H80c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8H96c4.4 0 8-3.6 8-8v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 22.1-17.9 40-40 40H80c-22.1 0-40-17.9-40-40V264c0-22.1 17.9-40 40-40zm72 46.4c0-25.6 20.8-46.4 46.4-46.4H216c8.8 0 16 7.2 16 16s-7.2 16-16 16H198.4c-7.9 0-14.4 6.4-14.4 14.4c0 5.2 2.8 9.9 7.2 12.5l25.4 14.5c14.4 8.3 23.4 23.6 23.4 40.3c0 25.6-20.8 46.4-46.4 46.4H168c-8.8 0-16-7.2-16-16s7.2-16 16-16h25.6c7.9 0 14.4-6.4 14.4-14.4c0-5.2-2.8-9.9-7.2-12.5l-25.4-14.5C160.9 302.4 152 287 152 270.4zM280 240v31.6c0 23 5.5 45.6 16 66c10.5-20.3 16-42.9 16-66V240c0-8.8 7.2-16 16-16s16 7.2 16 16v31.6c0 34.7-10.3 68.7-29.6 97.6l-5.1 7.7c-3 4.5-8 7.1-13.3 7.1s-10.3-2.7-13.3-7.1l-5.1-7.7c-19.3-28.9-29.6-62.9-29.6-97.6V240c0-8.8 7.2-16 16-16s16 7.2 16 16z\"],\n \"menorah\": [640, 512, [], \"f676\", \"M20.8 7.4C22.8 2.9 27.1 0 32 0s9.2 2.9 11.2 7.4L61.3 49.7c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32S0 81.7 0 64V62.8c0-4.5 .9-8.9 2.7-13.1L20.8 7.4zm96 0C118.8 2.9 123.1 0 128 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L116.8 7.4zm77.8 42.4L212.8 7.4C214.8 2.9 219.1 0 224 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM308.8 7.4C310.8 2.9 315.1 0 320 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L308.8 7.4zm77.8 42.4L404.8 7.4C406.8 2.9 411.1 0 416 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM500.8 7.4C502.8 2.9 507.1 0 512 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L500.8 7.4zm77.8 42.4L596.8 7.4C598.8 2.9 603.1 0 608 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM32 128c17.7 0 32 14.3 32 32V288c0 17.7 14.3 32 32 32H288V160c0-17.7 14.3-32 32-32s32 14.3 32 32V320H544c17.7 0 32-14.3 32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32V288c0 53-43 96-96 96H352v64H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 160c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V384H96c-53 0-96-43-96-96V160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96 32H96V256 160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96 32H192V256 160c0-17.7 14.3-32 32-32zm192 0c17.7 0 32 14.3 32 32v96 32H384V256 160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96 32H480V256 160c0-17.7 14.3-32 32-32z\"],\n \"truck-plane\": [640, 512, [], \"e58f\", \"M200 0c-30.6 0-56 54.7-56 86.1V192.5L7.8 274.3C2.9 277.2 0 282.4 0 288v64c0 5.1 2.4 9.8 6.4 12.8s9.3 3.9 14.1 2.5l123.4-37v81.2l-50 40c-3.8 3-6 7.6-6 12.5v32c0 5.1 2.5 10 6.6 13s9.5 3.8 14.4 2.2L200 480.9 290.4 511c-1.6-4.7-2.4-9.8-2.4-15V463.4c-18.2-10.5-30.7-29.7-31.9-51.8l-.1-.1V408 325.5 184l0-1.1 0 0V86.1C256 54.7 231.5 0 200 0zm88 176V400c0 20.9 13.4 38.7 32 45.3V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V448H544v40c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V445.3c18.6-6.6 32-24.4 32-45.3V176c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48zm79.8 78.7c3.3-8.7 11.2-14.7 20.5-14.7H539.7c9.2 0 17.2 6 20.5 14.7L576 304H352l15.8-49.3zM568 400c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zM384 376c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z\"],\n \"record-vinyl\": [512, 512, [], \"f8d9\", \"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM256 352c-53 0-96-43-96-96s43-96 96-96s96 43 96 96s-43 96-96 96zm0 32c70.7 0 128-57.3 128-128s-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128zm0-96c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"face-grin-stars\": [512, 512, [129321, \"grin-stars\"], \"f587\", \"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM403 336.5c5.1-11.8-6.9-22.4-19.2-18.7C345.3 329.4 301.9 336 256 336s-89.3-6.6-127.8-18.2c-12.3-3.7-24.3 7-19.2 18.7c24.5 56.9 81.1 96.7 147 96.7s122.5-39.8 147-96.7zM160 120c-3.1 0-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L160 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L226.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7c-1.3-2.8-4.1-4.6-7.2-4.6zm192 0c-3.1 0-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L352 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L418.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7c-1.3-2.8-4.1-4.6-7.2-4.6z\"],\n \"bong\": [512, 512, [], \"f55c\", \"M192 208.5c0 29.1-15.6 53.9-37.2 67.8c-17.2 11.1-31.5 26.1-41.7 43.7H334.9c-10.2-17.6-24.5-32.6-41.7-43.7c-21.6-13.9-37.2-38.7-37.2-67.8V64H192V208.5zM320 64V208.5c0 5.7 3.1 10.9 7.9 14c11.2 7.2 21.5 15.5 30.9 24.8L398.1 208l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l24 24 24 24c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7-43.3 43.3C406 314.1 416 347.9 416 384c0 39.4-11.9 76.1-32.2 106.5c-9.6 14.4-26.5 21.5-43.8 21.5H108.1c-17.3 0-34.2-7.1-43.8-21.5C43.9 460.1 32 423.4 32 384c0-67.8 35.1-127.3 88.1-161.5c4.8-3.1 7.9-8.3 7.9-14V64c-17.7 0-32-14.3-32-32s14.3-32 32-32h16H304h16c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"],\n \"spaghetti-monster-flying\": [640, 512, [\"pastafarianism\"], \"f67b\", \"M208 64c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zm48 0c0 16.2-6 31.1-16 42.3l15.6 31.2c18.7-6 39.9-9.5 64.4-9.5s45.8 3.5 64.4 9.5L400 106.3C390 95.1 384 80.2 384 64c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c-1.7 0-3.4-.1-5.1-.2L427.8 158c21.1 13.6 37.7 30.2 51.4 46.4c7.1 8.3 13.5 16.6 19.3 24l1.4 1.8c6.3 8.1 11.6 14.8 16.7 20.4C527.3 262.3 532.7 264 536 264c2.5 0 4.3-.6 7.1-3.3c3.7-3.5 7.1-8.8 12.5-17.4l.6-.9c4.6-7.4 11-17.6 19.4-25.7c9.7-9.3 22.9-16.7 40.4-16.7c13.3 0 24 10.7 24 24s-10.7 24-24 24c-2.5 0-4.3 .6-7.1 3.3c-3.7 3.5-7.1 8.8-12.5 17.4l-.6 .9c-4.6 7.4-11 17.6-19.4 25.7c-9.7 9.3-22.9 16.7-40.4 16.7c-18.5 0-32.9-8.5-44.3-18.6c-3.1 4-6.6 8.3-10.5 12.7c1.4 4.3 2.8 8.5 4 12.5c.9 3 1.8 5.8 2.6 8.6c3 9.8 5.5 18.2 8.6 25.9c3.9 9.8 7.4 15.4 10.8 18.5c2.6 2.4 5.9 4.3 12.8 4.3c8.7 0 16.9-4.2 33.7-13.2c15-8 35.7-18.8 62.3-18.8c13.3 0 24 10.7 24 24s-10.7 24-24 24c-13.4 0-24.7 5.2-39.7 13.2c-1 .6-2.1 1.1-3.2 1.7C559.9 414 541.4 424 520 424c-18.4 0-33.6-6.1-45.5-17.2c-11.1-10.3-17.9-23.7-22.7-36c-3.6-9-6.7-19.1-9.5-28.5c-16.4 12.3-36.1 23.6-58.9 31.3c3.6 10.8 8.4 23.5 14.4 36.2c7.5 15.9 16.2 30.4 25.8 40.5C433 460.5 441.2 464 448 464c13.3 0 24 10.7 24 24s-10.7 24-24 24c-25.2 0-45-13.5-59.5-28.8c-14.5-15.4-25.7-34.9-34.2-53c-8-17-14.1-33.8-18.3-46.9c-5.2 .4-10.6 .6-16 .6s-10.8-.2-16-.6c-4.2 13-10.3 29.9-18.3 46.9c-8.5 18.1-19.8 37.6-34.2 53C237 498.5 217.2 512 192 512c-13.3 0-24-10.7-24-24s10.7-24 24-24c6.8 0 15-3.5 24.5-13.7c9.5-10.1 18.3-24.6 25.8-40.5c5.9-12.6 10.7-25.4 14.4-36.2c-22.8-7.7-42.5-19-58.9-31.3c-2.9 9.4-6 19.5-9.5 28.5c-4.8 12.2-11.6 25.6-22.7 36C153.6 417.9 138.4 424 120 424c-21.4 0-39.9-10-53.1-17.1l0 0c-1.1-.6-2.2-1.2-3.2-1.7c-15-8-26.3-13.2-39.7-13.2c-13.3 0-24-10.7-24-24s10.7-24 24-24c26.6 0 47.3 10.8 62.3 18.8c16.8 9 25 13.2 33.7 13.2c6.8 0 10.2-1.9 12.8-4.3c3.4-3.2 7-8.8 10.8-18.5c3-7.7 5.6-16.1 8.6-25.9c.8-2.7 1.7-5.6 2.6-8.6c1.2-4 2.6-8.2 4-12.5c-3.9-4.5-7.4-8.8-10.5-12.7C136.9 303.5 122.5 312 104 312c-17.5 0-30.7-7.4-40.4-16.7c-8.4-8.1-14.8-18.3-19.4-25.7l-.6-.9c-5.4-8.6-8.8-13.9-12.5-17.4c-2.8-2.7-4.6-3.3-7.1-3.3c-13.3 0-24-10.7-24-24s10.7-24 24-24c17.5 0 30.7 7.4 40.4 16.7c8.4 8.1 14.8 18.3 19.4 25.7l.6 .9c5.4 8.6 8.8 13.9 12.5 17.4c2.8 2.7 4.6 3.3 7.1 3.3c3.3 0 8.7-1.7 19.4-13.4c5.1-5.6 10.4-12.3 16.7-20.4l1.4-1.8c5.8-7.4 12.2-15.7 19.3-24c13.8-16.2 30.3-32.8 51.4-46.4l-15.1-30.2c-1.7 .1-3.4 .2-5.1 .2c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zm208 0c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16z\"],\n \"arrow-down-up-across-line\": [576, 512, [], \"e4af\", \"M137.4 502.6c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7V288H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H448V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L384 109.3V224H192 128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96V402.7L86.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96zM128 192h64V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192zM448 320H384V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320z\"],\n \"spoon\": [512, 512, [129348, 61873, \"utensil-spoon\"], \"f2e5\", \"M245.8 220.9c-14.5-17.6-21.8-39.2-21.8-60.8C224 80 320 0 416 0c53 0 96 43 96 96c0 96-80 192-160.2 192c-21.6 0-43.2-7.3-60.8-21.8L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L245.8 220.9z\"],\n \"jar-wheat\": [320, 512, [], \"e517\", \"M32 32C32 14.3 46.3 0 64 0H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H64C46.3 64 32 49.7 32 32zM0 160c0-35.3 28.7-64 64-64H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zm112 0H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 198 90 224 122.2 224H144h32 21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7zm48 117.7c-11.7-13.3-28.9-21.7-48-21.7H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 294 90 320 122.2 320H144h32 21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7zM112 352H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 390 90 416 122.2 416H144v32c0 8.8 7.2 16 16 16s16-7.2 16-16V416h21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7z\"],\n \"envelopes-bulk\": [576, 512, [\"mail-bulk\"], \"f674\", \"M96 0C78.3 0 64 14.3 64 32V224h96V192c0-35.3 28.7-64 64-64H448V32c0-17.7-14.3-32-32-32H96zM224 160c-17.7 0-32 14.3-32 32v32h96c35.3 0 64 28.7 64 64V416H544c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H224zm240 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM32 256c-17.7 0-32 14.3-32 32v13L155.1 415.9c1.4 1 3.1 1.6 4.9 1.6s3.5-.6 4.9-1.6L320 301V288c0-17.7-14.3-32-32-32H32zm288 84.8L184 441.6c-6.9 5.1-15.3 7.9-24 7.9s-17-2.8-24-7.9L0 340.8V480c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V340.8z\"],\n \"file-circle-exclamation\": [576, 512, [], \"e4eb\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 384c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm0-48c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"],\n \"circle-h\": [512, 512, [9405, \"hospital-symbol\"], \"f47e\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM368 152V256 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H192l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24v80H320V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"],\n \"pager\": [512, 512, [128223], \"f815\", \"M0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm64 32v64c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80zm136 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\"],\n \"address-book\": [512, 512, [62138, \"contact-book\"], \"f2b9\", \"M96 0C60.7 0 32 28.7 32 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H96zM208 288h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm96-96c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM512 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80zM496 192c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm16 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V336z\"],\n \"strikethrough\": [512, 512, [], \"f0cc\", \"M161.3 144c3.2-17.2 14-30.1 33.7-38.6c21.1-9 51.8-12.3 88.6-6.5c11.9 1.9 48.8 9.1 60.1 12c17.1 4.5 34.6-5.6 39.2-22.7s-5.6-34.6-22.7-39.2c-14.3-3.8-53.6-11.4-66.6-13.4c-44.7-7-88.3-4.2-123.7 10.9c-36.5 15.6-64.4 44.8-71.8 87.3c-.1 .6-.2 1.1-.2 1.7c-2.8 23.9 .5 45.6 10.1 64.6c4.5 9 10.2 16.9 16.7 23.9H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H270.1c-.1 0-.3-.1-.4-.1l-1.1-.3c-36-10.8-65.2-19.6-85.2-33.1c-9.3-6.3-15-12.6-18.2-19.1c-3.1-6.1-5.2-14.6-3.8-27.4zM348.9 337.2c2.7 6.5 4.4 15.8 1.9 30.1c-3 17.6-13.8 30.8-33.9 39.4c-21.1 9-51.7 12.3-88.5 6.5c-18-2.9-49.1-13.5-74.4-22.1c-5.6-1.9-11-3.7-15.9-5.4c-16.8-5.6-34.9 3.5-40.5 20.3s3.5 34.9 20.3 40.5c3.6 1.2 7.9 2.7 12.7 4.3l0 0 0 0c24.9 8.5 63.6 21.7 87.6 25.6l0 0 .2 0c44.7 7 88.3 4.2 123.7-10.9c36.5-15.6 64.4-44.8 71.8-87.3c3.6-21 2.7-40.4-3.1-58.1H335.1c7 5.6 11.4 11.2 13.9 17.2z\"],\n \"k\": [320, 512, [107], \"4b\", \"M311 86.3c12.3-12.7 12-32.9-.7-45.2s-32.9-12-45.2 .7l-155.2 160L64 249V64c0-17.7-14.3-32-32-32S0 46.3 0 64V328 448c0 17.7 14.3 32 32 32s32-14.3 32-32V341l64.7-66.7 133 192c10.1 14.5 30 18.1 44.5 8.1s18.1-30 8.1-44.5L174.1 227.4 311 86.3z\"],\n \"landmark-flag\": [512, 512, [], \"e51c\", \"M272 0h80c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H272v32H464c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H240V16c0-8.8 7.2-16 16-16h16zM64 224h64V416h40V224h64V416h48V224h64V416h40V224h64V420.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512H32c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1V224z\"],\n \"pencil\": [512, 512, [9999, 61504, \"pencil-alt\"], \"f303\", \"M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1v32c0 8.8 7.2 16 16 16h32zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"],\n \"backward\": [512, 512, [9194], \"f04a\", \"M459.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4L288 214.3V256v41.7L459.5 440.6zM256 352V256 128 96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160C4.2 237.5 0 246.5 0 256s4.2 18.5 11.5 24.6l192 160c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V352z\"],\n \"caret-right\": [256, 512, [], \"f0da\", \"M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z\"],\n \"comments\": [640, 512, [128490, 61670], \"f086\", \"M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4c-3.5 9.4-8.7 17.7-14.2 24.7c-4.8 6.2-9.7 11-13.3 14.3c-1.8 1.6-3.3 2.9-4.3 3.7c-.5 .4-.9 .7-1.1 .8l-.2 .2 0 0 0 0C1 327.2-1.4 334.4 .8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5c9.2-3.5 17.8-7.4 25.3-11.4C134.1 343.3 169.8 352 208 352zM448 176c0 112.3-99.1 196.9-216.5 207C255.8 457.4 336.4 512 432 512c38.2 0 73.9-8.7 104.7-23.9c7.5 4 16 7.9 25.2 11.4c18.3 6.9 40.3 12.5 62.1 12.5c6.9 0 13.1-4.5 15.2-11.1c2.1-6.6-.2-13.8-5.8-17.9l0 0 0 0-.2-.2c-.2-.2-.6-.4-1.1-.8c-1-.8-2.5-2-4.3-3.7c-3.6-3.3-8.5-8.1-13.3-14.3c-5.5-7-10.7-15.4-14.2-24.7c24.9-29 39.6-64.7 39.6-103.4c0-92.8-84.9-168.9-192.6-175.5c.4 5.1 .6 10.3 .6 15.5z\"],\n \"paste\": [512, 512, [\"file-clipboard\"], \"f0ea\", \"M160 0c-23.7 0-44.4 12.9-55.4 32H48C21.5 32 0 53.5 0 80V400c0 26.5 21.5 48 48 48H192V176c0-44.2 35.8-80 80-80h48V80c0-26.5-21.5-48-48-48H215.4C204.4 12.9 183.7 0 160 0zM272 128c-26.5 0-48 21.5-48 48V448v16c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V256H416c-17.7 0-32-14.3-32-32V128H320 272zM160 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm256 88v96h96l-96-96z\"],\n \"code-pull-request\": [512, 512, [], \"e13c\", \"M305.8 2.1C314.4 5.9 320 14.5 320 24V64h16c70.7 0 128 57.3 128 128V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V192c0-35.3-28.7-64-64-64H320v40c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1zM104 80c0-13.3-10.7-24-24-24S56 66.7 56 80s10.7 24 24 24s24-10.7 24-24zm8 73.3V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80c0 32.8-19.7 61-48 73.3zM104 432c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24zm328 24c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z\"],\n \"clipboard-list\": [384, 512, [], \"f46d\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM72 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zM72 368a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 0c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16z\"],\n \"truck-ramp-box\": [640, 512, [\"truck-loading\"], \"f4de\", \"M640 0V400c0 61.9-50.1 112-112 112c-61 0-110.5-48.7-112-109.3L48.4 502.9c-17.1 4.6-34.6-5.4-39.3-22.5s5.4-34.6 22.5-39.3L352 353.8V64c0-35.3 28.7-64 64-64H640zM576 400c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM23.1 207.7c-4.6-17.1 5.6-34.6 22.6-39.2l46.4-12.4 20.7 77.3c2.3 8.5 11.1 13.6 19.6 11.3l30.9-8.3c8.5-2.3 13.6-11.1 11.3-19.6l-20.7-77.3 46.4-12.4c17.1-4.6 34.6 5.6 39.2 22.6l41.4 154.5c4.6 17.1-5.6 34.6-22.6 39.2L103.7 384.9c-17.1 4.6-34.6-5.6-39.2-22.6L23.1 207.7z\"],\n \"user-check\": [640, 512, [], \"f4fc\", \"M352 128c0 70.7-57.3 128-128 128s-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM625 177L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"],\n \"vial-virus\": [512, 512, [], \"e597\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96V384c0 53 43 96 96 96c28.6 0 54.2-12.5 71.8-32.3c.1-14.2 5.6-28.3 16.4-39.1c.2-.2 .1-.6-.2-.6c-30.9 0-56-25.1-56-56s25.1-56 56-56c.3 0 .4-.4 .2-.6c-21.9-21.9-21.9-57.3 0-79.2c2.4-2.4 5-4.6 7.8-6.5V96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160 96 32zM96 192V96h64v96H96zM216 376c28.8 0 43.2 34.8 22.9 55.2c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0c20.4-20.4 55.2-5.9 55.2 22.9c0 13.3 10.7 24 24 24s24-10.7 24-24c0-28.8 34.8-43.2 55.2-22.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9C444.8 410.8 459.2 376 488 376c13.3 0 24-10.7 24-24s-10.7-24-24-24c-28.8 0-43.2-34.8-22.9-55.2c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0C410.8 259.2 376 244.8 376 216c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 28.8-34.8 43.2-55.2 22.9c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c20.4 20.4 5.9 55.2-22.9 55.2c-13.3 0-24 10.7-24 24s10.7 24 24 24zm104-24c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm88 32c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z\"],\n \"sheet-plastic\": [384, 512, [], \"e571\", \"M0 448c0 35.3 28.7 64 64 64H224V384c0-17.7 14.3-32 32-32H384V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448zM171.3 75.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l96-96c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm96 32l-160 160c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l160-160c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM384 384H256V512L384 384z\"],\n \"blog\": [512, 512, [], \"f781\", \"M192 32c0 17.7 14.3 32 32 32c123.7 0 224 100.3 224 224c0 17.7 14.3 32 32 32s32-14.3 32-32C512 128.9 383.1 0 224 0c-17.7 0-32 14.3-32 32zm0 96c0 17.7 14.3 32 32 32c70.7 0 128 57.3 128 128c0 17.7 14.3 32 32 32s32-14.3 32-32c0-106-86-192-192-192c-17.7 0-32 14.3-32 32zM96 144c0-26.5-21.5-48-48-48S0 117.5 0 144V368c0 79.5 64.5 144 144 144s144-64.5 144-144s-64.5-144-144-144H128v96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48V144z\"],\n \"user-ninja\": [448, 512, [129399], \"f504\", \"M224 256c-57.2 0-105.6-37.5-122-89.3c-1.1 1.3-2.2 2.6-3.5 3.8c-15.8 15.8-38.8 20.7-53.6 22.1c-8.1 .8-14.6-5.7-13.8-13.8c1.4-14.7 6.3-37.8 22.1-53.6c5.8-5.8 12.6-10.1 19.6-13.4c-7-3.2-13.8-7.6-19.6-13.4C37.4 82.7 32.6 59.7 31.1 44.9c-.8-8.1 5.7-14.6 13.8-13.8c14.7 1.4 37.8 6.3 53.6 22.1c4.8 4.8 8.7 10.4 11.7 16.1C131.4 28.2 174.4 0 224 0c70.7 0 128 57.3 128 128s-57.3 128-128 128zM0 482.3C0 396 61.3 324.1 142.7 307.6l68.5 91.4c6.4 8.5 19.2 8.5 25.6 0l68.5-91.4C386.7 324.1 448 396 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM160 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H160z\"],\n \"person-arrow-up-from-line\": [640, 512, [], \"e539\", \"M192 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm-8 352V352h16v96H184zm-64 0H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H152h80H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H264V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V448zM598.6 121.4l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L464 141.3 464 384c0 17.7 14.3 32 32 32s32-14.3 32-32V141.3l25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z\"],\n \"scroll-torah\": [640, 512, [\"torah\"], \"f6a0\", \"M96 480V32C96 14.3 74.5 0 48 0S0 14.3 0 32V480c0 17.7 21.5 32 48 32s48-14.3 48-32zM512 32H128V480H512V32zM592 0c-26.5 0-48 14.3-48 32V480c0 17.7 21.5 32 48 32s48-14.3 48-32V32c0-17.7-21.5-32-48-32zM196 313.7c0-3.2 .9-6.4 2.5-9.2L226.7 256l-28.3-48.5c-1.6-2.8-2.5-6-2.5-9.2c0-10.1 8.2-18.3 18.3-18.3H271l31.4-53.9c3.6-6.3 10.3-10.1 17.6-10.1s13.9 3.8 17.6 10.1L369 180h56.7c10.1 0 18.3 8.2 18.3 18.3c0 3.2-.9 6.4-2.5 9.2L413.3 256l28.3 48.5c1.6 2.8 2.5 6 2.5 9.2c0 10.1-8.2 18.3-18.3 18.3H369l-31.4 53.9c-3.6 6.3-10.3 10.1-17.6 10.1s-13.9-3.8-17.6-10.1L271 332H214.3c-10.1 0-18.3-8.2-18.3-18.3zm124 54.7L341.2 332H298.8L320 368.4zM254.5 256l30.3 52h70.4l30.3-52-30.3-52H284.8l-30.3 52zm144.9 23.8L383 308h32.8l-16.4-28.2zM415.8 204H383l16.4 28.2L415.8 204zM320 143.6L298.8 180h42.4L320 143.6zM224.2 204l16.4 28.2L257 204H224.2zM257 308l-16.4-28.2L224.2 308H257z\"],\n \"broom-ball\": [640, 512, [\"quidditch\", \"quidditch-broom-ball\"], \"f458\", \"M633.3 12.4c10.8 14 8.3 34.1-5.6 44.9l-144 112-72 56L403 232l28.3 36.3c3.7 4.8 4.4 11.2 1.8 16.7s-8.1 9-14.1 9.1l-48 .9L292.3 194.2l12.5-46.3c1.6-5.9 6.3-10.3 12.3-11.5s12 1.1 15.8 5.8l30.8 39.4 8.7-6.8 72-56 144-112c13.9-10.9 34.1-8.3 44.9 5.6zM269.1 476.3c-55.5 43.4-215 34.2-252.3 31.4c-5.1-.4-9.7-2.9-12.8-7s-4.5-9.1-3.6-14.1c.5-3.2 1.3-7.2 2.2-12.1c3-16.5 10.8-31.6 21.9-44.1l73.5-82.5c3.1-3.5 3.2-8.6 .4-12.3s-7.9-4.7-12-2.6L47.3 353.5c-6.3 3.3-13.4-2.7-11-9.4c14.3-39.9 32.7-76.9 55.5-94.7c57.7-45.1 175.3-35.5 175.3-35.5l78.8 100.9s-19.1 116.4-76.8 161.5zM496 512c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80z\"],\n \"toggle-off\": [576, 512, [], \"f204\", \"M384 128c70.7 0 128 57.3 128 128s-57.3 128-128 128H192c-70.7 0-128-57.3-128-128s57.3-128 128-128H384zM576 256c0-106-86-192-192-192H192C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192zM192 352c53 0 96-43 96-96s-43-96-96-96s-96 43-96 96s43 96 96 96z\"],\n \"box-archive\": [512, 512, [\"archive\"], \"f187\", \"M32 32H480c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H32C14.3 128 0 113.7 0 96V64C0 46.3 14.3 32 32 32zm0 128H480V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V160zm128 80c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"],\n \"person-drowning\": [576, 512, [], \"e545\", \"M192 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V96.2c0 54.1 23.5 104 62.2 138.3l-21 146.7c7.8 2.1 15.5 3.3 22.8 3.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c12.4 8.5 26.1 14.8 39.7 18l17.7-97.6c10.7-1.2 21.3-3.1 31.9-5.5l105-23.9c17.2-3.9 28-21.1 24.1-38.3s-21.1-28-38.3-24.1L400 216.6c-41 9.3-83.7 7.5-123.7-5.2c-50.2-16-84.3-62.6-84.3-115.3V64zM320 192c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64zM306.5 389.9c-11.1-7.9-25.9-7.9-37 0C247 405.4 219.5 416 192 416c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 469.7 159 480 192 480c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 405.2 410.9 416 384 416c-27.5 0-55-10.6-77.5-26.1z\"],\n \"arrow-down-9-1\": [576, 512, [\"sort-numeric-desc\", \"sort-numeric-down-alt\"], \"f886\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480zM352 320c0 17.7 14.3 32 32 32h16v64H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H464V320c0-17.7-14.3-32-32-32H384c-17.7 0-32 14.3-32 32zm93.7-171.1c-4.2 2-8.8 3.1-13.7 3.1c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32c0 12.8-7.5 23.8-18.3 28.9zm-40.7 54.9l-6.8 9.2c-10.5 14.2-7.5 34.2 6.7 44.8s34.2 7.5 44.8-6.7l48.8-65.8c14-18.9 21.5-41.7 21.5-65.2c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 39.2 25.6 72.4 61.1 83.8z\"],\n \"face-grin-tongue-squint\": [512, 512, [128541, \"grin-tongue-squint\"], \"f58a\", \"M0 256C0 368.9 73.1 464.7 174.5 498.8C165.3 484 160 466.6 160 448V400.7c-24-17.5-43.1-41.4-54.8-69.2c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19c12.3-3.8 24.3 6.9 19.3 18.7c-11.8 28-31.1 52-55.4 69.6V448c0 18.6-5.3 36-14.5 50.8C438.9 464.7 512 368.9 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256zM116 141.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm262.5-10.5c7.9-4.2 17.5 1.5 17.5 10.5c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9zM320 448V402.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V448c0 35.3 28.7 64 64 64s64-28.7 64-64z\"],\n \"spray-can\": [512, 512, [], \"f5bd\", \"M128 0h64c17.7 0 32 14.3 32 32v96H96V32c0-17.7 14.3-32 32-32zM0 256c0-53 43-96 96-96H224c53 0 96 43 96 96V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V256zm240 80c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80s80-35.8 80-80zM320 64c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zM512 64c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM480 192c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm32 64c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM384 192c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"truck-monster\": [640, 512, [], \"f63b\", \"M288 64v64H416L368 64H288zM419.2 25.6L496 128h80c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64H288c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32H224V48c0-26.5 21.5-48 48-48h96c20.1 0 39.1 9.5 51.2 25.6zM152 256h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.7 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.3 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.3 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.8 3.7-14.1 6.8-21.7 9C190.1 503.1 180.1 512 168 512H152c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2L63.8 468.9c-8.6-8.6-9.3-21.9-2.3-31.3c-3.7-6.9-6.8-14.1-9-21.8C40.9 414.1 32 404.1 32 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.3-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9c1.7-11.6 11.7-20.6 23.8-20.6zm8 176c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM448.2 276.6c1.7-11.6 11.7-20.6 23.8-20.6h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.8 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.2 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.2 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.9 3.7-14.1 6.8-21.8 9C510.1 503.1 500.1 512 488 512H472c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2l-11.3-11.3c-8.6-8.6-9.3-21.9-2.2-31.3c-3.7-6.9-6.8-14.1-9-21.8C360.9 414.1 352 404.1 352 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.2-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9zM528 384c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48z\"],\n \"w\": [576, 512, [119], \"57\", \"M20.8 34c16.5-6.2 35 2.2 41.2 18.7l110.2 294L257.3 55c4-13.7 16.5-23 30.7-23s26.7 9.4 30.7 23l85.1 291.7L514 52.8c6.2-16.5 24.6-24.9 41.2-18.7s24.9 24.7 18.7 41.2l-144 384c-4.8 12.9-17.4 21.3-31.2 20.7s-25.7-9.8-29.5-23L288 178.3 206.7 457c-3.9 13.2-15.8 22.5-29.5 23s-26.3-7.8-31.2-20.7L2 75.2C-4.2 58.7 4.2 40.2 20.8 34z\"],\n \"earth-africa\": [512, 512, [127757, \"globe-africa\"], \"f57c\", \"M177.8 63.2l10 17.4c2.8 4.8 4.2 10.3 4.2 15.9v41.4c0 3.9 1.6 7.7 4.3 10.4c6.2 6.2 16.5 5.7 22-1.2l13.6-17c4.7-5.9 12.9-7.7 19.6-4.3l15.2 7.6c3.4 1.7 7.2 2.6 11 2.6c6.5 0 12.8-2.6 17.4-7.2l3.9-3.9c2.9-2.9 7.3-3.6 11-1.8l29.2 14.6c7.8 3.9 12.6 11.8 12.6 20.5c0 10.5-7.1 19.6-17.3 22.2l-35.4 8.8c-7.4 1.8-15.1 1.5-22.3-.9l-32-10.7c-3.3-1.1-6.7-1.7-10.2-1.7c-7 0-13.8 2.3-19.4 6.5L176 212c-10.1 7.6-16 19.4-16 32v28c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16v48c0 17.7 14.3 32 32 32c10.1 0 19.6-4.7 25.6-12.8l25.6-34.1c8.3-11.1 12.8-24.6 12.8-38.4V318.6c0-3.9 2.6-7.3 6.4-8.2l5.3-1.3c11.9-3 20.3-13.7 20.3-26c0-7.1-2.8-13.9-7.8-18.9l-33.5-33.5c-3.7-3.7-3.7-9.7 0-13.4c5.7-5.7 14.1-7.7 21.8-5.1l14.1 4.7c12.3 4.1 25.7-1.5 31.5-13c3.5-7 11.2-10.8 18.9-9.2l27.4 5.5C432 112.4 351.5 48 256 48c-27.7 0-54 5.4-78.2 15.2zM512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256z\"],\n \"rainbow\": [640, 512, [127752], \"f75b\", \"M320 96C178.6 96 64 210.6 64 352v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352C0 175.3 143.3 32 320 32s320 143.3 320 320v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352C576 210.6 461.4 96 320 96zm0 192c-35.3 0-64 28.7-64 64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-70.7 57.3-128 128-128s128 57.3 128 128v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-35.3-28.7-64-64-64zM160 352v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-123.7 100.3-224 224-224s224 100.3 224 224v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-88.4-71.6-160-160-160s-160 71.6-160 160z\"],\n \"circle-notch\": [512, 512, [], \"f1ce\", \"M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z\"],\n \"tablet-screen-button\": [448, 512, [\"tablet-alt\"], \"f3fa\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM256 448c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM384 64H64V384H384V64z\"],\n \"paw\": [512, 512, [], \"f1b0\", \"M226.5 92.9c14.3 42.9-.3 86.2-32.6 96.8s-70.1-15.6-84.4-58.5s.3-86.2 32.6-96.8s70.1 15.6 84.4 58.5zM100.4 198.6c18.9 32.4 14.3 70.1-10.2 84.1s-59.7-.9-78.5-33.3S-2.7 179.3 21.8 165.3s59.7 .9 78.5 33.3zM69.2 401.2C121.6 259.9 214.7 224 256 224s134.4 35.9 186.8 177.2c3.6 9.7 5.2 20.1 5.2 30.5v1.6c0 25.8-20.9 46.7-46.7 46.7c-11.5 0-22.9-1.4-34-4.2l-88-22c-15.3-3.8-31.3-3.8-46.6 0l-88 22c-11.1 2.8-22.5 4.2-34 4.2C84.9 480 64 459.1 64 433.3v-1.6c0-10.4 1.6-20.8 5.2-30.5zM421.8 282.7c-24.5-14-29.1-51.7-10.2-84.1s54-47.3 78.5-33.3s29.1 51.7 10.2 84.1s-54 47.3-78.5 33.3zM310.1 189.7c-32.3-10.6-46.9-53.9-32.6-96.8s52.1-69.1 84.4-58.5s46.9 53.9 32.6 96.8s-52.1 69.1-84.4 58.5z\"],\n \"cloud\": [640, 512, [9729], \"f0c2\", \"M0 336c0 79.5 64.5 144 144 144H512c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z\"],\n \"trowel-bricks\": [512, 512, [], \"e58a\", \"M240.8 4.8C250.3 10.6 256 20.9 256 32v72h89c3.6-13.8 16.1-24 31-24h88c26.5 0 48 21.5 48 48s-21.5 48-48 48H376c-14.9 0-27.4-10.2-31-24H256v72c0 11.1-5.7 21.4-15.2 27.2s-21.2 6.4-31.1 1.4l-192-96C6.8 151.2 0 140.1 0 128s6.8-23.2 17.7-28.6l192-96c9.9-5 21.7-4.4 31.1 1.4zM288 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V256zM32 384h96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32zm192 0H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32z\"],\n \"face-flushed\": [512, 512, [128563, \"flushed\"], \"f579\", \"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM176 384c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16s-7.2-16-16-16H192c-8.8 0-16 7.2-16 16zm-16-88c39.8 0 72-32.2 72-72s-32.2-72-72-72s-72 32.2-72 72s32.2 72 72 72zm264-72c0-39.8-32.2-72-72-72s-72 32.2-72 72s32.2 72 72 72s72-32.2 72-72zm-240 0c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24zm192 0c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z\"],\n \"hospital-user\": [576, 512, [], \"f80d\", \"M48 0C21.5 0 0 21.5 0 48V256H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v64H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v80c0 26.5 21.5 48 48 48H265.9c-6.3-10.2-9.9-22.2-9.9-35.1c0-46.9 25.8-87.8 64-109.2V271.8 48c0-26.5-21.5-48-48-48H48zM152 64h16c8.8 0 16 7.2 16 16v24h24c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H184v24c0 8.8-7.2 16-16 16H152c-8.8 0-16-7.2-16-16V152H112c-8.8 0-16-7.2-16-16V120c0-8.8 7.2-16 16-16h24V80c0-8.8 7.2-16 16-16zM512 272c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80s80-35.8 80-80zM288 477.1c0 19.3 15.6 34.9 34.9 34.9H541.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H381.1c-51.4 0-93.1 41.7-93.1 93.1z\"],\n \"tent-arrow-left-right\": [640, 512, [], \"e57f\", \"M520.1 6.2c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9L521.5 72 118.5 72l33.5-30.2c9.9-8.9 10.7-24 1.8-33.9s-24-10.7-33.9-1.8l-80 72C34.9 82.7 32 89.2 32 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L118.5 120l402.9 0-33.5 30.2c-9.9 8.9-10.7 24-1.8 33.9s24 10.7 33.9 1.8l80-72c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-80-72zM339.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6s14.9 11.1 24.2 11.1H320V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"],\n \"gavel\": [512, 512, [\"legal\"], \"f0e3\", \"M318.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-120 120c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l4-4L325.4 293.4l-4 4c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l120-120c12.5-12.5 12.5-32.8 0-45.3l-16-16c-12.5-12.5-32.8-12.5-45.3 0l-4 4L330.6 74.6l4-4c12.5-12.5 12.5-32.8 0-45.3l-16-16zm-152 288c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l48 48c12.5 12.5 32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-1.4-1.4L272 285.3 226.7 240 168 298.7l-1.4-1.4z\"],\n \"binoculars\": [512, 512, [], \"f1e5\", \"M128 32h32c17.7 0 32 14.3 32 32V96H96V64c0-17.7 14.3-32 32-32zm64 96V448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V388.9c0-34.6 9.4-68.6 27.2-98.3C40.9 267.8 49.7 242.4 53 216L60.5 156c2-16 15.6-28 31.8-28H192zm227.8 0c16.1 0 29.8 12 31.8 28L459 216c3.3 26.4 12.1 51.8 25.8 74.6c17.8 29.7 27.2 63.7 27.2 98.3V448c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V128h99.8zM320 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V96H320V64zm-32 64V288H224V128h64z\"],\n \"microphone-slash\": [640, 512, [], \"f131\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 21.2-5.1 41.1-14.2 58.7L416 300.8V96c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1zM344 430.4c20.4-2.8 39.7-9.1 57.3-18.2l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4z\"],\n \"box-tissue\": [512, 512, [], \"e05b\", \"M92.5 0H208c40 0 52 24 64 48s24 48 64 48h85.2C436 96 448 108 448 122.8c0 3.4-.7 6.8-1.9 10L409.6 224 384 288H128l-16-64L64.9 35.4c-.6-2.3-.9-4.6-.9-6.9C64 12.8 76.8 0 92.5 0zM79 224l16 64H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h48H384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H418.5l25.6-64H464c26.5 0 48 21.5 48 48V384H0V272c0-26.5 21.5-48 48-48H79zM0 416H512v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V416z\"],\n \"motorcycle\": [640, 512, [127949], \"f21c\", \"M280 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h57.7l16.4 30.3L256 192l-45.3-45.3c-12-12-28.3-18.7-45.3-18.7H64c-17.7 0-32 14.3-32 32v32h96c88.4 0 160 71.6 160 160c0 11-1.1 21.7-3.2 32h70.4c-2.1-10.3-3.2-21-3.2-32c0-52.2 25-98.6 63.7-127.8l15.4 28.6C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L418.2 128H480c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H459.6c-7.5 0-14.7 2.6-20.5 7.4L391.7 78.9l-14-26c-7-12.9-20.5-21-35.2-21H280zM462.7 311.2l28.2 52.2c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-28.2-52.2c2.3-.3 4.7-.4 7.1-.4c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-15.5 5.5-29.7 14.7-40.8zM187.3 376c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64s28.7-64 64-64c26.9 0 49.9 16.5 59.3 40h66.4C242.5 268.8 190.5 224 128 224C57.3 224 0 281.3 0 352s57.3 128 128 128c62.5 0 114.5-44.8 125.8-104H187.3zM128 384c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"bell-concierge\": [512, 512, [128718, \"concierge-bell\"], \"f562\", \"M216 64c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v33.3C119.6 157.2 32 252.4 32 368H480c0-115.6-87.6-210.8-200-222.7V112h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 216zM24 400c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"],\n \"pen-ruler\": [512, 512, [\"pencil-ruler\"], \"f5ae\", \"M469.3 19.3l23.4 23.4c25 25 25 65.5 0 90.5l-56.4 56.4L322.3 75.7l56.4-56.4c25-25 65.5-25 90.5 0zM44.9 353.2L299.7 98.3 413.7 212.3 158.8 467.1c-6.7 6.7-15.1 11.6-24.2 14.2l-104 29.7c-8.4 2.4-17.4 .1-23.6-6.1s-8.5-15.2-6.1-23.6l29.7-104c2.6-9.2 7.5-17.5 14.2-24.2zM249.4 103.4L103.4 249.4 16 161.9c-18.7-18.7-18.7-49.1 0-67.9L94.1 16c18.7-18.7 49.1-18.7 67.9 0l19.8 19.8c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1l45.1 45.1zM408.6 262.6l45.1 45.1c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1L496 350.1c18.7 18.7 18.7 49.1 0 67.9L417.9 496c-18.7 18.7-49.1 18.7-67.9 0l-87.4-87.4L408.6 262.6z\"],\n \"people-arrows\": [640, 512, [\"people-arrows-left-right\"], \"e068\", \"M192 64c0 35.3-28.7 64-64 64s-64-28.7-64-64S92.7 0 128 0s64 28.7 64 64zM25.9 233.4C29.3 191.9 64 160 105.6 160h44.8c27 0 51 13.4 65.5 34.1c-2.7 1.9-5.2 4-7.5 6.3l-64 64c-21.9 21.9-21.9 57.3 0 79.2L192 391.2V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3zM576 64c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM431.6 200.4c-2.3-2.3-4.9-4.4-7.5-6.3c14.5-20.7 38.6-34.1 65.5-34.1h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V464c0 26.5-21.5 48-48 48H496c-26.5 0-48-21.5-48-48V391.2l47.6-47.6c21.9-21.9 21.9-57.3 0-79.2l-64-64zM272 240v32h96V240c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l64 64c9.4 9.4 9.4 24.6 0 33.9l-64 64c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V336H272v32c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2z\"],\n \"mars-and-venus-burst\": [640, 512, [], \"e523\", \"M504 0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l39 39-22.2 22.2C475.9 78.4 439.6 64 400 64c-88.4 0-160 71.6-160 160c0 80.2 59.1 146.7 136.1 158.2c0 .6-.1 1.2-.1 1.8v.4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3H352c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0l24 0H376c0 13.3 10.7 24 24 24s24-10.7 24-24H400l24 0v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V486 486v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V485 485v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V484v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V483v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V481v-.1-.1-.1-.1-.1-.1-.1-.1V480v-.1-.1-.1-.1-.1-.1-.1V479v-.1-.1-.1-.1-.1-.1-.1V478v-.1-.1-.1-.1-.1-.1V477v-.1-.1-.1-.1-.1-.1V476v-.1-.1-.1-.1-.1-.1V475v-.1-.2-.2-.2-.2-.2V474v-.2-.2-.2-.2-.2V473v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V470v-.2-.2-.2-.2-.2V469v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V467v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V463v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V459v-.2-.2-.2-.2-.2-.2-.2-.2V457v-.2-.2-.2-.2V456h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H424v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V403v-.3-.3V402v-.3-.3V401v-.3-.3V400v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.3-.4-.4-.4-.4V393v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V388v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V384c0-.6 0-1.2-.1-1.8c77-11.6 136.1-78 136.1-158.2c0-31.4-9-60.7-24.7-85.4L560 113.9l39 39c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V24c0-13.3-10.7-24-24-24H504zM400 320c-53 0-96-43-96-96s43-96 96-96s96 43 96 96s-43 96-96 96zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.1 3.8 9.9 5.1 15.2 3.6C223.6 310.8 208 269.2 208 224c0-60.8 28.3-115 72.4-150.2L220.3 92.1l-29.4-74z\"],\n \"square-caret-right\": [448, 512, [\"caret-square-right\"], \"f152\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM320 256c0 6.7-2.8 13-7.7 17.6l-112 104c-7 6.5-17.2 8.2-25.9 4.4s-14.4-12.5-14.4-22l0-208c0-9.5 5.7-18.2 14.4-22s18.9-2.1 25.9 4.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6z\"],\n \"scissors\": [512, 512, [9984, 9986, 9988, \"cut\"], \"f0c4\", \"M256 192l-39.5-39.5c4.9-12.6 7.5-26.2 7.5-40.5C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c14.3 0 27.9-2.7 40.5-7.5L192 256l-39.5 39.5c-12.6-4.9-26.2-7.5-40.5-7.5C50.1 288 0 338.1 0 400s50.1 112 112 112s112-50.1 112-112c0-14.3-2.7-27.9-7.5-40.5L499.2 76.8c7.1-7.1 7.1-18.5 0-25.6c-28.3-28.3-74.1-28.3-102.4 0L256 192zm22.6 150.6L396.8 460.8c28.3 28.3 74.1 28.3 102.4 0c7.1-7.1 7.1-18.5 0-25.6L342.6 278.6l-64 64zM160 112c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM112 448c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48z\"],\n \"sun-plant-wilt\": [640, 512, [], \"e57a\", \"M160 0c-6.3 0-12 3.7-14.6 9.5L120.6 64.9 63.9 43.2c-5.9-2.3-12.6-.8-17 3.6s-5.9 11.1-3.6 17l21.7 56.7L9.5 145.4C3.7 148 0 153.7 0 160s3.7 12 9.5 14.6l55.4 24.8L43.2 256.1c-2.3 5.9-.8 12.6 3.6 17s11.1 5.9 17 3.6l56.7-21.7 24.8 55.4c2.6 5.8 8.3 9.5 14.6 9.5s12-3.7 14.6-9.5l24.8-55.4 56.7 21.7c5.9 2.3 12.6 .8 17-3.6s5.9-11.1 3.6-17l-21.7-56.7 55.4-24.8c5.8-2.6 9.5-8.3 9.5-14.6s-3.7-12-9.5-14.6l-55.4-24.8 21.7-56.7c2.3-5.9 .8-12.6-3.6-17s-11.1-5.9-17-3.6L199.4 64.9 174.6 9.5C172 3.7 166.3 0 160 0zm0 224c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zm32-64c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm312 16c0-17.7 14.3-32 32-32s32 14.3 32 32v53.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C624 318 640 290.7 640 274c0-21.5-9.2-37-24-44.6V176c0-44.2-35.8-80-80-80s-80 35.8-80 80v22.7c-9.8-4.3-20.6-6.7-32-6.7c-44.2 0-80 35.8-80 80v21.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C400 382 416 354.7 416 338c0-21.5-9.2-37-24-44.6V272c0-17.7 14.3-32 32-32s32 14.3 32 32v8V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H504V280v-8V176z\"],\n \"toilets-portable\": [576, 512, [], \"e584\", \"M32 0H224c17.7 0 32 14.3 32 32V64H0V32C0 14.3 14.3 0 32 0zM0 96H24 232h24v24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H48v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V120 96zM192 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16zM352 0H544c17.7 0 32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32zM320 96h24H552h24v24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H368v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V120 96zM512 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16z\"],\n \"hockey-puck\": [512, 512, [], \"f453\", \"M256 256C114.6 256 0 213 0 160s114.6-96 256-96s256 43 256 96s-114.6 96-256 96zm192.3 1.8c24.7-9.3 46.9-21 63.7-35.6V352c0 53-114.6 96-256 96S0 405 0 352V222.3c16.8 14.6 39 26.3 63.7 35.6C114.5 276.9 182.5 288 256 288s141.5-11.1 192.3-30.2z\"],\n \"table\": [512, 512, [], \"f0ce\", \"M64 256V160H224v96H64zm0 64H224v96H64V320zm224 96V320H448v96H288zM448 256H288V160H448v96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"],\n \"magnifying-glass-arrow-right\": [512, 512, [], \"e521\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM241 119c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H238.1l-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72z\"],\n \"tachograph-digital\": [640, 512, [\"digital-tachograph\"], \"f566\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm32 64H320c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zM64 368c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm320 0c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16zM80 320c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16zm80-16c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16zm48 16c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16zm80-16c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16zm48 16c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16z\"],\n \"users-slash\": [640, 512, [], \"e073\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L440.6 320H618.7c11.8 0 21.3-9.6 21.3-21.3C640 239.8 592.2 192 533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 30.2-10.5 58-28 79.9l-25.2-19.7C408.1 267.7 416 246.8 416 224c0-53-43-96-96-96c-31.1 0-58.7 14.8-76.3 37.7l-40.6-31.8c13-14.2 20.9-33.1 20.9-53.9c0-44.2-35.8-80-80-80C116.3 0 91.9 14.1 77.5 35.5L38.8 5.1zM106.7 192C47.8 192 0 239.8 0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-20.6-18.2-35.2-42.8-40.8-70.8L121.8 192H106.7zM261.3 352C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H485.3c10.5 0 19.5-6 23.9-14.8L324.9 352H261.3zM512 160c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80z\"],\n \"clover\": [448, 512, [], \"e139\", \"M173.3 32C139.4 32 112 59.4 112 93.3v4.9c0 12 3.3 23.7 9.4 34l18.8 31.3c1.1 1.8 1.2 3.1 1 4.2c-.2 1.2-.8 2.5-2 3.6s-2.4 1.8-3.6 2c-1 .2-2.4 .1-4.2-1l-31.3-18.8c-10.3-6.2-22-9.4-34-9.4H61.3C27.4 144 0 171.4 0 205.3c0 16.2 6.5 31.8 17.9 43.3l1.2 1.2c3.4 3.4 3.4 9 0 12.4l-1.2 1.2C6.5 274.9 0 290.5 0 306.7C0 340.6 27.4 368 61.3 368h4.9c12 0 23.7-3.3 34-9.4l31.3-18.8c1.8-1.1 3.1-1.2 4.2-1c1.2 .2 2.5 .8 3.6 2s1.8 2.4 2 3.6c.2 1 .1 2.4-1 4.2l-18.8 31.3c-6.2 10.3-9.4 22-9.4 34v4.9c0 33.8 27.4 61.3 61.3 61.3c16.2 0 31.8-6.5 43.3-17.9l1.2-1.2c3.4-3.4 9-3.4 12.4 0l1.2 1.2c11.5 11.5 27.1 17.9 43.3 17.9c33.8 0 61.3-27.4 61.3-61.3v-4.9c0-12-3.3-23.7-9.4-34l-18.8-31.3c-1.1-1.8-1.2-3.1-1-4.2c.2-1.2 .8-2.5 2-3.6s2.4-1.8 3.6-2c1-.2 2.4-.1 4.2 1l31.3 18.8c10.3 6.2 22 9.4 34 9.4h4.9c33.8 0 61.3-27.4 61.3-61.3c0-16.2-6.5-31.8-17.9-43.3l-1.2-1.2c-3.4-3.4-3.4-9 0-12.4l1.2-1.2c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3h-4.9c-12 0-23.7 3.3-34 9.4l-31.3 18.8c-1.8 1.1-3.1 1.2-4.2 1c-1.2-.2-2.5-.8-3.6-2s-1.8-2.4-2-3.6c-.2-1-.1-2.4 1-4.2l18.8-31.3c6.2-10.3 9.4-22 9.4-34V93.3C336 59.4 308.6 32 274.7 32c-16.2 0-31.8 6.5-43.3 17.9l-1.2 1.2c-3.4 3.4-9 3.4-12.4 0l-1.2-1.2C205.1 38.5 189.5 32 173.3 32z\"],\n \"reply\": [512, 512, [61714, \"mail-reply\"], \"f3e5\", \"M205 34.8c11.5 5.1 19 16.6 19 29.2v64H336c97.2 0 176 78.8 176 176c0 113.3-81.5 163.9-100.2 174.1c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-7.5 4.3-14.4 9.8-19.5c9.4-8.8 22.2-26.4 22.2-56.7c0-53-43-96-96-96H224v64c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 225.7 0 217.1 0 208s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4z\"],\n \"star-and-crescent\": [576, 512, [9770], \"f699\", \"M32 256C32 114.6 146.6 0 288 0c33 0 64.6 6.3 93.6 17.7c7.4 2.9 11.5 10.7 9.8 18.4s-8.8 13-16.7 12.4c-4.8-.3-9.7-.5-14.6-.5c-114.9 0-208 93.1-208 208s93.1 208 208 208c4.9 0 9.8-.2 14.6-.5c7.9-.5 15 4.7 16.7 12.4s-2.4 15.5-9.8 18.4C352.6 505.7 321 512 288 512C146.6 512 32 397.4 32 256zM407.4 137.4c3.5-7.1 13.7-7.1 17.2 0l31.5 63.8c1.4 2.8 4.1 4.8 7.2 5.3l70.4 10.2c7.9 1.1 11 10.8 5.3 16.4l-50.9 49.6c-2.3 2.2-3.3 5.4-2.8 8.5l12 70.1c1.3 7.8-6.9 13.8-13.9 10.1l-63-33.1c-2.8-1.5-6.1-1.5-8.9 0l-63 33.1c-7 3.7-15.3-2.3-13.9-10.1l12-70.1c.5-3.1-.5-6.3-2.8-8.5L293 233.1c-5.7-5.6-2.6-15.2 5.3-16.4l70.4-10.2c3.1-.5 5.8-2.4 7.2-5.3l31.5-63.8z\"],\n \"house-fire\": [640, 512, [], \"e50c\", \"M288 350.1l0 1.9H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L447.3 128.1c-12.3-1-25 3-34.8 11.7c-35.4 31.6-65.6 67.7-87.3 102.8C304.3 276.5 288 314.9 288 350.1zM453.5 163.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 56.7 24.2 76.9C640 437.9 568.7 512 480 512c-89.7 0-160-74.2-160-161.9c0-26.4 12.7-58.6 32.4-90.6c20-32.4 48.1-66.1 81.4-95.8c5.6-5 14.2-5 19.8 0zM530 433c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15z\"],\n \"square-minus\": [448, 512, [61767, \"minus-square\"], \"f146\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 200H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"],\n \"helicopter\": [640, 512, [128641], \"f533\", \"M128 32c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H384v64h32c88.4 0 160 71.6 160 160v64c0 17.7-14.3 32-32 32H384 304c-10.1 0-19.6-4.7-25.6-12.8L192 256 47.2 198.1c-9.5-3.8-16.7-12-19.2-22L5 83.9C2.4 73.8 10.1 64 20.5 64H48c10.1 0 19.6 4.7 25.6 12.8L112 128H320V64H160c-17.7 0-32-14.3-32-32zM384 320H512V288c0-53-43-96-96-96H384V320zM630.6 425.4c12.5 12.5 12.5 32.8 0 45.3l-3.9 3.9c-24 24-56.6 37.5-90.5 37.5H256c-17.7 0-32-14.3-32-32s14.3-32 32-32H536.2c17 0 33.3-6.7 45.3-18.7l3.9-3.9c12.5-12.5 32.8-12.5 45.3 0z\"],\n \"compass\": [512, 512, [129517], \"f14e\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zm50.7-186.9L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z\"],\n \"square-caret-down\": [448, 512, [\"caret-square-down\"], \"f150\", \"M384 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0zM224 352c-6.7 0-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9s12.5-14.4 22-14.4l208 0c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7z\"],\n \"file-circle-question\": [576, 512, [], \"e4ef\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 384c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm0-48c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zM368 321.6V328c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.4c0-5.3 4.3-9.6 9.6-9.6h40.5c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2V384c0 8.8 7.2 16 16 16s16-7.2 16-16v-5.1l23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9H409.6c-23 0-41.6 18.6-41.6 41.6z\"],\n \"laptop-code\": [640, 512, [], \"f5fc\", \"M64 96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V352H512V96H128V352H64V96zM0 403.2C0 392.6 8.6 384 19.2 384H620.8c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8H76.8C34.4 480 0 445.6 0 403.2zM281 209l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM393 175l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"],\n \"swatchbook\": [512, 512, [], \"f5c3\", \"M0 32C0 14.3 14.3 0 32 0H160c17.7 0 32 14.3 32 32V416c0 53-43 96-96 96s-96-43-96-96V32zM223.6 425.9c.3-3.3 .4-6.6 .4-9.9V154l75.4-75.4c12.5-12.5 32.8-12.5 45.3 0l90.5 90.5c12.5 12.5 12.5 32.8 0 45.3L223.6 425.9zM182.8 512l192-192H480c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H182.8zM128 64H64v64h64V64zM64 192v64h64V192H64zM96 440c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z\"],\n \"prescription-bottle\": [384, 512, [], \"f485\", \"M0 32C0 14.3 14.3 0 32 0H352c17.7 0 32 14.3 32 32V64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64V32zm32 96H352V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V416H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V320H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V224H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V128z\"],\n \"bars\": [448, 512, [\"navicon\"], \"f0c9\", \"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"],\n \"people-group\": [640, 512, [], \"e533\", \"M184 88c0 30.9-25.1 56-56 56s-56-25.1-56-56s25.1-56 56-56s56 25.1 56 56zM64 245.7C54 256.9 48 271.8 48 288s6 31.1 16 42.3V245.7zm144.4-49.3C178.7 222.7 160 261.2 160 304c0 34.3 12 65.8 32 90.5V416c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V389.2C26.2 371.2 0 332.7 0 288c0-61.9 50.1-112 112-112h32c24 0 46.2 7.5 64.4 20.3zM448 416V394.5c20-24.7 32-56.2 32-90.5c0-42.8-18.7-81.3-48.4-107.7C449.8 183.5 472 176 496 176h32c61.9 0 112 50.1 112 112c0 44.7-26.2 83.2-64 101.2V416c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32zM568 88c0 30.9-25.1 56-56 56s-56-25.1-56-56s25.1-56 56-56s56 25.1 56 56zm8 157.7v84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM320 160c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zM240 304c0 16.2 6 31 16 42.3V261.7c-10 11.3-16 26.1-16 42.3zm144-42.3v84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM448 304c0 44.7-26.2 83.2-64 101.2V448c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V405.2c-37.8-18-64-56.5-64-101.2c0-61.9 50.1-112 112-112h32c61.9 0 112 50.1 112 112z\"],\n \"hourglass-end\": [384, 512, [8987, \"hourglass-3\"], \"f253\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437v11c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 64 32zM96 75V64H288V75c0 25.5-10.1 49.9-28.1 67.9L192 210.7l-67.9-67.9C106.1 124.9 96 100.4 96 75z\"],\n \"heart-crack\": [512, 512, [128148, \"heart-broken\"], \"f7a9\", \"M119.4 44.1c23.3-3.9 46.8-1.9 68.6 5.3l49.8 77.5-75.4 75.4c-1.5 1.5-2.4 3.6-2.3 5.8s1 4.2 2.6 5.7l112 104c2.9 2.7 7.4 2.9 10.5 .3s3.8-7 1.7-10.4l-60.4-98.1 90.7-75.6c2.6-2.1 3.5-5.7 2.4-8.8L296.8 61.8c28.5-16.7 62.4-23.2 95.7-17.6C461.5 55.6 512 115.2 512 185.1v5.8c0 41.5-17.2 81.2-47.6 109.5L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9L47.6 300.4C17.2 272.1 0 232.4 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141z\"],\n \"square-up-right\": [448, 512, [8599, \"external-link-square-alt\"], \"f360\", \"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM160 160c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l40 40-71 71C114 302 112 306.9 112 312s2 10 5.7 13.7l36.7 36.7c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7l71-71 40 40c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8V176c0-8.8-7.2-16-16-16H160z\"],\n \"face-kiss-beam\": [512, 512, [128537, \"kiss-beam\"], \"f597\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zm-87.1-84.9l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"],\n \"film\": [512, 512, [127902], \"f008\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM48 368v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H416zM48 240v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H416zM48 112v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zM416 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H416zM160 128v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zm32 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H192z\"],\n \"ruler-horizontal\": [640, 512, [], \"f547\", \"M0 336c0 26.5 21.5 48 48 48l544 0c26.5 0 48-21.5 48-48l0-160c0-26.5-21.5-48-48-48l-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0c-26.5 0-48 21.5-48 48L0 336z\"],\n \"people-robbery\": [576, 512, [], \"e536\", \"M488.2 59.1C478.1 99.6 441.7 128 400 128s-78.1-28.4-88.2-68.9L303 24.2C298.8 7.1 281.4-3.3 264.2 1S236.7 22.6 241 39.8l8.7 34.9c11 44 40.2 79.6 78.3 99.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V174.3c38.1-20 67.3-55.6 78.3-99.6L559 39.8c4.3-17.1-6.1-34.5-23.3-38.8S501.2 7.1 497 24.2l-8.7 34.9zM400 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM80 96c26.5 0 48-21.5 48-48s-21.5-48-48-48S32 21.5 32 48s21.5 48 48 48zm-8 32c-35.3 0-64 28.7-64 64v96l0 .6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352H88V480c0 17.7 14.3 32 32 32s32-14.3 32-32V252.7l13 20.5c5.9 9.2 16.1 14.9 27 14.9h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H209.6l-37.4-58.9C157.6 142 132.1 128 104.7 128H72z\"],\n \"lightbulb\": [384, 512, [128161], \"f0eb\", \"M272 384c9.6-31.9 29.5-59.1 49.2-86.2l0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0c19.8 27.1 39.7 54.4 49.2 86.2H272zM192 512c44.2 0 80-35.8 80-80V416H112v16c0 44.2 35.8 80 80 80zM112 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80z\"],\n \"caret-left\": [256, 512, [], \"f0d9\", \"M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 256c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-128-128z\"],\n \"circle-exclamation\": [512, 512, [\"exclamation-circle\"], \"f06a\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm32 224c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32z\"],\n \"school-circle-xmark\": [640, 512, [], \"e56d\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H320v0H256V416c0-35.3 28.7-64 64-64l.3 0h.5c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm22.6-144l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"],\n \"arrow-right-from-bracket\": [576, 512, [\"sign-out\"], \"f08b\", \"M534.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L434.7 224 224 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128zM192 96c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0c-53 0-96 43-96 96l0 256c0 53 43 96 96 96l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l64 0z\"],\n \"circle-chevron-down\": [512, 512, [\"chevron-circle-down\"], \"f13a\", \"M256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256S397.4 0 256 0zM135 241c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l87 87 87-87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L273 345c-9.4 9.4-24.6 9.4-33.9 0L135 241z\"],\n \"unlock-keyhole\": [448, 512, [\"unlock-alt\"], \"f13e\", \"M224 64c-44.2 0-80 35.8-80 80v48H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80V144C80 64.5 144.5 0 224 0c57.5 0 107 33.7 130.1 82.3c7.6 16 .8 35.1-15.2 42.6s-35.1 .8-42.6-15.2C283.4 82.6 255.9 64 224 64zm32 320c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h64z\"],\n \"cloud-showers-heavy\": [576, 512, [], \"f740\", \"M128 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C96.7 126.1 96 119.1 96 112C96 50.1 146.1 0 208 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H128zm-14.5 33.9c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm120 0c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm244.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6s17.8 19.3 12.6 31.5zM345.5 353.9c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6z\"],\n \"headphones-simple\": [512, 512, [\"headphones-alt\"], \"f58f\", \"M256 80C141.1 80 48 173.1 48 288V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288C0 146.6 114.6 32 256 32s256 114.6 256 256V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288c0-114.9-93.1-208-208-208zM80 352c0-35.3 28.7-64 64-64h16c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H144c-35.3 0-64-28.7-64-64V352zm288-64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H352c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h16z\"],\n \"sitemap\": [576, 512, [], \"f0e8\", \"M208 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-8v40H464c30.9 0 56 25.1 56 56v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H464c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V288c0-4.4-3.6-8-8-8H312v40h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H256c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V280H112c-4.4 0-8 3.6-8 8v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V288c0-30.9 25.1-56 56-56H264V192h-8c-26.5 0-48-21.5-48-48V80z\"],\n \"circle-dollar-to-slot\": [512, 512, [\"donate\"], \"f4b9\", \"M326.7 403.7c-22.1 8-45.9 12.3-70.7 12.3s-48.7-4.4-70.7-12.3c-.3-.1-.5-.2-.8-.3c-30-11-56.8-28.7-78.6-51.4C70 314.6 48 263.9 48 208C48 93.1 141.1 0 256 0S464 93.1 464 208c0 55.9-22 106.6-57.9 144c-1 1-2 2.1-3 3.1c-21.4 21.4-47.4 38.1-76.3 48.6zM256 91.9c-11.1 0-20.1 9-20.1 20.1v6c-5.6 1.2-10.9 2.9-15.9 5.1c-15 6.8-27.9 19.4-31.1 37.7c-1.8 10.2-.8 20 3.4 29c4.2 8.8 10.7 15 17.3 19.5c11.6 7.9 26.9 12.5 38.6 16l2.2 .7c13.9 4.2 23.4 7.4 29.3 11.7c2.5 1.8 3.4 3.2 3.8 4c.3 .8 .9 2.6 .2 6.7c-.6 3.5-2.5 6.4-8 8.8c-6.1 2.6-16 3.9-28.8 1.9c-6-1-16.7-4.6-26.2-7.9l0 0 0 0 0 0c-2.2-.7-4.3-1.5-6.4-2.1c-10.5-3.5-21.8 2.2-25.3 12.7s2.2 21.8 12.7 25.3c1.2 .4 2.7 .9 4.4 1.5c7.9 2.7 20.3 6.9 29.8 9.1V304c0 11.1 9 20.1 20.1 20.1s20.1-9 20.1-20.1v-5.5c5.4-1 10.5-2.5 15.4-4.6c15.7-6.7 28.4-19.7 31.6-38.7c1.8-10.4 1-20.3-3-29.4c-3.9-9-10.2-15.6-16.9-20.5c-12.2-8.8-28.3-13.7-40.4-17.4l-.8-.2c-14.2-4.3-23.8-7.3-29.9-11.4c-2.6-1.8-3.4-3-3.6-3.5c-.2-.3-.7-1.6-.1-5c.3-1.9 1.9-5.2 8.2-8.1c6.4-2.9 16.4-4.5 28.6-2.6c4.3 .7 17.9 3.3 21.7 4.3c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-4.4-1.2-14.4-3.2-21-4.4V112c0-11.1-9-20.1-20.1-20.1zM48 352H64c19.5 25.9 44 47.7 72.2 64H64v32H256 448V416H375.8c28.2-16.3 52.8-38.1 72.2-64h16c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V400c0-26.5 21.5-48 48-48z\"],\n \"memory\": [576, 512, [], \"f538\", \"M64 64C28.7 64 0 92.7 0 128v7.4c0 6.8 4.4 12.6 10.1 16.3C23.3 160.3 32 175.1 32 192s-8.7 31.7-21.9 40.3C4.4 236 0 241.8 0 248.6V320H576V248.6c0-6.8-4.4-12.6-10.1-16.3C552.7 223.7 544 208.9 544 192s8.7-31.7 21.9-40.3c5.7-3.7 10.1-9.5 10.1-16.3V128c0-35.3-28.7-64-64-64H64zM576 352H0v64c0 17.7 14.3 32 32 32H80V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h96V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h96V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h96V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h48c17.7 0 32-14.3 32-32V352zM192 160v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32z\"],\n \"road-spikes\": [640, 512, [], \"e568\", \"M64 116.8c0-15.8 20.5-22 29.3-8.9L192 256V116.8c0-15.8 20.5-22 29.3-8.9L320 256V116.8c0-15.8 20.5-22 29.3-8.9L448 256V116.8c0-15.8 20.5-22 29.3-8.9L606.8 302.2c14.2 21.3-1.1 49.7-26.6 49.7H512 448 384 320 256 192 64V116.8zM32 384H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"fire-burner\": [640, 512, [], \"e4f1\", \"M293.5 3.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C480 280 408.7 352 320 352c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7c3.5 0 7 1.3 9.8 3.8zM370 273c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15zM32 288c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32s-14.3 32-32 32v64H544V320c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32v96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32V288zM320 480c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm160-32c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM192 480c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"flag\": [448, 512, [127988, 61725], \"f024\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V64 368 480c0 17.7 14.3 32 32 32s32-14.3 32-32V352l64.3-16.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30V66.1c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L64 48V32z\"],\n \"hanukiah\": [640, 512, [128334], \"f6e6\", \"M314.2 3.3C309.1 12.1 296 36.6 296 56c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7C324.6 1.2 322.4 0 320 0s-4.6 1.2-5.8 3.3zm-288 48C21.1 60.1 8 84.6 8 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7C36.6 49.2 34.4 48 32 48s-4.6 1.2-5.8 3.3zM88 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C101.1 60.1 88 84.6 88 104zm82.2-52.7C165.1 60.1 152 84.6 152 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM216 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C229.1 60.1 216 84.6 216 104zM394.2 51.3C389.1 60.1 376 84.6 376 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM440 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C453.1 60.1 440 84.6 440 104zm82.2-52.7C517.1 60.1 504 84.6 504 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM584 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C597.1 60.1 584 84.6 584 104zM112 160c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm160 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zM352 144c0-17.7-14.3-32-32-32s-32 14.3-32 32V320H96c-17.7 0-32-14.3-32-32V192c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 53 43 96 96 96H288v64H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H320 480c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V384H544c53 0 96-43 96-96V192c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H352V144z\"],\n \"feather\": [512, 512, [129718], \"f52d\", \"M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57h68c49.7 0 97.9-14.4 139-41c11.1-7.2 5.5-23-7.8-23c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l81-24.3c2.5-.8 4.8-2.1 6.7-4l22.4-22.4c10.1-10.1 2.9-27.3-11.3-27.3l-32.2 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l112-33.6c4-1.2 7.4-3.9 9.3-7.7C506.4 207.6 512 184.1 512 160c0-41-16.3-80.3-45.3-109.3l-5.5-5.5C432.3 16.3 393 0 352 0s-80.3 16.3-109.3 45.3L139 149C91 197 64 262.1 64 330v55.3L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z\"],\n \"volume-low\": [448, 512, [128264, \"volume-down\"], \"f027\", \"M301.1 34.8C312.6 40 320 51.4 320 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM412.6 181.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5z\"],\n \"comment-slash\": [640, 512, [], \"f4b3\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512.9 376.7C552.2 340.2 576 292.3 576 240C576 125.1 461.4 32 320 32c-67.7 0-129.3 21.4-175.1 56.3L38.8 5.1zM64 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c37 0 72.3-6.4 104-17.9L82.9 161.3C70.7 185.6 64 212.2 64 240z\"],\n \"cloud-sun-rain\": [640, 512, [127782], \"f743\", \"M137.9 3c-4.5-3.2-10.3-3.9-15.4-1.8s-8.8 6.7-9.7 12.2L98.7 98.7 13.4 112.8c-5.5 .9-10.1 4.6-12.2 9.7S-.2 133.4 3 137.9l50.3 70.3L3 278.5c-3.2 4.5-3.9 10.3-1.8 15.4s6.7 8.8 12.2 9.7l85.3 14.1L112.8 403c.9 5.5 4.6 10.1 9.7 12.2s10.9 1.4 15.4-1.8l55.2-39.5c-19.9-21.9-32.3-50.8-33.1-82.6c-17.6-10.2-32.2-26.1-40.6-46.3c-20.3-49 3-105.1 52-125.4c29.4-12.2 61.4-8.7 86.7 6.7c13.1-21.8 32.5-39.4 55.8-50.3L303.6 13.4c-.9-5.5-4.6-10.1-9.7-12.2S282.9-.2 278.5 3L208.2 53.3 137.9 3zM291.4 415.9c-2.5 .6-5.1 .6-7.6-.1c1.4 0 2.8 .1 4.2 .1h3.5zm-46.3-260c-17.3-12.2-40.4-15.6-61.5-6.9c-32.7 13.5-48.2 51-34.6 83.6c3.6 8.7 8.9 16.1 15.3 22.2c10.6-39.7 39.9-71.8 77.8-86.4c.8-4.3 1.8-8.4 3-12.5zM277.4 420c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm74.5-116.1c0-39.3-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C433.3 114.6 402.8 96 368 96c-53 0-96 43-96 96l0 1.3c-45.4 7.6-80 47.1-80 94.6c0 53 43 96 96 96H559.9c44.2 0 80-35.8 80-80z\"],\n \"compress\": [448, 512, [], \"f066\", \"M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V64zM32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H96v64c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-17.7-14.3-32-32-32H32zM352 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V64zM320 320c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320z\"],\n \"wheat-awn\": [512, 512, [\"wheat-alt\"], \"e2cd\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L383 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l88-88zM305.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L271.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8L101.8 231c-6.2-6.2-16.4-6.2-22.6 0L67.9 242.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0L486.5 231c6.2-6.2 6.2-16.4 0-22.6L475.2 197c-5.2-5.2-10.6-9.8-16.4-13.9L505 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-59.4 59.4c-20.6-4.4-42-3.7-62.3 2.1c6.1-21.3 6.6-43.8 1.4-65.3L409 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L329.1 52.9c-3.7-5-7.8-9.8-12.4-14.3L305.5 27.3z\"],\n \"ankh\": [320, 512, [9765], \"f644\", \"M96 128c0-35.3 28.7-64 64-64s64 28.7 64 64c0 41.6-20.7 76.6-46.6 104.1c-5.9 6.2-11.8 11.8-17.4 16.7c-5.6-4.9-11.5-10.5-17.4-16.7C116.7 204.6 96 169.6 96 128zM160 0C89.3 0 32 57.3 32 128c0 52.4 21.5 95.5 46.8 128H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96V480c0 17.7 14.3 32 32 32s32-14.3 32-32V320h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H241.2c25.4-32.5 46.8-75.6 46.8-128C288 57.3 230.7 0 160 0z\"],\n \"hands-holding-child\": [640, 512, [], \"e4fa\", \"M320 80c-22.1 0-40-17.9-40-40s17.9-40 40-40s40 17.9 40 40s-17.9 40-40 40zm44.7 84.3L375.8 253c1.6 13.2-7.7 25.1-20.8 26.8s-25.1-7.7-26.8-20.8l-4.4-35h-7.6l-4.4 35c-1.6 13.2-13.6 22.5-26.8 20.8s-22.5-13.6-20.8-26.8l11.1-88.8L255.5 181c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l27.9-23.6C271.3 104.8 295.3 96 320 96s48.7 8.8 67.6 24.7l27.9 23.6c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.4-33.8 2.8l-19.8-16.7zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z\"],\n \"asterisk\": [384, 512, [10033, 61545], \"2a\", \"M192 32c17.7 0 32 14.3 32 32V199.5l111.5-66.9c15.2-9.1 34.8-4.2 43.9 11s4.2 34.8-11 43.9L254.2 256l114.3 68.6c15.2 9.1 20.1 28.7 11 43.9s-28.7 20.1-43.9 11L224 312.5V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V312.5L48.5 379.4c-15.2 9.1-34.8 4.2-43.9-11s-4.2-34.8 11-43.9L129.8 256 15.5 187.4c-15.2-9.1-20.1-28.7-11-43.9s28.7-20.1 43.9-11L160 199.5V64c0-17.7 14.3-32 32-32z\"],\n \"square-check\": [448, 512, [9745, 9989, 61510, \"check-square\"], \"f14a\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"],\n \"peseta-sign\": [384, 512, [], \"e221\", \"M64 32C46.3 32 32 46.3 32 64v96c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 96V448c0 17.7 14.3 32 32 32s32-14.3 32-32V352h96c77.4 0 142-55 156.8-128H352c17.7 0 32-14.3 32-32s-14.3-32-32-32h-3.2C334 87 269.4 32 192 32H64zM282.5 160H96V96h96c41.8 0 77.4 26.7 90.5 64zM96 224H282.5c-13.2 37.3-48.7 64-90.5 64H96V224z\"],\n \"heading\": [448, 512, [\"header\"], \"f1dc\", \"M0 64C0 46.3 14.3 32 32 32H80h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H112V208H336V96H320c-17.7 0-32-14.3-32-32s14.3-32 32-32h48 48c17.7 0 32 14.3 32 32s-14.3 32-32 32H400V240 416h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H368 320c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V272H112V416h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V240 96H32C14.3 96 0 81.7 0 64z\"],\n \"ghost\": [384, 512, [128123], \"f6e2\", \"M50.8 452.1L19.2 477.4c-2.1 1.7-4.7 2.6-7.4 2.6C5.3 480 0 474.7 0 468.2V192C0 86 86 0 192 0S384 86 384 192V468.2c0 6.5-5.3 11.8-11.8 11.8c-2.7 0-5.3-.9-7.4-2.6l-31.6-25.3c-3.3-2.7-7.5-4.1-11.8-4.1c-5.9 0-11.5 2.8-15 7.5l-37.6 50.1c-3 4-7.8 6.4-12.8 6.4s-9.8-2.4-12.8-6.4l-38.4-51.2c-3-4-7.8-6.4-12.8-6.4s-9.8 2.4-12.8 6.4l-38.4 51.2c-3 4-7.8 6.4-12.8 6.4s-9.8-2.4-12.8-6.4L77.6 455.5c-3.6-4.7-9.1-7.5-15-7.5c-4.3 0-8.4 1.5-11.7 4.1zM160 192c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm96 32c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"list\": [512, 512, [\"list-squares\"], \"f03a\", \"M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z\"],\n \"square-phone-flip\": [448, 512, [\"phone-square-alt\"], \"f87b\", \"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zm-90.7 96.7c-9.7-2.6-19.9 2.3-23.7 11.6l-20 48c-3.4 8.2-1 17.6 5.8 23.2L280 231.7c-16.6 35.2-45.1 63.7-80.3 80.3l-20.2-24.7c-5.6-6.8-15-9.2-23.2-5.8l-48 20c-9.3 3.9-14.2 14-11.6 23.7l12 44C111.1 378 119 384 128 384c123.7 0 224-100.3 224-224c0-9-6-16.9-14.7-19.3l-44-12z\"],\n \"cart-plus\": [576, 512, [], \"f217\", \"M0 24C0 10.7 10.7 0 24 0H69.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM252 160c0 11 9 20 20 20h44v44c0 11 9 20 20 20s20-9 20-20V180h44c11 0 20-9 20-20s-9-20-20-20H356V96c0-11-9-20-20-20s-20 9-20 20v44H272c-11 0-20 9-20 20z\"],\n \"gamepad\": [640, 512, [], \"f11b\", \"M192 64C86 64 0 150 0 256S86 448 192 448H448c106 0 192-86 192-192s-86-192-192-192H192zM496 248c-22.1 0-40-17.9-40-40s17.9-40 40-40s40 17.9 40 40s-17.9 40-40 40zm-24 56c0 22.1-17.9 40-40 40s-40-17.9-40-40s17.9-40 40-40s40 17.9 40 40zM168 200c0-13.3 10.7-24 24-24s24 10.7 24 24v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V200z\"],\n \"circle-dot\": [512, 512, [128280, \"dot-circle\"], \"f192\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zm0-160c-53 0-96-43-96-96s43-96 96-96s96 43 96 96s-43 96-96 96z\"],\n \"face-dizzy\": [512, 512, [\"dizzy\"], \"f567\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zm0-96c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zM100.7 132.7c6.2-6.2 16.4-6.2 22.6 0L160 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L182.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L137.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6zm192 0c6.2-6.2 16.4-6.2 22.6 0L352 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L374.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6z\"],\n \"egg\": [384, 512, [129370], \"f7fb\", \"M192 496C86 496 0 394 0 288C0 176 64 16 192 16s192 160 192 272c0 106-86 208-192 208zM154.8 134c6.5-6 7-16.1 1-22.6s-16.1-7-22.6-1c-23.9 21.8-41.1 52.7-52.3 84.2C69.7 226.1 64 259.7 64 288c0 8.8 7.2 16 16 16s16-7.2 16-16c0-24.5 5-54.4 15.1-82.8c10.1-28.5 25-54.1 43.7-71.2z\"],\n \"house-medical-circle-xmark\": [640, 512, [], \"e513\", \"M320 368c0 59.5 29.5 112.1 74.8 144H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64H320V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM496 512c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm22.6-144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"],\n \"campground\": [576, 512, [9978], \"f6bb\", \"M377 52c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5L288 60.8 249 12c-11-13.8-31.2-16-45-5s-16 31.2-5 45l48 60L12.3 405.4C4.3 415.4 0 427.7 0 440.4V464c0 26.5 21.5 48 48 48H288 528c26.5 0 48-21.5 48-48V440.4c0-12.7-4.3-25.1-12.3-35L329 112l48-60zM288 448H168.5L288 291.7 407.5 448H288z\"],\n \"folder-plus\": [512, 512, [], \"f65e\", \"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H181.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7H448c35.3 0 64 28.7 64 64V416zM232 376c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"],\n \"futbol\": [512, 512, [9917, \"futbol-ball\", \"soccer-ball\"], \"f1e3\", \"M417.3 360.1l-71.6-4.8c-5.2-.3-10.3 1.1-14.5 4.2s-7.2 7.4-8.4 12.5l-17.6 69.6C289.5 445.8 273 448 256 448s-33.5-2.2-49.2-6.4L189.2 372c-1.3-5-4.3-9.4-8.4-12.5s-9.3-4.5-14.5-4.2l-71.6 4.8c-17.6-27.2-28.5-59.2-30.4-93.6L125 228.3c4.4-2.8 7.6-7 9.2-11.9s1.4-10.2-.5-15l-26.7-66.6C128 109.2 155.3 89 186.7 76.9l55.2 46c4 3.3 9 5.1 14.1 5.1s10.2-1.8 14.1-5.1l55.2-46c31.3 12.1 58.7 32.3 79.6 57.9l-26.7 66.6c-1.9 4.8-2.1 10.1-.5 15s4.9 9.1 9.2 11.9l60.7 38.2c-1.9 34.4-12.8 66.4-30.4 93.6zM256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zm14.1-325.7c-8.4-6.1-19.8-6.1-28.2 0L194 221c-8.4 6.1-11.9 16.9-8.7 26.8l18.3 56.3c3.2 9.9 12.4 16.6 22.8 16.6h59.2c10.4 0 19.6-6.7 22.8-16.6l18.3-56.3c3.2-9.9-.3-20.7-8.7-26.8l-47.9-34.8z\"],\n \"paintbrush\": [576, 512, [128396, \"paint-brush\"], \"f1fc\", \"M371.3 367.1c27.3-3.9 51.9-19.4 67.2-42.9L600.2 74.1c12.6-19.5 9.4-45.3-7.6-61.2S549.7-4.4 531.1 9.6L294.4 187.2c-24 18-38.2 46.1-38.4 76.1L371.3 367.1zm-19.6 25.4l-116-104.4C175.9 290.3 128 339.6 128 400c0 3.9 .2 7.8 .6 11.6c1.8 17.5-10.2 36.4-27.8 36.4H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H240c61.9 0 112-50.1 112-112c0-2.5-.1-5-.2-7.5z\"],\n \"lock\": [448, 512, [128274], \"f023\", \"M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z\"],\n \"gas-pump\": [512, 512, [9981], \"f52f\", \"M32 64C32 28.7 60.7 0 96 0H256c35.3 0 64 28.7 64 64V256h8c48.6 0 88 39.4 88 88v32c0 13.3 10.7 24 24 24s24-10.7 24-24V222c-27.6-7.1-48-32.2-48-62V96L384 64c-8.8-8.8-8.8-23.2 0-32s23.2-8.8 32 0l77.3 77.3c12 12 18.7 28.3 18.7 45.3V168v24 32V376c0 39.8-32.2 72-72 72s-72-32.2-72-72V344c0-22.1-17.9-40-40-40h-8V448c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V64zM96 80v96c0 8.8 7.2 16 16 16H240c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16z\"],\n \"hot-tub-person\": [512, 512, [\"hot-tub\"], \"f593\", \"M272 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v5.2c0 34 14.4 66.4 39.7 89.2l16.4 14.8c15.2 13.7 23.8 33.1 23.8 53.5V200c0 13.3 10.7 24 24 24s24-10.7 24-24V186.8c0-34-14.4-66.4-39.7-89.2L295.8 82.8C280.7 69.1 272 49.7 272 29.2V24zM0 320v16V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H277.3c-13.8 0-27.3-4.5-38.4-12.8l-85.3-64C137 166.7 116.8 160 96 160c-53 0-96 43-96 96v64zm128 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zm80-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm112 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zm80-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM360 0c-13.3 0-24 10.7-24 24v5.2c0 34 14.4 66.4 39.7 89.2l16.4 14.8c15.2 13.7 23.8 33.1 23.8 53.5V200c0 13.3 10.7 24 24 24s24-10.7 24-24V186.8c0-34-14.4-66.4-39.7-89.2L407.8 82.8C392.7 69.1 384 49.7 384 29.2V24c0-13.3-10.7-24-24-24zM64 128c35.3 0 64-28.7 64-64S99.3 0 64 0S0 28.7 0 64s28.7 64 64 64z\"],\n \"map-location\": [576, 512, [\"map-marked\"], \"f59f\", \"M302.8 312C334.9 271.9 408 174.6 408 120C408 53.7 354.3 0 288 0S168 53.7 168 120c0 54.6 73.1 151.9 105.2 192c7.7 9.6 22 9.6 29.6 0zM416 503l144.9-58c9.1-3.6 15.1-12.5 15.1-22.3V152c0-17-17.1-28.6-32.9-22.3l-116 46.4c-.5 1.2-1 2.5-1.5 3.7c-2.9 6.8-6.1 13.7-9.6 20.6V503zM15.1 187.3C6 191 0 199.8 0 209.6V480.4c0 17 17.1 28.6 32.9 22.3L160 451.8V200.4c-3.5-6.9-6.7-13.8-9.6-20.6c-5.6-13.2-10.4-27.4-12.8-41.5l-122.6 49zM384 255c-20.5 31.3-42.3 59.6-56.2 77c-20.5 25.6-59.1 25.6-79.6 0c-13.9-17.4-35.7-45.7-56.2-77V449.4l192 54.9V255z\"],\n \"house-flood-water\": [576, 512, [], \"e50e\", \"M306.8 6.1C295.6-2 280.4-2 269.2 6.1l-176 128c-11.2 8.2-15.9 22.6-11.6 35.8S98.1 192 112 192h16v73c1.7 1 3.3 2 4.9 3.1c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c1.5-1 3-2 4.5-2.9l-.3-73.2H464c13.9 0 26.1-8.9 30.4-22.1s-.4-27.6-11.6-35.8l-176-128zM269.5 309.9C247 325.4 219.5 336 192 336c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 389.7 159 400 192 400c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 325.2 410.9 336 384 336c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448z\"],\n \"tree\": [448, 512, [127794], \"f1bb\", \"M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320H80L5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5H192v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H424.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320h33.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z\"],\n \"bridge-lock\": [640, 512, [], \"e4cc\", \"M32 64c0-17.7 14.3-32 32-32H576c17.7 0 32 14.3 32 32s-14.3 32-32 32H536v64h-8c-61.9 0-112 50.1-112 112v24.6c-9.9 5.8-18.2 14.1-23.8 24.1c-17.6-20-43.4-32.7-72.2-32.7c-53 0-96 43-96 96v64c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V384c0-53-43-96-96-96V160h72V96H64C46.3 96 32 81.7 32 64zM408 96v64h80V96H408zm-48 64V96H280v64h80zM152 96v64h80V96H152zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"],\n \"sack-dollar\": [512, 512, [128176], \"f81d\", \"M320 96H192L144.6 24.9C137.5 14.2 145.1 0 157.9 0H354.1c12.8 0 20.4 14.2 13.3 24.9L320 96zM192 128H320c3.8 2.5 8.1 5.3 13 8.4C389.7 172.7 512 250.9 512 416c0 53-43 96-96 96H96c-53 0-96-43-96-96C0 250.9 122.3 172.7 179 136.4l0 0 0 0c4.8-3.1 9.2-5.9 13-8.4zm84.1 96c0-11.1-9-20.1-20.1-20.1s-20.1 9-20.1 20.1v6c-5.6 1.2-10.9 2.9-15.9 5.1c-15 6.8-27.9 19.4-31.1 37.7c-1.8 10.2-.8 20 3.4 29c4.2 8.8 10.7 15 17.3 19.5c11.6 7.9 26.9 12.5 38.6 16l2.2 .7c13.9 4.2 23.4 7.4 29.3 11.7c2.5 1.8 3.4 3.2 3.8 4.1c.3 .8 .9 2.6 .2 6.7c-.6 3.5-2.5 6.4-8 8.8c-6.1 2.6-16 3.9-28.8 1.9c-6-1-16.7-4.6-26.2-7.9l0 0 0 0 0 0 0 0c-2.2-.8-4.3-1.5-6.3-2.1c-10.5-3.5-21.8 2.2-25.3 12.7s2.2 21.8 12.7 25.3c1.2 .4 2.7 .9 4.4 1.5c7.9 2.7 20.3 6.9 29.8 9.1V416c0 11.1 9 20.1 20.1 20.1s20.1-9 20.1-20.1v-5.5c5.4-1 10.5-2.5 15.4-4.6c15.7-6.7 28.4-19.7 31.6-38.7c1.8-10.4 1-20.3-3-29.4c-3.9-9-10.2-15.6-16.9-20.5c-12.2-8.8-28.3-13.7-40.4-17.4l-.8-.2c-14.2-4.3-23.8-7.3-29.9-11.4c-2.6-1.8-3.4-3-3.6-3.5c-.2-.3-.7-1.6-.1-5c.3-1.9 1.9-5.2 8.2-8.1c6.4-2.9 16.4-4.5 28.6-2.6c4.3 .7 17.9 3.3 21.7 4.3c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-4.4-1.2-14.4-3.2-21-4.4V224z\"],\n \"pen-to-square\": [512, 512, [\"edit\"], \"f044\", \"M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.8 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z\"],\n \"car-side\": [640, 512, [128663], \"f5e4\", \"M171.3 96H224v96H111.3l30.4-75.9C146.5 104 158.2 96 171.3 96zM272 192V96h81.2c9.7 0 18.9 4.4 25 12l67.2 84H272zm256.2 1L428.2 68c-18.2-22.8-45.8-36-75-36H171.3c-39.3 0-74.6 23.9-89.1 60.3L40.6 196.4C16.8 205.8 0 228.9 0 256V368c0 17.7 14.3 32 32 32H65.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H385.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H608c17.7 0 32-14.3 32-32V320c0-65.2-48.8-119-111.8-127zm-2.9 207c-6.6 18.6-24.4 32-45.3 32s-38.7-13.4-45.3-32c-1.8-5-2.7-10.4-2.7-16c0-26.5 21.5-48 48-48s48 21.5 48 48c0 5.6-1 11-2.7 16zM160 432c-20.9 0-38.7-13.4-45.3-32c-1.8-5-2.7-10.4-2.7-16c0-26.5 21.5-48 48-48s48 21.5 48 48c0 5.6-1 11-2.7 16c-6.6 18.6-24.4 32-45.3 32z\"],\n \"share-nodes\": [448, 512, [\"share-alt\"], \"f1e0\", \"M352 224c53 0 96-43 96-96s-43-96-96-96s-96 43-96 96c0 4 .2 8 .7 11.9l-94.1 47C145.4 170.2 121.9 160 96 160c-53 0-96 43-96 96s43 96 96 96c25.9 0 49.4-10.2 66.6-26.9l94.1 47c-.5 3.9-.7 7.8-.7 11.9c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-25.9 0-49.4 10.2-66.6 26.9l-94.1-47c.5-3.9 .7-7.8 .7-11.9s-.2-8-.7-11.9l94.1-47C302.6 213.8 326.1 224 352 224z\"],\n \"heart-circle-minus\": [576, 512, [], \"e4ff\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM576 368c0-79.5-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144s144-64.5 144-144zm-64 0c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"],\n \"hourglass-half\": [384, 512, [\"hourglass-2\"], \"f252\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437v11c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 64 32zM96 75V64H288V75c0 19-5.6 37.4-16 53H112c-10.3-15.6-16-34-16-53zm16 309c3.5-5.3 7.6-10.3 12.1-14.9L192 301.3l67.9 67.9c4.6 4.6 8.6 9.6 12.2 14.9H112z\"],\n \"microscope\": [512, 512, [128300], \"f610\", \"M168 32c0-17.7 14.3-32 32-32h16c17.7 0 32 14.3 32 32h8c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32h-8c0 17.7-14.3 32-32 32H200c-17.7 0-32-14.3-32-32h-8c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32l8 0zM32 448H320c70.7 0 128-57.3 128-128s-57.3-128-128-128V128c106 0 192 86 192 192c0 49.2-18.5 94-48.9 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm80-64H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"sink\": [512, 512, [], \"e06d\", \"M288 96c0-17.7 14.3-32 32-32s32 14.3 32 32s14.3 32 32 32s32-14.3 32-32c0-53-43-96-96-96s-96 43-96 96V288H160V264c0-30.9-25.1-56-56-56H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c4.4 0 8 3.6 8 8v24H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H256 480c17.7 0 32-14.3 32-32s-14.3-32-32-32H400V264c0-4.4 3.6-8 8-8h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H408c-30.9 0-56 25.1-56 56v24H288V96zM480 416V384H32v32c0 53 43 96 96 96H384c53 0 96-43 96-96z\"],\n \"bag-shopping\": [448, 512, [\"shopping-bag\"], \"f290\", \"M160 112c0-35.3 28.7-64 64-64s64 28.7 64 64v48H160V112zm-48 48H48c-26.5 0-48 21.5-48 48V416c0 53 43 96 96 96H352c53 0 96-43 96-96V208c0-26.5-21.5-48-48-48H336V112C336 50.1 285.9 0 224 0S112 50.1 112 112v48zm24 96c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm200-24c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z\"],\n \"arrow-down-z-a\": [576, 512, [\"sort-alpha-desc\", \"sort-alpha-down-alt\"], \"f881\", \"M183.6 469.6C177.5 476.2 169 480 160 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L128 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 64c0-17.7 14.3-32 32-32H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 96H352c-17.7 0-32-14.3-32-32zm96 192c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 448H371.8l-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128c5.4-10.8 16.5-17.7 28.6-17.7zM395.8 400h40.4L416 359.6 395.8 400z\"],\n \"mitten\": [448, 512, [], \"f7b5\", \"M352 384H64L5.4 178.9C1.8 166.4 0 153.4 0 140.3C0 62.8 62.8 0 140.3 0h3.4c66 0 123.5 44.9 139.5 108.9l31.4 125.8 17.6-20.1C344.8 200.2 362.9 192 382 192h2.8c34.9 0 63.3 28.3 63.3 63.3c0 15.9-6 31.2-16.8 42.9L352 384zM32 448c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V448z\"],\n \"person-rays\": [512, 512, [], \"e54d\", \"M304 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM248 352V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9l-28.6 47.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L328 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H248zM7 7C16.4-2.3 31.6-2.3 41 7l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 41C-2.3 31.6-2.3 16.4 7 7zM471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L471 7zM7 505c-9.4-9.4-9.4-24.6 0-33.9l80-80c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L41 505c-9.4 9.4-24.6 9.4-33.9 0zm464 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0z\"],\n \"users\": [640, 512, [], \"f0c0\", \"M144 160c-44.2 0-80-35.8-80-80S99.8 0 144 0s80 35.8 80 80s-35.8 80-80 80zm368 0c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM416 224c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z\"],\n \"eye-slash\": [640, 512, [], \"f070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c5.2-11.8 8-24.8 8-38.5c0-53-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zm223.1 298L373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5z\"],\n \"flask-vial\": [640, 512, [], \"e4f3\", \"M175 389.4c-9.8 16-15 34.3-15 53.1c-10 3.5-20.8 5.5-32 5.5c-53 0-96-43-96-96V64C14.3 64 0 49.7 0 32S14.3 0 32 0H96h64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32V309.9l-49 79.6zM96 64v96h64V64H96zM352 0H480h32c17.7 0 32 14.3 32 32s-14.3 32-32 32V214.9L629.7 406.2c6.7 10.9 10.3 23.5 10.3 36.4c0 38.3-31.1 69.4-69.4 69.4H261.4c-38.3 0-69.4-31.1-69.4-69.4c0-12.8 3.6-25.4 10.3-36.4L320 214.9V64c-17.7 0-32-14.3-32-32s14.3-32 32-32h32zm32 64V224c0 5.9-1.6 11.7-4.7 16.8L330.5 320h171l-48.8-79.2c-3.1-5-4.7-10.8-4.7-16.8V64H384z\"],\n \"hand\": [512, 512, [129306, 9995, \"hand-paper\"], \"f256\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V336c0 1.5 0 3.1 .1 4.6L67.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L124.8 448c43.1 41.1 100.4 64 160 64H304c97.2 0 176-78.8 176-176V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V32z\"],\n \"om\": [512, 512, [128329], \"f679\", \"M379.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6l-16-16zM115.2 169.6c8-6 17.9-9.6 28.8-9.6c26.5 0 48 21.5 48 48s-21.5 48-48 48H109.8c-7.6 0-13.8 6.2-13.8 13.8c0 1.5 .2 2.9 .7 4.4l8 24c4.4 13.1 16.6 21.9 30.4 21.9H144h16c35.3 0 64 28.7 64 64s-28.7 64-64 64c-50.8 0-82.7-21.5-102.2-42.8c-9.9-10.8-16.6-21.6-20.9-29.7c-2.1-4-3.6-7.3-4.5-9.6c-.5-1.1-.8-2-1-2.5l-.2-.5 0-.1c-2.6-7.8-10.7-12.3-18.7-10.5C4.4 354.2-.9 361.8 .1 370L16 368C.1 370 .1 370 .1 370l0 0 0 0 0 .1 .1 .4c0 .3 .1 .8 .2 1.3c.2 1.1 .4 2.7 .8 4.6c.8 3.9 2 9.4 3.9 15.9c3.8 13 10.3 30.4 21.3 48C48.7 476.2 89.4 512 160 512c70.7 0 128-57.3 128-128c0-23.3-6.2-45.2-17.1-64h22.6c25.5 0 49.9-10.1 67.9-28.1l26.5-26.5c6-6 14.1-9.4 22.6-9.4H416c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32c-25.7 0-41.4-12.5-51.2-25.6c-5-6.7-8.4-13.4-10.5-18.6c-1.1-2.5-1.8-4.6-2.2-6c-.2-.7-.4-1.2-.5-1.5l-.1-.3 0 0c0 0 0 0 0 0c-1.9-7.3-8.6-12.4-16.2-12.1c-7.6 .3-13.9 5.9-15.1 13.4L336 368c-15.8-2.6-15.8-2.6-15.8-2.6l0 0 0 0 0 .1-.1 .3c0 .3-.1 .6-.2 1.1c-.1 .9-.3 2.1-.4 3.6c-.3 3-.6 7.3-.6 12.4c0 10.1 1.1 23.9 5.8 38.1c4.8 14.3 13.4 29.3 28.6 40.7C368.7 473.3 389.3 480 416 480c53 0 96-43 96-96V288c0-53-43-96-96-96h-5.5c-25.5 0-49.9 10.1-67.9 28.1l-26.5 26.5c-6 6-14.1 9.4-22.6 9.4H245.2c6.9-14.5 10.8-30.8 10.8-48c0-61.9-50.1-112-112-112c-25.2 0-48.5 8.3-67.2 22.4c-14.1 10.6-17 30.7-6.4 44.8s30.7 17 44.8 6.4zM280.9 66.7c-6-4-14-3.5-19.5 1.3s-7 12.7-3.7 19.2L272 80c-14.3 7.2-14.3 7.2-14.3 7.2l0 0 0 0 0 .1 .1 .2 .4 .7c.3 .6 .8 1.4 1.4 2.4c1.2 2 2.9 4.8 5.1 8.2c4.4 6.7 11.1 15.5 20 24.4C302.4 141.1 330.3 160 368 160c31.2 0 56.6-10.4 73.9-20.2c8.7-5 15.6-9.9 20.4-13.8c2.4-1.9 4.3-3.6 5.7-4.9c.7-.6 1.3-1.2 1.7-1.6l.6-.5 .2-.2 .1-.1 0 0 0 0c0 0 0 0-22.6-22.6l22.6 22.6c12.5-12.5 12.5-32.8 0-45.3c-12.4-12.4-32.6-12.5-45.1-.2c-.1 .1-.2 .2-.5 .4c-.5 .5-1.5 1.3-2.8 2.4c-2.7 2.2-6.8 5.2-12.1 8.2C399.4 90.4 384.8 96 368 96c-20.8 0-42.4-7-59.5-14.6c-8.4-3.7-15.4-7.5-20.3-10.3c-2.4-1.4-4.3-2.5-5.6-3.3c-.6-.4-1.1-.7-1.4-.9l-.3-.2 0 0 0 0 0 0z\"],\n \"worm\": [448, 512, [], \"e599\", \"M224 96c0-53 43-96 96-96h38.4C407.9 0 448 40.1 448 89.6V176v16V376c0 75.1-60.9 136-136 136s-136-60.9-136-136V296c0-22.1-17.9-40-40-40s-40 17.9-40 40V464c0 26.5-21.5 48-48 48s-48-21.5-48-48V296c0-75.1 60.9-136 136-136s136 60.9 136 136v80c0 22.1 17.9 40 40 40s40-17.9 40-40V192H320c-53 0-96-43-96-96zm144-8c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24z\"],\n \"house-circle-xmark\": [640, 512, [], \"e50b\", \"M320.7 351.7C329 262.1 404.3 192 496 192c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V480c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V383.7c0-17.7 14.3-32 32-32h64l.7 0zM496 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"],\n \"plug\": [384, 512, [128268], \"f1e6\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8C297 398 352 333.4 352 256V224c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"],\n \"chevron-up\": [512, 512, [], \"f077\", \"M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z\"],\n \"hand-spock\": [576, 512, [128406], \"f259\", \"M246.9 23.7C242.3 6.6 224.8-3.5 207.7 1.1s-27.2 22.1-22.6 39.2L238 237.8c2.5 9.2-4.5 18.2-14 18.2c-6.4 0-12-4.2-13.9-10.3L166.6 102.7c-5.1-16.9-23-26.4-39.9-21.3s-26.4 23-21.3 39.9l62.8 206.4c2.4 7.9-7.2 13.8-13.2 8.1L99.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L156.8 448c43.1 41.1 100.4 64 160 64h10.9 8.2c.1 0 .1-.1 .1-.1s.1-.1 .1-.1c58.3-3.5 108.6-43.2 125.3-99.7l81.2-275c5-16.9-4.7-34.7-21.6-39.8s-34.7 4.7-39.8 21.6L443.5 247.1c-1.6 5.3-6.4 8.9-12 8.9c-7.9 0-13.8-7.3-12.2-15.1l36-170.3c3.7-17.3-7.4-34.3-24.7-37.9s-34.3 7.4-37.9 24.7L355.1 235.1c-2.6 12.2-13.3 20.9-25.8 20.9c-11.9 0-22.4-8-25.4-19.5l-57-212.8z\"],\n \"stopwatch\": [448, 512, [9201], \"f2f2\", \"M176 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h16V98.4C92.3 113.8 16 200 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-41.8-12.3-80.7-33.5-113.2l24.1-24.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L355.7 143c-28.1-23-62.2-38.8-99.7-44.6V64h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H224 176zm72 192V320c0 13.3-10.7 24-24 24s-24-10.7-24-24V192c0-13.3 10.7-24 24-24s24 10.7 24 24z\"],\n \"face-kiss\": [512, 512, [128535, \"kiss\"], \"f596\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zM208.4 208c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm128 32c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"bridge-circle-xmark\": [640, 512, [], \"e4cb\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32h40v64H32V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2V160H536V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM488 96v64H408V96h80zM360 96v64H280V96h80zM232 96v64H152V96h80zM496 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"],\n \"face-grin-tongue\": [512, 512, [128539, \"grin-tongue\"], \"f589\", \"M0 256C0 368.9 73.1 464.7 174.5 498.8C165.3 484 160 466.6 160 448V400.7c-24-17.5-43.1-41.4-54.8-69.2c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19c12.3-3.8 24.3 6.9 19.3 18.7c-11.8 28-31.1 52-55.4 69.6V448c0 18.6-5.3 36-14.5 50.8C438.9 464.7 512 368.9 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256zm176.4-16c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm192-32c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM320 448V402.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V448c0 35.3 28.7 64 64 64s64-28.7 64-64z\"],\n \"chess-bishop\": [320, 512, [9821], \"f43a\", \"M128 0C110.3 0 96 14.3 96 32c0 16.1 11.9 29.4 27.4 31.7C78.4 106.8 8 190 8 288c0 47.4 30.8 72.3 56 84.7V416H256V372.7c25.2-12.5 56-37.4 56-84.7c0-37.3-10.2-72.4-25.3-104.1l-99.4 99.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L270.8 154.6c-23.2-38.1-51.8-69.5-74.2-90.9C212.1 61.4 224 48.1 224 32c0-17.7-14.3-32-32-32H128zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"],\n \"face-grin-wink\": [512, 512, [\"grin-wink\"], \"f58c\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zm-16.9-79.2c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zM176.4 240c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"ear-deaf\": [512, 512, [\"deaf\", \"deafness\", \"hard-of-hearing\"], \"f2a4\", \"M502.6 54.6l-40 40c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l40-40c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zm-320 320l-128 128c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zM240 128c-57.6 0-105.1 43.6-111.3 99.5c-1.9 17.6-17.8 30.2-35.3 28.3s-30.2-17.8-28.3-35.3C74.8 132.5 149.4 64 240 64c97.2 0 176 78.8 176 176c0 46-17.7 87.9-46.6 119.3c-12 13-17.4 24.8-17.4 34.7V400c0 61.9-50.1 112-112 112c-17.7 0-32-14.3-32-32s14.3-32 32-32c26.5 0 48-21.5 48-48v-6.1c0-32.9 17.4-59.6 34.4-78c18.4-20 29.6-46.6 29.6-75.9c0-61.9-50.1-112-112-112zm0 80c-17.7 0-32 14.3-32 32c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-17.7-14.3-32-32-32z\"],\n \"road-circle-check\": [640, 512, [], \"e564\", \"M213.2 32H288V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32h74.8c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32v64H86.6C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM640 368c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zm-76.7-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"],\n \"dice-five\": [448, 512, [9860], \"f523\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 160c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm32 160c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm64-64c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zM352 160c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM320 384c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"square-rss\": [448, 512, [\"rss-square\"], \"f143\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 136c0-13.3 10.7-24 24-24c137 0 248 111 248 248c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-110.5-89.5-200-200-200c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24c83.9 0 152 68.1 152 152c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-57.4-46.6-104-104-104c-13.3 0-24-10.7-24-24zm64 120c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32z\"],\n \"land-mine-on\": [640, 512, [], \"e51b\", \"M344 24V168c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM192 320c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32v32H192V320zm-77.3 90.5c8.1-16.3 24.8-26.5 42.9-26.5H482.3c18.2 0 34.8 10.3 42.9 26.5l27.6 55.2C563.5 487 548 512 524.2 512H115.8c-23.8 0-39.3-25-28.6-46.3l27.6-55.2zM36.3 138.3c7.5-10.9 22.5-13.6 33.4-6.1l104 72c10.9 7.5 13.6 22.5 6.1 33.4s-22.5 13.6-33.4 6.1l-104-72c-10.9-7.5-13.6-22.5-6.1-33.4zm534.1-6.1c10.9-7.5 25.8-4.8 33.4 6.1s4.8 25.8-6.1 33.4l-104 72c-10.9 7.5-25.8 4.8-33.4-6.1s-4.8-25.8 6.1-33.4l104-72z\"],\n \"i-cursor\": [256, 512, [], \"f246\", \"M.1 29.3C-1.4 47 11.7 62.4 29.3 63.9l8 .7C70.5 67.3 96 95 96 128.3V224H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H96v95.7c0 33.3-25.5 61-58.7 63.8l-8 .7C11.7 449.6-1.4 465 .1 482.7s16.9 30.7 34.5 29.2l8-.7c34.1-2.8 64.2-18.9 85.4-42.9c21.2 24 51.2 40.1 85.4 42.9l8 .7c17.6 1.5 33.1-11.6 34.5-29.2s-11.6-33.1-29.2-34.5l-8-.7C185.5 444.7 160 417 160 383.7V288h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H160V128.3c0-33.3 25.5-61 58.7-63.8l8-.7c17.6-1.5 30.7-16.9 29.2-34.5S239-1.4 221.3 .1l-8 .7C179.2 3.6 149.2 19.7 128 43.7c-21.2-24-51.2-40-85.4-42.9l-8-.7C17-1.4 1.6 11.7 .1 29.3z\"],\n \"stamp\": [512, 512, [], \"f5bf\", \"M312 201.8c0-17.4 9.2-33.2 19.9-47C344.5 138.5 352 118.1 352 96c0-53-43-96-96-96s-96 43-96 96c0 22.1 7.5 42.5 20.1 58.8c10.7 13.8 19.9 29.6 19.9 47c0 29.9-24.3 54.2-54.2 54.2H112C50.1 256 0 306.1 0 368c0 20.9 13.4 38.7 32 45.3V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V413.3c18.6-6.6 32-24.4 32-45.3c0-61.9-50.1-112-112-112H366.2c-29.9 0-54.2-24.3-54.2-54.2zM416 416v32H96V416H416z\"],\n \"stairs\": [576, 512, [], \"e289\", \"M384 64c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H448v96c0 17.7-14.3 32-32 32H320v96c0 17.7-14.3 32-32 32H192v96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h96V320c0-17.7 14.3-32 32-32h96V192c0-17.7 14.3-32 32-32h96V64z\"],\n \"i\": [320, 512, [105], \"49\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96h96V416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V96h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160 32z\"],\n \"hryvnia-sign\": [384, 512, [8372, \"hryvnia\"], \"f6f2\", \"M121.9 116.2C138.3 103.1 158.7 96 179.6 96H223c27.1 0 49 21.9 49 49c0 11.5-4 22.4-11.1 31H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H155.5l-50.6 28.9c-1.7 1-3.4 2-5.1 3.1H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H52.3c-2.8 9.9-4.3 20.4-4.3 31c0 62.4 50.6 113 113 113h43.4c35.5 0 70-12.1 97.7-34.3L308 441c13.8-11 16-31.2 5-45s-31.2-16-45-5l-5.9 4.7c-16.4 13.1-36.7 20.2-57.7 20.2H161c-27.1 0-49-21.9-49-49c0-11.5 4-22.4 11.1-31H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H228.5l50.6-28.9c1.7-1 3.4-2 5.1-3.1H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H331.7c2.8-10 4.3-20.4 4.3-31c0-62.4-50.6-113-113-113H179.6c-35.5 0-70 12.1-97.7 34.3L76 71c-13.8 11-16 31.2-5 45s31.2 16 45 5l5.9-4.7z\"],\n \"pills\": [576, 512, [], \"f484\", \"M112 96c-26.5 0-48 21.5-48 48V256h96V144c0-26.5-21.5-48-48-48zM0 144C0 82.1 50.1 32 112 32s112 50.1 112 112V368c0 61.9-50.1 112-112 112S0 429.9 0 368V144zM554.9 399.4c-7.1 12.3-23.7 13.1-33.8 3.1L333.5 214.9c-10-10-9.3-26.7 3.1-33.8C360 167.7 387.1 160 416 160c88.4 0 160 71.6 160 160c0 28.9-7.7 56-21.1 79.4zm-59.5 59.5C472 472.3 444.9 480 416 480c-88.4 0-160-71.6-160-160c0-28.9 7.7-56 21.1-79.4c7.1-12.3 23.7-13.1 33.8-3.1L498.5 425.1c10 10 9.3 26.7-3.1 33.8z\"],\n \"face-grin-wide\": [512, 512, [128515, \"grin-alt\"], \"f581\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM383.8 317.8c12.3-3.7 24.3 7 19.2 18.7c-24.5 56.9-81.1 96.7-147 96.7s-122.5-39.8-147-96.7c-5.1-11.8 6.9-22.4 19.2-18.7C166.7 329.4 210.1 336 256 336s89.3-6.6 127.8-18.2zM208 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64zm128 64c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64z\"],\n \"tooth\": [384, 512, [129463], \"f5c9\", \"M154.1 52.1C137.3 39.1 116.7 32 95.5 32C42.7 32 0 74.7 0 127.5v6.2c0 15.8 3.7 31.3 10.7 45.5l23.5 47.1c4.5 8.9 7.6 18.4 9.4 28.2L80.4 460.2c2 11.2 11.6 19.4 22.9 19.8s21.4-7.4 24-18.4l28.9-121.3C160.2 323.7 175 312 192 312s31.8 11.7 35.8 28.3l28.9 121.3c2.6 11.1 12.7 18.8 24 18.4s20.9-8.6 22.9-19.8l36.7-205.8c1.8-9.8 4.9-19.3 9.4-28.2l23.5-47.1c7.1-14.1 10.7-29.7 10.7-45.5v-2.1c0-55-44.6-99.6-99.6-99.6c-24.1 0-47.4 8.8-65.6 24.6l-3.2 2.8 19.5 15.2c7 5.4 8.2 15.5 2.8 22.5s-15.5 8.2-22.5 2.8l-24.4-19-37-28.8z\"],\n \"v\": [448, 512, [118], \"56\", \"M51.7 34.5c16.3-6.8 35 .9 41.8 17.2L224 364.8 354.5 51.7c6.8-16.3 25.5-24 41.8-17.2s24 25.5 17.2 41.8l-160 384c-5 11.9-16.6 19.7-29.5 19.7s-24.6-7.8-29.5-19.7l-160-384c-6.8-16.3 .9-35 17.2-41.8z\"],\n \"bangladeshi-taka-sign\": [384, 512, [], \"e2e6\", \"M36 32.2C18.4 30.1 2.4 42.5 .2 60S10.5 93.6 28 95.8l7.9 1c16 2 28 15.6 28 31.8V160H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V384c0 53 43 96 96 96h32c106 0 192-86 192-192V256c0-53-43-96-96-96H272c-17.7 0-32 14.3-32 32s14.3 32 32 32h16c17.7 0 32 14.3 32 32v32c0 70.7-57.3 128-128 128H160c-17.7 0-32-14.3-32-32V224h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H128V128.5c0-48.4-36.1-89.3-84.1-95.3l-7.9-1z\"],\n \"bicycle\": [640, 512, [128690], \"f206\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h25.7l34.6 64H222.9l-27.4-38C191 99.7 183.7 96 176 96H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h43.7l22.1 30.7-26.6 53.1c-10-2.5-20.5-3.8-31.2-3.8C57.3 224 0 281.3 0 352s57.3 128 128 128c65.3 0 119.1-48.9 127-112h49c8.5 0 16.3-4.5 20.7-11.8l84.8-143.5 21.7 40.1C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L375.4 48.8C369.8 38.4 359 32 347.2 32H312zM458.6 303.7l32.3 59.7c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-32.3-59.7c3.6-.6 7.4-.9 11.2-.9c39.8 0 72 32.2 72 72s-32.2 72-72 72s-72-32.2-72-72c0-18.6 7-35.5 18.6-48.3zM133.2 368h65c-7.3 32.1-36 56-70.2 56c-39.8 0-72-32.2-72-72s32.2-72 72-72c1.7 0 3.4 .1 5.1 .2l-24.2 48.5c-9 18.1 4.1 39.4 24.3 39.4zm33.7-48l50.7-101.3 72.9 101.2-.1 .1H166.8zm90.6-128H365.9L317 274.8 257.4 192z\"],\n \"staff-snake\": [384, 512, [\"rod-asclepius\", \"rod-snake\", \"staff-aesculapius\"], \"e579\", \"M222.6 43.2l-.2 4.8H288c53 0 96 43 96 96s-43 96-96 96H248V160h40c8.8 0 16-7.2 16-16s-7.2-16-16-16H248 220l-4.5 144H256c53 0 96 43 96 96s-43 96-96 96H240V384h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H213l-3.1 99.5L208.5 495l0 1c-.3 8.9-7.6 16-16.5 16s-16.2-7.1-16.5-16l0-1-1-31H136c-22.1 0-40-17.9-40-40s17.9-40 40-40h36l-1-32H152c-53 0-96-43-96-96c0-47.6 34.6-87.1 80-94.7V256c0 8.8 7.2 16 16 16h16.5L164 128H136 122.6c-9 18.9-28.3 32-50.6 32H56c-30.9 0-56-25.1-56-56S25.1 48 56 48h8 8 89.5l-.1-4.8L161 32c0-.7 0-1.3 0-1.9c.5-16.6 14.1-30 31-30s30.5 13.4 31 30c0 .6 0 1.3 0 1.9l-.4 11.2zM64 112c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16z\"],\n \"head-side-cough-slash\": [640, 512, [], \"e062\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L440.3 319.8c22.3-2.1 39.7-20.8 39.7-43.7c0-10-3.4-19.6-9.6-27.4l-42-52.6c-8.3-10.3-12.8-23-15-36.1C398.2 69.3 319.2 0 224 0H201.7C157 0 115.7 14.5 82.2 39.2L38.8 5.1zM0 201.7c0 44.8 18.3 91.5 46.5 127.7C56.9 342.8 64 358.8 64 375.8V480c0 17.7 14.3 32 32 32H256c17.7 0 32-14.3 32-32h64c32.8 0 59.9-24.7 63.6-56.6l-9.4-7.4H352c-17.7 0-32-14.3-32-32c0-10.5 5.1-19.9 12.9-25.7L20.8 112.4C7.5 139.3 0 169.6 0 201.7zM632 288c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24zm-88 72c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zm64 48c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z\"],\n \"truck-medical\": [640, 512, [128657, \"ambulance\"], \"f0f9\", \"M48 0C21.5 0 0 21.5 0 48V368c0 26.5 21.5 48 48 48H64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288 256 237.3c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7H416V48c0-26.5-21.5-48-48-48H48zM416 160h50.7L544 237.3V256H416V160zM208 416c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zm272 48c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48zM112 144c0-8.8 7.2-16 16-16h48V80c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240v48c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16V192H128c-8.8 0-16-7.2-16-16V144z\"],\n \"wheat-awn-circle-exclamation\": [640, 512, [], \"e598\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L383 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l88-88zM305.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L271.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8L101.8 231c-6.2-6.2-16.4-6.2-22.6 0L67.9 242.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c22.5 22.5 53.3 31.5 82.4 27c0-1 0-2.1 0-3.1c0-33.1 9.1-64.1 25-90.6c-15.5-8.7-32.5-13.8-49.8-15.5l31.9-31.9 12.2 12.2c6 6 12.6 11.1 19.7 15.2c27.5-34 67.3-57.5 112.6-63.8c-4.1-3.8-8.4-7.3-12.9-10.5L505 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-59.4 59.4c-20.6-4.4-42-3.7-62.3 2.1c6.1-21.3 6.6-43.8 1.4-65.3L409 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L329.1 52.9c-3.7-5-7.8-9.8-12.4-14.3L305.5 27.3zM496 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm0-48c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm0-192c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"],\n \"snowman\": [576, 512, [9731, 9924], \"f7d0\", \"M373.1 140.6c-2 3.9-1.6 8.6 1.2 12c7 8.5 12.9 18.1 17.2 28.4L440 160.2V120c0-13.3 10.7-24 24-24s24 10.7 24 24v19.6l22.5-9.7c12.2-5.2 26.3 .4 31.5 12.6s-.4 26.3-12.6 31.5l-56 24-73.6 31.5c-.5 9.5-2.1 18.6-4.8 27.3c-1.2 3.8-.1 8 2.8 10.8C428.7 296.9 448 338.2 448 384c0 44.7-18.3 85-47.8 114.1c-9.9 9.7-23.7 13.9-37.5 13.9H213.3c-13.9 0-27.7-4.2-37.5-13.9C146.3 469 128 428.7 128 384c0-45.8 19.3-87.1 50.1-116.3c2.9-2.8 4-6.9 2.8-10.8c-2.7-8.7-4.3-17.9-4.8-27.3l-73.6-31.5-56-24c-12.2-5.2-17.8-19.3-12.6-31.5s19.3-17.8 31.5-12.6L88 139.6V120c0-13.3 10.7-24 24-24s24 10.7 24 24v40.2L184.6 181c4.3-10.3 10.1-19.9 17.2-28.4c2.8-3.4 3.3-8.1 1.2-12C196 127.2 192 112.1 192 96c0-53 43-96 96-96s96 43 96 96c0 16.1-4 31.2-10.9 44.6zM256 96c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16zm48 128c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zm-16 80c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16zm16 48c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zM320 96c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16zm-48 24v3.2c0 3.2 .8 6.3 2.3 9l9 16.9c.9 1.7 2.7 2.8 4.7 2.8s3.8-1.1 4.7-2.8l9-16.9c1.5-2.8 2.3-5.9 2.3-9V120c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"],\n \"mortar-pestle\": [512, 512, [], \"f5a7\", \"M504.3 11.1C493.3-1.6 474.5-3.7 461 6.2L252.3 160H397.3L502.6 54.6c11.8-11.8 12.6-30.8 1.6-43.5zM32 192c-17.7 0-32 14.3-32 32s14.3 32 32 32c0 82.5 43.4 147.7 123.9 176.2c-11.1 13.9-19.4 30.3-23.9 48.1C127.6 497.4 142.3 512 160 512H352c17.7 0 32.4-14.6 28.1-31.7c-4.5-17.8-12.8-34.1-23.9-48.1C436.6 403.7 480 338.5 480 256c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"],\n \"road-barrier\": [640, 512, [], \"e562\", \"M32 32C14.3 32 0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V266.3L149.2 96H64V64c0-17.7-14.3-32-32-32zM405.2 96H330.8l-5.4 10.7L234.8 288h74.3l5.4-10.7L405.2 96zM362.8 288h74.3l5.4-10.7L533.2 96H458.8l-5.4 10.7L362.8 288zM202.8 96l-5.4 10.7L106.8 288h74.3l5.4-10.7L277.2 96H202.8zm288 192H576V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v53.7L490.8 288z\"],\n \"school\": [640, 512, [127979], \"f549\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM256 416c0-35.3 28.7-64 64-64s64 28.7 64 64v96H256V416zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V208zM96 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V336zM232 176a88 88 0 1 1 176 0 88 88 0 1 1 -176 0zm88-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16z\"],\n \"igloo\": [576, 512, [], \"f7ae\", \"M320 33.8V160H48.5C100.2 82.8 188.1 32 288 32c10.8 0 21.5 .6 32 1.8zM352 160V39.1C424.9 55.7 487.2 99.8 527.5 160H352zM29.9 192H96V320H0c0-46 10.8-89.4 29.9-128zM192 320H128V192H448V320H384v32H576v80c0 26.5-21.5 48-48 48H352V352c0-35.3-28.7-64-64-64s-64 28.7-64 64V480H48c-26.5 0-48-21.5-48-48V352H192V320zm288 0V192h66.1c19.2 38.6 29.9 82 29.9 128H480z\"],\n \"joint\": [640, 512, [], \"f595\", \"M448 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43c0 55.2 21.9 108.1 60.9 147.1l21 21c9 9 14.1 21.2 14.1 33.9v11c0 17.7 14.3 32 32 32s32-14.3 32-32V245c0-29.7-11.8-58.2-32.8-79.2l-21-21C463.2 117.8 448 81.2 448 43V32zM576 256c0 17.7 14.3 32 32 32s32-14.3 32-32V245c0-55.2-21.9-108.1-60.9-147.1l-21-21c-9-9-14.1-21.2-14.1-33.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43c0 29.7 11.8 58.2 32.8 79.2l21 21c27 27 42.2 63.6 42.2 101.8v11zM229.8 360c-4.7-2.3-10-2.7-15.2-2c-37.8 5.6-75.2 14.3-106.9 22.8C81.3 388 58.3 395.1 42 400.4c-8.2 2.7-14.7 4.9-19.2 6.5c-2.3 .8-4 1.4-5.2 1.8l-1.3 .5C6.8 412.5 0 421.4 0 432s6.8 19.5 16.3 22.7l1.3 .5c1.2 .4 3 1.1 5.2 1.8c4.5 1.6 11 3.8 19.2 6.5c16.3 5.4 39.2 12.5 65.7 19.6C160.3 497.3 228.8 512 288 512h67.3c4.1 0 6.3-5.1 3.6-8.3L256.5 380.8c-7.4-8.9-16.5-15.9-26.7-20.8zM445 512h19 51.3c4.1 0 6.3-5.1 3.6-8.3L416.5 380.8C401.3 362.5 378.8 352 355 352H336 288c-1.1 0-2.3 0-3.4 0c-4.1 0-6.2 5.1-3.5 8.3L383.5 483.2C398.7 501.5 421.2 512 445 512zm-3.9-151.7L543.5 483.2c14.6 17.5 35.9 27.9 58.6 28.7c21.1-1.1 37.9-18.6 37.9-39.9V392c0-22.1-17.9-40-40-40H444.7c-4.1 0-6.3 5.1-3.6 8.3z\"],\n \"angle-right\": [320, 512, [8250], \"f105\", \"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"],\n \"horse\": [576, 512, [128014], \"f6f0\", \"M448 238.1V160h16l9.8 19.6c12.5 25.1 42.2 36.4 68.3 26c20.5-8.2 33.9-28 33.9-50.1V80c0-19.1-8.4-36.3-21.7-48H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H480 448C377.3 0 320 57.3 320 128H224 203.2 148.8c-30.7 0-57.6 16.3-72.5 40.8C33.2 174.5 0 211.4 0 256v56c0 13.3 10.7 24 24 24s24-10.7 24-24V256c0-13.4 6.6-25.2 16.7-32.5c1.6 13 6.3 25.4 13.6 36.4l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6c-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9h33.7c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7c0-2.3-.1-4.6-.3-6.9l84 24c4.1 1.2 8.2 2.1 12.3 2.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V315.7c19.2-19.2 31.5-45.7 32-75.7h0v-1.9zM496 96c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16z\"],\n \"q\": [512, 512, [113], \"51\", \"M96 256c0 88.4 71.6 160 160 160c28.9 0 56-7.7 79.4-21.1l-72-86.4c-11.3-13.6-9.5-33.8 4.1-45.1s33.8-9.5 45.1 4.1l70.9 85.1C403.9 325.8 416 292.3 416 256c0-88.4-71.6-160-160-160S96 167.6 96 256zM376.9 444.6C342 467 300.5 480 256 480C132.3 480 32 379.7 32 256S132.3 32 256 32s224 100.3 224 224c0 56.1-20.6 107.4-54.7 146.7l47.3 56.8c11.3 13.6 9.5 33.8-4.1 45.1s-33.8 9.5-45.1-4.1l-46.6-55.9z\"],\n \"g\": [448, 512, [103], \"47\", \"M224 96C135.6 96 64 167.6 64 256s71.6 160 160 160c77.4 0 142-55 156.8-128H256c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32c0 123.7-100.3 224-224 224S0 379.7 0 256S100.3 32 224 32c57.4 0 109.7 21.6 149.3 57c13.2 11.8 14.3 32 2.5 45.2s-32 14.3-45.2 2.5C302.3 111.4 265 96 224 96z\"],\n \"notes-medical\": [512, 512, [], \"f481\", \"M96 352V96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V293.5c0 17-6.7 33.3-18.7 45.3l-58.5 58.5c-12 12-28.3 18.7-45.3 18.7H160c-35.3 0-64-28.7-64-64zM272 128c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256h48c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H320V144c0-8.8-7.2-16-16-16H272zm24 336c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V152c0-13.3 10.7-24 24-24s24 10.7 24 24l0 224c0 48.6 39.4 88 88 88H296z\"],\n \"temperature-half\": [320, 512, [127777, \"temperature-2\", \"thermometer-2\", \"thermometer-half\"], \"f2c9\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V200c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"],\n \"dong-sign\": [384, 512, [], \"e169\", \"M288 32c-17.7 0-32 14.3-32 32l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v49.1c-18.8-10.9-40.7-17.1-64-17.1c-70.7 0-128 57.3-128 128s57.3 128 128 128c24.5 0 47.4-6.9 66.8-18.8c5 11.1 16.2 18.8 29.2 18.8c17.7 0 32-14.3 32-32V288 128c17.7 0 32-14.3 32-32s-14.3-32-32-32c0-17.7-14.3-32-32-32zM256 288c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"],\n \"capsules\": [576, 512, [], \"f46b\", \"M64 144c0-26.5 21.5-48 48-48s48 21.5 48 48V256H64V144zM0 144V368c0 61.9 50.1 112 112 112s112-50.1 112-112V189.6c1.8 19.1 8.2 38 19.8 54.8L372.3 431.7c35.5 51.7 105.3 64.3 156 28.1s63-107.5 27.5-159.2L427.3 113.3C391.8 61.5 321.9 49 271.3 85.2c-28 20-44.3 50.8-47.3 83V144c0-61.9-50.1-112-112-112S0 82.1 0 144zm296.6 64.2c-16-23.3-10-55.3 11.9-71c21.2-15.1 50.5-10.3 66 12.2l67 97.6L361.6 303l-65-94.8zM491 407.7c-.8 .6-1.6 1.1-2.4 1.6l4-2.8c-.5 .4-1 .8-1.6 1.2z\"],\n \"poo-storm\": [448, 512, [\"poo-bolt\"], \"f75a\", \"M236.9 .2c-5.5-.7-11 1.4-14.5 5.7s-4.6 10.1-2.8 15.3c2.8 8.2 4.3 16.9 4.3 26.1c0 44.3-35.8 80.1-80 80.1c-1.4 0-2.8 .2-4 .5H128c-35.3 0-64 28.7-64 64c0 12.4 3.5 24 9.7 33.8C31.6 234.3 0 271.5 0 316c0 49.1 38.5 89.2 86.9 91.9c-1.8-2.9-3.4-6.1-4.5-9.4c-6-17.5-.5-36.9 13.6-48.5L238.2 233.6c15.6-12.8 37.9-12.7 53.5 .1s20.3 35.1 11.3 53.4l-26 53.2h16.3c18.1 0 34.3 11.7 40.3 29.2c4.5 13.1 2.6 27.3-4.6 38.4h27c50.8 0 92-41.2 92-92c0-44.5-31.6-81.7-73.7-90.2c6.1-9.8 9.7-21.4 9.7-33.8c0-35.3-28.7-64-64-64h-5.7c3.7-10.2 5.7-21.1 5.7-32.6c0-48.7-36.1-88.9-83.1-95.2zm34.2 259.2c-6-4.6-14.3-4.4-20.1 .4l-133.4 112c-5.2 4.3-7 11.4-4.7 17.7s8.3 10.5 15 10.5h54.7l-42.5 89.1c-3.2 6.8-1.3 14.9 4.7 19.5s14.3 4.4 20.1-.4l133.4-112c5.1-4.3 7-11.4 4.7-17.7s-8.3-10.5-15-10.5H233.3l42.5-89.1c3.2-6.8 1.3-14.9-4.7-19.5z\"],\n \"face-frown-open\": [512, 512, [128550, \"frown-open\"], \"f57a\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM176.4 240c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm192-32c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm-186 174.5c-12.4 5.2-26.5-4.1-21.1-16.4c16-36.6 52.4-62.1 94.8-62.1s78.8 25.6 94.8 62.1c5.4 12.3-8.7 21.6-21.1 16.4c-22.4-9.5-47.4-14.8-73.7-14.8s-51.3 5.3-73.7 14.8z\"],\n \"hand-point-up\": [384, 512, [9757], \"f0a6\", \"M32 32C32 14.3 46.3 0 64 0S96 14.3 96 32V240H32V32zM224 192c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192zm-64-64c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm160 96c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V352c0 88.4-71.6 160-160 160H162.3c-42.4 0-83.1-16.9-113.1-46.9L37.5 453.5C13.5 429.5 0 396.9 0 363V336c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72z\"],\n \"money-bill\": [576, 512, [], \"f0d6\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm64 320H64V320c35.3 0 64 28.7 64 64zM64 192V128h64c0 35.3-28.7 64-64 64zM448 384c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM288 352c-53 0-96-43-96-96s43-96 96-96s96 43 96 96s-43 96-96 96z\"],\n \"bookmark\": [384, 512, [128278, 61591], \"f02e\", \"M0 48V487.7C0 501.1 10.9 512 24.3 512c5 0 9.9-1.5 14-4.4L192 400 345.7 507.6c4.1 2.9 9 4.4 14 4.4c13.4 0 24.3-10.9 24.3-24.3V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48z\"],\n \"align-justify\": [448, 512, [], \"f039\", \"M448 64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32zm0 256c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM0 192c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM448 448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32z\"],\n \"umbrella-beach\": [576, 512, [127958], \"f5ca\", \"M346.3 271.8l-60.1-21.9L214 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H282.1l64.1-176.2zm121.1-.2l-3.3 9.1 67.7 24.6c18.1 6.6 38-4.2 39.6-23.4c6.5-78.5-23.9-155.5-80.8-208.5c2 8 3.2 16.3 3.4 24.8l.2 6c1.8 57-7.3 113.8-26.8 167.4zM462 99.1c-1.1-34.4-22.5-64.8-54.4-77.4c-.9-.4-1.9-.7-2.8-1.1c-33-11.7-69.8-2.4-93.1 23.8l-4 4.5C272.4 88.3 245 134.2 226.8 184l-3.3 9.1L434 269.7l3.3-9.1c18.1-49.8 26.6-102.5 24.9-155.5l-.2-6zM107.2 112.9c-11.1 15.7-2.8 36.8 15.3 43.4l71 25.8 3.3-9.1c19.5-53.6 49.1-103 87.1-145.5l4-4.5c6.2-6.9 13.1-13 20.5-18.2c-79.6 2.5-154.7 42.2-201.2 108z\"],\n \"helmet-un\": [512, 512, [], \"e503\", \"M479.5 224C471.2 98.9 367.2 0 240 0C107.5 0 0 107.5 0 240v56.3C0 344.8 39.2 384 87.7 384H200h14.9L343.5 505.4c4.5 4.2 10.4 6.6 16.5 6.6h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H369.5l-1.5-1.5V288h80 32c17.7 0 32-14.3 32-32s-14.3-32-32-32h-.5zM320 417.2l-78-73.7L274.4 288H320V417.2zM285.3 103.1l34.7 52V112c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V208c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM160 112v64c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"],\n \"bullseye\": [512, 512, [], \"f140\", \"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192s192-86 192-192zm64 0c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM256 336c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80zm0 64c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm32-144c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32z\"],\n \"bacon\": [576, 512, [129363], \"f7e5\", \"M439.2 1.2c11.2-3.2 23.2-.1 31.4 8.1L518 56.7l-26.5 7.9c-58 16.6-98.1 39.6-129.6 67.4c-31.2 27.5-53.2 59.1-75.1 90.9l-2.3 3.3C241.6 288.7 195 356.6 72.8 417.7L37.9 435.2 9.4 406.6c-7.3-7.3-10.6-17.6-9-27.8s8.1-18.9 17.3-23.5C136.1 296.2 180.9 231 223.3 169.3l2.3-3.4c21.8-31.8 44.9-64.9 77.7-93.9c33.4-29.5 75.8-53.6 135.9-70.8zM61.8 459l25.4-12.7c129.5-64.7 179.9-138.1 223.8-202l2.2-3.3c22.1-32.1 42.1-60.5 69.9-85.1c27.5-24.3 63.4-45.2 117.3-60.6l0 0 .2-.1 43.1-12.9 23 23c8 8 11.2 19.7 8.3 30.7s-11.3 19.6-22.2 22.7c-51.9 14.8-85.6 34.7-111.1 57.2c-26.1 23-45.1 49.9-67.3 82.1l-2.2 3.2C327.8 365.9 275.5 442 142.3 508.6c-12.3 6.2-27.2 3.7-36.9-6L61.8 459z\"],\n \"hand-point-down\": [384, 512, [], \"f0a7\", \"M32 480c0 17.7 14.3 32 32 32s32-14.3 32-32V272H32V480zM224 320c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32v64zm-64 64c17.7 0 32-14.3 32-32V304c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 17.7 14.3 32 32 32zm160-96c0 17.7 14.3 32 32 32s32-14.3 32-32V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64zm-96-88l0 .6c9.4-5.4 20.3-8.6 32-8.6c13.2 0 25.4 4 35.6 10.8c8.7-24.9 32.5-42.8 60.4-42.8c11.7 0 22.6 3.1 32 8.6V160C384 71.6 312.4 0 224 0H162.3C119.8 0 79.1 16.9 49.1 46.9L37.5 58.5C13.5 82.5 0 115.1 0 149v27c0 35.3 28.7 64 64 64h88c22.1 0 40-17.9 40-40s-17.9-40-40-40H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h56c39.8 0 72 32.2 72 72z\"],\n \"arrow-up-from-bracket\": [448, 512, [], \"e09a\", \"M246.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 109.3V320c0 17.7 14.3 32 32 32s32-14.3 32-32V109.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 53 43 96 96 96H352c53 0 96-43 96-96V352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V352z\"],\n \"folder\": [512, 512, [128193, 128447, 61716, \"folder-blank\"], \"f07b\", \"M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H298.5c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z\"],\n \"file-waveform\": [384, 512, [\"file-medical-alt\"], \"f478\", \"M64 0C28.7 0 0 28.7 0 64V288H112c6.1 0 11.6 3.4 14.3 8.8L144 332.2l49.7-99.4c2.7-5.4 8.2-8.8 14.3-8.8s11.6 3.4 14.3 8.8L249.9 288H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-6.1 0-11.6-3.4-14.3-8.8L208 275.8l-49.7 99.4c-2.7 5.4-8.3 8.8-14.3 8.8s-11.6-3.4-14.3-8.8L102.1 320H0V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0z\"],\n \"radiation\": [512, 512, [], \"f7b9\", \"M216 186.7c-23.9 13.8-40 39.7-40 69.3L32 256C14.3 256-.2 241.6 2 224.1C10.7 154 47.8 92.7 101.3 52c14.1-10.7 33.8-5.3 42.7 10l72 124.7zM256 336c14.6 0 28.2-3.9 40-10.7l72 124.8c8.8 15.3 3.7 35.1-12.6 41.9c-30.6 12.9-64.2 20-99.4 20s-68.9-7.1-99.4-20c-16.3-6.9-21.4-26.6-12.6-41.9l72-124.8c11.8 6.8 25.4 10.7 40 10.7zm224-80l-144 0c0-29.6-16.1-55.5-40-69.3L368 62c8.8-15.3 28.6-20.7 42.7-10c53.6 40.7 90.6 102 99.4 172.1c2.2 17.5-12.4 31.9-30 31.9zM256 304c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48z\"],\n \"chart-simple\": [448, 512, [], \"e473\", \"M160 80c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V80zM0 272c0-26.5 21.5-48 48-48H80c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V272zM368 96h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z\"],\n \"mars-stroke\": [512, 512, [9894], \"f229\", \"M376 0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l33.4 33.4L370.3 96.4 345 71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l25.4 25.4L307.8 159c-28.4-19.5-62.7-31-99.8-31c-97.2 0-176 78.8-176 176s78.8 176 176 176s176-78.8 176-176c0-37-11.4-71.4-31-99.8l28.6-28.6L407 201c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-25.4-25.4 22.1-22.1L471 153c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V24c0-13.3-10.7-24-24-24H376zm88 48h0v0l0 0zM320 304c0 61.9-50.1 112-112 112s-112-50.1-112-112s50.1-112 112-112s112 50.1 112 112z\"],\n \"vial\": [512, 512, [129514], \"f492\", \"M342.6 9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4L28.1 342.6C10.1 360.6 0 385 0 410.5V416c0 53 43 96 96 96h5.5c25.5 0 49.9-10.1 67.9-28.1L448 205.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-32-32-96-96-32-32zM205.3 256L352 109.3 402.7 160l-96 96H205.3z\"],\n \"gauge\": [512, 512, [\"dashboard\", \"gauge-med\", \"tachometer-alt-average\"], \"f624\", \"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM320 352c0-26.9-16.5-49.9-40-59.3V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64zM144 176c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm-16 80c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm288 32c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zM400 144c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z\"],\n \"wand-magic-sparkles\": [576, 512, [\"magic-wand-sparkles\"], \"e2ca\", \"M234.7 42.7L197 56.8c-3 1.1-5 4-5 7.2s2 6.1 5 7.2l37.7 14.1L248.8 123c1.1 3 4 5 7.2 5s6.1-2 7.2-5l14.1-37.7L315 71.2c3-1.1 5-4 5-7.2s-2-6.1-5-7.2L277.3 42.7 263.2 5c-1.1-3-4-5-7.2-5s-6.1 2-7.2 5L234.7 42.7zM46.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L529.9 116.5c18.7-18.7 18.7-49.1 0-67.9L495.3 14.1c-18.7-18.7-49.1-18.7-67.9 0L46.1 395.4zM484.6 82.6l-105 105-23.3-23.3 105-105 23.3 23.3zM7.5 117.2C3 118.9 0 123.2 0 128s3 9.1 7.5 10.8L64 160l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L128 160l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L128 96 106.8 39.5C105.1 35 100.8 32 96 32s-9.1 3-10.8 7.5L64 96 7.5 117.2zm352 256c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 416l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 416l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 352l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 352l-56.5 21.2z\"],\n \"e\": [320, 512, [101], \"45\", \"M32 32C14.3 32 0 46.3 0 64V256 448c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V288H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"],\n \"pen-clip\": [512, 512, [\"pen-alt\"], \"f305\", \"M453.3 19.3l39.4 39.4c25 25 25 65.5 0 90.5l-52.1 52.1 0 0-1-1 0 0-16-16-96-96-17-17 52.1-52.1c25-25 65.5-25 90.5 0zM241 114.9c-9.4-9.4-24.6-9.4-33.9 0L105 217c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L173.1 81c28.1-28.1 73.7-28.1 101.8 0L288 94.1l17 17 96 96 16 16 1 1-17 17L229.5 412.5c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8L254.1 128 241 114.9z\"],\n \"bridge-circle-exclamation\": [640, 512, [], \"e4ca\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32h40v64H32V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2V160H536V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM488 96v64H408V96h80zM360 96v64H280V96h80zM232 96v64H152V96h80zM496 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm0-48c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm0-192c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"],\n \"user\": [448, 512, [128100, 62144], \"f007\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0S96 57.3 96 128s57.3 128 128 128zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z\"],\n \"school-circle-check\": [640, 512, [], \"e56b\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H320v0H256V416c0-35.3 28.7-64 64-64l.3 0h.5c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-99.3-43.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7z\"],\n \"dumpster\": [576, 512, [], \"f793\", \"M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94L140.5 32H49.7zM272 160V32H173.1L147.5 160H272zm32 0H428.5L402.9 32H304V160zm157.1 0h94c11.5 0 20.9-9.3 20.9-20.9c0-2.1-.3-4.1-.9-6.1L549.2 48.9C546.1 38.9 536.8 32 526.3 32H435.5l25.6 128zM32 192l4 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H44L64 448c0 17.7 14.3 32 32 32s32-14.3 32-32H448c0 17.7 14.3 32 32 32s32-14.3 32-32l20-160h12c17.7 0 32-14.3 32-32s-14.3-32-32-32h-4l4-32H32z\"],\n \"van-shuttle\": [640, 512, [128656, \"shuttle-van\"], \"f5b6\", \"M64 104v88h96V96H72c-4.4 0-8 3.6-8 8zm482 88L465.1 96H384v96H546zm-226 0V96H224v96h96zM592 384H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V104C0 64.2 32.2 32 72 32H192 352 465.1c18.9 0 36.8 8.3 49 22.8L625 186.5c9.7 11.5 15 26.1 15 41.2V336c0 26.5-21.5 48-48 48zm-64 0c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM160 432c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48z\"],\n \"building-user\": [640, 512, [], \"e4da\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h89.9c-6.3-10.2-9.9-22.2-9.9-35.1c0-46.9 25.8-87.8 64-109.2V271.8 48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM576 272c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80s80-35.8 80-80zM352 477.1c0 19.3 15.6 34.9 34.9 34.9H605.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H445.1c-51.4 0-93.1 41.7-93.1 93.1z\"],\n \"square-caret-left\": [448, 512, [\"caret-square-left\"], \"f191\", \"M0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416zM128 256c0-6.7 2.8-13 7.7-17.6l112-104c7-6.5 17.2-8.2 25.9-4.4s14.4 12.5 14.4 22l0 208c0 9.5-5.7 18.2-14.4 22s-18.9 2.1-25.9-4.4l-112-104c-4.9-4.5-7.7-10.9-7.7-17.6z\"],\n \"highlighter\": [576, 512, [], \"f591\", \"M331 315l158.4-215L460.1 70.6 245 229 331 315zm-187 5l0 0V248.3c0-15.3 7.2-29.6 19.5-38.6L436.6 8.4C444 2.9 453 0 462.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L350.4 396.5c-9 12.3-23.4 19.5-38.6 19.5H240l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3L144 320zM23 466.3l63-63 70.6 70.6-31 31c-4.5 4.5-10.6 7-17 7H40c-13.3 0-24-10.7-24-24v-4.7c0-6.4 2.5-12.5 7-17z\"],\n \"key\": [512, 512, [128273], \"f084\", \"M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V448h40c13.3 0 24-10.7 24-24V384h40c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3zm40-176c-22.1 0-40-17.9-40-40s17.9-40 40-40s40 17.9 40 40s-17.9 40-40 40z\"],\n \"bullhorn\": [512, 512, [128226, 128363], \"f0a1\", \"M480 32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9L381.7 53c-48 48-113.1 75-181 75H192 160 64c-35.3 0-64 28.7-64 64v96c0 35.3 28.7 64 64 64l0 128c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V352l8.7 0c67.9 0 133 27 181 75l43.6 43.6c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V300.4c18.6-8.8 32-32.5 32-60.4s-13.4-51.6-32-60.4V32zm-64 76.7V240 371.3C357.2 317.8 280.5 288 200.7 288H192V192h8.7c79.8 0 156.5-29.8 215.3-83.3z\"],\n \"globe\": [512, 512, [127760], \"f0ac\", \"M352 256c0 22.2-1.2 43.6-3.3 64H163.3c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64H348.7c2.2 20.4 3.3 41.8 3.3 64zm28.8-64H503.9c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H380.8c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32H376.7c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 21 58.2 27 94.7zm-209 0H18.6C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192H131.2c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6H344.3c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352H135.3zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6H493.4z\"],\n \"synagogue\": [640, 512, [128333], \"f69b\", \"M309.8 3.7c5.9-4.9 14.6-4.9 20.5 0l121 100.8C469.5 119.7 480 142.2 480 166V280.1 512H464 352V416c0-17.7-14.3-32-32-32s-32 14.3-32 32v96H176 160V280.1 166c0-23.7 10.5-46.3 28.8-61.5L309.8 3.7zM512 512V244.5l28.1-31.2c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3l63.8 70.9c7.9 8.8 12.3 20.3 12.3 32.1V448c0 35.3-28.7 64-64 64H512zM128 244.5V512H64c-35.3 0-64-28.7-64-64V316.3c0-11.9 4.4-23.3 12.3-32.1l63.8-70.9c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3L128 244.5zM327 124.3c-3.1-5.4-10.9-5.4-13.9 0l-15.9 28.1-32.3-.3c-6.2-.1-10.1 6.7-7 12.1L274.3 192l-16.4 27.8c-3.2 5.4 .7 12.1 7 12.1l32.3-.3L313 259.7c3.1 5.4 10.9 5.4 13.9 0l15.9-28.1 32.3 .3c6.2 .1 10.1-6.7 7-12.1L365.7 192l16.4-27.8c3.2-5.4-.7-12.1-7-12.1l-32.3 .3L327 124.3z\"],\n \"person-half-dress\": [320, 512, [], \"e548\", \"M160 96c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48zm8 256V128h6.9c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352h0zM58.2 182.3c19.9-33.1 55.3-53.5 93.8-54.3V384h0v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H70.2c-10.9 0-18.6-10.7-15.2-21.1L93.3 248.1 59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l53.6-89.2z\"],\n \"road-bridge\": [640, 512, [], \"e563\", \"M352 0H608c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM480 200c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V224c0-13.3-10.7-24-24-24zm24 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V384zM480 40c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-13.3-10.7-24-24-24zM32 96H288v64H248v64h40v96c-53 0-96 43-96 96v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V416c0-53-43-96-96-96V224H72V160H32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm168 64H120v64h80V160z\"],\n \"location-arrow\": [448, 512, [], \"f124\", \"M429.6 92.1c4.9-11.9 2.1-25.6-7-34.7s-22.8-11.9-34.7-7l-352 144c-14.2 5.8-22.2 20.8-19.3 35.8s16.1 25.8 31.4 25.8H224V432c0 15.3 10.8 28.4 25.8 31.4s30-5.1 35.8-19.3l144-352z\"],\n \"c\": [384, 512, [99], \"43\", \"M329.1 142.9c-62.5-62.5-155.8-62.5-218.3 0s-62.5 163.8 0 226.3s155.8 62.5 218.3 0c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3c-87.5 87.5-221.3 87.5-308.8 0s-87.5-229.3 0-316.8s221.3-87.5 308.8 0c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0z\"],\n \"tablet-button\": [448, 512, [], \"f10a\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM224 464c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"building-lock\": [576, 512, [], \"e4d6\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h88.6c-5.4-9.4-8.6-20.3-8.6-32V352c0-23.7 12.9-44.4 32-55.4V272c0-30.5 12.2-58.2 32-78.4V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM464 240c17.7 0 32 14.3 32 32v48H432V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"],\n \"pizza-slice\": [512, 512, [], \"f818\", \"M169.7 .9c-22.8-1.6-41.9 14-47.5 34.7L110.4 80c.5 0 1.1 0 1.6 0c176.7 0 320 143.3 320 320c0 .5 0 1.1 0 1.6l44.4-11.8c20.8-5.5 36.3-24.7 34.7-47.5C498.5 159.5 352.5 13.5 169.7 .9zM399.8 410.2c.1-3.4 .2-6.8 .2-10.2c0-159.1-128.9-288-288-288c-3.4 0-6.8 .1-10.2 .2L.5 491.9c-1.5 5.5 .1 11.4 4.1 15.4s9.9 5.6 15.4 4.1L399.8 410.2zM176 272c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm128 64c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM160 384c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32z\"],\n \"money-bill-wave\": [576, 512, [], \"f53a\", \"M0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96zM64 352c35.3 0 64 28.7 64 64H64V352zm64-208c0 35.3-28.7 64-64 64V144h64zM512 304v64H448c0-35.3 28.7-64 64-64zM448 96h64v64c-35.3 0-64-28.7-64-64z\"],\n \"chart-area\": [512, 512, [\"area-chart\"], \"f1fe\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm96 288H448c17.7 0 32-14.3 32-32V251.8c0-7.6-2.7-15-7.7-20.8l-65.8-76.8c-12.1-14.2-33.7-15-46.9-1.8l-21 21c-10 10-26.4 9.2-35.4-1.6l-39.2-47c-12.6-15.1-35.7-15.4-48.7-.6L135.9 215c-5.1 5.8-7.9 13.3-7.9 21.1v84c0 17.7 14.3 32 32 32z\"],\n \"house-flag\": [640, 512, [], \"e50d\", \"M480 0c-17.7 0-32 14.3-32 32V192 512h64V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H512c0-17.7-14.3-32-32-32zM416 159L276.8 39.7c-12-10.3-29.7-10.3-41.7 0l-224 192C1 240.4-2.7 254.5 2 267.1S18.6 288 32 288H64V480c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v96c0 17.7 14.3 32 32 32h64.7l.2 0h-1V159z\"],\n \"person-circle-minus\": [576, 512, [], \"e540\", \"M208 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM152 352V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zm424 16c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zm-64 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"],\n \"ban\": [512, 512, [128683, \"cancel\"], \"f05e\", \"M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256z\"],\n \"camera-rotate\": [512, 512, [], \"e0d8\", \"M149.1 64.8L138.7 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H373.3L362.9 64.8C356.4 45.2 338.1 32 317.4 32H194.6c-20.7 0-39 13.2-45.5 32.8zM384 256c0 8.8-7.2 16-16 16H291.3c-6.2 0-11.3-5.1-11.3-11.3c0-3 1.2-5.9 3.3-8L307 229c-13.6-13.4-31.9-21-51-21c-19.2 0-37.7 7.6-51.3 21.3L185 249c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l19.7-19.7C193.4 172.7 224 160 256 160c31.8 0 62.4 12.6 85 35l23.7-23.7c2.1-2.1 5-3.3 8-3.3c6.2 0 11.3 5.1 11.3 11.3V256zM128 320c0-8.8 7.2-16 16-16h76.7c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8L205 347c13.6 13.4 31.9 21 51 21c19.2 0 37.7-7.6 51.3-21.3L327 327c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-19.7 19.7C318.6 403.3 288 416 256 416c-31.8 0-62.4-12.6-85-35l-23.7 23.7c-2.1 2.1-5 3.3-8 3.3c-6.2 0-11.3-5.1-11.3-11.3V320z\"],\n \"spray-can-sparkles\": [512, 512, [\"air-freshener\"], \"f5d0\", \"M96 32v96H224V32c0-17.7-14.3-32-32-32H128C110.3 0 96 14.3 96 32zm0 128c-53 0-96 43-96 96V464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V256c0-53-43-96-96-96H96zm64 256c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80zM384 48c0-1.4-1-3-2.2-3.6L352 32 339.6 2.2C339 1 337.4 0 336 0s-3 1-3.6 2.2L320 32 290.2 44.4C289 45 288 46.6 288 48c0 1.4 1 3 2.2 3.6L320 64l12.4 29.8C333 95 334.6 96 336 96s3-1 3.6-2.2L352 64l29.8-12.4C383 51 384 49.4 384 48zm76.4 45.8C461 95 462.6 96 464 96s3-1 3.6-2.2L480 64l29.8-12.4C511 51 512 49.4 512 48c0-1.4-1-3-2.2-3.6L480 32 467.6 2.2C467 1 465.4 0 464 0s-3 1-3.6 2.2L448 32 418.2 44.4C417 45 416 46.6 416 48c0 1.4 1 3 2.2 3.6L448 64l12.4 29.8zm7.2 100.4c-.6-1.2-2.2-2.2-3.6-2.2s-3 1-3.6 2.2L448 224l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L448 256l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L480 256l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6c0-1.4-1-3-2.2-3.6L480 224l-12.4-29.8zM448 144c0-1.4-1-3-2.2-3.6L416 128 403.6 98.2C403 97 401.4 96 400 96s-3 1-3.6 2.2L384 128l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L384 160l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L416 160l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6z\"],\n \"star\": [576, 512, [11088, 61446], \"f005\", \"M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z\"],\n \"repeat\": [512, 512, [128257], \"f363\", \"M0 224c0 17.7 14.3 32 32 32s32-14.3 32-32c0-53 43-96 96-96H320v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9S320 19.1 320 32V64H160C71.6 64 0 135.6 0 224zm512 64c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 53-43 96-96 96H192V352c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V448H352c88.4 0 160-71.6 160-160z\"],\n \"cross\": [384, 512, [128327, 10013], \"f654\", \"M176 0c-26.5 0-48 21.5-48 48v80H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h80V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V256h80c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H256V48c0-26.5-21.5-48-48-48H176z\"],\n \"box\": [448, 512, [128230], \"f466\", \"M50.7 58.5L0 160H208V32H93.7C75.5 32 58.9 42.3 50.7 58.5zM240 160H448L397.3 58.5C389.1 42.3 372.5 32 354.3 32H240V160zm208 32H0V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192z\"],\n \"venus-mars\": [640, 512, [9892], \"f228\", \"M176 288c61.9 0 112-50.1 112-112s-50.1-112-112-112S64 114.1 64 176s50.1 112 112 112zM352 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H208v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H112c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1C62.1 334.1 0 262.3 0 176C0 78.8 78.8 0 176 0s176 78.8 176 176zM271.9 360.6c19.3-10.1 36.9-23.1 52.1-38.4c20 18.5 46.7 29.8 76.1 29.8c61.9 0 112-50.1 112-112s-50.1-112-112-112c-7.2 0-14.3 .7-21.1 2c-4.9-21.5-13-41.7-24-60.2C369.3 66 384.4 64 400 64c37 0 71.4 11.4 99.8 31l20.6-20.6L487 41c-6.9-6.9-8.9-17.2-5.2-26.2S494.3 0 504 0H616c13.3 0 24 10.7 24 24V136c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-33.4-33.4L545 140.2c19.5 28.4 31 62.7 31 99.8c0 97.2-78.8 176-176 176c-50.5 0-96-21.3-128.1-55.4z\"],\n \"arrow-pointer\": [320, 512, [\"mouse-pointer\"], \"f245\", \"M0 55.2V426c0 12.2 9.9 22 22 22c6.3 0 12.4-2.7 16.6-7.5L121.2 346l58.1 116.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9L179.8 320H297.9c12.2 0 22.1-9.9 22.1-22.1c0-6.3-2.7-12.3-7.4-16.5L38.6 37.9C34.3 34.1 28.9 32 23.2 32C10.4 32 0 42.4 0 55.2z\"],\n \"maximize\": [448, 512, [\"expand-arrows-alt\"], \"f31e\", \"M168 32H24C10.7 32 0 42.7 0 56V200c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l40-40 79 79L81 335 41 295c-6.9-6.9-17.2-8.9-26.2-5.2S0 302.3 0 312V456c0 13.3 10.7 24 24 24H168c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-40-40 79-79 79 79-40 40c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H424c13.3 0 24-10.7 24-24V312c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2l-40 40-79-79 79-79 40 40c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H280c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l40 40-79 79-79-79 40-40c6.9-6.9 8.9-17.2 5.2-26.2S177.7 32 168 32z\"],\n \"charging-station\": [576, 512, [], \"f5e7\", \"M96 0C60.7 0 32 28.7 32 64V448c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32s-14.3-32-32-32V304h16c22.1 0 40 17.9 40 40v32c0 39.8 32.2 72 72 72s72-32.2 72-72V252.3c32.5-10.2 56-40.5 56-76.3V144c0-8.8-7.2-16-16-16H544V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H480V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16v32c0 35.8 23.5 66.1 56 76.3V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V344c0-48.6-39.4-88-88-88H320V64c0-35.3-28.7-64-64-64H96zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9H256c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9H96c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z\"],\n \"shapes\": [512, 512, [\"triangle-circle-square\"], \"f61f\", \"M315.4 15.5C309.7 5.9 299.2 0 288 0s-21.7 5.9-27.4 15.5l-96 160c-5.9 9.9-6.1 22.2-.4 32.2s16.3 16.2 27.8 16.2H384c11.5 0 22.2-6.2 27.8-16.2s5.5-22.3-.4-32.2l-96-160zM288 312V456c0 22.1 17.9 40 40 40H472c22.1 0 40-17.9 40-40V312c0-22.1-17.9-40-40-40H328c-22.1 0-40 17.9-40 40zM128 512c70.7 0 128-57.3 128-128s-57.3-128-128-128S0 313.3 0 384s57.3 128 128 128z\"],\n \"shuffle\": [512, 512, [128256, \"random\"], \"f074\", \"M403.8 34.4c12-5 25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V160H352c-10.1 0-19.6 4.7-25.6 12.8L284 229.3 244 176l31.2-41.6C293.3 110.2 321.8 96 352 96h32V64c0-12.9 7.8-24.6 19.8-29.6zM164 282.7L204 336l-31.2 41.6C154.7 401.8 126.2 416 96 416H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96c10.1 0 19.6-4.7 25.6-12.8L164 282.7zm274.6 188c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V416H352c-30.2 0-58.7-14.2-76.8-38.4L121.6 172.8c-6-8.1-15.5-12.8-25.6-12.8H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96c30.2 0 58.7 14.2 76.8 38.4L326.4 339.2c6 8.1 15.5 12.8 25.6 12.8h32V320c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64z\"],\n \"person-running\": [448, 512, [127939, \"running\"], \"f70c\", \"M336 48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM141.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5c1.9 0 3.8 .1 5.6 .3L153.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L254 299l30.9-82.4 5.1 12.3C305 264.7 339.9 288 378.7 288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H378.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3L73.4 153.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM107.2 352H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h69.6c19 0 36.2-11.2 43.9-28.5L173 361.6l-9.5-6c-17.5-10.9-30.5-26.8-37.9-44.9L107.2 352z\"],\n \"mobile-retro\": [320, 512, [], \"e527\", \"M0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm64 96v64c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 352c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zm24 56c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24zm56-56c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zm24 56c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24zm56-56c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zm24 56c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24zM128 48c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\"],\n \"grip-lines-vertical\": [192, 512, [], \"f7a5\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64zm128 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64z\"],\n \"spider\": [576, 512, [128375], \"f717\", \"M190.4 32.6c4.8-12.4-1.4-26.3-13.8-31s-26.3 1.4-31 13.8L113.1 100c-7.9 20.7-3 44.1 12.7 59.7l57.4 57.4-80.4-26.8c-2.4-.8-4.3-2.7-5.1-5.1L78.8 128.4C74.6 115.8 61 109 48.4 113.2S29 131 33.2 143.6l18.9 56.8c5.6 16.7 18.7 29.8 35.4 35.4L148.1 256 87.6 276.2c-16.7 5.6-29.8 18.7-35.4 35.4L33.2 368.4C29 381 35.8 394.6 48.4 398.8s26.2-2.6 30.4-15.2l18.9-56.8c.8-2.4 2.7-4.3 5.1-5.1l80.4-26.8-57.4 57.4c-15.6 15.6-20.6 39-12.7 59.7l32.5 84.6c4.8 12.4 18.6 18.5 31 13.8s18.5-18.6 13.8-31l-32.5-84.6c-1.1-3-.4-6.3 1.8-8.5L192 353.9c1 52.1 43.6 94.1 96 94.1s95-41.9 96-94.1l32.3 32.3c2.2 2.2 2.9 5.6 1.8 8.5l-32.5 84.6c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8L462.9 412c7.9-20.7 3-44.1-12.7-59.7l-57.4-57.4 80.4 26.8c2.4 .8 4.3 2.7 5.1 5.1l18.9 56.8c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-18.9-56.8c-5.6-16.7-18.7-29.8-35.4-35.4L427.9 256l60.5-20.2c16.7-5.6 29.8-18.7 35.4-35.4l18.9-56.8c4.2-12.6-2.6-26.2-15.2-30.4s-26.2 2.6-30.4 15.2l-18.9 56.8c-.8 2.4-2.7 4.3-5.1 5.1l-80.4 26.8 57.4-57.4c15.6-15.6 20.6-39 12.7-59.7L430.4 15.4C425.6 3 411.8-3.2 399.4 1.6s-18.5 18.6-13.8 31l32.5 84.6c1.1 3 .4 6.3-1.8 8.5L368 174.1V160c0-31.8-18.6-59.3-45.5-72.2c-9.1-4.4-18.5 3.3-18.5 13.4V112c0 8.8-7.2 16-16 16s-16-7.2-16-16V101.2c0-10.1-9.4-17.7-18.5-13.4C226.6 100.7 208 128.2 208 160v14.1l-48.3-48.3c-2.2-2.2-2.9-5.6-1.8-8.5l32.5-84.6z\"],\n \"hands-bound\": [576, 512, [], \"e4f9\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V96v59.1 .7V192v21.9c0 14.2 5.1 27.9 14.3 38.7L99.6 352H96c-13.3 0-24 10.7-24 24s10.7 24 24 24h32H256h64H448h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-3.6l85.3-99.5c9.2-10.8 14.3-24.5 14.3-38.7V192 155.8v-.7V96 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V96v48.8l-69.3 92.4c-5.7 7.6-16.1 9.6-24.2 4.8c-9.7-5.7-12.1-18.7-5.1-27.5L441 180c10.8-13.5 8.9-33.3-4.4-44.5s-33-9.8-44.5 3.2l-46.7 52.5C329 209.7 320 233.4 320 258.1V320v32H256V320 258.1c0-24.6-9-48.4-25.4-66.8l-46.7-52.5c-11.5-13-31.3-14.4-44.5-3.2s-15.2 30.9-4.4 44.5l27.6 34.5c7 8.8 4.7 21.8-5.1 27.5c-8.1 4.8-18.6 2.7-24.2-4.8L64 144.8V96 32zm64 448v32H256V480h64v32H448V480h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H448 320 256 128 96c-13.3 0-24 10.7-24 24s10.7 24 24 24h32z\"],\n \"file-invoice-dollar\": [384, 512, [], \"f571\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm128 72c8.8 0 16 7.2 16 16v17.3c8.5 1.2 16.7 3.1 24.1 5.1c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-11.1-3-22-5.2-32.1-5.3c-8.4-.1-17.4 1.8-23.6 5.5c-5.7 3.4-8.1 7.3-8.1 12.8c0 3.7 1.3 6.5 7.3 10.1c6.9 4.1 16.6 7.1 29.2 10.9l.5 .1 0 0 0 0c11.3 3.4 25.3 7.6 36.3 14.6c12.1 7.6 22.4 19.7 22.7 38.2c.3 19.3-9.6 33.3-22.9 41.6c-7.7 4.8-16.4 7.6-25.1 9.1V440c0 8.8-7.2 16-16 16s-16-7.2-16-16V422.2c-11.2-2.1-21.7-5.7-30.9-8.9l0 0c-2.1-.7-4.2-1.4-6.2-2.1c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c2.5 .8 4.8 1.6 7.1 2.4l0 0 0 0 0 0c13.6 4.6 24.6 8.4 36.3 8.7c9.1 .3 17.9-1.7 23.7-5.3c5.1-3.2 7.9-7.3 7.8-14c-.1-4.6-1.8-7.8-7.7-11.6c-6.8-4.3-16.5-7.4-29-11.2l-1.6-.5 0 0c-11-3.3-24.3-7.3-34.8-13.7c-12-7.2-22.6-18.9-22.7-37.3c-.1-19.4 10.8-32.8 23.8-40.5c7.5-4.4 15.8-7.2 24.1-8.7V232c0-8.8 7.2-16 16-16z\"],\n \"plane-circle-exclamation\": [640, 512, [], \"e556\", \"M256 0c-35 0-64 59.5-64 93.7v84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9v65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3V93.7C320 59.5 292 0 256 0zM496 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm0-48c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm0-192c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"],\n \"x-ray\": [512, 512, [], \"f497\", \"M0 64C0 46.3 14.3 32 32 32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32V416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V96C14.3 96 0 81.7 0 64zM256 96c-8.8 0-16 7.2-16 16v16H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h96v32H112c-8.8 0-16 7.2-16 16s7.2 16 16 16H240v32H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h96v32H152c-8.9 0-17 4.9-21.2 12.7s-3.7 17.3 1.2 24.6l32 48C168.5 412 176 416 184 416H328c8 0 15.5-4 20-10.7l32-48c4.9-7.4 5.4-16.8 1.2-24.6S368.9 320 360 320H272V288h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V224H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V160h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V112c0-8.8-7.2-16-16-16zM208 384c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16zm112-16c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16z\"],\n \"spell-check\": [640, 512, [], \"f891\", \"M144 0c-12.9 0-24.6 7.8-29.5 19.7l-66.7 160-13.3 32c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L98.7 224h90.7l5.1 12.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8l-13.3-32-66.7-160C168.6 7.8 156.9 0 144 0zm18.7 160H125.3L144 115.2 162.7 160zM288 32v96 96c0 17.7 14.3 32 32 32h80c44.2 0 80-35.8 80-80c0-23.1-9.8-43.8-25.4-58.4c6-11.2 9.4-24 9.4-37.6c0-44.2-35.8-80-80-80H320c-17.7 0-32 14.3-32 32zm96 64H352V64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-32 64h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H352V160zM598.6 310.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L384 434.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l192-192z\"],\n \"slash\": [640, 512, [], \"f715\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"],\n \"computer-mouse\": [384, 512, [128433, \"mouse\"], \"f8cc\", \"M0 192H176V0H160C71.6 0 0 71.6 0 160v32zm0 32V352c0 88.4 71.6 160 160 160h64c88.4 0 160-71.6 160-160V224H192 0zm384-32V160C384 71.6 312.4 0 224 0H208V192H384z\"],\n \"arrow-right-to-bracket\": [512, 512, [\"sign-in\"], \"f090\", \"M352 96l64 0c17.7 0 32 14.3 32 32l0 256c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c53 0 96-43 96-96l0-256c0-53-43-96-96-96l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm-9.4 182.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L242.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"],\n \"shop-slash\": [640, 512, [\"store-alt-slash\"], \"e070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-54.8-43V224H512V376L384 275.7V224H320v1.5L277.2 192H603.2c20.3 0 36.8-16.5 36.8-36.8c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L74.1 32.8 38.8 5.1zM36.8 192h85L21 112.5 6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM320 384H128V224H64V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V398.5l-64-50.4V384z\"],\n \"server\": [512, 512, [], \"f233\", \"M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM344 152c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm96-24c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H64zM344 408c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm104-24c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z\"],\n \"virus-covid-slash\": [640, 512, [], \"e4a9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c11.4-19.5 19.1-41.4 22.3-64.7H528v16c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H494.4c-4.2-30.7-16.3-58.8-34.1-82.3L484 125.9l11.3 11.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L472.7 46.7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L450.1 92l-23.8 23.8C402.8 97.9 374.7 85.8 344 81.6V48h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h16V81.6c-30.7 4.2-58.8 16.3-82.3 34.1L189.9 92l11.3-11.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L134.1 79.8 38.8 5.1zM149.2 213.5c-1.5 6-2.7 12.2-3.5 18.5H112V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V280h33.6c4.2 30.7 16.3 58.8 34.1 82.3L156 386.1l-11.3-11.3c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56.6 56.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L189.9 420l23.8-23.8c23.5 17.9 51.7 29.9 82.3 34.1V464H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2L149.2 213.5z\"],\n \"shop-lock\": [640, 512, [], \"e4a5\", \"M36.8 192H449.6c20.2-19.8 47.9-32 78.4-32c30.5 0 58.1 12.2 78.3 31.9c18.9-1.6 33.7-17.4 33.7-36.7c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM384 224H320V384H128V224H64V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V384 352 224zm144 16c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"],\n \"hourglass-start\": [384, 512, [\"hourglass-1\"], \"f251\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437v11c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 64 32zM288 437v11H96V437c0-25.5 10.1-49.9 28.1-67.9L192 301.3l67.9 67.9c18 18 28.1 42.4 28.1 67.9z\"],\n \"blender-phone\": [576, 512, [], \"f6b6\", \"M192 352V48c0-26.5 21.5-48 48-48H534.1c21.1 0 36.4 20.1 30.9 40.4L558.5 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H549.8l-17.5 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H523.6l-17.5 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h97.5L480 352H192zm16 32H496c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V432c0-26.5 21.5-48 48-48zm144 96c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zM147.5 30.7c10.8 6.7 15.3 21 10.6 33.4l-22 57.8c-4.2 10.9-14.5 17.6-25.3 16.4l-33.3-3.6c-13.6 42.2-13.6 88.4 0 130.7l33.3-3.6c10.9-1.2 21.2 5.5 25.3 16.4l22 57.8c4.7 12.4 .2 26.7-10.6 33.4l-44 27.2c-9.7 6-21.9 4.2-29.8-4.3C-24.6 286-24.6 114 73.7 7.8C81.6-.7 93.8-2.5 103.5 3.5l44 27.2z\"],\n \"building-wheat\": [640, 512, [], \"e4db\", \"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zm384 80v16c0 44.2-35.8 80-80 80H544V272c0-44.2 35.8-80 80-80h16zm0 128c0 44.2-35.8 80-80 80H544V384c0-44.2 35.8-80 80-80h16v16zm0 112c0 44.2-35.8 80-80 80H544V496c0-44.2 35.8-80 80-80h16v16zM512 496v16H496c-44.2 0-80-35.8-80-80V416h16c44.2 0 80 35.8 80 80zm0-96H496c-44.2 0-80-35.8-80-80V304h16c44.2 0 80 35.8 80 80v16zm0-128v16H496c-44.2 0-80-35.8-80-80V192h16c44.2 0 80 35.8 80 80zM528 32c13.3 0 24 10.7 24 24V160c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-13.3 10.7-24 24-24zm96 64v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V96c0-13.3 10.7-24 24-24s24 10.7 24 24zM456 72c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V96c0-13.3 10.7-24 24-24z\"],\n \"person-breastfeeding\": [512, 512, [], \"e53a\", \"M256 160c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80zM468.8 382.8L405.5 462c-16.6 20.7-46.8 24.1-67.5 7.5c-17.6-14.1-22.7-38.1-13.5-57.7l-.7-.1c-38.9-5.6-74.3-25.1-99.7-54.8V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 .8 0 1.6 .1 2.4l101.4 50.7c23.7 11.9 33.3 40.7 21.5 64.4s-40.7 33.3-64.4 21.5L59.2 427.3c-1.1-.5-2.2-1.1-3.3-1.7c-4.9-2.8-9.2-6.4-12.6-10.6c-4.6-5.4-7.8-11.7-9.6-18.4c-3.3-12-1.9-25.2 4.8-36.6c.6-1.1 1.3-2.2 2-3.2l67.1-100.6c26.7-40.1 71.7-64.1 119.8-64.1h75.2c46.5 0 90.1 22.5 117.2 60.3l50.7 70.9c2.2 3 4 6.1 5.5 9.4c2.9 6.7 4.3 13.8 4 20.8c-.3 10.6-4.2 21-11.2 29.4zM352 332c0-24.3-19.7-44-44-44s-44 19.7-44 44s19.7 44 44 44s44-19.7 44-44z\"],\n \"right-to-bracket\": [512, 512, [\"sign-in-alt\"], \"f2f6\", \"M352 96h64c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c53 0 96-43 96-96V128c0-53-43-96-96-96H352c-17.7 0-32 14.3-32 32s14.3 32 32 32zm-7.5 177.4c4.8-4.5 7.5-10.8 7.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6s-14.5 12.5-14.5 22v72H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H160v72c0 9.6 5.7 18.2 14.5 22s19 2 26-4.6l144-136z\"],\n \"venus\": [384, 512, [9792], \"f221\", \"M304 176c0 61.9-50.1 112-112 112s-112-50.1-112-112s50.1-112 112-112s112 50.1 112 112zM224 349.1c81.9-15 144-86.8 144-173.1C368 78.8 289.2 0 192 0S16 78.8 16 176c0 86.3 62.1 158.1 144 173.1V384H128c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H224V349.1z\"],\n \"passport\": [448, 512, [], \"f5ab\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM183 278.8c-27.9-13.2-48.4-39.4-53.7-70.8h39.1c1.6 30.4 7.7 53.8 14.6 70.8zm41.3 9.2l-.3 0-.3 0c-2.4-3.5-5.7-8.9-9.1-16.5c-6-13.6-12.4-34.3-14.2-63.5h47.1c-1.8 29.2-8.1 49.9-14.2 63.5c-3.4 7.6-6.7 13-9.1 16.5zm40.7-9.2c6.8-17.1 12.9-40.4 14.6-70.8h39.1c-5.3 31.4-25.8 57.6-53.7 70.8zM279.6 176c-1.6-30.4-7.7-53.8-14.6-70.8c27.9 13.2 48.4 39.4 53.7 70.8H279.6zM223.7 96l.3 0 .3 0c2.4 3.5 5.7 8.9 9.1 16.5c6 13.6 12.4 34.3 14.2 63.5H200.5c1.8-29.2 8.1-49.9 14.2-63.5c3.4-7.6 6.7-13 9.1-16.5zM183 105.2c-6.8 17.1-12.9 40.4-14.6 70.8H129.3c5.3-31.4 25.8-57.6 53.7-70.8zM352 192c0-70.7-57.3-128-128-128S96 121.3 96 192s57.3 128 128 128s128-57.3 128-128zM112 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"],\n \"heart-pulse\": [512, 512, [\"heartbeat\"], \"f21e\", \"M228.3 469.1L47.6 300.4c-4.2-3.9-8.2-8.1-11.9-12.4h87c22.6 0 43-13.6 51.7-34.5l10.5-25.2 49.3 109.5c3.8 8.5 12.1 14 21.4 14.1s17.8-5 22-13.3L320 253.7l1.7 3.4c9.5 19 28.9 31 50.1 31H476.3c-3.7 4.3-7.7 8.5-11.9 12.4L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9zM503.7 240h-132c-3 0-5.8-1.7-7.2-4.4l-23.2-46.3c-4.1-8.1-12.4-13.3-21.5-13.3s-17.4 5.1-21.5 13.3l-41.4 82.8L205.9 158.2c-3.9-8.7-12.7-14.3-22.2-14.1s-18.1 5.9-21.8 14.8l-31.8 76.3c-1.2 3-4.2 4.9-7.4 4.9H16c-2.6 0-5 .4-7.3 1.1C3 225.2 0 208.2 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141C165 36.5 211.4 51.4 244 84l12 12 12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1v5.8c0 16.9-2.8 33.5-8.3 49.1z\"],\n \"people-carry-box\": [640, 512, [\"people-carry\"], \"f4ce\", \"M176 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM144 241.7v65.1l51 51c7.1 7.1 11.8 16.2 13.4 26.1l15.2 90.9c2.9 17.4-8.9 33.9-26.3 36.8s-33.9-8.9-36.8-26.3l-14.3-85.9L66.8 320C54.8 308 48 291.7 48 274.7V186.6c0-32.4 26.2-58.6 58.6-58.6c24.1 0 46.5 12 59.9 32l47.4 71.1 10.1 5V160c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32v76.2l10.1-5L473.5 160c13.3-20 35.8-32 59.9-32c32.4 0 58.6 26.2 58.6 58.6v88.1c0 17-6.7 33.3-18.7 45.3l-79.4 79.4-14.3 85.9c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l15.2-90.9c1.6-9.9 6.3-19 13.4-26.1l51-51V241.7l-19 28.5c-4.6 7-11 12.6-18.5 16.3l-59.6 29.8c-2.4 1.3-4.9 2.2-7.6 2.8c-2.6 .6-5.3 .9-7.9 .8H256.7c-2.5 .1-5-.2-7.5-.7c-2.9-.6-5.6-1.6-8.1-3l-59.5-29.8c-7.5-3.7-13.8-9.4-18.5-16.3l-19-28.5zM2.3 468.1L50.1 348.6l49.2 49.2-37.6 94c-6.6 16.4-25.2 24.4-41.6 17.8S-4.3 484.5 2.3 468.1zM512 96c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48zm77.9 252.6l47.8 119.5c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8l-37.6-94 49.2-49.2z\"],\n \"temperature-high\": [512, 512, [], \"f769\", \"M416 128c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm0 64c53 0 96-43 96-96s-43-96-96-96s-96 43-96 96s43 96 96 96zM96 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C217.8 332.6 224 349.5 224 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9C88.9 308.4 96 293.8 96 276.5V112zM144 0C82.1 0 32 50.2 32 112V276.5c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C11.2 304.2 0 334.8 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.3-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C256 50.2 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48z\"],\n \"microchip\": [512, 512, [], \"f2db\", \"M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64c-35.3 0-64 28.7-64 64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64c0 35.3 28.7 64 64 64v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448c35.3 0 64-28.7 64-64h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V280h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V176h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448c0-35.3-28.7-64-64-64V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H280V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H176V24zM160 128H352c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm192 32H160V352H352V160z\"],\n \"crown\": [576, 512, [128081], \"f521\", \"M309 106c11.4-7 19-19.7 19-34c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 14.4 7.6 27 19 34L209.7 220.6c-9.1 18.2-32.7 23.4-48.6 10.7L72 160c5-6.7 8-15 8-24c0-22.1-17.9-40-40-40S0 113.9 0 136s17.9 40 40 40c.2 0 .5 0 .7 0L86.4 427.4c5.5 30.4 32 52.6 63 52.6H426.6c30.9 0 57.4-22.1 63-52.6L535.3 176c.2 0 .5 0 .7 0c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40c0 9 3 17.3 8 24l-89.1 71.3c-15.9 12.7-39.5 7.5-48.6-10.7L309 106z\"],\n \"weight-hanging\": [512, 512, [], \"f5cd\", \"M288 96c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm58.5 32c3.5-10 5.5-20.8 5.5-32c0-53-43-96-96-96s-96 43-96 96c0 11.2 1.9 22 5.5 32H120c-22 0-41.2 15-46.6 36.4l-72 288c-3.6 14.3-.4 29.5 8.7 41.2S33.2 512 48 512H464c14.8 0 28.7-6.8 37.8-18.5s12.3-26.8 8.7-41.2l-72-288C433.2 143 414 128 392 128H346.5z\"],\n \"xmarks-lines\": [640, 512, [], \"e59a\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM7 167c-9.4 9.4-9.4 24.6 0 33.9l55 55L7 311c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55L41 167c-9.4-9.4-24.6-9.4-33.9 0zM265 167c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55zM455 167c-9.4 9.4-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55c-9.4-9.4-24.6-9.4-33.9 0z\"],\n \"file-prescription\": [384, 512, [], \"f572\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM104 196h72c33.1 0 60 26.9 60 60c0 25.5-15.9 47.2-38.3 55.9l43 40.3 33.8-31c8.1-7.5 20.8-6.9 28.3 1.2s6.9 20.8-1.2 28.3L270 379.7l31.7 29.7c8.1 7.6 8.5 20.2 .9 28.3s-20.2 8.5-28.3 .9l-33.9-31.8-34.9 32c-8.1 7.5-20.8 6.9-28.3-1.2s-6.9-20.8 1.2-28.3l32.6-29.9-64.8-60.8c-.9-.8-1.6-1.7-2.3-2.6H124v44c0 11-9 20-20 20s-20-9-20-20V296 216c0-11 9-20 20-20zm72 80c11 0 20-9 20-20s-9-20-20-20H124v40h52z\"],\n \"weight-scale\": [512, 512, [\"weight\"], \"f496\", \"M384 176c0 70.7-57.3 128-128 128s-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128zm7.8-112C359.5 24.9 310.7 0 256 0S152.5 24.9 120.2 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H391.8zM296 224c0-10.6-4.1-20.2-10.9-27.4l33.6-78.3c3.5-8.1-.3-17.5-8.4-21s-17.5 .3-21 8.4L255.7 184c-22 .1-39.7 18-39.7 40c0 22.1 17.9 40 40 40s40-17.9 40-40z\"],\n \"user-group\": [640, 512, [128101, \"user-friends\"], \"f500\", \"M352 128c0 70.7-57.3 128-128 128s-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7zM432 256c-31 0-59-12.6-79.3-32.9C372.4 196.5 384 163.6 384 128c0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112z\"],\n \"arrow-up-a-z\": [576, 512, [\"sort-alpha-up\"], \"f15e\", \"M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L128 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 320c0 17.7 14.3 32 32 32h50.7l-73.4 73.4c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H429.3l73.4-73.4c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H352c-17.7 0-32 14.3-32 32zM416 32c-12.1 0-23.2 6.8-28.6 17.7l-64 128-16 32c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3h88.4l7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-16-32-64-128C439.2 38.8 428.1 32 416 32zM395.8 176L416 135.6 436.2 176H395.8z\"],\n \"chess-knight\": [384, 512, [9822], \"f441\", \"M32 391.6V416H352V224c0-106-86-192-192-192H12.9C5.8 32 0 37.8 0 44.9c0 2 .5 4 1.4 5.8L16 80 9.4 86.6c-6 6-9.4 14.1-9.4 22.6V242.3c0 13.1 8 24.9 20.1 29.7l46.5 18.6c8.5 3.4 18 3 26.2-1.1l6.6-3.3c8-4 14-11.2 16.5-19.8l8.3-28.9c2.5-8.6 8.4-15.8 16.5-19.8L160 208v40.4c0 24.2-13.7 46.4-35.4 57.2L67.4 334.3C45.7 345.2 32 367.3 32 391.6zM72 148c0 11-9 20-20 20s-20-9-20-20s9-20 20-20s20 9 20 20zM352 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32z\"],\n \"face-laugh-squint\": [512, 512, [\"laugh-squint\"], \"f59b\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zm36.7-199.4l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 125.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"],\n \"wheelchair\": [576, 512, [], \"f193\", \"M224 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM152.5 247.2c12.4-4.7 18.7-18.5 14-30.9s-18.5-18.7-30.9-14C75.1 225.1 32 283.5 32 352c0 88.4 71.6 160 160 160c61.2 0 114.3-34.3 141.2-84.7c6.2-11.7 1.8-26.2-9.9-32.5s-26.2-1.8-32.5 9.9C272 440 234.8 464 192 464c-61.9 0-112-50.1-112-112c0-47.9 30.1-88.8 72.5-104.8zM291.8 176l-1.9-9.7c-4.5-22.3-24-38.3-46.8-38.3c-30.1 0-52.7 27.5-46.8 57l23.1 115.5c6 29.9 32.2 51.4 62.8 51.4h5.1c.4 0 .8 0 1.3 0h94.1c6.7 0 12.6 4.1 15 10.4L434 459.2c6 16.1 23.8 24.6 40.1 19.1l48-16c16.8-5.6 25.8-23.7 20.2-40.5s-23.7-25.8-40.5-20.2l-18.7 6.2-25.5-68c-11.7-31.2-41.6-51.9-74.9-51.9H314.2l-9.6-48H368c17.7 0 32-14.3 32-32s-14.3-32-32-32H291.8z\"],\n \"circle-arrow-up\": [512, 512, [\"arrow-circle-up\"], \"f0aa\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM385 215c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-71-71V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V177.9l-71 71c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 103c9.4-9.4 24.6-9.4 33.9 0L385 215z\"],\n \"toggle-on\": [576, 512, [], \"f205\", \"M192 64C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192s-86-192-192-192H192zM384 352c-53 0-96-43-96-96s43-96 96-96s96 43 96 96s-43 96-96 96z\"],\n \"person-walking\": [320, 512, [128694, \"walking\"], \"f554\", \"M256 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM126.5 199.3c-1 .4-1.9 .8-2.9 1.2l-8 3.5c-16.4 7.3-29 21.2-34.7 38.2l-2.6 7.8c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l2.6-7.8c11.4-34.1 36.6-61.9 69.4-76.5l8-3.5c20.8-9.2 43.3-14 66.1-14c44.6 0 84.8 26.8 101.9 67.9L281 232.7l21.4 10.7c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L247 287.3c-10.3-5.2-18.4-13.8-22.8-24.5l-9.6-23-19.3 65.5 49.5 54c5.4 5.9 9.2 13 11.2 20.8l23 92.1c4.3 17.1-6.1 34.5-23.3 38.8s-34.5-6.1-38.8-23.3l-22-88.1-70.7-77.1c-14.8-16.1-20.3-38.6-14.7-59.7l16.9-63.5zM68.7 398l25-62.4c2.1 3 4.5 5.8 7 8.6l40.7 44.4-14.5 36.2c-2.4 6-6 11.5-10.6 16.1L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L68.7 398z\"],\n \"l\": [320, 512, [108], \"4c\", \"M64 32c17.7 0 32 14.3 32 32V416H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\"],\n \"fire\": [448, 512, [128293], \"f06d\", \"M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-2.8-5.6-5.6-11.2-9.8-16.8l-50.6 58.8s-81.4-103.6-87.1-110.6C133.1 243.8 112 273.2 112 306.8C112 375.4 162.6 416 225.7 416z\"],\n \"bed-pulse\": [640, 512, [\"procedures\"], \"f487\", \"M483.2 9.6L524 64h92c13.3 0 24 10.7 24 24s-10.7 24-24 24H512c-7.6 0-14.7-3.6-19.2-9.6L468.7 70.3l-47 99.9c-3.7 7.8-11.3 13.1-19.9 13.7s-16.9-3.4-21.7-10.6L339.2 112H216c-13.3 0-24-10.7-24-24s10.7-24 24-24H352c8 0 15.5 4 20 10.7l24.4 36.6 45.9-97.5C445.9 6.2 453.2 1 461.6 .1s16.6 2.7 21.6 9.5zM320 160h12.7l20.7 31.1c11.2 16.8 30.6 26.3 50.7 24.8s37.9-13.7 46.5-32L461.9 160H544c53 0 96 43 96 96V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H352 320 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 78.3 14.3 64 32 64s32 14.3 32 32V352H288V192c0-17.7 14.3-32 32-32zM176 320c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80z\"],\n \"shuttle-space\": [640, 512, [\"space-shuttle\"], \"f197\", \"M130 480c40.6 0 80.4-11 115.2-31.9L352 384l-224 0 0 96h2zM352 128L245.2 63.9C210.4 43 170.6 32 130 32h-2v96l224 0zM96 128l0-96H80C53.5 32 32 53.5 32 80v48h8c-22.1 0-40 17.9-40 40v16V328v16c0 22.1 17.9 40 40 40H32v48c0 26.5 21.5 48 48 48H96l0-96h8c26.2 0 49.4-12.6 64-32H456c69.3 0 135-22.7 179.2-81.6c6.4-8.5 6.4-20.3 0-28.8C591 182.7 525.3 160 456 160H168c-14.6-19.4-37.8-32-64-32l-8 0zM512 243.6v24.9c0 19.6-15.9 35.6-35.6 35.6c-2.5 0-4.4-2-4.4-4.4V212.4c0-2.5 2-4.4 4.4-4.4c19.6 0 35.6 15.9 35.6 35.6z\"],\n \"face-laugh\": [512, 512, [\"laugh\"], \"f599\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM208.4 192c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm128 32c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"folder-open\": [576, 512, [128194, 128449, 61717], \"f07c\", \"M88.7 223.8L0 375.8V96C0 60.7 28.7 32 64 32H181.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7H416c35.3 0 64 28.7 64 64v32H144c-22.8 0-43.8 12.1-55.3 31.8zm27.6 16.1C122.1 230 132.6 224 144 224H544c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480H32c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2 .1-32.1l112-192z\"],\n \"heart-circle-plus\": [576, 512, [], \"e500\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"],\n \"code-fork\": [448, 512, [], \"e13b\", \"M80 104c13.3 0 24-10.7 24-24s-10.7-24-24-24S56 66.7 56 80s10.7 24 24 24zm80-24c0 32.8-19.7 61-48 73.3V192c0 17.7 14.3 32 32 32H304c17.7 0 32-14.3 32-32V153.3C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V192c0 53-43 96-96 96H256v70.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V288H144c-53 0-96-43-96-96V153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm208 24c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zM248 432c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24z\"],\n \"city\": [640, 512, [127961], \"f64f\", \"M480 48c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48V96H224V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V96H112V24c0-13.3-10.7-24-24-24S64 10.7 64 24V96H48C21.5 96 0 117.5 0 144v96V464c0 26.5 21.5 48 48 48H304h32 96H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H480V48zm96 320v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM240 416H208c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zM128 400c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zM560 256c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32zM256 176v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM112 160c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32zM256 304c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zM112 320H80c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zm304-48v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM400 64c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h32zm16 112v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z\"],\n \"microphone-lines\": [384, 512, [127897, \"microphone-alt\"], \"f3c9\", \"M96 96V256c0 53 43 96 96 96s96-43 96-96H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V192H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V128H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c0-53-43-96-96-96S96 43 96 96zM320 240v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v24z\"],\n \"pepper-hot\": [512, 512, [127798], \"f816\", \"M428.3 3c11.6-6.4 26.2-2.3 32.6 9.3l4.8 8.7c19.3 34.7 19.8 75.7 3.4 110C495.8 159.6 512 197.9 512 240c0 18.5-3.1 36.3-8.9 52.8c-6.1 17.3-28.5 16.3-36.8-.1l-11.7-23.4c-4.1-8.1-12.4-13.3-21.5-13.3H360c-13.3 0-24-10.7-24-24V152c0-13.3-10.7-24-24-24l-17.1 0c-21.3 0-30-23.9-10.8-32.9C304.7 85.4 327.7 80 352 80c28.3 0 54.8 7.3 77.8 20.2c5.5-18.2 3.7-38.4-6-55.8L419 35.7c-6.4-11.6-2.3-26.2 9.3-32.6zM171.2 345.5L264 160l40 0v80c0 26.5 21.5 48 48 48h76.2l23.9 47.8C372.3 443.9 244.3 512 103.2 512H44.4C19.9 512 0 492.1 0 467.6c0-20.8 14.5-38.8 34.8-43.3l49.8-11.1c37.6-8.4 69.5-33.2 86.7-67.7z\"],\n \"unlock\": [448, 512, [128275], \"f09c\", \"M144 144c0-44.2 35.8-80 80-80c31.9 0 59.4 18.6 72.3 45.7c7.6 16 26.7 22.8 42.6 15.2s22.8-26.7 15.2-42.6C331 33.7 281.5 0 224 0C144.5 0 80 64.5 80 144v48H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H144V144z\"],\n \"colon-sign\": [384, 512, [], \"e140\", \"M255 39.8c4.3-17.1-6.1-34.5-23.3-38.8S197.2 7.1 193 24.2L181.9 68.6C96.1 87.8 32 164.4 32 256c0 58.1 25.8 110.2 66.7 145.4L81 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l13-52.1c9 3.4 18.4 6.2 28 8.2L177 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l10.4-41.4c33.4-4.4 64.1-17.4 89.8-36.7c14.1-10.6 17-30.7 6.4-44.8s-30.7-17-44.8-6.4c-10.2 7.7-21.7 13.9-34 18.3L321 160c9.4-.3 18.5-4.7 24.6-12.8c10.6-14.1 7.8-34.2-6.4-44.8c-1.1-.8-2.2-1.6-3.3-2.4L351 39.8c4.3-17.1-6.1-34.5-23.3-38.8S293.2 7.1 289 24.2L277.1 71.5c-9.3-2.7-18.8-4.6-28.6-5.9L255 39.8zM163.2 143.3L117.3 326.8C103.9 306.5 96 282.2 96 256c0-48.7 27.2-91 67.2-112.7zm8.6 229.5l61.1-244.6c9.9 .7 19.5 2.5 28.7 5.3l-62 248.1c-9.7-1.9-19-4.8-27.8-8.8z\"],\n \"headset\": [512, 512, [], \"f590\", \"M256 48C141.1 48 48 141.1 48 256v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V256C0 114.6 114.6 0 256 0S512 114.6 512 256V400.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24H240c-26.5 0-48-21.5-48-48s21.5-48 48-48h32c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40V256c0-114.9-93.1-208-208-208zM144 208h16c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H144c-35.3 0-64-28.7-64-64V272c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64v48c0 35.3-28.7 64-64 64H352c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32h16z\"],\n \"store-slash\": [640, 512, [], \"e071\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68V384 252.6c-4 1-8 1.8-12.3 2.3l-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-12.4 0-24.3-1.9-35.4-5.3V350.9L301.2 210.7c7-4.4 13.3-9.7 18.8-15.7c15.9 17.6 39.1 29 65.2 29c26.2 0 49.3-11.4 65.2-29c16 17.6 39.1 29 65.2 29c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4L522.3 13.1C517.2 5 508.1 0 498.4 0H141.6c-9.7 0-18.8 5-23.9 13.1l-22.7 36L38.8 5.1zm73.4 218.1c4 .5 8.1 .8 12.1 .8c11 0 21.4-2 31-5.6L48.9 134.5c-6.1 40.6 19.5 82.8 63.3 88.7zM160 384V250.6c-11.2 3.5-23.2 5.4-35.6 5.4c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V384v64c0 35.3 28.7 64 64 64H480c12.9 0 24.8-3.8 34.9-10.3L365.5 384H160z\"],\n \"road-circle-xmark\": [640, 512, [], \"e566\", \"M213.2 32H288V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32h74.8c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32v64H86.6C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM496 512c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm22.6-144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"],\n \"user-minus\": [640, 512, [], \"f503\", \"M352 128c0 70.7-57.3 128-128 128s-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM472 200H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H472c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"],\n \"mars-stroke-up\": [320, 512, [9896, \"mars-stroke-v\"], \"f22a\", \"M148.7 4.7c6.2-6.2 16.4-6.2 22.6 0l64 64c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H184v24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H184v24c0 .6 0 1.2-.1 1.8c77 11.6 136.1 78 136.1 158.2c0 88.4-71.6 160-160 160S0 440.4 0 352c0-80.2 59.1-146.7 136.1-158.2c0-.6-.1-1.2-.1-1.8V168H104c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V96H96c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l64-64zM256 352c0-53-43-96-96-96s-96 43-96 96s43 96 96 96s96-43 96-96z\"],\n \"champagne-glasses\": [640, 512, [129346, \"glass-cheers\"], \"f79f\", \"M320 128V49.1L186.6 .3c-11.4-4.2-24 .9-29.5 11.7L71.8 181.1c-30.8 61-8 133.8 48.1 167.4l-28 77.4L32.1 403.9C19.7 399.4 6 405.8 1.4 418.3s1.9 26.3 14.3 30.8l164.6 60.3c12.4 4.5 26.1-1.9 30.6-14.4s-1.9-26.3-14.3-30.8l-59.9-21.9 28-77.3c68.1 11.6 135.7-32.8 150.1-103.6l5.1-24.8 5.1 24.8c14.5 70.8 82 115.2 150.1 103.6l28 77.3-59.9 21.9c-12.4 4.5-18.8 18.3-14.3 30.8s18.2 18.9 30.6 14.4l164.6-60.3c12.4-4.5 18.8-18.3 14.3-30.8s-18.2-18.9-30.6-14.4l-59.9 21.9-28-77.4c56.1-33.6 78.8-106.4 48.1-167.4L482.9 12C477.4 1.1 464.7-3.9 453.4 .3L320 49.1V128h0zm-35.7 44.4L153.9 124.6l36.3-71.9L300.6 93.1l-16.2 79.3zm71.3 0L339.4 93.1 449.8 52.7l36.3 71.9L355.7 172.4z\"],\n \"clipboard\": [384, 512, [128203], \"f328\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM112 192H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"house-circle-exclamation\": [640, 512, [], \"e50a\", \"M320.7 351.7C329 262.1 404.3 192 496 192c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V480c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V383.7c0-17.7 14.3-32 32-32h64l.7 0zM496 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm0-48c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm0-192c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"],\n \"file-arrow-up\": [384, 512, [\"file-upload\"], \"f574\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM216 408c0 13.3-10.7 24-24 24s-24-10.7-24-24V305.9l-31 31c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72c9.4-9.4 24.6-9.4 33.9 0l72 72c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-31-31V408z\"],\n \"wifi\": [640, 512, [\"wifi-3\", \"wifi-strong\"], \"f1eb\", \"M54.2 202.9C123.2 136.7 216.8 96 320 96s196.8 40.7 265.8 106.9c12.8 12.2 33 11.8 45.2-.9s11.8-33-.9-45.2C549.7 79.5 440.4 32 320 32S90.3 79.5 9.8 156.7C-2.9 169-3.3 189.2 8.9 202s32.5 13.2 45.2 .9zM320 256c56.8 0 108.6 21.1 148.2 56c13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2C459.8 219.2 393 192 320 192s-139.8 27.2-190.5 72c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8c39.5-34.9 91.3-56 148.2-56zm64 160c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\"],\n \"bath\": [512, 512, [128705, \"bathtub\"], \"f2cd\", \"M96 77.3c0-7.3 5.9-13.3 13.3-13.3c3.5 0 6.9 1.4 9.4 3.9l14.9 14.9C130 91.8 128 101.7 128 112c0 19.9 7.2 38 19.2 52c-5.3 9.2-4 21.1 3.8 29c9.4 9.4 24.6 9.4 33.9 0L289 89c9.4-9.4 9.4-24.6 0-33.9c-7.9-7.9-19.8-9.1-29-3.8C246 39.2 227.9 32 208 32c-10.3 0-20.2 2-29.2 5.5L163.9 22.6C149.4 8.1 129.7 0 109.3 0C66.6 0 32 34.6 32 77.3V256c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H96V77.3zM32 352v16c0 28.4 12.4 54 32 71.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V464H384v16c0 17.7 14.3 32 32 32s32-14.3 32-32V439.6c19.6-17.6 32-43.1 32-71.6V352H32z\"],\n \"underline\": [448, 512, [], \"f0cd\", \"M16 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H128V224c0 53 43 96 96 96s96-43 96-96V96H304c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V224c0 88.4-71.6 160-160 160s-160-71.6-160-160V96H48C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"],\n \"user-pen\": [640, 512, [\"user-edit\"], \"f4ff\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0S96 57.3 96 128s57.3 128 128 128zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H322.8c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7l40.3-40.3c-32.1-31-75.7-50.1-123.9-50.1H178.3zm435.5-68.3c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71L375.9 417z\"],\n \"signature\": [640, 512, [], \"f5b7\", \"M192 128c0-17.7 14.3-32 32-32s32 14.3 32 32v7.8c0 27.7-2.4 55.3-7.1 82.5l-84.4 25.3c-40.6 12.2-68.4 49.6-68.4 92v71.9c0 40 32.5 72.5 72.5 72.5c26 0 50-13.9 62.9-36.5l13.9-24.3c26.8-47 46.5-97.7 58.4-150.5l94.4-28.3-12.5 37.5c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H460.4l18-53.9c3.8-11.3 .9-23.8-7.4-32.4s-20.7-11.8-32.2-8.4L316.4 198.1c2.4-20.7 3.6-41.4 3.6-62.3V128c0-53-43-96-96-96s-96 43-96 96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V128zm-9.2 177l49-14.7c-10.4 33.8-24.5 66.4-42.1 97.2l-13.9 24.3c-1.5 2.6-4.3 4.3-7.4 4.3c-4.7 0-8.5-3.8-8.5-8.5V335.6c0-14.1 9.3-26.6 22.8-30.7zM24 368c-13.3 0-24 10.7-24 24s10.7 24 24 24H64.3c-.2-2.8-.3-5.6-.3-8.5V368H24zm592 48c13.3 0 24-10.7 24-24s-10.7-24-24-24H305.9c-6.7 16.3-14.2 32.3-22.3 48H616z\"],\n \"stroopwafel\": [512, 512, [], \"f551\", \"M256 496c132.5 0 240-107.5 240-240S388.5 16 256 16S16 123.5 16 256s107.5 240 240 240zM235.3 76.7L256 97.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L278.6 120 324 165.4 357.4 132l-16.7-16.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L380 109.4l8.7-8.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-8.7 8.7 16.7 16.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L380 154.6 346.6 188 392 233.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L414.6 256l20.7 20.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L392 278.6 346.6 324 380 357.4l16.7-16.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L402.6 380l8.7 8.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-8.7-8.7-16.7 16.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L357.4 380 324 346.6 278.6 392l20.7 20.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L256 414.6l-20.7 20.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L233.4 392 188 346.6 154.6 380l16.7 16.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L132 402.6l-8.7 8.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l8.7-8.7L92.7 363.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L132 357.4 165.4 324 120 278.6 99.3 299.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L97.4 256 76.7 235.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L120 233.4 165.4 188 132 154.6l-16.7 16.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L109.4 132l-8.7-8.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l8.7 8.7 16.7-16.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L154.6 132 188 165.4 233.4 120 212.7 99.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM210.6 188L256 233.4 301.4 188 256 142.6 210.6 188zm68 68L324 301.4 369.4 256 324 210.6 278.6 256zM256 278.6L210.6 324 256 369.4 301.4 324 256 278.6zM233.4 256L188 210.6 142.6 256 188 301.4 233.4 256z\"],\n \"bold\": [384, 512, [], \"f032\", \"M0 64C0 46.3 14.3 32 32 32H80 96 224c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128H96 80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V256 96H32C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64H112V224H224zM112 288V416H256c35.3 0 64-28.7 64-64s-28.7-64-64-64H224 112z\"],\n \"anchor-lock\": [640, 512, [], \"e4ad\", \"M256 96c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm85.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8 0 15.9-.6 23.6-1.7c-4.8-9-7.6-19.3-7.6-30.3V446.7c-5.2 .9-10.5 1.3-16 1.3H320V240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"],\n \"building-ngo\": [384, 512, [], \"e4d7\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM168 64h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H184v64h16V144c0-8.8 7.2-16 16-16s16 7.2 16 16v24c0 13.3-10.7 24-24 24H176c-13.3 0-24-10.7-24-24V80c0-8.8 7.2-16 16-16zM304 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16zm-48 16c0-26.5 21.5-48 48-48s48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V112zM61.3 71.1l34.7 52V80c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4L64 132.8V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4z\"],\n \"manat-sign\": [384, 512, [], \"e1d5\", \"M192 32c-17.7 0-32 14.3-32 32V98.7C69.2 113.9 0 192.9 0 288V448c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-59.6 40.8-109.8 96-124V448c0 17.7 14.3 32 32 32s32-14.3 32-32V164c55.2 14.2 96 64.3 96 124V448c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-95.1-69.2-174.1-160-189.3V64c0-17.7-14.3-32-32-32z\"],\n \"not-equal\": [448, 512, [], \"f53e\", \"M369.8 37.4c14.7 9.8 18.7 29.7 8.9 44.4L337.1 144H400c17.7 0 32 14.3 32 32s-14.3 32-32 32H294.5l-64 96H400c17.7 0 32 14.3 32 32s-14.3 32-32 32H187.8l-65.2 97.7c-9.8 14.7-29.7 18.7-44.4 8.9s-18.7-29.7-8.9-44.4L110.9 368H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H153.5l64-96H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H260.2l65.2-97.7c9.8-14.7 29.7-18.7 44.4-8.9z\"],\n \"border-top-left\": [448, 512, [\"border-style\"], \"f853\", \"M0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-336c0-8.8 7.2-16 16-16l336 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32C35.8 32 0 67.8 0 112L0 448zm160 0c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm192 0c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm-96 0c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm192 0c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm0 32c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32zm0-128c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"map-location-dot\": [576, 512, [\"map-marked-alt\"], \"f5a0\", \"M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152V422.8c0 9.8-6 18.6-15.1 22.3L416 503V200.4zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6V451.8L32.9 502.7C17.1 509 0 497.4 0 480.4V209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77V504.3L192 449.4V255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40z\"],\n \"jedi\": [576, 512, [], \"f669\", \"M246 315.7l-21.2-31.9c-2.1-3.2-1.7-7.4 1-10.1s6.9-3.1 10.1-1l29.5 19.7c2.1 1.4 4.9 0 5-2.6L279.7 8c.1-4.5 3.8-8 8.3-8s8.1 3.5 8.3 8l9.4 281.9c.1 2.5 2.9 3.9 5 2.6l29.5-19.7c3.2-2.1 7.4-1.7 10.1 1s3.1 6.9 1 10.1L330 315.7c-1.3 1.9-.2 4.5 2 4.9l37.6 7.5c3.7 .7 6.4 4 6.4 7.8s-2.7 7.1-6.4 7.8L332 351.4c-2.2 .4-3.3 3-2 4.9l21.2 31.9c2.1 3.2 1.7 7.4-1 10.1s-6.9 3.1-10.1 1l-26.3-17.6c-2.2-1.4-5.1 .2-5 2.8l2.1 61.5C370.6 435.2 416 382.9 416 320c0-37-15.7-70.4-40.8-93.7c-7-6.5-6.5-18.6 1-24.4C410.1 175.5 432 134.3 432 88c0-16.8-2.9-33-8.2-48c-4.6-13 10.2-30 21.4-22c53.5 38 92.7 94.8 107.8 160.7c.5 2.1-.2 4.3-1.7 5.9l-28.4 28.4c-4 4-1.2 10.9 4.5 10.9h26c3.4 0 6.2 2.6 6.3 6c.1 3.3 .2 6.6 .2 10c0 17.5-1.7 34.7-4.8 51.3c-.2 1.2-.9 2.4-1.7 3.3l-46.5 46.5c-4 4-1.2 10.9 4.5 10.9H526c4.6 0 7.7 4.8 5.7 9C487.2 450.5 394.8 512 288 512S88.8 450.5 44.3 361c-2.1-4.2 1-9 5.7-9H64.5c5.7 0 8.6-6.9 4.5-10.9L22.6 294.6c-.9-.9-1.5-2-1.7-3.3C17.7 274.7 16 257.5 16 240c0-3.3 .1-6.7 .2-10c.1-3.4 2.9-6 6.3-6h26c5.7 0 8.6-6.9 4.5-10.9L24.6 184.6c-1.5-1.5-2.2-3.8-1.7-5.9C38.1 112.8 77.3 56 130.8 18c11.3-8 26 8.9 21.4 22c-5.3 15-8.2 31.2-8.2 48c0 46.3 21.9 87.5 55.8 113.9c7.5 5.8 8 17.9 1 24.4C175.7 249.6 160 283 160 320c0 62.9 45.4 115.2 105.1 126l2.1-61.5c.1-2.6-2.8-4.2-5-2.8l-26.3 17.6c-3.2 2.1-7.4 1.7-10.1-1s-3.1-6.9-1-10.1L246 356.3c1.3-1.9 .2-4.5-2-4.9l-37.6-7.5c-3.7-.7-6.4-4-6.4-7.8s2.7-7.1 6.4-7.8l37.6-7.5c2.2-.4 3.3-3 2-4.9z\"],\n \"square-poll-vertical\": [448, 512, [\"poll\"], \"f681\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 192c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm64-64c0-17.7 14.3-32 32-32s32 14.3 32 32V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V160zM320 288c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32z\"],\n \"mug-hot\": [512, 512, [9749], \"f7b6\", \"M88 0C74.7 0 64 10.7 64 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C120.5 112.3 128 119.9 128 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C119.5 47.7 112 40.1 112 24c0-13.3-10.7-24-24-24zM32 192c-17.7 0-32 14.3-32 32V416c0 53 43 96 96 96H288c53 0 96-43 96-96h16c61.9 0 112-50.1 112-112s-50.1-112-112-112H352 32zm352 64h16c26.5 0 48 21.5 48 48s-21.5 48-48 48H384V256zM224 24c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C232.5 112.3 240 119.9 240 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C231.5 47.7 224 40.1 224 24z\"],\n \"car-battery\": [512, 512, [\"battery-car\"], \"f5df\", \"M80 96c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32h16c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64l16 0zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H320c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V256h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H384V192zM80 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16z\"],\n \"gift\": [512, 512, [127873], \"f06b\", \"M190.5 68.8L225.3 128H224 152c-22.1 0-40-17.9-40-40s17.9-40 40-40h2.2c14.9 0 28.8 7.9 36.3 20.8zM64 88c0 14.4 3.5 28 9.6 40H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H438.4c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88h-2.2c-31.9 0-61.5 16.9-77.7 44.4L256 85.5l-24.1-41C215.7 16.9 186.1 0 154.2 0H152C103.4 0 64 39.4 64 88zm336 0c0 22.1-17.9 40-40 40H288h-1.3l34.8-59.2C329.1 55.9 342.9 48 357.8 48H360c22.1 0 40 17.9 40 40zM32 288V464c0 26.5 21.5 48 48 48H224V288H32zM288 512H432c26.5 0 48-21.5 48-48V288H288V512z\"],\n \"dice-two\": [448, 512, [9857], \"f528\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM352 352c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM128 192c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"chess-queen\": [512, 512, [9819], \"f445\", \"M312 56c0-30.9-25.1-56-56-56s-56 25.1-56 56s25.1 56 56 56s56-25.1 56-56zM64 480c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM34 169.4L9.2 185.8C3.5 189.7 0 196.2 0 203.1c0 3.2 .7 6.4 2.2 9.3L104 416H408L509.8 212.4c1.4-2.9 2.2-6.1 2.2-9.3c0-6.9-3.5-13.4-9.2-17.3L478 169.4c-8.2-5.4-19-4.4-26 2.6c-12.9 12.9-30.9 21.9-48 15.5c-17.9-6.7-28.1-20.1-32.8-35.8C367.5 139 357.3 128 344 128H328c-13.3 0-23.9 11.2-29.6 23.2C292.6 163.4 280.6 176 256 176s-36.6-12.6-42.4-24.8c-5.7-12-16.3-23.2-29.6-23.2H168c-13.3 0-23.5 11-27.3 23.7c-4.7 15.6-14.9 29.1-32.8 35.8c-17 6.4-35.1-2.7-48-15.5c-6.9-6.9-17.8-8-25.9-2.6z\"],\n \"glasses\": [576, 512, [], \"f530\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L57 260.3c20.5-6.2 48.3-12.3 78.7-12.3c32.3 0 61.8 6.9 82.8 13.5c10.6 3.3 19.3 6.7 25.4 9.2c3.1 1.3 5.5 2.4 7.3 3.2c.9 .4 1.6 .7 2.1 1l.6 .3 .2 .1 .1 0 0 0 0 0s0 0-6.3 12.7h0l6.3-12.7c5.8 2.9 10.4 7.3 13.5 12.7h40.6c3.1-5.3 7.7-9.8 13.5-12.7l6.3 12.7h0c-6.3-12.7-6.3-12.7-6.3-12.7l0 0 0 0 .1 0 .2-.1 .6-.3c.5-.2 1.2-.6 2.1-1c1.8-.8 4.2-1.9 7.3-3.2c6.1-2.6 14.8-5.9 25.4-9.2c21-6.6 50.4-13.5 82.8-13.5c30.4 0 58.2 6.1 78.7 12.3L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l43.9 188c1.7 7.3 2.9 14.7 3.5 22.1c.3 1.9 .5 3.8 .5 5.7v6.7V352v16c0 61.9-50.1 112-112 112H419.7c-59.4 0-108.5-46.4-111.8-105.8L306.6 352H269.4l-1.2 22.2C264.9 433.6 215.8 480 156.3 480H112C50.1 480 0 429.9 0 368V352 310.7 304c0-1.9 .2-3.8 .5-5.7c.6-7.4 1.8-14.8 3.5-22.1l43.9-188C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM64 325.4V368c0 26.5 21.5 48 48 48h44.3c25.5 0 46.5-19.9 47.9-45.3l2.5-45.6c-2.3-.8-4.9-1.7-7.5-2.5c-17.2-5.4-39.9-10.5-63.6-10.5c-23.7 0-46.2 5.1-63.2 10.5c-3.1 1-5.9 1.9-8.5 2.9zM512 368V325.4c-2.6-.9-5.5-1.9-8.5-2.9c-17-5.4-39.5-10.5-63.2-10.5c-23.7 0-46.4 5.1-63.6 10.5c-2.7 .8-5.2 1.7-7.5 2.5l2.5 45.6c1.4 25.4 22.5 45.3 47.9 45.3H464c26.5 0 48-21.5 48-48z\"],\n \"chess-board\": [448, 512, [], \"f43c\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 64v64h64V96h64v64h64V96h64v64H320v64h64v64H320v64h64v64H320V352H256v64H192V352H128v64H64V352h64V288H64V224h64V160H64V96h64zm64 128h64V160H192v64zm0 64V224H128v64h64zm64 0H192v64h64V288zm0 0h64V224H256v64z\"],\n \"building-circle-check\": [640, 512, [], \"e4d2\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM640 368c0-79.5-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144s144-64.5 144-144zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"],\n \"person-chalkboard\": [640, 512, [], \"e53d\", \"M192 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V192h56 64 16c17.7 0 32-14.3 32-32s-14.3-32-32-32H384V64H576V256H384V224H320v48c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v80H243.1 177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32z\"],\n \"mars-stroke-right\": [640, 512, [9897, \"mars-stroke-h\"], \"f22b\", \"M208 368c61.9 0 112-50.1 112-112s-50.1-112-112-112s-112 50.1-112 112s50.1 112 112 112zm174.4-88C370.7 365.8 297.1 432 208 432c-97.2 0-176-78.8-176-176s78.8-176 176-176c89.1 0 162.7 66.2 174.4 152H416V176c0-13.3 10.7-24 24-24s24 10.7 24 24v56h32V176c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V280H464v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H382.4z\"],\n \"hand-back-fist\": [448, 512, [\"hand-rock\"], \"f255\", \"M144 0C117.5 0 96 21.5 96 48V96v28.5V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V149.3l-9 7.5C40.4 169 32 187 32 206V244c0 38 16.9 74 46.1 98.3L128 384v96c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V374.7c46.9-19 80-65 80-118.7V176 160 144c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C350 83.5 329.3 64 304 64c-12.4 0-23.6 4.7-32.1 12.3C270 51.5 249.3 32 224 32c-12.4 0-23.6 4.7-32.1 12.3C190 19.5 169.3 0 144 0z\"],\n \"square-caret-up\": [448, 512, [\"caret-square-up\"], \"f151\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 160c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4H120c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z\"],\n \"cloud-showers-water\": [576, 512, [], \"e4e4\", \"M224 0c38.6 0 71.9 22.8 87.2 55.7C325.7 41.1 345.8 32 368 32c38.7 0 71 27.5 78.4 64H448c35.3 0 64 28.7 64 64s-28.7 64-64 64H128c-35.3 0-64-28.7-64-64s28.7-64 64-64c0-53 43-96 96-96zM140.6 292.3l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2s15.1 21.6 8.2 32.9zm327.8-32.9c11.4 6.8 15 21.6 8.2 32.9l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2zM252.6 292.3l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2s15.1 21.6 8.2 32.9zm103.8-32.9c11.4 6.8 15 21.6 8.2 32.9l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"],\n \"chart-bar\": [512, 512, [\"bar-chart\"], \"f080\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 64H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"hands-bubbles\": [512, 512, [\"hands-wash\"], \"e05e\", \"M384 64c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm80 160c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48zM128 464c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM357.1 157.5c-.3 .7-.7 1.5-1.1 2.2l-17.8 30.9c-11-12.6-27.4-19.8-44.4-19.1l20.7-35.8c6.6-11.5 21.3-15.4 32.8-8.8c10.8 6.2 14.9 19.5 9.9 30.6zm-173.6 47C112.3 227.2 64 293.3 64 368c0 1.5 0 3 .1 4.5C24.3 346.9 0 302.8 0 255.1V131.5c0-13.3 10.7-24 24-24s24 10.7 24 24l0 81.7L164.2 12c6.6-11.5 21.3-15.4 32.8-8.8s15.4 21.3 8.8 32.8l-64 110.9c-2.2 3.8-.9 8.7 2.9 10.9s8.7 .9 10.9-2.9l80-138.6c6.6-11.5 21.3-15.4 32.8-8.8s15.4 21.3 8.8 32.8l-80 138.6c-2.2 3.8-.9 8.7 2.9 10.9s8.7 .9 10.9-2.9L275 76c6.6-11.5 21.3-15.4 32.8-8.8s15.4 21.3 8.8 32.8l-44 76.2-89.1 28.3zM448 483.5c0 12.4-9.4 22.6-21.5 23.9c-.8 .1-1.6 .1-2.5 .1H223.3 216c-22.1 0-42.9-6-60.7-16.5c3-8.5 4.7-17.6 4.7-27c0-38.7-27.5-71-64-78.4c0-.6 0-1.1 0-1.7c0-1.2-.1-2.5-.1-3.7c0-68 44-128.3 108.9-148.9l83.9-26.7c12.6-4 26.1 3 30.1 15.6s-3 26.1-15.6 30.1l-53.8 17.1H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H328c-4.4 0-8 3.6-8 8s3.6 8 8 8H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H328c-4.4 0-8 3.6-8 8s3.6 8 8 8H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H328c-4.4 0-8 3.6-8 8s3.6 8 8 8h96c13.3 0 24 10.7 24 24z\"],\n \"less-than-equal\": [448, 512, [], \"f537\", \"M395.9 93.7c16.4-6.6 24.4-25.2 17.8-41.6s-25.2-24.4-41.6-17.8l-320 128C40 167.1 32 178.9 32 192s8 24.9 20.1 29.7l320 128c16.4 6.6 35-1.4 41.6-17.8s-1.4-35-17.8-41.6L150.2 192 395.9 93.7zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"],\n \"train\": [448, 512, [128646], \"f238\", \"M96 0C43 0 0 43 0 96V352c0 48 35.2 87.7 81.1 94.9l-46 46C28.1 499.9 33.1 512 43 512H82.7c8.5 0 16.6-3.4 22.6-9.4L160 448H288l54.6 54.6c6 6 14.1 9.4 22.6 9.4H405c10 0 15-12.1 7.9-19.1l-46-46c46-7.1 81.1-46.9 81.1-94.9V96c0-53-43-96-96-96H96zM64 96c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96zM224 384c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48z\"],\n \"eye-low-vision\": [640, 512, [\"low-vision\"], \"f2a8\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c5.2-11.8 8-24.8 8-38.5c0-53-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zm223.1 298L83.1 161.5c-11 14.4-20.5 28.7-28.4 42.2l339 265.7c18.7-5.5 36.2-13 52.6-21.8zM34.5 268.3c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c3.1 0 6.1-.1 9.2-.2L33.1 247.8c-1.8 6.8-1.3 14 1.4 20.5z\"],\n \"crow\": [640, 512, [], \"f520\", \"M456 0c-48.6 0-88 39.4-88 88v29.2L12.5 390.6c-14 10.8-16.6 30.9-5.9 44.9s30.9 16.6 44.9 5.9L126.1 384H259.2l46.6 113.1c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3L311.1 384H352c1.1 0 2.1 0 3.2 0l46.6 113.2c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3l-42-102C484.9 354.1 544 280 544 192V128v-8l80.5-20.1c8.6-2.1 13.8-10.8 11.6-19.4C629 52 603.4 32 574 32H523.9C507.7 12.5 483.3 0 456 0zm0 112c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z\"],\n \"sailboat\": [576, 512, [], \"e445\", \"M256 16c0-7 4.5-13.2 11.2-15.3s13.9 .4 17.9 6.1l224 320c3.4 4.9 3.8 11.3 1.1 16.6s-8.2 8.6-14.2 8.6H272c-8.8 0-16-7.2-16-16V16zM212.1 96.5c7 1.9 11.9 8.2 11.9 15.5V336c0 8.8-7.2 16-16 16H80c-5.7 0-11-3-13.8-8s-2.9-11-.1-16l128-224c3.6-6.3 11-9.4 18-7.5zM5.7 404.3C2.8 394.1 10.5 384 21.1 384H554.9c10.6 0 18.3 10.1 15.4 20.3l-4 14.3C550.7 473.9 500.4 512 443 512H133C75.6 512 25.3 473.9 9.7 418.7l-4-14.3z\"],\n \"window-restore\": [512, 512, [], \"f2d2\", \"M432 64H208c-8.8 0-16 7.2-16 16V96H128V80c0-44.2 35.8-80 80-80H432c44.2 0 80 35.8 80 80V304c0 44.2-35.8 80-80 80H416V320h16c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM0 192c0-35.3 28.7-64 64-64H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zm64 32c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H96c-17.7 0-32 14.3-32 32z\"],\n \"square-plus\": [448, 512, [61846, \"plus-square\"], \"f0fe\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM200 344V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"],\n \"torii-gate\": [512, 512, [9961], \"f6a1\", \"M0 80c0 26.5 21.5 48 48 48H64v64h64V128h96v64h64V128h96v64h64V128h16c26.5 0 48-21.5 48-48V0L440.6 23.8C424.3 29.2 407.2 32 390 32H122c-17.2 0-34.3-2.8-50.6-8.2L0 0V80zM64 288V480c0 17.7 14.3 32 32 32s32-14.3 32-32V288H384V480c0 17.7 14.3 32 32 32s32-14.3 32-32V288h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64z\"],\n \"frog\": [576, 512, [], \"f52e\", \"M368 32c41.7 0 75.9 31.8 79.7 72.5l85.6 26.3c25.4 7.8 42.8 31.3 42.8 57.9c0 21.8-11.7 41.9-30.7 52.7L400.8 323.5 493.3 416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H480c-8.5 0-16.6-3.4-22.6-9.4L346.9 360.2c11.7-36 3.2-77.1-25.4-105.7c-40.6-40.6-106.3-40.6-146.9-.1L101 324.4c-6.4 6.1-6.7 16.2-.6 22.6s16.2 6.6 22.6 .6l73.8-70.2 .1-.1 .1-.1c3.5-3.5 7.3-6.6 11.3-9.2c27.9-18.5 65.9-15.4 90.5 9.2c24.7 24.7 27.7 62.9 9 90.9c-2.6 3.8-5.6 7.5-9 10.9L261.8 416H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-35.3 0-64-28.7-64-64C0 249.6 127 112.9 289.3 97.5C296.2 60.2 328.8 32 368 32zm0 104c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z\"],\n \"bucket\": [448, 512, [], \"e4cf\", \"M96 152v8H48v-8C48 68.1 116.1 0 200 0h48c83.9 0 152 68.1 152 152v8H352v-8c0-57.4-46.6-104-104-104H200C142.6 48 96 94.6 96 152zM0 224c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32h-5.1L388.5 469c-2.6 24.4-23.2 43-47.7 43H107.2c-24.6 0-45.2-18.5-47.7-43L37.1 256H32c-17.7 0-32-14.3-32-32z\"],\n \"image\": [512, 512, [], \"f03e\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h96 32H424c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48z\"],\n \"microphone\": [384, 512, [], \"f130\", \"M192 0C139 0 96 43 96 96V256c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V216z\"],\n \"cow\": [640, 512, [128004], \"f6c8\", \"M96 224v32V416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V327.8c9.9 6.6 20.6 12 32 16.1V368c0 8.8 7.2 16 16 16s16-7.2 16-16V351.1c5.3 .6 10.6 .9 16 .9s10.7-.3 16-.9V368c0 8.8 7.2 16 16 16s16-7.2 16-16V343.8c11.4-4 22.1-9.4 32-16.1V416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256l32 32v49.5c0 9.5 2.8 18.7 8.1 26.6L530 427c8.8 13.1 23.5 21 39.3 21c22.5 0 41.9-15.9 46.3-38l20.3-101.6c2.6-13-.3-26.5-8-37.3l-3.9-5.5V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v14.4l-52.9-74.1C496 86.5 452.4 64 405.9 64H272 256 192 144C77.7 64 24 117.7 24 184v54C9.4 249.8 0 267.8 0 288v17.6c0 8 6.4 14.4 14.4 14.4C46.2 320 72 294.2 72 262.4V256 224 184c0-24.3 12.1-45.8 30.5-58.9C98.3 135.9 96 147.7 96 160v64zM592 336c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16zM166.6 166.6c-4.2-4.2-6.6-10-6.6-16c0-12.5 10.1-22.6 22.6-22.6H361.4c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.8-6.6 16l-23.4 23.4C332.2 211.8 302.7 224 272 224s-60.2-12.2-81.9-33.9l-23.4-23.4z\"],\n \"caret-up\": [320, 512, [], \"f0d8\", \"M182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"],\n \"screwdriver\": [512, 512, [129691], \"f54a\", \"M465 7c-8.5-8.5-22-9.4-31.6-2.1l-104 80c-5.9 4.5-9.4 11.6-9.4 19v54.1l-85.6 85.6c6.7 4.2 13 9.3 18.8 15.1s10.9 12.2 15.1 18.8L353.9 192H408c7.5 0 14.5-3.5 19-9.4l80-104c7.4-9.6 6.5-23.1-2.1-31.6L465 7zM121.4 281.4l-112 112c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l112-112c30.2-30.2 30.2-79.1 0-109.3s-79.1-30.2-109.3 0z\"],\n \"folder-closed\": [512, 512, [], \"e185\", \"M448 480H64c-35.3 0-64-28.7-64-64V192H512V416c0 35.3-28.7 64-64 64zm64-320H0V96C0 60.7 28.7 32 64 32H181.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7H448c35.3 0 64 28.7 64 64z\"],\n \"house-tsunami\": [576, 512, [], \"e515\", \"M80.8 136.5C104.9 93.8 152.6 64 209 64c16.9 0 33.1 2.7 48.2 7.7c16.8 5.5 34.9-3.6 40.4-20.4s-3.6-34.9-20.4-40.4C255.8 3.8 232.8 0 209 0C95.2 0 0 88 0 200c0 91.6 53.5 172.1 142.2 194.1c13.4 3.8 27.5 5.9 42.2 5.9c.7 0 1.4 0 2.1-.1c1.8 0 3.7 .1 5.5 .1l0 0c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 325.2 410.9 336 384 336c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0c-22.4 15.5-49.9 26.1-77.4 26.1c0 0-.1 0-.1 0c-12.4 0-24-1.5-34.9-4.3C121.6 320.2 96 287 96 248c0-48.5 39.5-88 88.4-88c13.5 0 26.1 3 37.5 8.3c16 7.5 35.1 .6 42.5-15.5s.6-35.1-15.5-42.5C229.3 101.1 207.4 96 184.4 96c-40 0-76.4 15.4-103.6 40.5zm252-18.1c-8.1 6-12.8 15.5-12.8 25.6V265c1.6 1 3.3 2 4.8 3.1c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c5.8 1.4 11.2 3.4 16.2 6.2c.7-2.7 1.1-5.5 1.1-8.4l-.4-144c0-10-4.7-19.4-12.7-25.5l-95.5-72c-11.4-8.6-27.1-8.6-38.5 0l-96 72zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448z\"],\n \"square-nfi\": [448, 512, [], \"e576\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm75.7 64.6C68.8 162.5 64 168.8 64 176V336c0 8.8 7.2 16 16 16s16-7.2 16-16V233.8l66.3 110.5c3.7 6.2 11.1 9.1 18 7.2s11.7-8.2 11.7-15.4V176c0-8.8-7.2-16-16-16s-16 7.2-16 16V278.2L93.7 167.8c-3.7-6.2-11.1-9.1-18-7.2zM224 176v64 96c0 8.8 7.2 16 16 16s16-7.2 16-16V256h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H256V192h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V336c0 8.8 7.2 16 16 16s16-7.2 16-16V176z\"],\n \"arrow-up-from-ground-water\": [576, 512, [], \"e4b5\", \"M288 352c17.7 0 32-14.3 32-32V109.3l25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 109.3V320c0 17.7 14.3 32 32 32zm-18.5 69.9C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0zM192 192H48c-26.5 0-48 21.5-48 48V425c5.3-3.1 11.2-5.4 17.5-6.9c13.1-3.1 26.7-9.8 37.3-18.6c22.2-18.7 54.3-20.1 78.1-3.4c18 12.4 40.1 20.3 59.1 20.3V192zm384 48c0-26.5-21.5-48-48-48H384V416.5h0c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c6.3 1.5 12.1 3.8 17.5 6.9V240z\"],\n \"martini-glass\": [512, 512, [127864, \"glass-martini-alt\"], \"f57b\", \"M32 0C19.1 0 7.4 7.8 2.4 19.8s-2.2 25.7 6.9 34.9L224 269.3V448H160c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V269.3L502.6 54.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 0 480 0H32zM173.3 128l-64-64H402.7l-64 64H173.3z\"],\n \"rotate-left\": [512, 512, [\"rotate-back\", \"rotate-backward\", \"undo-alt\"], \"f2ea\", \"M48.5 224H40c-13.3 0-24-10.7-24-24V72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8H48.5z\"],\n \"table-columns\": [512, 512, [\"columns\"], \"f0db\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 64V416H224V160H64zm384 0H288V416H448V160z\"],\n \"lemon\": [448, 512, [127819], \"f094\", \"M448 96c0-35.3-28.7-64-64-64c-6.6 0-13 1-19 2.9c-22.5 7-48.1 14.9-71 9c-75.2-19.1-156.4 11-213.7 68.3S-7.2 250.8 11.9 326c5.8 22.9-2 48.4-9 71C1 403 0 409.4 0 416c0 35.3 28.7 64 64 64c6.6 0 13-1 19.1-2.9c22.5-7 48.1-14.9 71-9c75.2 19.1 156.4-11 213.7-68.3s87.5-138.5 68.3-213.7c-5.8-22.9 2-48.4 9-71c1.9-6 2.9-12.4 2.9-19.1zM212.5 127.4c-54.6 16-101.1 62.5-117.1 117.1C92.9 253 84 257.8 75.5 255.4S62.2 244 64.6 235.5c19.1-65.1 73.7-119.8 138.9-138.9c8.5-2.5 17.4 2.4 19.9 10.9s-2.4 17.4-10.9 19.9z\"],\n \"head-side-mask\": [512, 512, [], \"e063\", \"M0 224.2c0-22.2 3.2-43.6 9.2-63.9l227 165.1C228.5 337.8 224 352.4 224 368V512H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zm258.6 77.9L21 129.3C56.7 53 134.2 0 224 0h32c95.2 0 174.2 69.3 189.4 160.1c2.2 13 6.7 25.7 15 36.1l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 4.1-.6 8.1-1.6 11.9H304c-16.9 0-32.5 5.2-45.4 14.1zM352 224c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zM256 512V368c0-26.5 21.5-48 48-48H512l-16 48H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H485.3l-10.7 32H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H464l-1.4 4.2c-8.7 26.1-33.2 43.8-60.7 43.8H256z\"],\n \"handshake\": [640, 512, [], \"f2b5\", \"M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48V352h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123zM96 128H0V352c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V128zM48 352c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16zM544 128V352c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V128H544zm64 208c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16z\"],\n \"gem\": [512, 512, [128142], \"f3a5\", \"M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8H376c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.6 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5l57.4 95.6L63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8L301.5 179.8l57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z\"],\n \"dolly\": [640, 512, [\"dolly-box\"], \"f472\", \"M32 32C32 14.3 46.3 0 64 0h72.9c27.5 0 52 17.6 60.7 43.8L289.7 320c30.1 .5 56.8 14.9 74 37l202.1-67.4c16.8-5.6 34.9 3.5 40.5 20.2s-3.5 34.9-20.2 40.5L384 417.7c-.9 52.2-43.5 94.3-96 94.3c-53 0-96-43-96-96c0-30.8 14.5-58.2 37-75.8L136.9 64H64C46.3 64 32 49.7 32 32zM276.8 134.5c-5.5-16.8 3.7-34.9 20.5-40.3L343 79.4l19.8 60.9 60.9-19.8L403.8 59.6l45.7-14.8c16.8-5.5 34.9 3.7 40.3 20.5l49.4 152.2c5.5 16.8-3.7 34.9-20.5 40.3L366.5 307.2c-16.8 5.5-34.9-3.7-40.3-20.5L276.8 134.5z\"],\n \"smoking\": [640, 512, [128684], \"f48d\", \"M448 32V43c0 38.2 15.2 74.8 42.2 101.8l21 21c21 21 32.8 49.5 32.8 79.2v11c0 17.7-14.3 32-32 32s-32-14.3-32-32V245c0-12.7-5.1-24.9-14.1-33.9l-21-21C405.9 151.1 384 98.1 384 43V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM576 256V245c0-38.2-15.2-74.8-42.2-101.8l-21-21c-21-21-32.8-49.5-32.8-79.2V32c0-17.7 14.3-32 32-32s32 14.3 32 32V43c0 12.7 5.1 24.9 14.1 33.9l21 21c39 39 60.9 91.9 60.9 147.1v11c0 17.7-14.3 32-32 32s-32-14.3-32-32zM0 416c0-35.3 28.7-64 64-64H416c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V416zm224 0v32H384V416H224zm288-64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384c0-17.7 14.3-32 32-32z\"],\n \"minimize\": [512, 512, [\"compress-arrows-alt\"], \"f78c\", \"M456 224H312c-13.3 0-24-10.7-24-24V56c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l40 40L442.3 5.7C446 2 450.9 0 456 0s10 2 13.7 5.7l36.7 36.7C510 46 512 50.9 512 56s-2 10-5.7 13.7L433 143l40 40c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8zm0 64c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-40 40 73.4 73.4c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7C466 510 461.1 512 456 512s-10-2-13.7-5.7L369 433l-40 40c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V312c0-13.3 10.7-24 24-24H456zm-256 0c13.3 0 24 10.7 24 24V456c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-40-40L69.7 506.3C66 510 61.1 512 56 512s-10-2-13.7-5.7L5.7 469.7C2 466 0 461.1 0 456s2-10 5.7-13.7L79 369 39 329c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8H200zM56 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l40-40L5.7 69.7C2 66 0 61.1 0 56s2-10 5.7-13.7L42.3 5.7C46 2 50.9 0 56 0s10 2 13.7 5.7L143 79l40-40c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2V200c0 13.3-10.7 24-24 24H56z\"],\n \"monument\": [384, 512, [], \"f5a6\", \"M180.7 4.7c6.2-6.2 16.4-6.2 22.6 0l80 80c2.5 2.5 4.1 5.8 4.6 9.3l40.2 322H55.9L96.1 94c.4-3.5 2-6.8 4.6-9.3l80-80zM152 272c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zM32 448H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"snowplow\": [640, 512, [], \"f7d2\", \"M298.9 64l68.6 160H256l-64-64V64H298.9zM445.1 242.7l-87.4-204C347.6 15.3 324.5 0 298.9 0H176c-26.5 0-48 21.5-48 48V160H96c-17.7 0-32 14.3-32 32V298.8C26.2 316.8 0 355.3 0 400c0 61.9 50.1 112 112 112H368c61.9 0 112-50.1 112-112c0-17.2-3.9-33.5-10.8-48H512v50.7c0 17 6.7 33.3 18.7 45.3l54.6 54.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L576 402.7V320 235.2L633 164c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5l-57 71.2c-9.1 11.3-14 25.4-14 40V288H448V256.7c.1-2.4-.2-4.8-.6-7.1s-1.2-4.7-2.2-6.8zM368 352c26.5 0 48 21.5 48 48s-21.5 48-48 48H112c-26.5 0-48-21.5-48-48s21.5-48 48-48H368zM144 400c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24zm216 24c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zm-56-24c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24zM200 424c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z\"],\n \"angles-right\": [512, 512, [187, \"angle-double-right\"], \"f101\", \"M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 265.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256 73.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z\"],\n \"cannabis\": [512, 512, [], \"f55f\", \"M256 0c5.3 0 10.3 2.7 13.3 7.1c15.8 23.5 36.7 63.7 49.2 109c7.2 26.4 11.8 55.2 10.4 84c11.5-8.8 23.7-16.7 35.8-23.6c41-23.3 84.4-36.9 112.2-42.5c5.2-1 10.7 .6 14.4 4.4s5.4 9.2 4.4 14.5c-5.6 27.7-19.3 70.9-42.7 111.7c-9.1 15.9-19.9 31.7-32.4 46.3c27.8 6.6 52.4 17.3 67.2 25.5c5.1 2.8 8.2 8.2 8.2 14s-3.2 11.2-8.2 14c-15.2 8.4-40.9 19.5-69.8 26.1c-20.2 4.6-42.9 7.2-65.2 4.6l8.3 33.1c1.5 6.1-.6 12.4-5.5 16.4s-11.6 4.6-17.2 1.9L280 417.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V417.2l-58.5 29.1c-5.6 2.8-12.3 2.1-17.2-1.9s-7-10.3-5.5-16.4l8.3-33.1c-22.2 2.6-45 0-65.2-4.6c-28.9-6.6-54.6-17.6-69.8-26.1c-5.1-2.8-8.2-8.2-8.2-14s3.2-11.2 8.2-14c14.8-8.2 39.4-18.8 67.2-25.5C78.9 296.3 68.1 280.5 59 264.6c-23.4-40.8-37.1-84-42.7-111.7c-1.1-5.2 .6-10.7 4.4-14.5s9.2-5.4 14.4-4.4c27.9 5.5 71.2 19.2 112.2 42.5c12.1 6.9 24.3 14.7 35.8 23.6c-1.4-28.7 3.1-57.6 10.4-84c12.5-45.3 33.4-85.5 49.2-109c3-4.4 8-7.1 13.3-7.1z\"],\n \"circle-play\": [512, 512, [61469, \"play-circle\"], \"f144\", \"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM188.3 147.1c-7.6 4.2-12.3 12.3-12.3 20.9V344c0 8.7 4.7 16.7 12.3 20.9s16.8 4.1 24.3-.5l144-88c7.1-4.4 11.5-12.1 11.5-20.5s-4.4-16.1-11.5-20.5l-144-88c-7.4-4.5-16.7-4.7-24.3-.5z\"],\n \"tablets\": [640, 512, [], \"f490\", \"M614.3 247c16.3-25 25.7-54.9 25.7-87C640 71.6 568.4 0 480 0c-32.1 0-61.9 9.4-87 25.7c-7.9 5.2-8.5 16.2-1.8 22.9L591.4 248.8c6.7 6.7 17.8 6.2 22.9-1.8zM567 294.3c7.9-5.2 8.5-16.2 1.8-22.9L368.6 71.2c-6.7-6.7-17.8-6.2-22.9 1.8c-16.3 25-25.7 54.9-25.7 87c0 88.4 71.6 160 160 160c32.1 0 61.9-9.4 87-25.7zM301.5 368H18.5c-9.5 0-16.9 8.2-15 17.5C18.9 457.8 83.1 512 160 512s141.1-54.2 156.5-126.5c2-9.3-5.5-17.5-15-17.5zm0-32c9.5 0 16.9-8.2 15-17.5C301.1 246.2 236.9 192 160 192S18.9 246.2 3.5 318.5c-2 9.3 5.5 17.5 15 17.5H301.5z\"],\n \"ethernet\": [512, 512, [], \"f796\", \"M0 224V416c0 17.7 14.3 32 32 32H96V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H448V160c0-17.7-14.3-32-32-32H384V96c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32v32H96c-17.7 0-32 14.3-32 32v32H32c-17.7 0-32 14.3-32 32z\"],\n \"euro-sign\": [320, 512, [8364, \"eur\", \"euro\"], \"f153\", \"M48.1 240c-.1 2.7-.1 5.3-.1 8v16c0 2.7 0 5.3 .1 8H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H60.3C89.9 419.9 170 480 264 480h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H264c-57.9 0-108.2-32.4-133.9-80H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H112.2c-.1-2.6-.2-5.3-.2-8V248c0-2.7 .1-5.4 .2-8H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H130.1c25.7-47.6 76-80 133.9-80h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H264C170 32 89.9 92.1 60.3 176H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48.1z\"],\n \"chair\": [448, 512, [129681], \"f6c0\", \"M248 48V256h48V58.7c23.9 13.8 40 39.7 40 69.3V256h48V128C384 57.3 326.7 0 256 0H192C121.3 0 64 57.3 64 128V256h48V128c0-29.6 16.1-55.5 40-69.3V256h48V48h48zM48 288c-12.1 0-23.2 6.8-28.6 17.7l-16 32c-5 9.9-4.4 21.7 1.4 31.1S20.9 384 32 384l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32V384H352v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384c11.1 0 21.4-5.7 27.2-15.2s6.4-21.2 1.4-31.1l-16-32C423.2 294.8 412.1 288 400 288H48z\"],\n \"circle-check\": [512, 512, [61533, \"check-circle\"], \"f058\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"],\n \"circle-stop\": [512, 512, [62094, \"stop-circle\"], \"f28d\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM192 160H320c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\"],\n \"compass-drafting\": [512, 512, [\"drafting-compass\"], \"f568\", \"M352 96c0 14.3-3.1 27.9-8.8 40.2L396 227.4c-23.7 25.3-54.2 44.1-88.5 53.6L256 192h0 0l-68 117.5c21.5 6.8 44.3 10.5 68.1 10.5c70.7 0 133.8-32.7 174.9-84c11.1-13.8 31.2-16 45-5s16 31.2 5 45C428.1 341.8 347 384 256 384c-35.4 0-69.4-6.4-100.7-18.1L98.7 463.7C94 471.8 87 478.4 78.6 482.6L23.2 510.3c-5 2.5-10.9 2.2-15.6-.7S0 501.5 0 496V440.6c0-8.4 2.2-16.7 6.5-24.1l60-103.7C53.7 301.6 41.8 289.3 31.2 276c-11.1-13.8-8.8-33.9 5-45s33.9-8.8 45 5c5.7 7.1 11.8 13.8 18.2 20.1l69.4-119.9c-5.6-12.2-8.8-25.8-8.8-40.2c0-53 43-96 96-96s96 43 96 96zm21 297.9c32.6-12.8 62.5-30.8 88.9-52.9l43.7 75.5c4.2 7.3 6.5 15.6 6.5 24.1V496c0 5.5-2.9 10.7-7.6 13.6s-10.6 3.2-15.6 .7l-55.4-27.7c-8.4-4.2-15.4-10.8-20.1-18.9L373 393.9zM256 128c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"plate-wheat\": [512, 512, [], \"e55a\", \"M176 32c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zM56 64h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zM24 136H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 96c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM272 48c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48zM400 32c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zm80 160v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM352 176c8.8 0 16 7.2 16 16v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80zm-96 16v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM3.5 347.6C1.6 332.9 13 320 27.8 320H484.2c14.8 0 26.2 12.9 24.4 27.6C502.3 397.8 464.2 437 416 446v2c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32v-2c-48.2-9-86.3-48.2-92.5-98.4z\"],\n \"icicles\": [512, 512, [], \"f7ad\", \"M75.8 304.8L1 35.7c-.7-2.5-1-5-1-7.5C0 12.6 12.6 0 28.2 0H482.4C498.8 0 512 13.2 512 29.6c0 1.6-.1 3.3-.4 4.9L434.6 496.1c-1.5 9.2-9.5 15.9-18.8 15.9c-9.2 0-17.1-6.6-18.7-15.6L336 160 307.2 303.9c-1.9 9.3-10.1 16.1-19.6 16.1c-9.2 0-17.2-6.2-19.4-15.1L240 192 210.6 368.2c-1.5 9.1-9.4 15.8-18.6 15.8s-17.1-6.7-18.6-15.8L144 192 115.9 304.3c-2.3 9.2-10.6 15.7-20.1 15.7c-9.3 0-17.5-6.2-20-15.2z\"],\n \"person-shelter\": [512, 512, [], \"e54f\", \"M271.9 4.2c-9.8-5.6-21.9-5.6-31.8 0l-224 128C6.2 137.9 0 148.5 0 160V480c0 17.7 14.3 32 32 32s32-14.3 32-32V178.6L256 68.9 448 178.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-11.5-6.2-22.1-16.1-27.8l-224-128zM256 208c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40zm-8 280V400h16v88c0 13.3 10.7 24 24 24s24-10.7 24-24V313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H246.2c-32.4 0-62.1 17.8-77.5 46.3l-37.9 70.3c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L200 313.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24z\"],\n \"neuter\": [384, 512, [9906], \"f22c\", \"M304 176c0 61.9-50.1 112-112 112s-112-50.1-112-112s50.1-112 112-112s112 50.1 112 112zM224 349.1c81.9-15 144-86.8 144-173.1C368 78.8 289.2 0 192 0S16 78.8 16 176c0 86.3 62.1 158.1 144 173.1V480c0 17.7 14.3 32 32 32s32-14.3 32-32V349.1z\"],\n \"id-badge\": [384, 512, [], \"f2c1\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm96 320h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm96-96c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM144 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"marker\": [512, 512, [], \"f5a1\", \"M481 31C445.1-4.8 386.9-4.8 351 31l-15 15L322.9 33C294.8 4.9 249.2 4.9 221.1 33L135 119c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L255 66.9c9.4-9.4 24.6-9.4 33.9 0L302.1 80 186.3 195.7 316.3 325.7 481 161c35.9-35.9 35.9-94.1 0-129.9zM293.7 348.3L163.7 218.3 99.5 282.5c-48 48-80.8 109.2-94.1 175.8l-5 25c-1.6 7.9 .9 16 6.6 21.7s13.8 8.1 21.7 6.6l25-5c66.6-13.3 127.8-46.1 175.8-94.1l64.2-64.2z\"],\n \"face-laugh-beam\": [512, 512, [128513, \"laugh-beam\"], \"f59a\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM101.6 314c-3.7-13.7 7.5-26 21.7-26H388.7c14.2 0 25.4 12.3 21.7 26C392 382 329.8 432 256 432s-136-50-154.4-118zm116-101.2l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"],\n \"helicopter-symbol\": [512, 512, [], \"e502\", \"M445.3 224H510C495.6 108.2 403.8 16.4 288 2V66.7C368.4 80.1 431.9 143.6 445.3 224zM510 288H445.3C431.9 368.4 368.4 431.9 288 445.4V510c115.8-14.4 207.6-106.2 222-222zM2 288C16.4 403.8 108.2 495.6 224 510V445.4C143.6 431.9 80.1 368.4 66.7 288H2zm0-64H66.7C80.1 143.6 143.6 80.1 224 66.7V2C108.2 16.4 16.4 108.2 2 224zm206-64c0-17.7-14.3-32-32-32s-32 14.3-32 32V352c0 17.7 14.3 32 32 32s32-14.3 32-32V288h96v64c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H208V160z\"],\n \"universal-access\": [512, 512, [], \"f29a\", \"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM161.5 169.9c-12.2-5.2-26.3 .4-31.5 12.6s.4 26.3 12.6 31.5l11.9 5.1c17.3 7.4 35.2 12.9 53.6 16.3v50.1c0 4.3-.7 8.6-2.1 12.6l-28.7 86.1c-4.2 12.6 2.6 26.2 15.2 30.4s26.2-2.6 30.4-15.2l24.4-73.2c1.3-3.8 4.8-6.4 8.8-6.4s7.6 2.6 8.8 6.4l24.4 73.2c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-28.7-86.1c-1.4-4.1-2.1-8.3-2.1-12.6V235.5c18.4-3.5 36.3-8.9 53.6-16.3l11.9-5.1c12.2-5.2 17.8-19.3 12.6-31.5s-19.3-17.8-31.5-12.6L338.7 175c-26.1 11.2-54.2 17-82.7 17s-56.5-5.8-82.7-17l-11.9-5.1zM256 160c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40z\"],\n \"circle-chevron-up\": [512, 512, [\"chevron-circle-up\"], \"f139\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM377 271c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 167c9.4-9.4 24.6-9.4 33.9 0L377 271z\"],\n \"lari-sign\": [384, 512, [], \"e1c8\", \"M144 32c17.7 0 32 14.3 32 32V96.7c5.3-.4 10.6-.7 16-.7s10.7 .2 16 .7V64c0-17.7 14.3-32 32-32s32 14.3 32 32v49.4c54.9 25.2 95.8 75.5 108.2 136.2c3.5 17.3-7.7 34.2-25 37.7s-34.2-7.7-37.7-25c-6.1-29.9-22.5-55.9-45.4-74.3V256c0 17.7-14.3 32-32 32s-32-14.3-32-32V161c-5.2-.7-10.6-1-16-1s-10.8 .3-16 1v95c0 17.7-14.3 32-32 32s-32-14.3-32-32V188.1C82.7 211.5 64 247.6 64 288c0 70.7 57.3 128 128 128H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H192 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48.9C18.5 382 0 337.2 0 288c0-77.5 45.9-144.3 112-174.6V64c0-17.7 14.3-32 32-32z\"],\n \"volcano\": [512, 512, [127755], \"f770\", \"M160 144c-35.3 0-64-28.7-64-64s28.7-64 64-64c15.7 0 30 5.6 41.2 15C212.4 12.4 232.7 0 256 0s43.6 12.4 54.8 31C322 21.6 336.3 16 352 16c35.3 0 64 28.7 64 64s-28.7 64-64 64c-14.7 0-28.3-5-39.1-13.3l-32 48C275.3 187 266 192 256 192s-19.3-5-24.9-13.3l-32-48C188.3 139 174.7 144 160 144zM144 352l48.4-24.2c10.2-5.1 21.6-7.8 33-7.8c19.6 0 38.4 7.8 52.2 21.6l32.5 32.5c6.3 6.3 14.9 9.9 23.8 9.9c11.3 0 21.8-5.6 28-15l9.7-14.6-59-66.3c-9.1-10.2-22.2-16.1-35.9-16.1H235.1c-13.7 0-26.8 5.9-35.9 16.1l-59.9 67.4L144 352zm19.4-95.8c18.2-20.5 44.3-32.2 71.8-32.2h41.8c27.4 0 53.5 11.7 71.8 32.2l150.2 169c8.5 9.5 13.2 21.9 13.2 34.7c0 28.8-23.4 52.2-52.2 52.2H52.2C23.4 512 0 488.6 0 459.8c0-12.8 4.7-25.1 13.2-34.7l150.2-169z\"],\n \"person-walking-dashed-line-arrow-right\": [640, 512, [], \"e553\", \"M208 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224H384c-17.7 0-32 14.3-32 32s14.3 32 32 32H530.7l-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80zM392 0c-13.3 0-24 10.7-24 24V72c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zm24 152c0-13.3-10.7-24-24-24s-24 10.7-24 24v16c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM392 320c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24s24-10.7 24-24V344c0-13.3-10.7-24-24-24zm24 120c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V440z\"],\n \"sterling-sign\": [384, 512, [163, \"gbp\", \"pound-sign\"], \"f154\", \"M144 160.4c0-35.5 28.8-64.4 64.4-64.4c6.9 0 13.8 1.1 20.4 3.3l81.2 27.1c16.8 5.6 34.9-3.5 40.5-20.2s-3.5-34.9-20.2-40.5L249 38.6c-13.1-4.4-26.8-6.6-40.6-6.6C137.5 32 80 89.5 80 160.4V224H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H80v44.5c0 17.4-4.7 34.5-13.7 49.4L36.6 431.5c-5.9 9.9-6.1 22.2-.4 32.2S52.5 480 64 480H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H120.5l.7-1.1C136.1 390 144 361.5 144 332.5V288H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H144V160.4z\"],\n \"viruses\": [640, 512, [], \"e076\", \"M192 0c13.3 0 24 10.7 24 24V37.5c0 35.6 43.1 53.5 68.3 28.3l9.5-9.5c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-9.5 9.5C293 124.9 310.9 168 346.5 168H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H346.5c-35.6 0-53.5 43.1-28.3 68.3l9.5 9.5c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-9.5-9.5C259.1 293 216 310.9 216 346.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V346.5c0-35.6-43.1-53.5-68.3-28.3l-9.5 9.5c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l9.5-9.5C91 259.1 73.1 216 37.5 216H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H37.5c35.6 0 53.5-43.1 28.3-68.3l-9.5-9.5c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l9.5 9.5C124.9 91 168 73.1 168 37.5V24c0-13.3 10.7-24 24-24zm48 224c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16zm-48-64c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm320 80c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C574.5 312.1 591 352 624 352c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C551.9 446.5 512 463 512 496c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C417.5 423.9 401 384 368 384c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C440.1 289.5 480 273 480 240c0-8.8 7.2-16 16-16s16 7.2 16 16zm0 112c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z\"],\n \"square-person-confined\": [448, 512, [], \"e577\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM256 144c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM240 248c0-30.9 25.1-56 56-56s56 25.1 56 56V350.1c0 36.4-29.5 65.9-65.9 65.9c-17.5 0-34.3-6.9-46.6-19.3L184.8 342l-28.1 56.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l48-96c4.6-9.2 13.3-15.6 23.5-17.3s20.5 1.7 27.8 9L240 306.7V248z\"],\n \"user-tie\": [448, 512, [], \"f508\", \"M224 0c70.7 0 128 57.3 128 128s-57.3 128-128 128s-128-57.3-128-128S153.3 0 224 0zM209.1 359.2l-18.6-31c-6.4-10.7 1.3-24.2 13.7-24.2H224h19.7c12.4 0 20.1 13.6 13.7 24.2l-18.6 31 33.4 123.9 39.5-161.2c77.2 12 136.3 78.8 136.3 159.4c0 17-13.8 30.7-30.7 30.7H265.1 182.9 30.7C13.8 512 0 498.2 0 481.3c0-80.6 59.1-147.4 136.3-159.4l39.5 161.2 33.4-123.9z\"],\n \"arrow-down-long\": [384, 512, [\"long-arrow-down\"], \"f175\", \"M224 402.7V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V402.7L86.6 329.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 402.7z\"],\n \"tent-arrow-down-to-line\": [640, 512, [], \"e57e\", \"M241.8 111.9c8.9 9.9 8.1 25-1.8 33.9l-80 72c-9.1 8.2-23 8.2-32.1 0l-80-72c-9.9-8.9-10.7-24-1.8-33.9s24-10.7 33.9-1.8l39.9 36L120 24c0-13.3 10.7-24 24-24s24 10.7 24 24l0 122.1 39.9-36c9.9-8.9 25-8.1 33.9 1.8zm122.8 22.6c11.5-8.7 27.3-8.7 38.8 0l168 128c6.6 5 11 12.5 12.3 20.7l24 160 .7 4.7c17.5 .2 31.6 14.4 31.6 32c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H159.6l.7-4.7 24-160c1.2-8.2 5.6-15.7 12.3-20.7l168-128zM384 448h76.8L384 320V448z\"],\n \"certificate\": [512, 512, [], \"f0a3\", \"M211 7.3C205 1 196-1.4 187.6 .8s-14.9 8.9-17.1 17.3L154.7 80.6l-62-17.5c-8.4-2.4-17.4 0-23.5 6.1s-8.5 15.1-6.1 23.5l17.5 62L18.1 170.6c-8.4 2.1-15 8.7-17.3 17.1S1 205 7.3 211l46.2 45L7.3 301C1 307-1.4 316 .8 324.4s8.9 14.9 17.3 17.1l62.5 15.8-17.5 62c-2.4 8.4 0 17.4 6.1 23.5s15.1 8.5 23.5 6.1l62-17.5 15.8 62.5c2.1 8.4 8.7 15 17.1 17.3s17.3-.2 23.4-6.4l45-46.2 45 46.2c6.1 6.2 15 8.7 23.4 6.4s14.9-8.9 17.1-17.3l15.8-62.5 62 17.5c8.4 2.4 17.4 0 23.5-6.1s8.5-15.1 6.1-23.5l-17.5-62 62.5-15.8c8.4-2.1 15-8.7 17.3-17.1s-.2-17.3-6.4-23.4l-46.2-45 46.2-45c6.2-6.1 8.7-15 6.4-23.4s-8.9-14.9-17.3-17.1l-62.5-15.8 17.5-62c2.4-8.4 0-17.4-6.1-23.5s-15.1-8.5-23.5-6.1l-62 17.5L341.4 18.1c-2.1-8.4-8.7-15-17.1-17.3S307 1 301 7.3L256 53.5 211 7.3z\"],\n \"reply-all\": [576, 512, [\"mail-reply-all\"], \"f122\", \"M209.4 39.5c-9.1-9.6-24.3-10-33.9-.9L33.8 173.2c-19.9 18.9-19.9 50.7 0 69.6L175.5 377.4c9.6 9.1 24.8 8.7 33.9-.9s8.7-24.8-.9-33.9L66.8 208 208.5 73.4c9.6-9.1 10-24.3 .9-33.9zM352 64c0-12.6-7.4-24.1-19-29.2s-25-3-34.4 5.4l-160 144c-6.7 6.1-10.6 14.7-10.6 23.8s3.9 17.7 10.6 23.8l160 144c9.4 8.5 22.9 10.6 34.4 5.4s19-16.6 19-29.2V288h32c53 0 96 43 96 96c0 30.4-12.8 47.9-22.2 56.7c-5.5 5.1-9.8 12-9.8 19.5c0 10.9 8.8 19.7 19.7 19.7c2.8 0 5.6-.6 8.1-1.9C494.5 467.9 576 417.3 576 304c0-97.2-78.8-176-176-176H352V64z\"],\n \"suitcase\": [512, 512, [129523], \"f0f2\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96v32V480H128V128 96zM64 96H96V480H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64zM448 480H416V96h32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64z\"],\n \"person-skating\": [448, 512, [\"skating\"], \"f7c5\", \"M448 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM128 128c0-17.7 14.3-32 32-32H319.4c43.6 0 64.6 53.4 32.8 83.1l-74.4 69.4 60.2 60.2c9 9 14.1 21.2 14.1 33.9V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V349.3l-77.9-77.8c-26.6-26.6-24.6-70.3 4.3-94.4l20.4-17H160c-17.7 0-32-14.3-32-32zM81.4 353.4l86.9-86.9c4.6 10 11 19.3 19.3 27.5l21.8 21.8-82.7 82.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3zm322.5 95.1c8.6 2.1 13.8 10.8 11.6 19.4l-.4 1.7c-6.2 24.9-28.6 42.4-54.3 42.4H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h88.8c11 0 20.6-7.5 23.3-18.2l.4-1.7c2.1-8.6 10.8-13.8 19.4-11.6zM135.2 478.3l-6.2 3.1c-21.6 10.8-47.6 6.6-64.6-10.5L4.7 411.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l59.6 59.6c7.3 7.3 18.5 9.1 27.7 4.5l6.2-3.1c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5z\"],\n \"filter-circle-dollar\": [576, 512, [\"funnel-dollar\"], \"f662\", \"M3.9 22.9C10.5 8.9 24.5 0 40 0H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L396.4 195.6C316.2 212.1 256 283 256 368c0 27.4 6.3 53.4 17.5 76.5c-1.6-.8-3.2-1.8-4.7-2.9l-64-48c-8.1-6-12.8-15.5-12.8-25.6V288.9L9 65.3C-.7 53.4-2.8 36.8 3.9 22.9zM576 368c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM408.8 335.4c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V288c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7 2.3 15.1 4.8 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V438.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1c-.1-1.9 .3-2.9 .8-3.6z\"],\n \"camera-retro\": [512, 512, [128247], \"f083\", \"M220.6 121.2L271.1 96 448 96v96H333.2c-21.9-15.1-48.5-24-77.2-24s-55.2 8.9-77.2 24H64V128H192c9.9 0 19.7-2.3 28.6-6.8zM0 128V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H271.1c-9.9 0-19.7 2.3-28.6 6.8L192 64H160V48c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16l0 16C28.7 64 0 92.7 0 128zM344 304c0 48.6-39.4 88-88 88s-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88z\"],\n \"circle-arrow-down\": [512, 512, [\"arrow-circle-down\"], \"f0ab\", \"M256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256S397.4 0 256 0zM127 297c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l71 71L232 120c0-13.3 10.7-24 24-24s24 10.7 24 24l0 214.1 71-71c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L273 409c-9.4 9.4-24.6 9.4-33.9 0L127 297z\"],\n \"file-import\": [512, 512, [\"arrow-right-to-file\"], \"f56f\", \"M128 64c0-35.3 28.7-64 64-64H352V128c0 17.7 14.3 32 32 32H512V448c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64V336H302.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H128V64zm0 224v48H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H128zM512 128H384V0L512 128z\"],\n \"square-arrow-up-right\": [448, 512, [\"external-link-square\"], \"f14c\", \"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM160 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h94.1L119 327c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V328c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24H160z\"],\n \"box-open\": [640, 512, [], \"f49e\", \"M58.9 42.1c3-6.1 9.6-9.6 16.3-8.7L320 64 564.8 33.4c6.7-.8 13.3 2.7 16.3 8.7l41.7 83.4c9 17.9-.6 39.6-19.8 45.1L439.6 217.3c-13.9 4-28.8-1.9-36.2-14.3L320 64 236.6 203c-7.4 12.4-22.3 18.3-36.2 14.3L37.1 170.6c-19.3-5.5-28.8-27.2-19.8-45.1L58.9 42.1zM321.1 128l54.9 91.4c14.9 24.8 44.6 36.6 72.5 28.6L576 211.6v167c0 22-15 41.2-36.4 46.6l-204.1 51c-10.2 2.6-20.9 2.6-31 0l-204.1-51C79 419.7 64 400.5 64 378.5v-167L191.6 248c27.8 8 57.6-3.8 72.5-28.6L318.9 128h2.2z\"],\n \"scroll\": [576, 512, [128220], \"f70e\", \"M0 80v48c0 17.7 14.3 32 32 32H48 96V80c0-26.5-21.5-48-48-48S0 53.5 0 80zM112 32c10 13.4 16 30 16 48V384c0 35.3 28.7 64 64 64s64-28.7 64-64v-5.3c0-32.4 26.3-58.7 58.7-58.7H480V128c0-53-43-96-96-96H112zM464 480c61.9 0 112-50.1 112-112c0-8.8-7.2-16-16-16H314.7c-14.7 0-26.7 11.9-26.7 26.7V384c0 53-43 96-96 96H368h96z\"],\n \"spa\": [576, 512, [], \"f5bb\", \"M183.1 235.3c33.7 20.7 62.9 48.1 85.8 80.5c7 9.9 13.4 20.3 19.1 31c5.7-10.8 12.1-21.1 19.1-31c22.9-32.4 52.1-59.8 85.8-80.5C437.6 207.8 490.1 192 546 192h9.9c11.1 0 20.1 9 20.1 20.1C576 360.1 456.1 480 308.1 480H288 267.9C119.9 480 0 360.1 0 212.1C0 201 9 192 20.1 192H30c55.9 0 108.4 15.8 153.1 43.3zM301.5 37.6c15.7 16.9 61.1 71.8 84.4 164.6c-38 21.6-71.4 50.8-97.9 85.6c-26.5-34.8-59.9-63.9-97.9-85.6c23.2-92.8 68.6-147.7 84.4-164.6C278 33.9 282.9 32 288 32s10 1.9 13.5 5.6z\"],\n \"location-pin-lock\": [512, 512, [], \"e51f\", \"M215.7 499.2c11-13.8 25.1-31.7 40.3-52.3V352c0-23.7 12.9-44.4 32-55.4V272c0-55.6 40.5-101.7 93.6-110.5C367 70 287.7 0 192 0C86 0 0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 256c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zm208-16c17.7 0 32 14.3 32 32v48H368V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"],\n \"pause\": [320, 512, [9208], \"f04c\", \"M48 64C21.5 64 0 85.5 0 112V400c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H48zm192 0c-26.5 0-48 21.5-48 48V400c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H240z\"],\n \"hill-avalanche\": [640, 512, [], \"e507\", \"M471.7 401.9c34.2 23.1 81.1 19.5 111.4-10.8c34.4-34.4 34.4-90.1 0-124.4c-27.8-27.8-69.5-33.1-102.6-16c-11.8 6.1-16.4 20.6-10.3 32.3s20.6 16.4 32.3 10.3c15.1-7.8 34-5.3 46.6 7.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-81.7-81.7C433.2 261.3 448 236.4 448 208c0-33.9-21.1-62.9-50.9-74.5c1.9-6.8 2.9-14 2.9-21.5c0-44.2-35.8-80-80-80c-27.3 0-51.5 13.7-65.9 34.6C248.3 46.6 229.9 32 208 32c-26.5 0-48 21.5-48 48c0 4 .5 7.9 1.4 11.6L471.7 401.9zM512 64c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm0 128c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zM100.3 87C75.1 61.8 32 79.7 32 115.3V432c0 44.2 35.8 80 80 80H428.7c35.6 0 53.5-43.1 28.3-68.3L100.3 87z\"],\n \"temperature-empty\": [320, 512, [\"temperature-0\", \"thermometer-0\", \"thermometer-empty\"], \"f2cb\", \"M112 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C233.8 332.6 240 349.5 240 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5V112zM160 0C98.1 0 48 50.2 48 112V276.5c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C27.2 304.2 16 334.8 16 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.3-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C272 50.2 221.9 0 160 0zm0 416c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48z\"],\n \"bomb\": [512, 512, [128163], \"f1e2\", \"M459.1 52.4L442.6 6.5C440.7 2.6 436.5 0 432.1 0s-8.5 2.6-10.4 6.5L405.2 52.4l-46 16.8c-4.3 1.6-7.3 5.9-7.2 10.4c0 4.5 3 8.7 7.2 10.2l45.7 16.8 16.8 45.8c1.5 4.4 5.8 7.5 10.4 7.5s8.9-3.1 10.4-7.5l16.5-45.8 45.7-16.8c4.2-1.5 7.2-5.7 7.2-10.2c0-4.6-3-8.9-7.2-10.4L459.1 52.4zm-132.4 53c-12.5-12.5-32.8-12.5-45.3 0l-2.9 2.9C256.5 100.3 232.7 96 208 96C93.1 96 0 189.1 0 304S93.1 512 208 512s208-93.1 208-208c0-24.7-4.3-48.5-12.2-70.5l2.9-2.9c12.5-12.5 12.5-32.8 0-45.3l-80-80zM200 192c-57.4 0-104 46.6-104 104v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-75.1 60.9-136 136-136h8c8.8 0 16 7.2 16 16s-7.2 16-16 16h-8z\"],\n \"registered\": [512, 512, [174], \"f25d\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM160 152c0-13.3 10.7-24 24-24h88c44.2 0 80 35.8 80 80c0 28-14.4 52.7-36.3 67l34.1 75.1c5.5 12.1 .1 26.3-11.9 31.8s-26.3 .1-31.8-11.9L268.9 288H208v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152zm48 88h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H208v64z\"],\n \"address-card\": [576, 512, [62140, \"contact-card\", \"vcard\"], \"f2bb\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 256h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm96-96c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zm128-32H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"scale-unbalanced-flip\": [640, 512, [\"balance-scale-right\"], \"f516\", \"M117.9 62.4c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l113 37.7C265 15.8 290.7 0 320 0c44.2 0 80 35.8 80 80c0 3-.2 5.9-.5 8.8l122.6 40.9c16.8 5.6 25.8 23.7 20.2 40.5s-23.7 25.8-40.5 20.2L366.4 145.2c-4.5 3.2-9.3 5.9-14.4 8.2V480c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-21-9.2-37.2-27-44.2-49l-125.9-42zm396.3 211c-.4-.8-1.3-1.3-2.2-1.3s-1.7 .5-2.2 1.3L435.1 416H588.9L514.2 273.3zM512 224c18.8 0 36 10.4 44.7 27l77.8 148.5c3.1 5.8 6.1 14 5.5 23.8c-.7 12.1-4.8 35.2-24.8 55.1C594.9 498.6 562.2 512 512 512s-82.9-13.4-103.2-33.5c-20-20-24.2-43-24.8-55.1c-.6-9.8 2.5-18 5.5-23.8L467.3 251c8.7-16.6 25.9-27 44.7-27zM128 144c-.9 0-1.7 .5-2.2 1.3L51.1 288H204.9L130.2 145.3c-.4-.8-1.3-1.3-2.2-1.3zm44.7-21l77.8 148.5c3.1 5.8 6.1 14 5.5 23.8c-.7 12.1-4.8 35.2-24.8 55.1C210.9 370.6 178.2 384 128 384s-82.9-13.4-103.2-33.5c-20-20-24.2-43-24.8-55.1c-.6-9.8 2.5-18 5.5-23.8L83.3 123C92 106.4 109.2 96 128 96s36 10.4 44.7 27z\"],\n \"subscript\": [512, 512, [], \"f12c\", \"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H47.3l89.6 128L47.3 384H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64c10.4 0 20.2-5.1 26.2-13.6L176 311.8l85.8 122.6c6 8.6 15.8 13.6 26.2 13.6h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H304.7L215.1 256l89.6-128H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H288c-10.4 0-20.2 5.1-26.2 13.6L176 200.2 90.2 77.6C84.2 69.1 74.4 64 64 64H32zM480 320c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32 16c-15.8 7.9-22.2 27.1-14.3 42.9C393 361.5 404.3 368 416 368v80c-17.7 0-32 14.3-32 32s14.3 32 32 32h32 32c17.7 0 32-14.3 32-32s-14.3-32-32-32V320z\"],\n \"diamond-turn-right\": [512, 512, [\"directions\"], \"f5eb\", \"M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zm87.6 137c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8v56H224c-35.3 0-64 28.7-64 64v48c0 13.3 10.7 24 24 24s24-10.7 24-24V280c0-8.8 7.2-16 16-16h64v56c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z\"],\n \"burst\": [512, 512, [], \"e4dc\", \"M37.6 4.2C28-2.3 15.2-1.1 7 7s-9.4 21-2.8 30.5l112 163.3L16.6 233.2C6.7 236.4 0 245.6 0 256s6.7 19.6 16.6 22.8l103.1 33.4L66.8 412.8c-4.9 9.3-3.2 20.7 4.3 28.1s18.8 9.2 28.1 4.3l100.6-52.9 33.4 103.1c3.2 9.9 12.4 16.6 22.8 16.6s19.6-6.7 22.8-16.6l33.4-103.1 100.6 52.9c9.3 4.9 20.7 3.2 28.1-4.3s9.2-18.8 4.3-28.1L392.3 312.2l103.1-33.4c9.9-3.2 16.6-12.4 16.6-22.8s-6.7-19.6-16.6-22.8L388.9 198.7l25.7-70.4c3.2-8.8 1-18.6-5.6-25.2s-16.4-8.8-25.2-5.6l-70.4 25.7L278.8 16.6C275.6 6.7 266.4 0 256 0s-19.6 6.7-22.8 16.6l-32.3 99.6L37.6 4.2z\"],\n \"house-laptop\": [640, 512, [\"laptop-house\"], \"e066\", \"M218.3 8.5c12.3-11.3 31.2-11.3 43.4 0l208 192c6.7 6.2 10.3 14.8 10.3 23.5H336c-19.1 0-36.3 8.4-48 21.7V208c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64V416H112c-26.5 0-48-21.5-48-48V256H32c-13.2 0-25-8.1-29.8-20.3s-1.6-26.2 8.1-35.2l208-192zM352 304V448H544V304H352zm-48-16c0-17.7 14.3-32 32-32H560c17.7 0 32 14.3 32 32V448h32c8.8 0 16 7.2 16 16c0 26.5-21.5 48-48 48H544 352 304c-26.5 0-48-21.5-48-48c0-8.8 7.2-16 16-16h32V288z\"],\n \"face-tired\": [512, 512, [128555, \"tired\"], \"f5c8\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM164.7 328.7c22-22 53.9-40.7 91.3-40.7s69.3 18.7 91.3 40.7c11.1 11.1 20.1 23.4 26.4 35.4c6.2 11.7 10.3 24.4 10.3 35.9c0 5.2-2.6 10.2-6.9 13.2s-9.8 3.7-14.7 1.8l-20.5-7.7c-26.9-10.1-55.5-15.3-84.3-15.3h-3.2c-28.8 0-57.3 5.2-84.3 15.3L149.6 415c-4.9 1.8-10.4 1.2-14.7-1.8s-6.9-7.9-6.9-13.2c0-11.6 4.2-24.2 10.3-35.9c6.3-12 15.3-24.3 26.4-35.4zm-31.2-182l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"],\n \"money-bills\": [640, 512, [], \"e1f3\", \"M96 96V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zm64 160c35.3 0 64 28.7 64 64H160V256zM224 96c0 35.3-28.7 64-64 64V96h64zM576 256v64H512c0-35.3 28.7-64 64-64zM512 96h64v64c-35.3 0-64-28.7-64-64zM448 208c0 44.2-35.8 80-80 80s-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120z\"],\n \"smog\": [640, 512, [], \"f75f\", \"M32 144c0 79.5 64.5 144 144 144H299.3c22.6 19.9 52.2 32 84.7 32s62.1-12.1 84.7-32H496c61.9 0 112-50.1 112-112s-50.1-112-112-112c-10.7 0-21 1.5-30.8 4.3C443.8 27.7 401.1 0 352 0c-32.6 0-62.4 12.2-85.1 32.3C242.1 12.1 210.5 0 176 0C96.5 0 32 64.5 32 144zM616 368H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-64 96H440c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-192 0H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24zM224 392c0-13.3-10.7-24-24-24H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H200c13.3 0 24-10.7 24-24z\"],\n \"crutch\": [512, 512, [], \"f7f7\", \"M297.4 9.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0zm-96 144l-34.8 34.8c-12.9 12.9-21.9 29.2-25.8 47.1L116.8 342.9c-1.3 5.9-4.3 11.4-8.6 15.7L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l98.8-98.8c4.3-4.3 9.7-7.3 15.7-8.6l107.6-23.9c17.8-4 34.1-12.9 47.1-25.8l34.7-34.7c0 0 .1-.1 .1-.1s.1-.1 .1-.1l74.6-74.6-45.3-45.3L336 242.7 269.3 176l52.1-52.1L276.1 78.6l-74.7 74.7zM224 221.3L290.7 288l-12.2 12.2c-4.3 4.3-9.7 7.3-15.7 8.6l-76.7 17 17-76.7c1.3-5.9 4.3-11.4 8.6-15.7L224 221.3z\"],\n \"font-awesome\": [448, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", \"M448 48V384c-63.1 22.5-82.3 32-119.5 32c-62.8 0-86.6-32-149.3-32c-20.6 0-36.6 3.6-51.2 8.2v-64c14.6-4.6 30.6-8.2 51.2-8.2c62.7 0 86.5 32 149.3 32c20.4 0 35.6-3 55.5-9.3v-208c-19.9 6.3-35.1 9.3-55.5 9.3c-62.8 0-86.6-32-149.3-32c-50.8 0-74.9 20.6-115.2 28.7V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 46.3 14.3 32 32 32s32 14.3 32 32V76.7c40.3-8 64.4-28.7 115.2-28.7c62.7 0 86.5 32 149.3 32c37.1 0 56.4-9.5 119.5-32z\"],\n \"cloud-arrow-up\": [640, 512, [62338, \"cloud-upload\", \"cloud-upload-alt\"], \"f0ee\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm79-217c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V392c0 13.3 10.7 24 24 24s24-10.7 24-24V257.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80z\"],\n \"palette\": [512, 512, [127912], \"f53f\", \"M512 256c0 .9 0 1.8 0 2.7c-.4 36.5-33.6 61.3-70.1 61.3H344c-26.5 0-48 21.5-48 48c0 3.4 .4 6.7 1 9.9c2.1 10.2 6.5 20 10.8 29.9c6.1 13.8 12.1 27.5 12.1 42c0 31.8-21.6 60.7-53.4 62c-3.5 .1-7 .2-10.6 .2C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM128 288c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm0-96c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zM288 96c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"arrows-turn-right\": [512, 512, [], \"e4c0\", \"M329.4 9.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L370.7 160H160c-35.3 0-64 28.7-64 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V224C32 153.3 89.3 96 160 96H370.7L329.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm-96 256c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 416H128c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448c0-53 43-96 96-96H274.7l-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3z\"],\n \"vest\": [448, 512, [], \"e085\", \"M207.1 237.4L151.2 69.7C168.6 79.7 192.6 88 224 88s55.4-8.3 72.8-18.3L226.5 280.6c-1.6 4.9-2.5 10-2.5 15.2V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V270.5c0-9.5-2.8-18.7-8.1-26.6l-47.9-71.8c-5.3-7.9-8.1-17.1-8.1-26.6V128 54.3 48c0-26.5-21.5-48-48-48h-4.5c-.2 0-.4 0-.6 0c-.4 0-.8 0-1.2 0C311 0 295.7 9.7 285.7 18.8C276.4 27.2 257.2 40 224 40s-52.4-12.8-61.7-21.2C152.3 9.7 137 0 118.3 0c-.4 0-.8 0-1.2 0c-.2 0-.4 0-.6 0H112C85.5 0 64 21.5 64 48v6.3V128v17.5c0 9.5-2.8 18.7-8.1 26.6L8.1 243.9C2.8 251.8 0 261.1 0 270.5V464c0 26.5 21.5 48 48 48H176c9.9 0 19-3 26.7-8.1C195.9 492.2 192 478.5 192 464V295.8c0-8.6 1.4-17.1 4.1-25.3l11-33.1zM347.3 356.7l48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-294.6 48l48-48c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-48 48c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6z\"],\n \"ferry\": [576, 512, [], \"e4ea\", \"M224 0H352c17.7 0 32 14.3 32 32h75.1c20.6 0 31.6 24.3 18.1 39.8L456 96H120L98.8 71.8C85.3 56.3 96.3 32 116.9 32H192c0-17.7 14.3-32 32-32zM96 128H480c17.7 0 32 14.3 32 32V283.5c0 13.3-4.2 26.3-11.9 37.2l-51.4 71.9c-1.9 1.1-3.7 2.2-5.5 3.5c-15.5 10.7-34 18-51 19.9H375.6c-17.1-1.8-35-9-50.8-19.9c-22.1-15.5-51.6-15.5-73.7 0c-14.8 10.2-32.5 18-50.6 19.9H183.9c-17-1.8-35.6-9.2-51-19.9c-1.8-1.3-3.7-2.4-5.6-3.5L75.9 320.7C68.2 309.8 64 296.8 64 283.5V160c0-17.7 14.3-32 32-32zm32 64v96H448V192H128zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.3-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"],\n \"arrows-down-to-people\": [640, 512, [], \"e4b9\", \"M144 0c-13.3 0-24 10.7-24 24V142.1L97 119c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V24c0-13.3-10.7-24-24-24zM360 200c0-22.1-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40s40-17.9 40-40zM184 296c0-22.1-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40s40-17.9 40-40zm312 40c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40zM200 441.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8L264 345.5V400c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V345.5l26.9 49.9c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L440 441.5V480c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V441.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H486.2c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.3-28.5-45.1-46.3-77.5-46.3H310.2c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6H134.2c-32.4 0-62.1 17.8-77.5 46.3L18.9 468.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L88 441.5V480c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V441.5zM415 153l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V142.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"],\n \"seedling\": [512, 512, [127793, \"sprout\"], \"f4d8\", \"M512 64c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 78.3 364 32 448 32h32c17.7 0 32 14.3 32 32zM0 128c0-17.7 14.3-32 32-32H64c123.7 0 224 100.3 224 224v32 96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352C100.3 352 0 251.7 0 128z\"],\n \"left-right\": [512, 512, [8596, \"arrows-alt-h\"], \"f337\", \"M504.3 273.6c4.9-4.5 7.7-10.9 7.7-17.6s-2.8-13-7.7-17.6l-112-104c-7-6.5-17.2-8.2-25.9-4.4s-14.4 12.5-14.4 22l0 56-192 0 0-56c0-9.5-5.7-18.2-14.4-22s-18.9-2.1-25.9 4.4l-112 104C2.8 243 0 249.3 0 256s2.8 13 7.7 17.6l112 104c7 6.5 17.2 8.2 25.9 4.4s14.4-12.5 14.4-22l0-56 192 0 0 56c0 9.5 5.7 18.2 14.4 22s18.9 2.1 25.9-4.4l112-104z\"],\n \"boxes-packing\": [640, 512, [], \"e4c7\", \"M256 48c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H381.3c1.8-5 2.7-10.4 2.7-16V253.3c18.6-6.6 32-24.4 32-45.3V176c0-26.5-21.5-48-48-48H256V48zM571.3 347.3c6.2-6.2 6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L480 310.6V432c0 8.8 7.2 16 16 16s16-7.2 16-16V310.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0zM0 176c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V176zm352 80V480c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V256H352zM144 320c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H144z\"],\n \"circle-arrow-left\": [512, 512, [\"arrow-circle-left\"], \"f0a8\", \"M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512s256-114.6 256-256zM215 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71 71L392 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-214.1 0 71 71c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L103 273c-9.4-9.4-9.4-24.6 0-33.9L215 127z\"],\n \"group-arrows-rotate\": [512, 512, [], \"e4f6\", \"M201.1 71.9c16.9-5 26.6-22.9 21.5-39.8s-22.9-26.6-39.8-21.5c-21.5 6.4-41.8 15.5-60.6 27C114.3 34 105.4 32 96 32C60.7 32 32 60.7 32 96c0 9.4 2 18.3 5.6 26.3c-11.5 18.7-20.6 39-27 60.6c-5 16.9 4.6 34.8 21.5 39.8s34.8-4.6 39.8-21.5c4.3-14.6 10.4-28.5 17.9-41.4c2 .2 4.1 .3 6.1 .3c35.3 0 64-28.7 64-64c0-2.1-.1-4.1-.3-6.1c12.9-7.5 26.8-13.6 41.4-17.9zm128-61.3c-16.9-5-34.8 4.6-39.8 21.5s4.6 34.8 21.5 39.8c14.6 4.3 28.5 10.4 41.4 17.9c-.2 2-.3 4.1-.3 6.1c0 35.3 28.7 64 64 64c2.1 0 4.1-.1 6.2-.3c7.5 12.9 13.6 26.8 17.9 41.4c5 16.9 22.9 26.6 39.8 21.5s26.6-22.9 21.5-39.8c-6.4-21.5-15.5-41.8-27-60.6c3.6-8 5.6-16.9 5.6-26.3c0-35.3-28.7-64-64-64c-9.4 0-18.3 2-26.3 5.6c-18.7-11.5-39-20.6-60.6-27zM71.9 310.9c-5-16.9-22.9-26.6-39.8-21.5s-26.6 22.9-21.5 39.8c6.4 21.5 15.5 41.8 27 60.6C34 397.7 32 406.6 32 416c0 35.3 28.7 64 64 64c9.4 0 18.3-2 26.3-5.6c18.7 11.5 39 20.6 60.6 27c16.9 5 34.8-4.6 39.8-21.5s-4.6-34.8-21.5-39.8c-14.6-4.3-28.5-10.4-41.4-17.9c.2-2 .3-4.1 .3-6.2c0-35.3-28.7-64-64-64c-2.1 0-4.1 .1-6.2 .3c-7.5-12.9-13.6-26.8-17.9-41.4zm429.4 18.3c5-16.9-4.6-34.8-21.5-39.8s-34.8 4.6-39.8 21.5c-4.3 14.6-10.4 28.5-17.9 41.4c-2-.2-4.1-.3-6.2-.3c-35.3 0-64 28.7-64 64c0 2.1 .1 4.1 .3 6.2c-12.9 7.5-26.8 13.6-41.4 17.9c-16.9 5-26.6 22.9-21.5 39.8s22.9 26.6 39.8 21.5c21.5-6.4 41.8-15.5 60.6-27c8 3.6 16.9 5.6 26.3 5.6c35.3 0 64-28.7 64-64c0-9.4-2-18.3-5.6-26.3c11.5-18.7 20.6-39 27-60.6zM192.8 256.8c0-15.6 5.6-29.9 14.9-41.1L223 231c6.6 6.6 17.8 1.9 17.8-7.4V163.2c0-5.7-4.7-10.4-10.4-10.4H169.9c-9.3 0-13.9 11.2-7.4 17.8l11.2 11.2c-17.9 19.8-28.9 46.2-28.9 75.1c0 43.6 24.9 81.3 61.1 99.8c11.8 6 26.3 1.4 32.3-10.4s1.4-26.3-10.4-32.3c-20.8-10.6-34.9-32.2-34.9-57zm93.1-58.6c20.8 10.6 34.9 32.2 34.9 57c0 15.6-5.6 29.9-14.9 41.1L290.6 281c-6.6-6.6-17.8-1.9-17.8 7.4v60.5c0 5.7 4.7 10.4 10.4 10.4h60.5c9.3 0 13.9-11.2 7.4-17.8l-11.2-11.2c17.9-19.8 28.9-46.2 28.9-75.1c0-43.6-24.9-81.3-61.1-99.8c-11.8-6-26.3-1.4-32.3 10.4s-1.4 26.3 10.4 32.3z\"],\n \"bowl-food\": [512, 512, [], \"e4c6\", \"M0 192c0-35.3 28.7-64 64-64c.5 0 1.1 0 1.6 0C73 91.5 105.3 64 144 64c15 0 29 4.1 40.9 11.2C198.2 49.6 225.1 32 256 32s57.8 17.6 71.1 43.2C339 68.1 353 64 368 64c38.7 0 71 27.5 78.4 64c.5 0 1.1 0 1.6 0c35.3 0 64 28.7 64 64c0 11.7-3.1 22.6-8.6 32H8.6C3.1 214.6 0 203.7 0 192zm0 91.4C0 268.3 12.3 256 27.4 256H484.6c15.1 0 27.4 12.3 27.4 27.4c0 70.5-44.4 130.7-106.7 154.1L403.5 452c-2 16-15.6 28-31.8 28H140.2c-16.1 0-29.8-12-31.8-28l-1.8-14.4C44.4 414.1 0 353.9 0 283.4z\"],\n \"candy-cane\": [512, 512, [], \"f786\", \"M348.8 131.5c3.7-2.3 7.9-3.5 12.2-3.5c12.7 0 23 10.3 23 23v5.6c0 9.9-5.1 19.1-13.5 24.3L30.1 393.7C.1 412.5-9 451.9 9.7 481.9s58.2 39.1 88.2 20.4L438.4 289.5c45.8-28.6 73.6-78.8 73.6-132.8V151C512 67.6 444.4 0 361 0c-28.3 0-56 8-80.1 23L254.1 39.7c-30 18.7-39.1 58.2-20.4 88.2s58.2 39.1 88.2 20.4l26.8-16.8zM298.4 49.8c9.2-5.7 19.1-10.1 29.4-13.1L348 97.5c-5.7 1.4-11.2 3.7-16.3 6.8l-12.6 7.9L298.4 49.8zm88.5 52.7l46.2-46.2c8.5 6.5 16.1 14.1 22.6 22.6l-46.2 46.2c-5.1-9.6-13-17.5-22.6-22.6zm28.9 59.3l61.6 20.5c-2.2 10.5-5.8 20.7-10.5 30.2l-62-20.7c6.2-8.8 10.1-19.1 11-30.1zm-86.1 82.5l60.4 37.7-30.2 18.9-60.4-37.7 30.2-18.9zm-107.2 67l60.4 37.7-30.2 18.9-60.4-37.7 30.2-18.9zM119.3 375.7l60.4 37.7-30.2 18.9L89.1 394.6l30.2-18.9z\"],\n \"arrow-down-wide-short\": [576, 512, [\"sort-amount-asc\", \"sort-amount-down\"], \"f160\", \"M151.6 469.6C145.5 476.2 137 480 128 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L96 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 480c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H320z\"],\n \"cloud-bolt\": [512, 512, [127785, \"thunderstorm\"], \"f76c\", \"M0 224c0 53 43 96 96 96h47.2L290 202.5c17.6-14.1 42.6-14 60.2 .2s22.8 38.6 12.8 58.8L333.7 320H352h64c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224zm330.1 3.6c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L177.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H281.9l52.4-104.8c3.4-6.7 1.6-14.9-4.2-19.6z\"],\n \"text-slash\": [640, 512, [\"remove-format\"], \"f87d\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L355.7 253.5 400.2 96H503L497 120.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l16-64c2.4-9.6 .2-19.7-5.8-27.5S553.9 32 544 32H376.1h-.3H192c-14.7 0-27.5 10-31 24.2l-9.3 37.3L38.8 5.1zm168 131.7c.1-.3 .2-.7 .3-1L217 96H333.7L301.3 210.8l-94.5-74.1zM243.3 416H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H309.8l17.6-62.1L272.9 311 243.3 416z\"],\n \"face-smile-wink\": [512, 512, [128521, \"smile-wink\"], \"f4da\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM208.4 208c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm92.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"],\n \"file-word\": [384, 512, [], \"f1c2\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM111 257.1l26.8 89.2 31.6-90.3c3.4-9.6 12.5-16.1 22.7-16.1s19.3 6.4 22.7 16.1l31.6 90.3L273 257.1c3.8-12.7 17.2-19.9 29.9-16.1s19.9 17.2 16.1 29.9l-48 160c-3 10-12.1 16.9-22.4 17.1s-19.8-6.2-23.2-16.1L192 336.6l-33.3 95.3c-3.4 9.8-12.8 16.3-23.2 16.1s-19.5-7.1-22.4-17.1l-48-160c-3.8-12.7 3.4-26.1 16.1-29.9s26.1 3.4 29.9 16.1z\"],\n \"file-powerpoint\": [384, 512, [], \"f1c4\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM136 240h68c42 0 76 34 76 76s-34 76-76 76H160v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V368 264c0-13.3 10.7-24 24-24zm68 104c15.5 0 28-12.5 28-28s-12.5-28-28-28H160v56h44z\"],\n \"arrows-left-right\": [512, 512, [\"arrows-h\"], \"f07e\", \"M406.6 374.6l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224l-293.5 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288l293.5 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z\"],\n \"house-lock\": [640, 512, [], \"e510\", \"M384 480c0 11.7 3.1 22.6 8.6 32H384c-17.7 0-32-14.3-32-32V383.7c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32V480c0 17.7-14.3 32-32 32H96.1c-17.7 0-32-14.3-32-32V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L490.7 166.3C447.2 181.7 416 223.2 416 272v24.6c-19.1 11.1-32 31.7-32 55.4V480zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"],\n \"cloud-arrow-down\": [640, 512, [62337, \"cloud-download\", \"cloud-download-alt\"], \"f0ed\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm79-167l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V318.1l-39-39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"],\n \"children\": [640, 512, [], \"e4e1\", \"M160 128c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zM88 480V400H70.2c-10.9 0-18.6-10.7-15.2-21.1l31.1-93.4L57.5 323.3c-10.7 14.1-30.8 16.8-44.8 6.2s-16.8-30.7-6.2-44.8L65.4 207c22.4-29.6 57.5-47 94.6-47s72.2 17.4 94.6 47l58.9 77.7c10.7 14.1 7.9 34.2-6.2 44.8s-34.2 7.9-44.8-6.2l-28.6-37.8L265 378.9c3.5 10.4-4.3 21.1-15.2 21.1H232v80c0 17.7-14.3 32-32 32s-32-14.3-32-32V400H152v80c0 17.7-14.3 32-32 32s-32-14.3-32-32zM480 128c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zm-8 256v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V300.5L395.1 321c-9.4 15-29.2 19.4-44.1 10s-19.4-29.2-10-44.1l51.7-82.1c17.6-27.9 48.3-44.9 81.2-44.9h12.3c33 0 63.7 16.9 81.2 44.9L619.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L552 300.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H472z\"],\n \"chalkboard\": [576, 512, [\"blackboard\"], \"f51b\", \"M96 32C60.7 32 32 60.7 32 96V384H96V96l384 0V384h64V96c0-35.3-28.7-64-64-64H96zM224 384v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H416V384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32z\"],\n \"user-large-slash\": [640, 512, [\"user-alt-slash\"], \"f4fa\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L381.9 274c48.5-23.2 82.1-72.7 82.1-130C464 64.5 399.5 0 320 0C250.4 0 192.4 49.3 178.9 114.9L38.8 5.1zM284.3 320h-59C136.2 320 64 392.2 64 481.3c0 17 13.8 30.7 30.7 30.7H528L284.3 320z\"],\n \"envelope-open\": [512, 512, [62135], \"f2b6\", \"M64 208.1L256 65.9 448 208.1v47.4L289.5 373c-9.7 7.2-21.4 11-33.5 11s-23.8-3.9-33.5-11L64 255.5V208.1zM256 0c-12.1 0-23.8 3.9-33.5 11L25.9 156.7C9.6 168.8 0 187.8 0 208.1V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V208.1c0-20.3-9.6-39.4-25.9-51.4L289.5 11C279.8 3.9 268.1 0 256 0z\"],\n \"handshake-simple-slash\": [640, 512, [\"handshake-alt-slash\"], \"e05f\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-135-105.8c-1.1-11.4-6.3-22.3-15.3-30.7l-134.2-123-23.4 18.2-26-20.3 77.2-60.1c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L550.2 352H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H516h-4-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2l-89.7 72.6-25.8-20.3 81.8-66.2c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-35.5 23.7L38.8 5.1zM0 176V304c0 26.5 21.5 48 48 48H156.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c.8-.8 1.5-1.7 2.2-2.6L41.2 128.5C17.9 131.8 0 151.8 0 176z\"],\n \"mattress-pillow\": [640, 512, [], \"e525\", \"M256 64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H256V64zm32 384H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H288V448zM64 160c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160z\"],\n \"guarani-sign\": [384, 512, [], \"e19a\", \"M192 0c-17.7 0-32 14.3-32 32V66.7C69.2 81.9 0 160.9 0 256s69.2 174.1 160 189.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V445.3c90.8-15.2 160-94.2 160-189.3c0-17.7-14.3-32-32-32H224V132c22.1 5.7 41.8 17.1 57.6 32.6c12.6 12.4 32.9 12.2 45.3-.4s12.2-32.9-.5-45.3C299 92 263.5 73.3 224 66.7V32c0-17.7-14.3-32-32-32zM160 132V380c-55.2-14.2-96-64.3-96-124s40.8-109.8 96-124zM224 380V288h92c-11.6 45-47 80.4-92 92z\"],\n \"arrows-rotate\": [512, 512, [128472, \"refresh\", \"sync\"], \"f021\", \"M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H463.5c0 0 0 0 0 0h.4c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1V448c0 17.7 14.3 32 32 32s32-14.3 32-32V396.9l17.6 17.5 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352H176c17.7 0 32-14.3 32-32s-14.3-32-32-32H48.4c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z\"],\n \"fire-extinguisher\": [512, 512, [129519], \"f134\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32v96c0 9.6-4.3 18.7-11.7 24.7s-17.2 8.5-26.6 6.6l-160-32C301.5 124.9 292 115.7 289 104H224v34.8c37.8 18 64 56.5 64 101.2V384H64V240c0-44.7 26.2-83.2 64-101.2V110c-36.2 11.1-66 36.9-82.3 70.5c-5.8 11.9-20.2 16.9-32.1 11.1S-3.3 171.4 2.5 159.5C26.7 109.8 72.7 72.6 128 60.4V32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V56h65c3-11.7 12.5-20.9 24.7-23.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM288 416v32c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V416H288zM176 96c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16z\"],\n \"cruzeiro-sign\": [448, 512, [], \"e152\", \"M96 256c0-88.4 71.6-160 160-160c41 0 78.3 15.4 106.7 40.7c13.2 11.8 33.4 10.7 45.2-2.5s10.7-33.4-2.5-45.2c-39.6-35.5-92-57-149.3-57C132.3 32 32 132.3 32 256s100.3 224 224 224c57.4 0 109.7-21.6 149.3-57c13.2-11.8 14.3-32 2.5-45.2s-32-14.3-45.2-2.5C334.3 400.6 297 416 256 416V320v-8.7c0-12.8 10.4-23.3 23.3-23.3c4.6 0 9.1 1.4 12.9 3.9l10.1 6.7c14.7 9.8 34.6 5.8 44.4-8.9s5.8-34.6-8.9-44.4l-10.1-6.7c-14.3-9.6-31.2-14.7-48.4-14.7c-12.4 0-24.2 2.6-34.9 7.3c-5.5-4.5-12.6-7.3-20.3-7.3c-17.7 0-32 14.3-32 32v55.3V320v82.7C135.5 378 96 321.6 96 256z\"],\n \"greater-than-equal\": [448, 512, [], \"f532\", \"M52.1 93.7C35.7 87.1 27.7 68.5 34.3 52.1s25.2-24.4 41.6-17.8l320 128C408 167.1 416 178.9 416 192s-8 24.9-20.1 29.7l-320 128c-16.4 6.6-35-1.4-41.6-17.8s1.4-35 17.8-41.6L297.8 192 52.1 93.7zM416 416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416z\"],\n \"shield-halved\": [512, 512, [\"shield-alt\"], \"f3ed\", \"M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.7 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8V444.8C394 378 431.1 230.1 432 141.4L256 66.8l0 0z\"],\n \"book-atlas\": [448, 512, [\"atlas\"], \"f558\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM247.4 283.8c-3.7 3.7-6.2 4.2-7.4 4.2s-3.7-.5-7.4-4.2c-3.8-3.7-8-10-11.8-18.9c-6.2-14.5-10.8-34.3-12.2-56.9h63c-1.5 22.6-6 42.4-12.2 56.9c-3.8 8.9-8 15.2-11.8 18.9zm42.7-9.9c7.3-18.3 12-41.1 13.4-65.9h31.1c-4.7 27.9-21.4 51.7-44.5 65.9zm0-163.8c23.2 14.2 39.9 38 44.5 65.9H303.5c-1.4-24.7-6.1-47.5-13.4-65.9zM368 192c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128zM145.3 208h31.1c1.4 24.7 6.1 47.5 13.4 65.9c-23.2-14.2-39.9-38-44.5-65.9zm31.1-32H145.3c4.7-27.9 21.4-51.7 44.5-65.9c-7.3 18.3-12 41.1-13.4 65.9zm56.1-75.8c3.7-3.7 6.2-4.2 7.4-4.2s3.7 .5 7.4 4.2c3.8 3.7 8 10 11.8 18.9c6.2 14.5 10.8 34.3 12.2 56.9h-63c1.5-22.6 6-42.4 12.2-56.9c3.8-8.9 8-15.2 11.8-18.9z\"],\n \"virus\": [512, 512, [], \"e074\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 49.9-60.3 74.9-95.6 39.6L120.2 75C107.7 62.5 87.5 62.5 75 75s-12.5 32.8 0 45.3l8.2 8.2C118.4 163.7 93.4 224 43.5 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H43.5c49.9 0 74.9 60.3 39.6 95.6L75 391.8c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-49.9 60.3-74.9 95.6-39.6l8.2 8.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-8.2-8.2c-35.3-35.3-10.3-95.6 39.6-95.6H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H468.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C348.3 118.4 288 93.4 288 43.5V32zM272 224c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zm32 104c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z\"],\n \"envelope-circle-check\": [640, 512, [], \"e4e8\", \"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0l57.4-43c23.9-59.8 79.7-103.3 146.3-109.8l13.9-10.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176V384c0 35.3 28.7 64 64 64H360.2C335.1 417.6 320 378.5 320 336c0-5.6 .3-11.1 .8-16.6l-26.4 19.8zM640 336a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 353.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"],\n \"layer-group\": [576, 512, [], \"f5fd\", \"M264.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 149.8C37.4 145.8 32 137.3 32 128s5.4-17.9 13.9-21.8L264.5 5.2zM476.9 209.6l53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 277.8C37.4 273.8 32 265.3 32 256s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0l152-70.2zm-152 198.2l152-70.2 53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 405.8C37.4 401.8 32 393.3 32 384s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0z\"],\n \"arrows-to-dot\": [512, 512, [], \"e4be\", \"M256 0c17.7 0 32 14.3 32 32V64h32c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8h32V32c0-17.7 14.3-32 32-32zM169.4 393.4l64-64c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H288v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H192c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9zM32 224H64V192c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c12.5 12.5 12.5 32.8 0 45.3l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3l64-64c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6v32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H448v32c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-64-64zM256 288c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"archway\": [512, 512, [], \"f557\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H96h64V352c0-53 43-96 96-96s96 43 96 96V480h64 64c17.7 0 32-14.3 32-32s-14.3-32-32-32V128H32V416z\"],\n \"heart-circle-check\": [576, 512, [], \"e4fd\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM576 368c0-79.5-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144s144-64.5 144-144zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"],\n \"house-chimney-crack\": [576, 512, [\"house-damage\"], \"f6f1\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H326.4L288 448l80.8-67.3c7.8-6.5 7.6-18.6-.4-24.9L250.6 263.2c-14.6-11.5-33.8 7-22.8 22L288 368l-85.5 71.2c-6.1 5-7.5 13.8-3.5 20.5L230.4 512H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185l52.8 46.4c8 7 12 15 11 24z\"],\n \"file-zipper\": [384, 512, [\"file-archive\"], \"f1c6\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM96 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm-6.3 71.8c3.7-14 16.4-23.8 30.9-23.8h14.8c14.5 0 27.2 9.7 30.9 23.8l23.5 88.2c1.4 5.4 2.1 10.9 2.1 16.4c0 35.2-28.8 63.7-64 63.7s-64-28.5-64-63.7c0-5.5 .7-11.1 2.1-16.4l23.5-88.2zM112 336c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"],\n \"square\": [448, 512, [9632, 9723, 9724, 61590], \"f0c8\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"],\n \"martini-glass-empty\": [512, 512, [\"glass-martini\"], \"f000\", \"M32 0C19.1 0 7.4 7.8 2.4 19.8s-2.2 25.7 6.9 34.9L224 269.3V448H160c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V269.3L502.6 54.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 0 480 0H32zM256 210.7L109.3 64H402.7L256 210.7z\"],\n \"couch\": [640, 512, [], \"f4b8\", \"M64 160C64 89.3 121.3 32 192 32H448c70.7 0 128 57.3 128 128v33.6c-36.5 7.4-64 39.7-64 78.4v48H128V272c0-38.7-27.5-71-64-78.4V160zM544 272c0-20.9 13.4-38.7 32-45.3c5-1.8 10.4-2.7 16-2.7c26.5 0 48 21.5 48 48V448c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32H96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V272c0-26.5 21.5-48 48-48c5.6 0 11 1 16 2.7c18.6 6.6 32 24.4 32 45.3v48 32h32H512h32V320 272z\"],\n \"cedi-sign\": [384, 512, [], \"e0df\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V66.7C101.2 81.9 32 160.9 32 256s69.2 174.1 160 189.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V445.3c30.9-5.2 59.2-17.7 83.2-35.8c14.1-10.6 17-30.7 6.4-44.8s-30.7-17-44.8-6.4c-13.2 9.9-28.3 17.3-44.8 21.6V132c16.4 4.2 31.6 11.6 44.8 21.6c14.1 10.6 34.2 7.8 44.8-6.4s7.8-34.2-6.4-44.8c-24-18-52.4-30.6-83.2-35.8V32zM192 132V380c-55.2-14.2-96-64.3-96-124s40.8-109.8 96-124z\"],\n \"italic\": [384, 512, [], \"f033\", \"M128 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H293.3L160 416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H90.7L224 96H160c-17.7 0-32-14.3-32-32z\"],\n \"church\": [640, 512, [9962], \"f51d\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V48H264c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v46.4L183.3 210c-14.5 8.7-23.3 24.3-23.3 41.2V512h96V416c0-35.3 28.7-64 64-64s64 28.7 64 64v96h96V251.2c0-16.9-8.8-32.5-23.3-41.2L344 142.4V96h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V24zM24.9 330.3C9.5 338.8 0 354.9 0 372.4V464c0 26.5 21.5 48 48 48h80V273.6L24.9 330.3zM592 512c26.5 0 48-21.5 48-48V372.4c0-17.5-9.5-33.6-24.9-42.1L512 273.6V512h80z\"],\n \"comments-dollar\": [640, 512, [], \"f653\", \"M416 176c0 97.2-93.1 176-208 176c-38.2 0-73.9-8.7-104.7-23.9c-7.5 4-16 7.9-25.2 11.4C59.8 346.4 37.8 352 16 352c-6.9 0-13.1-4.5-15.2-11.1s.2-13.8 5.8-17.9l0 0 0 0 .2-.2c.2-.2 .6-.4 1.1-.8c1-.8 2.5-2 4.3-3.7c3.6-3.3 8.5-8.1 13.3-14.3c5.5-7 10.7-15.4 14.2-24.7C14.7 250.3 0 214.6 0 176C0 78.8 93.1 0 208 0S416 78.8 416 176zM231.5 383C348.9 372.9 448 288.3 448 176c0-5.2-.2-10.4-.6-15.5C555.1 167.1 640 243.2 640 336c0 38.6-14.7 74.3-39.6 103.4c3.5 9.4 8.7 17.7 14.2 24.7c4.8 6.2 9.7 11 13.3 14.3c1.8 1.6 3.3 2.9 4.3 3.7c.5 .4 .9 .7 1.1 .8l.2 .2 0 0 0 0c5.6 4.1 7.9 11.3 5.8 17.9c-2.1 6.6-8.3 11.1-15.2 11.1c-21.8 0-43.8-5.6-62.1-12.5c-9.2-3.5-17.8-7.4-25.2-11.4C505.9 503.3 470.2 512 432 512c-95.6 0-176.2-54.6-200.5-129zM228 72c0-11-9-20-20-20s-20 9-20 20V86c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V280c0 11 9 20 20 20s20-9 20-20V266.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V72z\"],\n \"democrat\": [640, 512, [], \"f747\", \"M64 32c0-8.9 3.8-20.9 6.2-27.3C71.2 1.8 74 0 77 0c1.9 0 3.8 .7 5.2 2.1L128 45.7 173.8 2.1C175.2 .7 177.1 0 179 0c3 0 5.8 1.8 6.8 4.7c2.4 6.5 6.2 18.4 6.2 27.3c0 26.5-21.9 42-29.5 46.6l76.2 72.6c6 5.7 13.9 8.8 22.1 8.8H480c61.4 0 101.6 24 126.2 50c12 12.6 19.9 25.2 24.9 34.9c2.5 4.8 4.3 9 5.5 12.1c.6 1.5 1.1 2.8 1.4 3.8c.2 .5 .3 .9 .4 1.3l.1 .5 .1 .2 0 .1 0 0c0 0 0 0-30.2 9.1l30.2-9.1c5.1 16.9-4.5 34.8-21.5 39.8c-16.8 5-34.5-4.4-39.7-21.1l0 0c-.1-.2-.2-.6-.5-1.2c-.5-1.3-1.4-3.4-2.8-6.1c-2.8-5.4-7.4-12.8-14.4-20.1c-4.2-4.4-9.4-9-15.8-13.2V320H192l-40.4-94.3c-3.9-9.2-15.3-12.6-23.6-7l-42.1 28c-9.1 6.1-19.7 9.3-30.7 9.3h-2C23.9 256 0 232.1 0 202.7c0-12.1 4.1-23.8 11.7-33.3L87.6 74.6C78.1 67.4 64 53.2 64 32zM448 352h96v64 64c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V416H288v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416 352h96H448zm129.4-70.8c0 0 0 0 30.6-9.2l-30.6 9.2 0 0zM260.9 210.9c-.9-1.8-2.8-2.9-4.8-2.9s-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.3-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5zM368.1 208c-2 0-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.4-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5c-.9-1.8-2.8-2.9-4.8-2.9zm116.8 2.9c-.9-1.8-2.8-2.9-4.8-2.9s-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.4-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5z\"],\n \"z\": [384, 512, [122], \"5a\", \"M0 64C0 46.3 14.3 32 32 32H352c12.4 0 23.7 7.2 29 18.4s3.6 24.5-4.4 34.1L100.3 416H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-12.4 0-23.7-7.2-29-18.4s-3.6-24.5 4.4-34.1L283.7 96H32C14.3 96 0 81.7 0 64z\"],\n \"person-skiing\": [576, 512, [9975, \"skiing\"], \"f7c9\", \"M508.7 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM34.7 268.9c6.1-11.8 20.6-16.3 32.4-10.2L264.7 361.3l46.2-69.2-75.1-75.1c-14.6-14.6-20.4-33.9-18.4-52.1l108.8 52 39.3 39.3c16.2 16.2 18.7 41.5 6 60.6L321.8 391l128.7 66.8c13.6 7.1 29.8 7.2 43.6 .3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7L44.9 301.3c-11.8-6.1-16.3-20.6-10.2-32.4zM150.9 65.6L169 74.2l8.7-17.4c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-8.5 16.9 54.7 26.2c1.5-.7 3.1-1.4 4.7-2.1l83.4-33.4c34.2-13.7 72.8 4.2 84.5 39.2l17.1 51.2 52.1 26.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-58.1-29c-11.4-5.7-20-15.7-24.1-27.8l-5.8-17.3-27.3 12.1-6.8 3-6.7-3.2L183.5 116.7l-9.2 18.4c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l9-18-17.6-8.4c-8-3.8-11.3-13.4-7.5-21.3s13.4-11.3 21.3-7.5z\"],\n \"road-lock\": [640, 512, [], \"e567\", \"M288 32H213.2c-27.1 0-51.3 17.1-60.3 42.6L35.1 407.2c-2.1 5.9-3.1 12-3.1 18.2C32 455.5 56.5 480 86.6 480H288V416c0-17.7 14.3-32 32-32s32 14.3 32 32v64h32V352c0-23.7 12.9-44.4 32-55.4V272c0-58.3 44.6-106.2 101.5-111.5L487.1 74.6C478 49.1 453.9 32 426.8 32H352V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32zm64 192v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32zm176 16c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"],\n \"a\": [448, 512, [97], \"41\", \"M253.5 51.7C248.6 39.8 236.9 32 224 32s-24.6 7.8-29.5 19.7l-120 288-40 96c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L125.3 384H322.7l31.8 76.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8l-40-96-120-288zM296 320H152l72-172.8L296 320z\"],\n \"temperature-arrow-down\": [512, 512, [\"temperature-down\"], \"e03f\", \"M96 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C217.8 332.6 224 349.5 224 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9C88.9 308.4 96 293.8 96 276.5V112zM144 0C82.1 0 32 50.1 32 112V276.4c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C11.2 304.2 0 334.8 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.3-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C256 50.1 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v50.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zm336-64H448V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V352H352c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c6 6 14.1 9.4 22.6 9.4s16.6-3.4 22.6-9.4l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8z\"],\n \"feather-pointed\": [512, 512, [\"feather-alt\"], \"f56b\", \"M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l74.8-74.8c7.4 4.6 15.3 8.2 23.8 10.5C200.3 452.8 270 454.5 338 409.4c12.2-8.1 5.8-25.4-8.8-25.4l-16.1 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l97.7-29.3c3.4-1 6.4-3.1 8.4-6.1c4.4-6.4 8.6-12.9 12.6-19.6c6.2-10.3-1.5-23-13.5-23l-38.6 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l80.9-24.3c4.6-1.4 8.4-4.8 10.2-9.3C494.5 163 507.8 86.1 511.9 36.8c.8-9.9-3-19.6-10-26.6s-16.7-10.8-26.6-10C391.5 7 228.5 40.5 137.4 131.6C57.3 211.7 56.7 302.3 71.3 356.4c2.1 7.9 12 9.6 17.8 3.8L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z\"],\n \"p\": [320, 512, [112], \"50\", \"M32 32H64h96c88.4 0 160 71.6 160 160s-71.6 160-160 160H64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352 320 288 64C0 46.3 14.3 32 32 32zM64 288h96c53 0 96-43 96-96s-43-96-96-96H64V288z\"],\n \"snowflake\": [448, 512, [10052, 10054], \"f2dc\", \"M224 0c17.7 0 32 14.3 32 32V62.1l15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49v70.3l61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.7 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7v70.3l49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V449.9l-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49V311.7l-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3V129.9L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15V32c0-17.7 14.3-32 32-32z\"],\n \"newspaper\": [512, 512, [128240], \"f1ea\", \"M96 96c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H80c-44.2 0-80-35.8-80-80V128c0-17.7 14.3-32 32-32s32 14.3 32 32V400c0 8.8 7.2 16 16 16s16-7.2 16-16V96zm64 24v80c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H184c-13.3 0-24 10.7-24 24zm0 184c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm160 0c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16zM160 400c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm160 0c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16z\"],\n \"rectangle-ad\": [576, 512, [\"ad\"], \"f641\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM229.5 173.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L253.2 328H162.8l-5.4 10.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zM208 237.7L186.8 280h42.3L208 237.7zM392 256c-13.3 0-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24s-10.7-24-24-24zm24-43.9V184c0-13.3 10.7-24 24-24s24 10.7 24 24v96 48c0 13.3-10.7 24-24 24c-6.6 0-12.6-2.7-17-7c-9.4 4.5-19.9 7-31 7c-39.8 0-72-32.2-72-72s32.2-72 72-72c8.4 0 16.5 1.4 24 4.1z\"],\n \"circle-arrow-right\": [512, 512, [\"arrow-circle-right\"], \"f0a9\", \"M0 256C0 397.4 114.6 512 256 512s256-114.6 256-256S397.4 0 256 0S0 114.6 0 256zM297 385c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l71-71L120 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l214.1 0-71-71c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L409 239c9.4 9.4 9.4 24.6 0 33.9L297 385z\"],\n \"filter-circle-xmark\": [576, 512, [], \"e17b\", \"M3.9 22.9C10.5 8.9 24.5 0 40 0H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L396.4 195.6C316.2 212.1 256 283 256 368c0 27.4 6.3 53.4 17.5 76.5c-1.6-.8-3.2-1.8-4.7-2.9l-64-48c-8.1-6-12.8-15.5-12.8-25.6V288.9L9 65.3C-.7 53.4-2.8 36.8 3.9 22.9zM432 512c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm59.3-180.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"],\n \"locust\": [640, 512, [], \"e520\", \"M344 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c98.7 0 180.6 71.4 197 165.4c-9-3.5-18.8-5.4-29-5.4H463.8l-41.8-97.5c-3.4-7.9-10.8-13.4-19.3-14.4s-17 2.7-22.1 9.6l-40.9 55.5-21.7-50.7c-3.3-7.8-10.5-13.2-18.9-14.3s-16.7 2.3-22 8.9l-240 304c-8.2 10.4-6.4 25.5 4 33.7s25.5 6.4 33.7-4l79.4-100.5 43 16.4-40.5 55c-7.9 10.7-5.6 25.7 5.1 33.6s25.7 5.6 33.6-5.1L247.1 400h74.5l-29.3 42.3c-7.5 10.9-4.8 25.8 6.1 33.4s25.8 4.8 33.4-6.1L380 400h80.4l38.8 67.9c6.6 11.5 21.2 15.5 32.7 8.9s15.5-21.2 8.9-32.7L515.6 400H528c44.1 0 79.8-35.7 80-79.7c0-.1 0-.2 0-.3V280C608 143 497 32 360 32H344zm50.5 168l17.1 40H365l29.5-40zm-87.7 38.1l-1.4 1.9H257.1l32.7-41.5 16.9 39.5zM120.8 240C89.4 240 64 265.4 64 296.8c0 15.5 6.3 30 16.9 40.4L158.7 240H120.8zM528 320c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16z\"],\n \"sort\": [320, 512, [\"unsorted\"], \"f0dc\", \"M137.4 41.4c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128zm0 429.3l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128c-12.5 12.5-32.8 12.5-45.3 0z\"],\n \"list-ol\": [512, 512, [\"list-1-2\", \"list-numeric\"], \"f0cb\", \"M24 56c0-13.3 10.7-24 24-24H80c13.3 0 24 10.7 24 24V176h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V80H48C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432H120c13.3 0 24 10.7 24 24s-10.7 24-24 24H32c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"person-dress-burst\": [640, 512, [], \"e544\", \"M528 48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM390.2 384H408v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h16v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h17.8c10.9 0 18.6-10.7 15.2-21.1L546.7 248.1l33.9 56.3c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-53.6-89.2c-20.2-33.7-56.7-54.3-96-54.3H474.2c-39.3 0-75.7 20.6-96 54.3l-53.6 89.2c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9l33.9-56.3L375 362.9c-3.5 10.4 4.3 21.1 15.2 21.1zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 50.5-7.8 24.4-40.5-55.2-38L315 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74z\"],\n \"money-check-dollar\": [576, 512, [\"money-check-alt\"], \"f53d\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM272 192H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16s7.2-16 16-16zM256 304c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16zM164.1 160v6.3c6.6 1.2 16.6 3.2 21 4.4c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-3.8-1-17.4-3.7-21.7-4.3c-12.2-1.9-22.2-.3-28.6 2.6c-6.3 2.9-7.9 6.2-8.2 8.1c-.6 3.4 0 4.7 .1 5c.3 .5 1 1.8 3.6 3.5c6.1 4.2 15.7 7.2 29.9 11.4l.8 .2c12.1 3.7 28.3 8.5 40.4 17.4c6.7 4.9 13 11.4 16.9 20.5c4 9.1 4.8 19.1 3 29.4c-3.3 19-15.9 32-31.6 38.7c-4.9 2.1-10 3.6-15.4 4.6V352c0 11.1-9 20.1-20.1 20.1s-20.1-9-20.1-20.1v-6.4c-9.5-2.2-21.9-6.4-29.8-9.1c-1.7-.6-3.2-1.1-4.4-1.5c-10.5-3.5-16.1-14.8-12.7-25.3s14.8-16.1 25.3-12.7c2 .7 4.1 1.4 6.4 2.1l0 0 0 0c9.5 3.2 20.2 6.9 26.2 7.9c12.8 2 22.7 .7 28.8-1.9c5.5-2.3 7.4-5.3 8-8.8c.7-4 .1-5.9-.2-6.7c-.4-.9-1.3-2.2-3.7-4c-5.9-4.3-15.3-7.5-29.3-11.7l-2.2-.7c-11.7-3.5-27-8.1-38.6-16c-6.6-4.5-13.2-10.7-17.3-19.5c-4.2-9-5.2-18.8-3.4-29c3.2-18.3 16.2-30.9 31.1-37.7c5-2.3 10.3-4 15.9-5.1v-6c0-11.1 9-20.1 20.1-20.1s20.1 9 20.1 20.1z\"],\n \"vector-square\": [448, 512, [], \"f5cb\", \"M368 80h32v32H368V80zM352 32c-17.7 0-32 14.3-32 32H128c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32V352c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32H320c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32V160c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H352zM96 160c17.7 0 32-14.3 32-32H320c0 17.7 14.3 32 32 32V352c-17.7 0-32 14.3-32 32H128c0-17.7-14.3-32-32-32V160zM48 400H80v32H48V400zm320 32V400h32v32H368zM48 112V80H80v32H48z\"],\n \"bread-slice\": [512, 512, [], \"f7ec\", \"M256 32C192 32 0 64 0 192c0 35.3 28.7 64 64 64V432c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V256c35.3 0 64-28.7 64-64C512 64 320 32 256 32z\"],\n \"language\": [640, 512, [], \"f1ab\", \"M0 128C0 92.7 28.7 64 64 64H256h48 16H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H320 304 256 64c-35.3 0-64-28.7-64-64V128zm320 0V384H576V128H320zM178.3 175.9c-3.2-7.2-10.4-11.9-18.3-11.9s-15.1 4.7-18.3 11.9l-64 144c-4.5 10.1 .1 21.9 10.2 26.4s21.9-.1 26.4-10.2l8.9-20.1h73.6l8.9 20.1c4.5 10.1 16.3 14.6 26.4 10.2s14.6-16.3 10.2-26.4l-64-144zM160 233.2L179 276H141l19-42.8zM448 164c11 0 20 9 20 20v4h44 16c11 0 20 9 20 20s-9 20-20 20h-2l-1.6 4.5c-8.9 24.4-22.4 46.6-39.6 65.4c.9 .6 1.8 1.1 2.7 1.6l18.9 11.3c9.5 5.7 12.5 18 6.9 27.4s-18 12.5-27.4 6.9l-18.9-11.3c-4.5-2.7-8.8-5.5-13.1-8.5c-10.6 7.5-21.9 14-34 19.4l-3.6 1.6c-10.1 4.5-21.9-.1-26.4-10.2s.1-21.9 10.2-26.4l3.6-1.6c6.4-2.9 12.6-6.1 18.5-9.8l-12.2-12.2c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0l14.6 14.6 .5 .5c12.4-13.1 22.5-28.3 29.8-45H448 376c-11 0-20-9-20-20s9-20 20-20h52v-4c0-11 9-20 20-20z\"],\n \"face-kiss-wink-heart\": [512, 512, [128536, \"kiss-wink-heart\"], \"f598\", \"M498 339.7c9.1-26.2 14-54.4 14-83.7C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c35.4 0 69.1-7.2 99.7-20.2c-4.8-5.5-8.5-12.2-10.4-19.7l-22.9-89.3c-10-39 11.8-80.9 51.8-92.1c37.2-10.4 73.8 10.1 87.5 44c12.7-1.6 25.1 .4 36.2 5zM296 332c0 6.9-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C258.7 443.1 241.4 448 224 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.6-.4-.3-.2-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3zM176.4 240c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm194.8-6.4c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zM434 352.3c-6-23.2-28.8-37-51.1-30.8s-35.4 30.1-29.5 53.4l22.9 89.3c2.2 8.7 11.2 13.9 19.8 11.4l84.9-23.8c22.2-6.2 35.4-30.1 29.5-53.4s-28.8-37-51.1-30.8l-20.2 5.6-5.4-21z\"],\n \"filter\": [512, 512, [], \"f0b0\", \"M3.9 54.9C10.5 40.9 24.5 32 40 32H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9V448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6V320.9L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z\"],\n \"question\": [320, 512, [10067, 10068, 61736], \"3f\", \"M96 96c-17.7 0-32 14.3-32 32s-14.3 32-32 32s-32-14.3-32-32C0 75 43 32 96 32h97c70.1 0 127 56.9 127 127c0 52.4-32.2 99.4-81 118.4l-63 24.5 0 18.1c0 17.7-14.3 32-32 32s-32-14.3-32-32V301.9c0-26.4 16.2-50.1 40.8-59.6l63-24.5C240 208.3 256 185 256 159c0-34.8-28.2-63-63-63H96zm48 384c-22.1 0-40-17.9-40-40s17.9-40 40-40s40 17.9 40 40s-17.9 40-40 40z\"],\n \"file-signature\": [576, 512, [], \"f573\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V428.7c-2.7 1.1-5.4 2-8.2 2.7l-60.1 15c-3 .7-6 1.2-9 1.4c-.9 .1-1.8 .2-2.7 .2H240c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 381l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.8 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8h8.9c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7L384 203.6V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM549.8 139.7c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM311.9 321c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L512.1 262.7l-71-71L311.9 321z\"],\n \"up-down-left-right\": [512, 512, [\"arrows-alt\"], \"f0b2\", \"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32v96H128V192c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V288h96v96H192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H288V288h96v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6v32H288V128h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z\"],\n \"house-chimney-user\": [576, 512, [], \"e065\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32zM288 288c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zM176 400c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16z\"],\n \"hand-holding-heart\": [576, 512, [], \"f4be\", \"M148 76.6C148 34.3 182.3 0 224.6 0c20.3 0 39.8 8.1 54.1 22.4l9.3 9.3 9.3-9.3C311.6 8.1 331.1 0 351.4 0C393.7 0 428 34.3 428 76.6c0 20.3-8.1 39.8-22.4 54.1L302.1 234.1c-7.8 7.8-20.5 7.8-28.3 0L170.4 130.7C156.1 116.4 148 96.9 148 76.6zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"],\n \"puzzle-piece\": [512, 512, [129513], \"f12e\", \"M192 104.8c0-9.2-5.8-17.3-13.2-22.8C167.2 73.3 160 61.3 160 48c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8c0 12.8 10.4 23.2 23.2 23.2H336c26.5 0 48 21.5 48 48v56.8c0 12.8 10.4 23.2 23.2 23.2c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2c-12.8 0-23.2 10.4-23.2 23.2V464c0 26.5-21.5 48-48 48H279.2c-12.8 0-23.2-10.4-23.2-23.2c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8c0 12.8-10.4 23.2-23.2 23.2H48c-26.5 0-48-21.5-48-48V343.2C0 330.4 10.4 320 23.2 320c9.2 0 17.3 5.8 22.8 13.2C54.7 344.8 66.7 352 80 352c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8C40.5 250.2 32.4 256 23.2 256C10.4 256 0 245.6 0 232.8V176c0-26.5 21.5-48 48-48H168.8c12.8 0 23.2-10.4 23.2-23.2z\"],\n \"money-check\": [576, 512, [], \"f53c\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm48 160H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zM96 336c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zM376 160h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24z\"],\n \"star-half-stroke\": [576, 512, [\"star-half-alt\"], \"f5c0\", \"M288 376.4l.1-.1 26.4 14.1 85.2 45.5-16.5-97.6-4.8-28.7 20.7-20.5 70.1-69.3-96.1-14.2-29.3-4.3-12.9-26.6L288.1 86.9l-.1 .3V376.4zm175.1 98.3c2 12-3 24.2-12.9 31.3s-23 8-33.8 2.3L288.1 439.8 159.8 508.3C149 514 135.9 513.1 126 506s-14.9-19.3-12.9-31.3L137.8 329 33.6 225.9c-8.6-8.5-11.7-21.2-7.9-32.7s13.7-19.9 25.7-21.7L195 150.3 259.4 18c5.4-11 16.5-18 28.8-18s23.4 7 28.8 18l64.3 132.3 143.6 21.2c12 1.8 22 10.2 25.7 21.7s.7 24.2-7.9 32.7L438.5 329l24.6 145.7z\"],\n \"code\": [640, 512, [], \"f121\", \"M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z\"],\n \"whiskey-glass\": [512, 512, [129347, \"glass-whiskey\"], \"f7a0\", \"M32 32c-9.3 0-18.1 4-24.2 11.1S-1 59.4 .3 68.6l50 342.9c5.7 39.3 39.4 68.5 79.2 68.5h253c39.7 0 73.4-29.1 79.2-68.5l50-342.9c1.3-9.2-1.4-18.5-7.5-25.5S489.3 32 480 32H32zM87.7 224L69 96H443L424.3 224H87.7z\"],\n \"building-circle-exclamation\": [640, 512, [], \"e4d3\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM496 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm0-48c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm0-192c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"],\n \"magnifying-glass-chart\": [512, 512, [], \"e522\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zm-312 8v64c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80-96V280c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80 64v96c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"],\n \"arrow-up-right-from-square\": [512, 512, [\"external-link\"], \"f08e\", \"M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"],\n \"cubes-stacked\": [448, 512, [], \"e4e6\", \"M192 64v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32zM82.7 207c-15.3 8.8-20.5 28.4-11.7 43.7l32 55.4c8.8 15.3 28.4 20.5 43.7 11.7l55.4-32c15.3-8.8 20.5-28.4 11.7-43.7l-32-55.4c-8.8-15.3-28.4-20.5-43.7-11.7L82.7 207zM288 192c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H288zm64 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H352zM160 384v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zM32 352c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H32z\"],\n \"won-sign\": [512, 512, [8361, \"krw\", \"won\"], \"f159\", \"M62.4 53.9C56.8 37.1 38.6 28.1 21.9 33.6S-3.9 57.4 1.6 74.1L51.6 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H72.9l56.7 170.1c4.5 13.5 17.4 22.4 31.6 21.9s26.4-10.4 29.8-24.2L233 288h46L321 455.8c3.4 13.8 15.6 23.7 29.8 24.2s27.1-8.4 31.6-21.9L439.1 288H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H460.4l50-149.9c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2L392.9 224H329L287 56.2C283.5 42 270.7 32 256 32s-27.5 10-31 24.2L183 224h-64L62.4 53.9zm78 234.1H167l-11.4 45.6L140.4 288zM249 224l7-28.1 7 28.1H249zm96 64h26.6l-15.2 45.6L345 288z\"],\n \"virus-covid\": [512, 512, [], \"e4a8\", \"M192 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V81.6c30.7 4.2 58.8 16.3 82.3 34.1L386.1 92 374.8 80.6c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l56.6 56.6c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L420 125.9l-23.8 23.8c17.9 23.5 29.9 51.7 34.1 82.3H464V216c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H430.4c-4.2 30.7-16.3 58.8-34.1 82.3L420 386.1l11.3-11.3c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-56.6 56.6c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L386.1 420l-23.8-23.8c-23.5 17.9-51.7 29.9-82.3 34.1V464h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V430.4c-30.7-4.2-58.8-16.3-82.3-34.1L125.9 420l11.3 11.3c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L46.7 408.7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L92 386.1l23.8-23.8C97.9 338.8 85.8 310.7 81.6 280H48v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24s24 10.7 24 24v16H81.6c4.2-30.7 16.3-58.8 34.1-82.3L92 125.9 80.6 137.2c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l56.6-56.6c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L125.9 92l23.8 23.8c23.5-17.9 51.7-29.9 82.3-34.1V48H216c-13.3 0-24-10.7-24-24zm48 200c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zm64 104c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z\"],\n \"austral-sign\": [448, 512, [], \"e0a9\", \"M253.5 51.7C248.6 39.8 236.9 32 224 32s-24.6 7.8-29.5 19.7L122.7 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96L82.7 320H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H56L34.5 435.7c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L125.3 384H322.7l31.8 76.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8L392 384h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H365.3L352 288h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H325.3L253.5 51.7zM256 224H192l32-76.8L256 224zm-90.7 64H282.7L296 320H152l13.3-32z\"],\n \"f\": [320, 512, [102], \"46\", \"M32 32C14.3 32 0 46.3 0 64V256 448c0 17.7 14.3 32 32 32s32-14.3 32-32V288H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"],\n \"leaf\": [512, 512, [], \"f06c\", \"M272 96c-78.6 0-145.1 51.5-167.7 122.5c33.6-17 71.5-26.5 111.7-26.5h88c8.8 0 16 7.2 16 16s-7.2 16-16 16H288 216s0 0 0 0c-16.6 0-32.7 1.9-48.3 5.4c-25.9 5.9-49.9 16.4-71.4 30.7c0 0 0 0 0 0C38.3 298.8 0 364.9 0 440v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440c0-48.7 20.7-92.5 53.8-123.2C121.6 392.3 190.3 448 272 448l1 0c132.1-.7 239-130.9 239-291.4c0-42.6-7.5-83.1-21.1-119.6c-2.6-6.9-12.7-6.6-16.2-.1C455.9 72.1 418.7 96 376 96L272 96z\"],\n \"road\": [576, 512, [128739], \"f018\", \"M256 32H181.2c-27.1 0-51.3 17.1-60.3 42.6L3.1 407.2C1.1 413 0 419.2 0 425.4C0 455.5 24.5 480 54.6 480H256V416c0-17.7 14.3-32 32-32s32 14.3 32 32v64H521.4c30.2 0 54.6-24.5 54.6-54.6c0-6.2-1.1-12.4-3.1-18.2L455.1 74.6C446 49.1 421.9 32 394.8 32H320V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32zm64 192v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32z\"],\n \"taxi\": [512, 512, [128662, \"cab\"], \"f1ba\", \"M192 0c-17.7 0-32 14.3-32 32V64c0 .1 0 .1 0 .2c-38.6 2.2-72.3 27.3-85.2 64.1L39.6 228.8C16.4 238.4 0 261.3 0 288V432v48c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V432H416v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V432 288c0-26.7-16.4-49.6-39.6-59.2L437.2 128.3c-12.9-36.8-46.6-62-85.2-64.1c0-.1 0-.1 0-.2V32c0-17.7-14.3-32-32-32H192zM165.4 128H346.6c13.6 0 25.7 8.6 30.2 21.4L402.9 224H109.1l26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zM96 352c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm352-32c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32z\"],\n \"person-circle-plus\": [576, 512, [], \"e541\", \"M208 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM152 352V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 512c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm16-208c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"],\n \"chart-pie\": [576, 512, [\"pie-chart\"], \"f200\", \"M304 240V16.6c0-9 7-16.6 16-16.6C443.7 0 544 100.3 544 224c0 9-7.6 16-16.6 16H304zM32 272C32 150.7 122.1 50.3 239 34.3c9.2-1.3 17 6.1 17 15.4V288L412.5 444.5c6.7 6.7 6.2 17.7-1.5 23.1C371.8 495.6 323.8 512 272 512C139.5 512 32 404.6 32 272zm526.4 16c9.3 0 16.6 7.8 15.4 17c-7.7 55.9-34.6 105.6-73.9 142.3c-6 5.6-15.4 5.2-21.2-.7L320 288H558.4z\"],\n \"bolt-lightning\": [384, 512, [], \"e0b7\", \"M0 256L28.5 28c2-16 15.6-28 31.8-28H228.9c15 0 27.1 12.1 27.1 27.1c0 3.2-.6 6.5-1.7 9.5L208 160H347.3c20.2 0 36.7 16.4 36.7 36.7c0 7.4-2.2 14.6-6.4 20.7l-192.2 281c-5.9 8.6-15.6 13.7-25.9 13.7h-2.9c-15.7 0-28.5-12.8-28.5-28.5c0-2.3 .3-4.6 .9-6.9L176 288H32c-17.7 0-32-14.3-32-32z\"],\n \"sack-xmark\": [512, 512, [], \"e56a\", \"M192 96H320l47.4-71.1C374.5 14.2 366.9 0 354.1 0H157.9c-12.8 0-20.4 14.2-13.3 24.9L192 96zm128 32H192c-3.8 2.5-8.1 5.3-13 8.4l0 0 0 0C122.3 172.7 0 250.9 0 416c0 53 43 96 96 96H416c53 0 96-43 96-96c0-165.1-122.3-243.3-179-279.6c-4.8-3.1-9.2-5.9-13-8.4zM289.9 336l47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47z\"],\n \"file-excel\": [384, 512, [], \"f1c3\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM155.7 250.2L192 302.1l36.3-51.9c7.6-10.9 22.6-13.5 33.4-5.9s13.5 22.6 5.9 33.4L221.3 344l46.4 66.2c7.6 10.9 5 25.8-5.9 33.4s-25.8 5-33.4-5.9L192 385.8l-36.3 51.9c-7.6 10.9-22.6 13.5-33.4 5.9s-13.5-22.6-5.9-33.4L162.7 344l-46.4-66.2c-7.6-10.9-5-25.8 5.9-33.4s25.8-5 33.4 5.9z\"],\n \"file-contract\": [384, 512, [], \"f56c\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM80 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm54.2 253.8c-6.1 20.3-24.8 34.2-46 34.2H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 349l-9.8 32.8z\"],\n \"fish-fins\": [576, 512, [], \"e4f2\", \"M275.2 38.4c-10.6-8-25-8.5-36.3-1.5S222 57.3 224.6 70.3l9.7 48.6c-19.4 9-36.9 19.9-52.4 31.5c-15.3 11.5-29 23.9-40.7 36.3L48.1 132.4c-12.5-7.3-28.4-5.3-38.7 4.9S-3 163.3 4.2 175.9L50 256 4.2 336.1c-7.2 12.6-5 28.4 5.3 38.6s26.1 12.2 38.7 4.9l93.1-54.3c11.8 12.3 25.4 24.8 40.7 36.3c15.5 11.6 33 22.5 52.4 31.5l-9.7 48.6c-2.6 13 3.1 26.3 14.3 33.3s25.6 6.5 36.3-1.5l77.6-58.2c54.9-4 101.5-27 137.2-53.8c39.2-29.4 67.2-64.7 81.6-89.5c5.8-9.9 5.8-22.2 0-32.1c-14.4-24.8-42.5-60.1-81.6-89.5c-35.8-26.8-82.3-49.8-137.2-53.8L275.2 38.4zM448 256c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32z\"],\n \"building-flag\": [640, 512, [], \"e4d5\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM448 0c-17.7 0-32 14.3-32 32V512h64V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H480c0-17.7-14.3-32-32-32z\"],\n \"face-grin-beam\": [512, 512, [128516, \"grin-beam\"], \"f582\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM383.8 317.8c12.3-3.7 24.3 7 19.2 18.7c-24.5 56.9-81.1 96.7-147 96.7s-122.5-39.8-147-96.7c-5.1-11.8 6.9-22.4 19.2-18.7C166.7 329.4 210.1 336 256 336s89.3-6.6 127.8-18.2zm-166.2-89l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"],\n \"object-ungroup\": [640, 512, [], \"f248\", \"M32 119.4C12.9 108.4 0 87.7 0 64C0 28.7 28.7 0 64 0c23.7 0 44.4 12.9 55.4 32H328.6C339.6 12.9 360.3 0 384 0c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V232.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V119.4zM119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4V232.6c9.7 5.6 17.8 13.7 23.4 23.4H328.6c5.6-9.7 13.7-17.8 23.4-23.4V119.4c-9.7-5.6-17.8-13.7-23.4-23.4H119.4zm192 384c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V352h64v40.6c9.7 5.6 17.8 13.7 23.4 23.4H520.6c5.6-9.7 13.7-17.8 23.4-23.4V279.4c-9.7-5.6-17.8-13.7-23.4-23.4h-46c-5.4-15.4-14.6-28.9-26.5-39.6V192h72.6c11.1-19.1 31.7-32 55.4-32c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V392.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H311.4z\"],\n \"poop\": [512, 512, [], \"f619\", \"M254.4 6.6c3.5-4.3 9-6.5 14.5-5.7C315.8 7.2 352 47.4 352 96c0 11.2-1.9 22-5.5 32H352c35.3 0 64 28.7 64 64c0 19.1-8.4 36.3-21.7 48H408c39.8 0 72 32.2 72 72c0 23.2-11 43.8-28 57c34.1 5.7 60 35.3 60 71c0 39.8-32.2 72-72 72H72c-39.8 0-72-32.2-72-72c0-35.7 25.9-65.3 60-71c-17-13.2-28-33.8-28-57c0-39.8 32.2-72 72-72h13.7C104.4 228.3 96 211.1 96 192c0-35.3 28.7-64 64-64h16.2c44.1-.1 79.8-35.9 79.8-80c0-9.2-1.5-17.9-4.3-26.1c-1.8-5.2-.8-11.1 2.8-15.4z\"],\n \"location-pin\": [384, 512, [\"map-marker\"], \"f041\", \"M384 192c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192z\"],\n \"kaaba\": [576, 512, [128331], \"f66b\", \"M60 120l228 71.2L516 120 288 48.8 60 120zM278.5 1.5c6.2-1.9 12.9-1.9 19.1 0l256 80C566.9 85.6 576 98 576 112v16 0 21.2L292.8 237.7c-3.1 1-6.4 1-9.5 0L0 149.2V128 112C0 98 9.1 85.6 22.5 81.5l256-80zm23.9 266.8L576 182.8v46.5l-52.8 16.5c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5L576 262.8V400c0 14-9.1 26.4-22.5 30.5l-256 80c-6.2 1.9-12.9 1.9-19.1 0l-256-80C9.1 426.4 0 414 0 400V262.8l43.2 13.5c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20L0 229.2V182.8l273.7 85.5c9.3 2.9 19.3 2.9 28.6 0zm-185.5-2.6c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l64 20c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20l-64-20zm352 30.5c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-64 20c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5l64-20zm-224 9.5c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l38.5 12c9.3 2.9 19.3 2.9 28.6 0l38.5-12c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-38.5 12c-3.1 1-6.4 1-9.5 0l-38.5-12z\"],\n \"toilet-paper\": [640, 512, [129531], \"f71e\", \"M444.2 0C397.2 49.6 384 126.5 384 192c0 158.8-27.3 247-42.7 283.9c-10 24-33.2 36.1-55.4 36.1H48c-11.5 0-22.2-6.2-27.8-16.2s-5.6-22.3 .4-32.2c9.8-17.7 15.4-38.2 20.5-57.7C52.3 362.8 64 293.5 64 192C64 86 107 0 160 0H444.2zM512 384c-53 0-96-86-96-192S459 0 512 0s96 86 96 192s-43 192-96 192zm0-128c17.7 0 32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64zM144 208c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zm48 16c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16zm80-16c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16z\"],\n \"helmet-safety\": [576, 512, [\"hard-hat\", \"hat-hard\"], \"f807\", \"M256 32c-17.7 0-32 14.3-32 32v2.3 99.6c0 5.6-4.5 10.1-10.1 10.1c-3.6 0-7-1.9-8.8-5.1L157.1 87C83 123.5 32 199.8 32 288v64H544l0-66.4c-.9-87.2-51.7-162.4-125.1-198.6l-48 83.9c-1.8 3.2-5.2 5.1-8.8 5.1c-5.6 0-10.1-4.5-10.1-10.1V66.3 64c0-17.7-14.3-32-32-32H256zM16.6 384C7.4 384 0 391.4 0 400.6c0 4.7 2 9.2 5.8 11.9C27.5 428.4 111.8 480 288 480s260.5-51.6 282.2-67.5c3.8-2.8 5.8-7.2 5.8-11.9c0-9.2-7.4-16.6-16.6-16.6H16.6z\"],\n \"eject\": [448, 512, [9167], \"f052\", \"M224 32c13.5 0 26.3 5.6 35.4 15.6l176 192c12.9 14 16.2 34.3 8.6 51.8S419 320 400 320H48c-19 0-36.3-11.2-43.9-28.7s-4.3-37.7 8.6-51.8l176-192C197.7 37.6 210.5 32 224 32zM0 432c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48s-21.5 48-48 48H48c-26.5 0-48-21.5-48-48z\"],\n \"circle-right\": [512, 512, [61838, \"arrow-alt-circle-right\"], \"f35a\", \"M0 256C0 397.4 114.6 512 256 512s256-114.6 256-256S397.4 0 256 0S0 114.6 0 256zm395.3 11.3l-112 112c-4.6 4.6-11.5 5.9-17.4 3.5s-9.9-8.3-9.9-14.8l0-64-96 0c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32l96 0 0-64c0-6.5 3.9-12.3 9.9-14.8s12.9-1.1 17.4 3.5l112 112c6.2 6.2 6.2 16.4 0 22.6z\"],\n \"plane-circle-check\": [640, 512, [], \"e555\", \"M256 0c-35 0-64 59.5-64 93.7v84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9v65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3V93.7C320 59.5 292 0 256 0zM640 368c0-79.5-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144s144-64.5 144-144zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"],\n \"face-rolling-eyes\": [512, 512, [128580, \"meh-rolling-eyes\"], \"f5a5\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM192 368H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16zm32-144c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-26 15.5-48.4 37.8-58.4c-3.7 5.2-5.8 11.6-5.8 18.4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.9-2.2-13.2-5.8-18.4C208.5 175.6 224 198 224 224zm128 64c-35.3 0-64-28.7-64-64c0-26 15.5-48.4 37.8-58.4c-3.7 5.2-5.8 11.6-5.8 18.4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.9-2.2-13.2-5.8-18.4C400.5 175.6 416 198 416 224c0 35.3-28.7 64-64 64z\"],\n \"object-group\": [576, 512, [], \"f247\", \"M32 119.4C12.9 108.4 0 87.7 0 64C0 28.7 28.7 0 64 0c23.7 0 44.4 12.9 55.4 32H456.6C467.6 12.9 488.3 0 512 0c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V392.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V119.4zM456.6 96H119.4c-5.6 9.7-13.7 17.8-23.4 23.4V392.6c9.7 5.6 17.8 13.7 23.4 23.4H456.6c5.6-9.7 13.7-17.8 23.4-23.4V119.4c-9.7-5.6-17.8-13.7-23.4-23.4zM128 160c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160zM256 320h32c35.3 0 64-28.7 64-64V224h64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V320z\"],\n \"chart-line\": [512, 512, [\"line-chart\"], \"f201\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L240 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z\"],\n \"mask-ventilator\": [640, 512, [], \"e524\", \"M159.1 176C139.4 219.2 128 264.7 128 300.8c0 15.9 2.2 31.4 6.3 46l-31.8-7.9C70.5 330.9 48 302.1 48 269V184c0-4.4 3.6-8 8-8H159.1zm26-48H56c-30.9 0-56 25.1-56 56v85c0 55.1 37.5 103.1 90.9 116.4l71.3 17.8c22.7 30.5 55.4 54.1 93.8 66.6V393.3c-19.7-16.4-32-40.3-32-66.9c0-49.5 43-134.4 96-134.4c52.5 0 96 84.9 96 134.4c0 26.7-12.4 50.4-32 66.8v76.6c38-12.6 70.6-36 93.5-66.4l71.6-17.9C602.5 372.1 640 324.1 640 269V184c0-30.9-25.1-56-56-56H454.5C419.7 73.8 372.1 32 320 32c-52.6 0-100.2 41.8-134.9 96zm295.6 48H584c4.4 0 8 3.6 8 8v85c0 33-22.5 61.8-54.5 69.9l-31.8 8c4.2-14.7 6.4-30.1 6.4-46.1c0-36.1-11.6-81.6-31.3-124.8zM288 320V512h64V320c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"],\n \"arrow-right\": [448, 512, [8594], \"f061\", \"M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z\"],\n \"signs-post\": [512, 512, [\"map-signs\"], \"f277\", \"M224 32H64C46.3 32 32 46.3 32 64v64c0 17.7 14.3 32 32 32H441.4c4.2 0 8.3-1.7 11.3-4.7l48-48c6.2-6.2 6.2-16.4 0-22.6l-48-48c-3-3-7.1-4.7-11.3-4.7H288c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 256c0-17.7-14.3-32-32-32H288V192H224v32H70.6c-4.2 0-8.3 1.7-11.3 4.7l-48 48c-6.2 6.2-6.2 16.4 0 22.6l48 48c3 3 7.1 4.7 11.3 4.7H448c17.7 0 32-14.3 32-32V256zM288 480V384H224v96c0 17.7 14.3 32 32 32s32-14.3 32-32z\"],\n \"cash-register\": [512, 512, [], \"f788\", \"M64 0C46.3 0 32 14.3 32 32V96c0 17.7 14.3 32 32 32h80v32H87c-31.6 0-58.5 23.1-63.3 54.4L1.1 364.1C.4 368.8 0 373.6 0 378.4V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V378.4c0-4.8-.4-9.6-1.1-14.4L488.2 214.4C483.5 183.1 456.6 160 425 160H208V128h80c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H64zM96 48H256c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16zM64 432c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm48-216c13.3 0 24 10.7 24 24s-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24zm72 24c0-13.3 10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24s-24-10.7-24-24zm-24 56c13.3 0 24 10.7 24 24s-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24zm120-56c0-13.3 10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24s-24-10.7-24-24zm-24 56c13.3 0 24 10.7 24 24s-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24zm120-56c0-13.3 10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24s-24-10.7-24-24zm-24 56c13.3 0 24 10.7 24 24s-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24z\"],\n \"person-circle-question\": [576, 512, [], \"e542\", \"M208 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM152 352V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 512c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm0-48c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zM368 321.6V328c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.4c0-5.3 4.3-9.6 9.6-9.6h40.5c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2V384c0 8.8 7.2 16 16 16s16-7.2 16-16v-5.1l23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9H409.6c-23 0-41.6 18.6-41.6 41.6z\"],\n \"h\": [384, 512, [104], \"48\", \"M320 256l0 192c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192L64 192 64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-192 256 0z\"],\n \"tarp\": [576, 512, [], \"e57b\", \"M576 128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64l352 0 0-128c0-17.7 14.3-32 32-32H576V128zM448 448L576 320H448l0 128zM96 192c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"screwdriver-wrench\": [512, 512, [\"tools\"], \"f7d9\", \"M78.6 5C69.1-2.4 55.6-1.5 47 7L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4h54.1l109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3l-109-109V104c0-7.5-3.5-14.5-9.4-19L78.6 5zM19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L233.7 374.3c-7.8-20.9-9-43.6-3.6-65.1l-61.7-61.7L19.9 396.1zM512 144c0-10.5-1.1-20.7-3.2-30.5c-2.4-11.2-16.1-14.1-24.2-6l-63.9 63.9c-3 3-7.1 4.7-11.3 4.7H352c-8.8 0-16-7.2-16-16V102.6c0-4.2 1.7-8.3 4.7-11.3l63.9-63.9c8.1-8.1 5.2-21.8-6-24.2C388.7 1.1 378.5 0 368 0C288.5 0 224 64.5 224 144l0 .8 85.3 85.3c36-9.1 75.8 .5 104 28.7L429 274.5c49-23 83-72.8 83-130.5zM104 432c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z\"],\n \"arrows-to-eye\": [640, 512, [], \"e4bf\", \"M15 15C24.4 5.7 39.6 5.7 49 15l63 63V40c0-13.3 10.7-24 24-24s24 10.7 24 24v96c0 13.3-10.7 24-24 24H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H78.1L15 49C5.7 39.6 5.7 24.4 15 15zM133.5 243.9C158.6 193.6 222.7 112 320 112s161.4 81.6 186.5 131.9c3.8 7.6 3.8 16.5 0 24.2C481.4 318.4 417.3 400 320 400s-161.4-81.6-186.5-131.9c-3.8-7.6-3.8-16.5 0-24.2zM320 320c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64zM591 15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-63 63H600c13.3 0 24 10.7 24 24s-10.7 24-24 24H504c-13.3 0-24-10.7-24-24V40c0-13.3 10.7-24 24-24s24 10.7 24 24V78.1l63-63zM15 497c-9.4-9.4-9.4-24.6 0-33.9l63-63H40c-13.3 0-24-10.7-24-24s10.7-24 24-24h96c13.3 0 24 10.7 24 24v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V433.9L49 497c-9.4 9.4-24.6 9.4-33.9 0zm576 0l-63-63V472c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H561.9l63 63c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0z\"],\n \"plug-circle-bolt\": [576, 512, [], \"e55b\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356H488c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380H376c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"],\n \"heart\": [512, 512, [128153, 128154, 128155, 128156, 128420, 129293, 129294, 129505, 9829, 10084, 61578], \"f004\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z\"],\n \"mars-and-venus\": [512, 512, [9893], \"f224\", \"M337.8 14.8C341.5 5.8 350.3 0 360 0H472c13.3 0 24 10.7 24 24V136c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-24.7 24.7C407 163.3 416 192.6 416 224c0 80.2-59.1 146.7-136.1 158.2c0 .6 .1 1.2 .1 1.8v.4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0l-24 0-24 0v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V486 486v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V485 485v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V484v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V483v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V481v-.1-.1-.1-.1-.1-.1-.1-.1V480v-.1-.1-.1-.1-.1-.1-.1V479v-.1-.1-.1-.1-.1-.1-.1V478v-.1-.1-.1-.1-.1-.1V477v-.1-.1-.1-.1-.1-.1V476v-.1-.1-.1-.1-.1-.1V475v-.1-.2-.2-.2-.2-.2V474v-.2-.2-.2-.2-.2V473v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V470v-.2-.2-.2-.2-.2V469v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V467v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V463v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V459v-.2-.2-.2-.2-.2-.2-.2-.2V457v-.2-.2-.2-.2V456H208c-13.3 0-24-10.7-24-24s10.7-24 24-24h24v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V403v-.3-.3V402v-.3-.3V401v-.3-.3V400v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.3-.4-.4-.4-.4V393v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V388v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V384c0-.6 0-1.2 .1-1.8C155.1 370.7 96 304.2 96 224c0-88.4 71.6-160 160-160c39.6 0 75.9 14.4 103.8 38.2L382.1 80 343 41c-6.9-6.9-8.9-17.2-5.2-26.2zM448 48l0 0h0v0zM256 488h24c0 13.3-10.7 24-24 24s-24-10.7-24-24h24zm96-264c0-53-43-96-96-96s-96 43-96 96s43 96 96 96s96-43 96-96z\"],\n \"house-user\": [576, 512, [\"home-user\"], \"e1b0\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24zM352 224c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64zm-96 96c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H256z\"],\n \"dumpster-fire\": [640, 512, [], \"f794\", \"M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94L140.5 32H49.7zM272 160V32H173.1L147.5 160H272zm32 0h58c15.1-18.1 32.1-35.7 50.5-52.1c1.5-1.4 3.2-2.6 4.8-3.8L402.9 32H304V160zm209.9-23.7c17.4-15.8 43.9-16.2 61.7-1.2c-.1-.7-.3-1.4-.5-2.1L549.2 48.9C546.1 38.9 536.8 32 526.3 32H435.5l12.8 64.2c9.6 1 19 4.9 26.6 11.8c11.7 10.6 23 21.6 33.9 33.1c1.6-1.6 3.3-3.2 5-4.8zM325.2 210.7c3.8-6.2 7.9-12.5 12.3-18.7H32l4 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H44L64 448c0 17.7 14.3 32 32 32s32-14.3 32-32H337.6c-31-34.7-49.6-80.6-49.6-129.9c0-35.2 16.3-73.6 37.2-107.4zm128.4-78.9c-2.8-2.5-6.3-3.7-9.8-3.8c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8c-19.7 31.9-32.4 66.2-32.4 92.6C320 407.9 390.3 480 480 480c88.7 0 160-72 160-159.8c0-20.2-9.6-50.9-24.2-79c-14.8-28.5-35.7-58.5-60.4-81.1c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM530 401c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96z\"],\n \"house-crack\": [576, 512, [], \"e3b1\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H230.4l-31.3-52.2c-4.1-6.8-2.6-15.5 3.5-20.5L288 368l-60.2-82.8c-10.9-15 8.2-33.5 22.8-22l117.9 92.6c8 6.3 8.2 18.4 .4 24.9L288 448l38.4 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32z\"],\n \"martini-glass-citrus\": [576, 512, [\"cocktail\"], \"f561\", \"M432 240c53 0 96-43 96-96s-43-96-96-96c-35.5 0-66.6 19.3-83.2 48H296.2C316 40.1 369.3 0 432 0c79.5 0 144 64.5 144 144s-64.5 144-144 144c-27.7 0-53.5-7.8-75.5-21.3l35.4-35.4c12.2 5.6 25.8 8.7 40.1 8.7zM1.8 142.8C5.5 133.8 14.3 128 24 128H392c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-177 177V464h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H208 120c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V345.9L7 169c-6.9-6.9-8.9-17.2-5.2-26.2z\"],\n \"face-surprise\": [512, 512, [128558, \"surprise\"], \"f5c2\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM176.4 240c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm192-32c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM256 416c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64z\"],\n \"bottle-water\": [256, 512, [], \"e4c5\", \"M88 0h80c13.3 0 24 10.7 24 24V64H64V24C64 10.7 74.7 0 88 0zM0 151.7c0-15.6 9-29.8 23.2-36.5l24.4-11.4c11-5.1 23-7.8 35.1-7.8h90.6c12.1 0 24.1 2.7 35.1 7.8l24.4 11.4c14.2 6.6 23.2 20.8 23.2 36.5c0 14.4-7.5 27-18.9 34.1c11.5 8.8 18.9 22.6 18.9 38.2c0 16.7-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40s-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40s-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48c0-16.7 8.5-31.4 21.5-40C8.5 415.4 0 400.7 0 384s8.5-31.4 21.5-40C8.5 335.4 0 320.7 0 304s8.5-31.4 21.5-40C8.5 255.4 0 240.7 0 224c0-15.6 7.4-29.4 18.9-38.2C7.5 178.7 0 166.1 0 151.7zM64 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM80 352c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"],\n \"circle-pause\": [512, 512, [62092, \"pause-circle\"], \"f28b\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM224 192V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32s32 14.3 32 32z\"],\n \"toilet-paper-slash\": [640, 512, [], \"e072\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-109.7-86C569.9 374 608 291.9 608 192C608 86 565 0 512 0s-96 86-96 192c0 49.1 9.2 93.9 24.4 127.9l-59-46.2c1.6-24.8 2.6-52 2.6-81.6c0-65.5 13.2-142.4 60.2-192H160c-24.8 0-47.4 18.8-64.4 49.6L38.8 5.1zM66.5 148.4C64.9 162.4 64 177 64 192c0 101.5-11.7 170.8-23 213.9c-5.1 19.4-10.7 39.9-20.5 57.7c-5.9 9.9-6.1 22.1-.4 32.2S36.5 512 48 512H285.9c22.3 0 45.4-12.1 55.4-36.1c7.4-17.7 17.5-47.2 26-90.6L66.5 148.4zM544 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64z\"],\n \"apple-whole\": [448, 512, [127822, 127823, \"apple-alt\"], \"f5d1\", \"M224 112c-8.8 0-16-7.2-16-16V80c0-44.2 35.8-80 80-80h16c8.8 0 16 7.2 16 16V32c0 44.2-35.8 80-80 80H224zM0 288c0-76.3 35.7-160 112-160c27.3 0 59.7 10.3 82.7 19.3c18.8 7.3 39.9 7.3 58.7 0c22.9-8.9 55.4-19.3 82.7-19.3c76.3 0 112 83.7 112 160c0 128-80 224-160 224c-16.5 0-38.1-6.6-51.5-11.3c-8.1-2.8-16.9-2.8-25 0c-13.4 4.7-35 11.3-51.5 11.3C80 512 0 416 0 288z\"],\n \"kitchen-set\": [576, 512, [], \"e51a\", \"M240 144c0-53-43-96-96-96s-96 43-96 96s43 96 96 96s96-43 96-96zm44.4 32C269.9 240.1 212.5 288 144 288C64.5 288 0 223.5 0 144S64.5 0 144 0c68.5 0 125.9 47.9 140.4 112h71.8c8.8-9.8 21.6-16 35.8-16H496c26.5 0 48 21.5 48 48s-21.5 48-48 48H392c-14.2 0-27-6.2-35.8-16H284.4zM144 208c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zm256 32c13.3 0 24 10.7 24 24v8h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24s10.7-24 24-24h96v-8c0-13.3 10.7-24 24-24zM288 464V352H512V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48zM48 320h80 16 32c26.5 0 48 21.5 48 48s-21.5 48-48 48H160c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V336c0-8.8 7.2-16 16-16zm128 64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160v32h16zM24 464H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"],\n \"r\": [320, 512, [114], \"52\", \"M32 32C14.3 32 0 46.3 0 64V288 448c0 17.7 14.3 32 32 32s32-14.3 32-32V320h95.3L261.8 466.4c10.1 14.5 30.1 18 44.6 7.9s18-30.1 7.9-44.6L230.1 309.5C282.8 288.1 320 236.4 320 176c0-79.5-64.5-144-144-144H32zM176 256H64V96H176c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"],\n \"temperature-quarter\": [320, 512, [\"temperature-1\", \"thermometer-1\", \"thermometer-quarter\"], \"f2ca\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V272c0-8.8 7.2-16 16-16s16 7.2 16 16v50.7c18.6 6.6 32 24.4 32 45.3z\"],\n \"cube\": [512, 512, [], \"f1b2\", \"M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6C495 83.4 512 107.5 512 134.6V377.4c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4V134.6c0-27 17-51.2 42.5-60.3l192-68.6zM256 66L82.3 128 256 190l173.7-62L256 66zm32 368.6l160-57.1v-188L288 246.6v188z\"],\n \"bitcoin-sign\": [320, 512, [], \"e0b4\", \"M48 32C48 14.3 62.3 0 80 0s32 14.3 32 32V64h32V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64c0 1.5-.1 3.1-.3 4.5C254.1 82.2 288 125.1 288 176c0 24.2-7.7 46.6-20.7 64.9c31.7 19.8 52.7 55 52.7 95.1c0 61.9-50.1 112-112 112v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H112v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H41.7C18.7 448 0 429.3 0 406.3V288 265.7 224 101.6C0 80.8 16.8 64 37.6 64H48V32zM64 224H176c26.5 0 48-21.5 48-48s-21.5-48-48-48H64v96zm112 64H64v96H208c26.5 0 48-21.5 48-48s-21.5-48-48-48H176z\"],\n \"shield-dog\": [512, 512, [], \"e573\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM160.9 286.2c4.8 1.2 9.9 1.8 15.1 1.8c35.3 0 64-28.7 64-64V160h44.2c12.1 0 23.2 6.8 28.6 17.7L320 192h64c8.8 0 16 7.2 16 16v32c0 44.2-35.8 80-80 80H272v50.7c0 7.3-5.9 13.3-13.3 13.3c-1.8 0-3.6-.4-5.2-1.1l-98.7-42.3c-6.6-2.8-10.8-9.3-10.8-16.4c0-2.8 .6-5.5 1.9-8l15-30zM160 160h40 8v32 32c0 17.7-14.3 32-32 32s-32-14.3-32-32V176c0-8.8 7.2-16 16-16zm128 48c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16z\"],\n \"solar-panel\": [640, 512, [], \"f5ba\", \"M96 0C80.7 0 67.6 10.8 64.6 25.7l-64 320c-1.9 9.4 .6 19.1 6.6 26.6S22.4 384 32 384H288v64H224c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V384H608c9.6 0 18.7-4.3 24.7-11.7s8.5-17.2 6.6-26.6l-64-320C572.4 10.8 559.3 0 544 0H96zm5.4 168L122.2 64h90.4L202.3 168H101.4zm-9.6 48H197.5L187.1 320H71L91.8 216zm153.9 0H394.3l10.4 104H235.3l10.4-104zm196.8 0H548.2L569 320h-116L442.5 216zm96-48H437.7L427.3 64h90.4l20.8 104zm-149.1 0h-139L260.9 64H379.1l10.4 104z\"],\n \"lock-open\": [576, 512, [], \"f3c1\", \"M352 144c0-44.2 35.8-80 80-80s80 35.8 80 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32V144C576 64.5 511.5 0 432 0S288 64.5 288 144v48H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H352V144z\"],\n \"elevator\": [512, 512, [], \"e16d\", \"M132.7 4.7l-64 64c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H208c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-64-64c-6.2-6.2-16.4-6.2-22.6 0zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H64zm96 192c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48zM80 400c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v16c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V400zm192 0c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v16c0 17.7-14.3 32-32 32H304c-17.7 0-32-14.3-32-32V400zM400 272c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM356.7 91.3c6.2 6.2 16.4 6.2 22.6 0l64-64c4.6-4.6 5.9-11.5 3.5-17.4S438.5 0 432 0H304c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l64 64z\"],\n \"money-bill-transfer\": [640, 512, [], \"e528\", \"M535 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l64 64c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23L384 112c-13.3 0-24-10.7-24-24s10.7-24 24-24l174.1 0L535 41zM105 377l-23 23L256 400c13.3 0 24 10.7 24 24s-10.7 24-24 24L81.9 448l23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 441c-4.5-4.5-7-10.6-7-17s2.5-12.5 7-17l64-64c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM96 64H337.9c-3.7 7.2-5.9 15.3-5.9 24c0 28.7 23.3 52 52 52l117.4 0c-4 17 .6 35.5 13.8 48.8c20.3 20.3 53.2 20.3 73.5 0L608 169.5V384c0 35.3-28.7 64-64 64H302.1c3.7-7.2 5.9-15.3 5.9-24c0-28.7-23.3-52-52-52l-117.4 0c4-17-.6-35.5-13.8-48.8c-20.3-20.3-53.2-20.3-73.5 0L32 342.5V128c0-35.3 28.7-64 64-64zm64 64H96v64c35.3 0 64-28.7 64-64zM544 320c-35.3 0-64 28.7-64 64h64V320zM320 352c53 0 96-43 96-96s-43-96-96-96s-96 43-96 96s43 96 96 96z\"],\n \"money-bill-trend-up\": [512, 512, [], \"e529\", \"M470.7 9.4c3 3.1 5.3 6.6 6.9 10.3s2.4 7.8 2.4 12.2l0 .1v0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3L310.6 214.6c-11.8 11.8-30.8 12.6-43.5 1.7L176 138.1 84.8 216.3c-13.4 11.5-33.6 9.9-45.1-3.5s-9.9-33.6 3.5-45.1l112-96c12-10.3 29.7-10.3 41.7 0l89.5 76.7L370.7 64H352c-17.7 0-32-14.3-32-32s14.3-32 32-32h96 0c8.8 0 16.8 3.6 22.6 9.3l.1 .1zM0 304c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V304zM48 416v48H96c0-26.5-21.5-48-48-48zM96 304H48v48c26.5 0 48-21.5 48-48zM464 416c-26.5 0-48 21.5-48 48h48V416zM416 304c0 26.5 21.5 48 48 48V304H416zm-96 80c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\"],\n \"house-flood-water-circle-arrow-right\": [640, 512, [], \"e50f\", \"M288 144C288 64.5 223.5 0 144 0S0 64.5 0 144s64.5 144 144 144s144-64.5 144-144zM140.7 76.7c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L169.4 160H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4L140.7 99.3c-6.2-6.2-6.2-16.4 0-22.6zM320 144c0 57.3-27.4 108.2-69.8 140.3c11.8-3.6 23-9.4 33-16.2c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.4 78.1 3.4c2.1 1.7 4.2 3.3 6.5 4.9l-.3-84.4H576c13.9 0 26.1-8.9 30.4-22.1s-.4-27.6-11.6-35.8l-176-128C407.6-2 392.4-2 381.2 6.1L301 64.4c12.1 23.9 19 50.9 19 79.6zm18.5 165.9c-11.1-7.9-25.9-7.9-37 0C279 325.4 251.5 336 224 336c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C158.5 389.7 191 400 224 400c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C471.4 325.2 442.9 336 416 336c-27.5 0-55-10.6-77.5-26.1zm0 112c-11.1-7.9-25.9-7.9-37 0C279 437.4 251.5 448 224 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C158.5 501.7 191 512 224 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C471.4 437.2 442.9 448 416 448c-27.5 0-55-10.6-77.5-26.1z\"],\n \"square-poll-horizontal\": [448, 512, [\"poll-h\"], \"f682\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM256 160c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32zm64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l192 0zM192 352c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0c17.7 0 32 14.3 32 32z\"],\n \"circle\": [512, 512, [128308, 128309, 128992, 128993, 128994, 128995, 128996, 9679, 9898, 9899, 11044, 61708, 61915], \"f111\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512z\"],\n \"backward-fast\": [512, 512, [9198, \"fast-backward\"], \"f049\", \"M493.6 445c-11.2 5.3-24.5 3.6-34.1-4.4L288 297.7V416c0 12.4-7.2 23.7-18.4 29s-24.5 3.6-34.1-4.4L64 297.7V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 78.3 14.3 64 32 64s32 14.3 32 32V214.3L235.5 71.4c9.5-7.9 22.8-9.7 34.1-4.4S288 83.6 288 96V214.3L459.5 71.4c9.5-7.9 22.8-9.7 34.1-4.4S512 83.6 512 96V416c0 12.4-7.2 23.7-18.4 29z\"],\n \"recycle\": [576, 512, [9842, 9850, 9851], \"f1b8\", \"M206.7 45.1C224.2 17 255 0 288 0s63.8 17 81.3 45.1l38.6 61.7 27-15.6c8.4-4.9 18.9-4.2 26.6 1.7s11.1 15.9 8.6 25.3l-23.4 87.4c-3.4 12.8-16.6 20.4-29.4 17l-87.4-23.4c-9.4-2.5-16.3-10.4-17.6-20s3.4-19.1 11.8-23.9l28.4-16.4L315 79c-5.8-9.3-16-15-27-15s-21.2 5.7-27 15l-17.5 28c-9.2 14.8-28.6 19.5-43.6 10.5c-15.3-9.2-20.2-29.2-10.7-44.4l17.5-28zM461.5 251.9c15-9 34.4-4.3 43.6 10.5l24.4 39.1c9.4 15.1 14.4 32.4 14.6 50.2c.3 53.1-42.7 96.4-95.8 96.4L352 448v32c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2v32l96.2 0c17.6 0 31.9-14.4 31.8-32c0-5.9-1.7-11.7-4.8-16.7l-24.4-39.1c-9.5-15.2-4.7-35.2 10.7-44.4zm-364.6-31L68 204.2c-8.4-4.9-13.1-14.3-11.8-23.9s8.2-17.5 17.6-20l87.4-23.4c12.8-3.4 26 4.2 29.4 17L214 241.2c2.5 9.4-.9 19.3-8.6 25.3s-18.2 6.6-26.6 1.7l-26.5-15.3-51.5 82.4c-3.1 5-4.8 10.8-4.8 16.7c-.1 17.6 14.2 32 31.8 32l32.2 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32.2 0c-53.1 0-96.1-43.2-95.8-96.4c.1-17.8 5.1-35.1 14.6-50.2l50.3-80.5z\"],\n \"user-astronaut\": [448, 512, [], \"f4fb\", \"M370.7 96.1C346.1 39.5 289.7 0 224 0S101.9 39.5 77.3 96.1C60.9 97.5 48 111.2 48 128v64c0 16.8 12.9 30.5 29.3 31.9C101.9 280.5 158.3 320 224 320s122.1-39.5 146.7-96.1c16.4-1.4 29.3-15.1 29.3-31.9V128c0-16.8-12.9-30.5-29.3-31.9zM336 144v16c0 53-43 96-96 96H208c-53 0-96-43-96-96V144c0-26.5 21.5-48 48-48H288c26.5 0 48 21.5 48 48zM189.3 162.7l-6-21.2c-.9-3.3-3.9-5.5-7.3-5.5s-6.4 2.2-7.3 5.5l-6 21.2-21.2 6c-3.3 .9-5.5 3.9-5.5 7.3s2.2 6.4 5.5 7.3l21.2 6 6 21.2c.9 3.3 3.9 5.5 7.3 5.5s6.4-2.2 7.3-5.5l6-21.2 21.2-6c3.3-.9 5.5-3.9 5.5-7.3s-2.2-6.4-5.5-7.3l-21.2-6zM112.7 316.5C46.7 342.6 0 407 0 482.3C0 498.7 13.3 512 29.7 512H128V448c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64l98.3 0c16.4 0 29.7-13.3 29.7-29.7c0-75.3-46.7-139.7-112.7-165.8C303.9 338.8 265.5 352 224 352s-79.9-13.2-111.3-35.5zM176 448c-8.8 0-16 7.2-16 16v48h32V464c0-8.8-7.2-16-16-16zm96 32c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16z\"],\n \"plane-slash\": [640, 512, [], \"e069\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L440.6 320h73.8c34.2 0 93.7-28 93.7-64c0-35-59.5-64-93.7-64l-116.6 0L297.2 16.1C291.5 6.2 280.9 0 269.4 0H213.2c-10.6 0-18.3 10.2-15.4 20.4l40.3 140.9L38.8 5.1zm2.7 123.6C36 130.6 32 135.9 32 142c0 1.3 .2 2.6 .5 3.9L64 256 32.5 366.1c-.4 1.3-.5 2.6-.5 3.9c0 7.8 6.3 14 14 14H88c5 0 9.8-2.4 12.8-6.4L144 320H246.9l-49 171.6c-2.9 10.2 4.8 20.4 15.4 20.4l56.2 0c11.5 0 22.1-6.2 27.8-16.1l65.3-114.3L41.5 128.7z\"],\n \"trademark\": [640, 512, [8482], \"f25c\", \"M345.6 108.8c-8.3-11-22.7-15.5-35.7-11.2S288 114.2 288 128V384c0 17.7 14.3 32 32 32s32-14.3 32-32V224l86.4 115.2c6 8.1 15.5 12.8 25.6 12.8s19.6-4.7 25.6-12.8L576 224V384c0 17.7 14.3 32 32 32s32-14.3 32-32V128c0-13.8-8.8-26-21.9-30.4s-27.5 .1-35.7 11.2L464 266.7 345.6 108.8zM0 128c0 17.7 14.3 32 32 32H96V384c0 17.7 14.3 32 32 32s32-14.3 32-32V160h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 96 0 110.3 0 128z\"],\n \"basketball\": [512, 512, [127936, \"basketball-ball\"], \"f434\", \"M86.6 64C119 35.5 158.6 15 202.3 5.6C206 19.1 208 33.3 208 48c0 38.4-13.5 73.7-36.1 101.3L86.6 64zM64 86.6l85.2 85.2C121.7 194.5 86.4 208 48 208c-14.7 0-28.9-2-42.4-5.7C15 158.6 35.5 119 64 86.6zM256 0c64.9 0 124.2 24.2 169.4 64L256 233.4 194.6 172C222.9 138.5 240 95.3 240 48c0-16.2-2-32-5.8-47.1C241.4 .3 248.7 0 256 0zM48 240c47.3 0 90.5-17.1 124-45.4L233.4 256 64 425.4C24.2 380.2 0 320.9 0 256c0-7.3 .3-14.6 .9-21.8C16 238 31.8 240 48 240zm463.1 37.8C496 274 480.2 272 464 272c-47.3 0-90.5 17.1-124 45.4L278.6 256 448 86.6c39.8 45.1 64 104.4 64 169.4c0 7.3-.3 14.6-.9 21.8zm-4.7 31.9C497 353.4 476.5 393 448 425.4l-85.2-85.2C390.3 317.5 425.6 304 464 304c14.7 0 28.9 2 42.4 5.7zM340.1 362.7L425.4 448C393 476.5 353.4 497 309.7 506.4C306 492.9 304 478.7 304 464c0-38.4 13.5-73.7 36.1-101.3zM317.4 340C289.1 373.5 272 416.7 272 464c0 16.2 2 32 5.8 47.1c-7.2 .6-14.5 .9-21.8 .9c-64.9 0-124.2-24.2-169.4-64L256 278.6 317.4 340z\"],\n \"satellite-dish\": [512, 512, [128225], \"f7c0\", \"M192 32c0-17.7 14.3-32 32-32C383.1 0 512 128.9 512 288c0 17.7-14.3 32-32 32s-32-14.3-32-32C448 164.3 347.7 64 224 64c-17.7 0-32-14.3-32-32zM60.6 220.6L164.7 324.7l28.4-28.4c-.7-2.6-1.1-5.4-1.1-8.3c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32c-2.9 0-5.6-.4-8.3-1.1l-28.4 28.4L291.4 451.4c14.5 14.5 11.8 38.8-7.3 46.3C260.5 506.9 234.9 512 208 512C93.1 512 0 418.9 0 304c0-26.9 5.1-52.5 14.4-76.1c7.5-19 31.8-21.8 46.3-7.3zM224 96c106 0 192 86 192 192c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-70.7-57.3-128-128-128c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"circle-up\": [512, 512, [61467, \"arrow-alt-circle-up\"], \"f35b\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zm11.3-395.3l112 112c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H304v96c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V256H144c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l112-112c6.2-6.2 16.4-6.2 22.6 0z\"],\n \"mobile-screen-button\": [384, 512, [\"mobile-alt\"], \"f3cd\", \"M16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM224 448c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM304 64H80V384H304V64z\"],\n \"volume-high\": [640, 512, [128266, \"volume-up\"], \"f028\", \"M533.6 32.5C598.5 85.3 640 165.8 640 256s-41.5 170.8-106.4 223.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C557.5 398.2 592 331.2 592 256s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM473.1 107c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C475.3 341.3 496 301.1 496 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM301.1 34.8C312.6 40 320 51.4 320 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3z\"],\n \"users-rays\": [640, 512, [], \"e593\", \"M41 7C31.6-2.3 16.4-2.3 7 7S-2.3 31.6 7 41l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L41 7zM599 7L527 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zM7 505c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 471c-9.4 9.4-9.4 24.6 0 33.9zm592 0c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72zM320 256c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64zM212.1 336c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24c-.5-1.4-1-2.7-1.6-4c-9.4-22.3-29.8-38.9-54.3-43c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-.8 .1-1.7 .3-2.5 .5c-24.9 5.1-45.1 23-53.4 46.5zM175.8 224c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm-26.5 32C119.9 256 96 279.9 96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3zm368 80c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6h56.1zM464 224c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48z\"],\n \"wallet\": [512, 512, [], \"f555\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H80c-8.8 0-16-7.2-16-16s7.2-16 16-16H448c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM416 336c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"clipboard-check\": [384, 512, [], \"f46c\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"],\n \"file-audio\": [384, 512, [], \"f1c7\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zm2 226.3c37.1 22.4 62 63.1 62 109.7s-24.9 87.3-62 109.7c-7.6 4.6-17.4 2.1-22-5.4s-2.1-17.4 5.4-22C269.4 401.5 288 370.9 288 336s-18.6-65.5-46.5-82.3c-7.6-4.6-10-14.4-5.4-22s14.4-10 22-5.4zm-91.9 30.9c6 2.5 9.9 8.3 9.9 14.8V400c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5L113.4 376H80c-8.8 0-16-7.2-16-16V312c0-8.8 7.2-16 16-16h33.4l35.3-35.3c4.6-4.6 11.5-5.9 17.4-3.5zm51 34.9c6.6-5.9 16.7-5.3 22.6 1.3C249.8 304.6 256 319.6 256 336s-6.2 31.4-16.3 42.7c-5.9 6.6-16 7.1-22.6 1.3s-7.1-16-1.3-22.6c5.1-5.7 8.1-13.1 8.1-21.3s-3.1-15.7-8.1-21.3c-5.9-6.6-5.3-16.7 1.3-22.6z\"],\n \"burger\": [512, 512, [\"hamburger\"], \"f805\", \"M61.1 224C45 224 32 211 32 194.9c0-1.9 .2-3.7 .6-5.6C37.9 168.3 78.8 32 256 32s218.1 136.3 223.4 157.3c.5 1.9 .6 3.7 .6 5.6c0 16.1-13 29.1-29.1 29.1H61.1zM144 128c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zm240 16c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16zM272 96c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zM16 304c0-26.5 21.5-48 48-48H448c26.5 0 48 21.5 48 48s-21.5 48-48 48H64c-26.5 0-48-21.5-48-48zm16 96c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16v16c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V400z\"],\n \"wrench\": [512, 512, [128295], \"f0ad\", \"M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7H336c-8.8 0-16-7.2-16-16V118.6c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 456c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z\"],\n \"bugs\": [640, 512, [], \"e4d0\", \"M196.5 107.4l33.4-73.5c5.5-12.1 .1-26.3-11.9-31.8s-26.3-.1-31.8 11.9L160 71.7 133.9 14.1C128.4 2 114.1-3.3 102.1 2.1S84.7 21.9 90.1 33.9l33.4 73.5c-10.2 7.1-18.2 17-22.9 28.6h-17l-4.1-20.7c-2.6-13-15.2-21.4-28.2-18.8s-21.4 15.2-18.8 28.2l8 40C42.7 175.9 52.6 184 64 184H96v23.3l-37.8 9.5c-9.5 2.4-16.6 10.2-17.9 19.9l-8 56c-1.9 13.1 7.2 25.3 20.4 27.2s25.3-7.2 27.2-20.4l5.7-40 18.4-4.6C114.7 274.6 135.8 288 160 288s45.3-13.4 56.1-33.2l18.4 4.6 5.7 40c1.9 13.1 14 22.2 27.2 20.4s22.2-14 20.4-27.2l-8-56c-1.4-9.7-8.5-17.5-17.9-19.9L224 207.3V184h32c11.4 0 21.3-8.1 23.5-19.3l8-40c2.6-13-5.8-25.6-18.8-28.2s-25.6 5.8-28.2 18.8L236.3 136h-17c-4.7-11.6-12.7-21.5-22.9-28.6zM528 286.5l65.6-47c10.8-7.7 13.3-22.7 5.6-33.5s-22.7-13.3-33.5-5.6l-51.4 36.8 6.1-62.9c1.3-13.2-8.4-24.9-21.6-26.2s-24.9 8.4-26.2 21.6L464.8 250c-12.3 1-24.2 5.6-34.1 13.3L416 254.8l6.8-20c4.2-12.6-2.5-26.2-15-30.4s-26.2 2.5-30.4 15l-13.1 38.6c-3.7 10.8 .8 22.8 10.7 28.5l27.7 16L391 322.7 353.5 312c-9.4-2.7-19.5 .6-25.5 8.3l-34.9 44.5c-8.2 10.4-6.4 25.5 4.1 33.7s25.5 6.4 33.7-4.1l25-31.8 18.2 5.2c-.5 22.6 11 44.7 32 56.8s45.9 11 65.2-.7l13.6 13.2-15.1 37.5c-4.9 12.3 1 26.3 13.3 31.2s26.3-1 31.2-13.3L535.5 440c3.6-9.1 1.4-19.4-5.6-26.2l-28-27.1 11.6-20.1 27.7 16c9.9 5.7 22.5 3.7 30-4.9L598.2 347c8.7-10 7.8-25.1-2.2-33.9s-25.1-7.8-33.9 2.2l-13.9 15.9-14.7-8.5c1.7-12.4-.2-25-5.5-36.2z\"],\n \"rupee-sign\": [448, 512, [8360, \"rupee\"], \"f156\", \"M0 64C0 46.3 14.3 32 32 32h80c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320H64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 64zM64 256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H64V256zm256.5 16.4c-.9 6 0 8.7 .4 9.8c.4 1.1 1.4 2.6 4.2 4.9c7.2 5.7 18.7 10 37.9 16.8l1.3 .5c16 5.6 38.7 13.6 55.7 28.1c9.5 8.1 17.9 18.6 23.1 32.3c5.1 13.7 6.1 28.5 3.8 44c-4.2 28.1-20.5 49.3-43.8 60.9c-22.1 11-48.1 12.5-73.2 8l-.2 0 0 0c-9.3-1.8-20.5-5.7-29.3-9c-6-2.3-12.6-4.9-17.7-6.9l0 0c-2.5-1-4.6-1.8-6.3-2.5c-16.5-6.4-24.6-25-18.2-41.4s25-24.6 41.4-18.2c2.6 1 5.2 2 7.9 3.1l0 0c4.8 1.9 9.8 3.9 15.4 6c8.8 3.3 15.3 5.4 18.7 6c15.7 2.8 26.7 .8 32.9-2.3c5-2.5 8-6 9.1-13c1-6.9 .2-10.5-.5-12.3c-.6-1.7-1.8-3.6-4.5-5.9c-6.9-5.8-18.2-10.4-36.9-17l-3-1.1c-15.5-5.4-37-13-53.3-25.9c-9.5-7.5-18.3-17.6-23.7-31c-5.4-13.4-6.6-28-4.4-43.2c8.5-57.1 67-78 116.9-68.9c6.9 1.3 27.3 5.8 35.4 8.4c16.9 5.2 26.3 23.2 21.1 40.1s-23.2 26.3-40.1 21.1c-4.7-1.4-22.3-5.5-27.9-6.5c-14.6-2.7-25.8-.4-32.6 3.2c-6.3 3.3-8.9 7.6-9.5 12z\"],\n \"file-image\": [384, 512, [128443], \"f1c5\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM128 256c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm88 32c5.3 0 10.2 2.6 13.2 6.9l88 128c3.4 4.9 3.7 11.3 1 16.5s-8.2 8.6-14.2 8.6H216 176 128 80c-5.8 0-11.1-3.1-13.9-8.1s-2.8-11.2 .2-16.1l48-80c2.9-4.8 8.1-7.8 13.7-7.8s10.8 2.9 13.7 7.8l12.8 21.4 48.3-70.2c3-4.3 7.9-6.9 13.2-6.9z\"],\n \"circle-question\": [512, 512, [62108, \"question-circle\"], \"f059\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM288 352c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32z\"],\n \"plane-departure\": [640, 512, [128747], \"f5b0\", \"M381 114.9L186.1 41.8c-16.7-6.2-35.2-5.3-51.1 2.7L89.1 67.4C78 73 77.2 88.5 87.6 95.2l146.9 94.5L136 240 77.8 214.1c-8.7-3.9-18.8-3.7-27.3 .6L18.3 230.8c-9.3 4.7-11.8 16.8-5 24.7l73.1 85.3c6.1 7.1 15 11.2 24.3 11.2H248.4c5 0 9.9-1.2 14.3-3.4L535.6 212.2c46.5-23.3 82.5-63.3 100.8-112C645.9 75 627.2 48 600.2 48H542.8c-20.2 0-40.2 4.8-58.2 14L381 114.9zM0 480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z\"],\n \"handshake-slash\": [640, 512, [], \"e060\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-135-105.8c-1.1-11.4-6.3-22.3-15.3-30.7l-134.2-123-23.4 18.2-26-20.3 77.2-60.1c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2l-89.7 72.6-25.8-20.3 81.8-66.2c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-35.5 23.7L38.8 5.1zM96 171.6L40.6 128H0V352c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V171.6zM413.6 421.9L128 196.9V352h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c.8-.8 1.5-1.7 2.2-2.6zM48 352c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16zM544 128V352c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V128H544zm64 208c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16z\"],\n \"book-bookmark\": [448, 512, [], \"e0bb\", \"M0 96C0 43 43 0 96 0h96V190.7c0 13.4 15.5 20.9 26 12.5L272 160l54 43.2c10.5 8.4 26 .9 26-12.5V0h32 32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32z\"],\n \"code-branch\": [448, 512, [], \"f126\", \"M80 104c13.3 0 24-10.7 24-24s-10.7-24-24-24S56 66.7 56 80s10.7 24 24 24zm80-24c0 32.8-19.7 61-48 73.3v87.8c18.8-10.9 40.7-17.1 64-17.1h96c35.3 0 64-28.7 64-64v-6.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V160c0 70.7-57.3 128-128 128H176c-35.3 0-64 28.7-64 64v6.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V352 153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24zM80 456c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z\"],\n \"hat-cowboy\": [640, 512, [], \"f8c0\", \"M320 64c14.4 0 22.3-7 30.8-14.4C360.4 41.1 370.7 32 392 32c49.3 0 84.4 152.2 97.9 221.9C447.8 272.1 390.9 288 320 288s-127.8-15.9-169.9-34.1C163.6 184.2 198.7 32 248 32c21.3 0 31.6 9.1 41.2 17.6C297.7 57 305.6 64 320 64zM111.1 270.7c47.2 24.5 117.5 49.3 209 49.3s161.8-24.8 208.9-49.3c24.8-12.9 49.8-28.3 70.1-47.7c7.9-7.9 20.2-9.2 29.6-3.3c9.5 5.9 13.5 17.9 9.9 28.5c-13.5 37.7-38.4 72.3-66.1 100.6C523.7 398.9 443.6 448 320 448s-203.6-49.1-252.5-99.2C39.8 320.4 14.9 285.8 1.4 248.1c-3.6-10.6 .4-22.6 9.9-28.5c9.5-5.9 21.7-4.5 29.6 3.3c20.4 19.4 45.3 34.8 70.1 47.7z\"],\n \"bridge\": [576, 512, [], \"e4c8\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H72v64H0V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96s96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96V160H504V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM456 96v64H376V96h80zM328 96v64H248V96h80zM200 96v64H120V96h80z\"],\n \"phone-flip\": [512, 512, [128381, \"phone-alt\"], \"f879\", \"M347.1 24.6c7.7-18.6 28-28.5 47.4-23.2l88 24C499.9 30.2 512 46 512 64c0 247.4-200.6 448-448 448c-18 0-33.8-12.1-38.6-29.5l-24-88c-5.3-19.4 4.6-39.7 23.2-47.4l96-40c16.3-6.8 35.2-2.1 46.3 11.6L207.3 368c70.4-33.3 127.4-90.3 160.7-160.7L318.7 167c-13.7-11.2-18.4-30-11.6-46.3l40-96z\"],\n \"truck-front\": [512, 512, [], \"e2b7\", \"M0 80C0 35.8 35.8 0 80 0H432c44.2 0 80 35.8 80 80V368c0 26.2-12.6 49.4-32 64v48c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V432C12.6 417.4 0 394.2 0 368V80zm129.9 72.2L112 224H400l-17.9-71.8C378.5 138 365.7 128 351 128H161c-14.7 0-27.5 10-31 24.2zM128 320c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm288 32c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"cat\": [512, 512, [128008], \"f6be\", \"M288 192h17.1c22.1 38.3 63.5 64 110.9 64c11 0 21.8-1.4 32-4v4 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V339.2L248 448h56c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-53 0-96-43-96-96V192.5c0-16.1-12-29.8-28-31.8l-7.9-1C10.5 157.6-1.9 141.6 .2 124s18.2-30 35.7-27.8l7.9 1c48 6 84.1 46.8 84.1 95.3v85.3c34.4-51.7 93.2-85.8 160-85.8zm160 26.5v0c-10 3.5-20.8 5.5-32 5.5c-28.4 0-54-12.4-71.6-32h0c-3.7-4.1-7-8.5-9.9-13.2C325.3 164 320 146.6 320 128v0V32 12 10.7C320 4.8 324.7 .1 330.6 0h.2c3.3 0 6.4 1.6 8.4 4.2l0 .1L352 21.3l27.2 36.3L384 64h64l4.8-6.4L480 21.3 492.8 4.3l0-.1c2-2.6 5.1-4.2 8.4-4.2h.2C507.3 .1 512 4.8 512 10.7V12 32v96c0 17.3-4.6 33.6-12.6 47.6c-11.3 19.8-29.6 35.2-51.4 42.9zM400 128c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zm48 16c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16z\"],\n \"anchor-circle-exclamation\": [640, 512, [], \"e4ab\", \"M256 96c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm85.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2H320V368 240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM496 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm0-48c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm0-192c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"],\n \"truck-field\": [640, 512, [], \"e58d\", \"M32 96c0-35.3 28.7-64 64-64H320c23.7 0 44.4 12.9 55.4 32h51.8c25.3 0 48.2 14.9 58.5 38l52.8 118.8c.5 1.1 .9 2.1 1.3 3.2H544c35.3 0 64 28.7 64 64v32c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V288c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32V96zM384 224h85.9l-42.7-96H384v96zM160 432c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm368-48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48z\"],\n \"route\": [512, 512, [], \"f4d7\", \"M416 256s96-96 96-160c0-53-43-96-96-96s-96 43-96 96c0 29.4 20.2 65.5 42.1 96H320c-53 0-96 43-96 96s43 96 96 96h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H188.6c-6.2 9.6-12.6 18.8-19 27.2c-10.7 14.2-21.3 26.9-30 36.8H416c53 0 96-43 96-96s-43-96-96-96H320c-17.7 0-32-14.3-32-32s14.3-32 32-32h96zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zM149.9 448c21.9-30.5 42.1-66.6 42.1-96c0-53-43-96-96-96s-96 43-96 96c0 64 96 160 96 160s3.5-3.5 9.2-9.6c.4-.4 .7-.8 1.1-1.2c3.3-3.5 7.1-7.8 11.4-12.8c.2-.2 .4-.4 .6-.6c9.4-10.8 20.7-24.6 31.6-39.8zM96 384c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"clipboard-question\": [384, 512, [], \"e4e3\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM105.8 229.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L216 328.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V314.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H158.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM160 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"],\n \"panorama\": [640, 512, [], \"e209\", \"M45.6 32C20.4 32 0 52.4 0 77.6V434.4C0 459.6 20.4 480 45.6 480c5.1 0 10-.8 14.7-2.4C74.6 472.8 177.6 440 320 440s245.4 32.8 259.6 37.6c4.7 1.6 9.7 2.4 14.7 2.4c25.2 0 45.6-20.4 45.6-45.6V77.6C640 52.4 619.6 32 594.4 32c-5 0-10 .8-14.7 2.4C565.4 39.2 462.4 72 320 72S74.6 39.2 60.4 34.4C55.6 32.8 50.7 32 45.6 32zM160 160c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm208 0c7.9 0 15.4 3.9 19.8 10.5L512.3 353c5.4 8 5.6 18.4 .4 26.5s-14.7 12.3-24.2 10.7C442.7 382.4 385.2 376 320 376c-65.6 0-123.4 6.5-169.3 14.4c-9.8 1.7-19.7-2.9-24.7-11.5s-4.3-19.4 1.9-27.2L197.3 265c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l26.4 33.1 87-127.6c4.5-6.6 11.9-10.5 19.8-10.5z\"],\n \"comment-medical\": [512, 512, [], \"f7f5\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM224 160c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V272H176c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16h48V160z\"],\n \"teeth-open\": [576, 512, [], \"f62f\", \"M96 32C43 32 0 75 0 128v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-53-43-96-96-96H96zM224 96c26.5 0 48 21.5 48 48v56c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V144c0-26.5 21.5-48 48-48zm80 48c0-26.5 21.5-48 48-48s48 21.5 48 48v56c0 13.3-10.7 24-24 24H328c-13.3 0-24-10.7-24-24V144zM96 128c26.5 0 48 21.5 48 48v24c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V176c0-26.5 21.5-48 48-48zm336 48c0-26.5 21.5-48 48-48s48 21.5 48 48v24c0 13.3-10.7 24-24 24H456c-13.3 0-24-10.7-24-24V176zM96 480H480c53 0 96-43 96-96V352c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v32c0 53 43 96 96 96zm0-64c-26.5 0-48-21.5-48-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48zm80-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48s-48-21.5-48-48zm176 48c-26.5 0-48-21.5-48-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48zm80-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48s-48-21.5-48-48z\"],\n \"file-circle-minus\": [576, 512, [], \"e4ed\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM576 368c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zm-64 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"],\n \"tags\": [512, 512, [], \"f02c\", \"M345 39.1L472.8 168.4c52.4 53 52.4 138.2 0 191.2L360.8 472.9c-9.3 9.4-24.5 9.5-33.9 .2s-9.5-24.5-.2-33.9L438.6 325.9c33.9-34.3 33.9-89.4 0-123.7L310.9 72.9c-9.3-9.4-9.2-24.6 .2-33.9s24.6-9.2 33.9 .2zM0 229.5V80C0 53.5 21.5 32 48 32H197.5c17 0 33.3 6.7 45.3 18.7l168 168c25 25 25 65.5 0 90.5L277.3 442.7c-25 25-65.5 25-90.5 0l-168-168C6.7 262.7 0 246.5 0 229.5zM144 144c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z\"],\n \"wine-glass\": [320, 512, [127863], \"f4e3\", \"M64 0C47.4 0 33.5 12.8 32.1 29.3l-14 168.4c-6 72 42.5 135.2 109.9 150.6V448H80c-17.7 0-32 14.3-32 32s14.3 32 32 32h80 80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V348.4c67.4-15.4 115.9-78.6 109.9-150.6l-14-168.4C286.5 12.8 272.6 0 256 0H64zM88.1 128l5.3-64H226.6l5.3 64H88.1z\"],\n \"forward-fast\": [512, 512, [9197, \"fast-forward\"], \"f050\", \"M18.4 445c11.2 5.3 24.5 3.6 34.1-4.4L224 297.7V416c0 12.4 7.2 23.7 18.4 29s24.5 3.6 34.1-4.4L448 297.7V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32s-32 14.3-32 32V214.3L276.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S224 83.6 224 96V214.3L52.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S0 83.6 0 96V416c0 12.4 7.2 23.7 18.4 29z\"],\n \"face-meh-blank\": [512, 512, [128566, \"meh-blank\"], \"f5a4\", \"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM208.4 208c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm128 32c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"square-parking\": [448, 512, [127359, \"parking\"], \"f540\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM192 256h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H192v64zm48 64H192v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 168c0-22.1 17.9-40 40-40h72c53 0 96 43 96 96s-43 96-96 96z\"],\n \"house-signal\": [576, 512, [], \"e012\", \"M314.3 8.5c12.3-11.3 31.2-11.3 43.4 0l208 192c9.7 8.9 12.9 22.9 8.1 35.2S557.2 256 544 256H512V368c0 26.5-21.5 48-48 48H278.1C259.6 350.8 216.8 295.9 160 261.7V256h-9.9c-16.5-9-34-16.2-52.3-21.6c-4.1-12-.8-25.3 8.5-34l208-192zM304 192c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H304zM24 256c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 256c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zM0 376c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z\"],\n \"bars-progress\": [512, 512, [\"tasks-alt\"], \"f828\", \"M448 160H320V128H448v32zM48 64C21.5 64 0 85.5 0 112v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H48zM448 352v32H192V352H448zM48 288c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48z\"],\n \"faucet-drip\": [512, 512, [128688], \"e006\", \"M224 0c17.7 0 32 14.3 32 32V44l96-12c17.7 0 32 14.3 32 32s-14.3 32-32 32L256 84l-31-3.9-1-.1-1 .1L192 84 96 96C78.3 96 64 81.7 64 64s14.3-32 32-32l96 12V32c0-17.7 14.3-32 32-32zM0 224c0-17.7 14.3-32 32-32h96l22.6-22.6c6-6 14.1-9.4 22.6-9.4H192V116.2l32-4 32 4V160h18.7c8.5 0 16.6 3.4 22.6 9.4L320 192h32c88.4 0 160 71.6 160 160c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32s-14.3-32-32-32H315.9c-20.2 29-53.9 48-91.9 48s-71.7-19-91.9-48H32c-17.7 0-32-14.3-32-32V224zM436.8 423.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1l18.2-42.4z\"],\n \"cart-flatbed\": [640, 512, [\"dolly-flatbed\"], \"f474\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64H48c8.8 0 16 7.2 16 16V368c0 44.2 35.8 80 80 80h18.7c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H450.7c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H144c-8.8 0-16-7.2-16-16V80C128 35.8 92.2 0 48 0H32zM192 80V272c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H464V176c0 5.9-3.2 11.3-8.5 14.1s-11.5 2.5-16.4-.8L400 163.2l-39.1 26.1c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V32H240c-26.5 0-48 21.5-48 48z\"],\n \"ban-smoking\": [512, 512, [128685, \"smoking-ban\"], \"f54d\", \"M99.5 144.8L178.7 224l96 96 92.5 92.5C335.9 434.9 297.5 448 256 448C150 448 64 362 64 256c0-41.5 13.1-79.9 35.5-111.2zM333.3 288l-32-32H384v32H333.3zm32 32H400c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H269.3L144.8 99.5C176.1 77.1 214.5 64 256 64c106 0 192 86 192 192c0 41.5-13.1 79.9-35.5 111.2L365.3 320zM256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM272 96c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48H304c-8.8 0-16-7.2-16-16s-7.2-16-16-16zM229.5 320l-96-96H112c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H229.5z\"],\n \"terminal\": [640, 512, [], \"f120\", \"M41.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 41.4 86.6zM288 416H576c17.7 0 32 14.3 32 32s-14.3 32-32 32H288c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"mobile-button\": [384, 512, [], \"f10b\", \"M80 0C44.7 0 16 28.7 16 64V448c0 35.3 28.7 64 64 64H304c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H80zM192 464c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"house-medical-flag\": [640, 512, [], \"e514\", \"M480 0c17.7 0 32 14.3 32 32H624c8.8 0 16 7.2 16 16V176c0 8.8-7.2 16-16 16H512V512H448V192 32c0-17.7 14.3-32 32-32zM276.8 39.7L416 159V512h1l-.2 0H96c-17.7 0-32-14.3-32-32V288H32c-13.4 0-25.4-8.3-30-20.9s-1-26.7 9.2-35.4l224-192c12-10.3 29.7-10.3 41.7 0zM224 208v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H288V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"],\n \"basket-shopping\": [576, 512, [\"shopping-basket\"], \"f291\", \"M253.3 35.1c6.1-11.8 1.5-26.3-10.2-32.4s-26.3-1.5-32.4 10.2L117.6 192H32c-17.7 0-32 14.3-32 32s14.3 32 32 32L83.9 463.5C91 492 116.6 512 146 512H430c29.4 0 55-20 62.1-48.5L544 256c17.7 0 32-14.3 32-32s-14.3-32-32-32H458.4L365.3 12.9C359.2 1.2 344.7-3.4 332.9 2.7s-16.3 20.6-10.2 32.4L404.3 192H171.7L253.3 35.1zM192 304v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16zm96-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16zm128 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"],\n \"tape\": [576, 512, [], \"f4db\", \"M380.8 416c41.5-40.7 67.2-97.3 67.2-160C448 132.3 347.7 32 224 32S0 132.3 0 256S100.3 480 224 480H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H380.8zM224 352c-53 0-96-43-96-96s43-96 96-96s96 43 96 96s-43 96-96 96zm64-96c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\"],\n \"bus-simple\": [448, 512, [\"bus-alt\"], \"f55e\", \"M224 0C348.8 0 448 35.2 448 80V96 416c0 17.7-14.3 32-32 32v32c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32l0-32c-17.7 0-32-14.3-32-32V96 80C0 35.2 99.2 0 224 0zM64 128V256c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 400c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"eye\": [576, 512, [128065], \"f06e\", \"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM432 256c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM288 192c0 35.3-28.7 64-64 64c-11.5 0-22.3-3-31.6-8.4c-.2 2.8-.4 5.5-.4 8.4c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6z\"],\n \"face-sad-cry\": [512, 512, [128557, \"sad-cry\"], \"f5b3\", \"M352 493.4c-29.6 12-62.1 18.6-96 18.6s-66.4-6.6-96-18.6V288c0-8.8-7.2-16-16-16s-16 7.2-16 16V477.8C51.5 433.5 0 350.8 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 94.8-51.5 177.5-128 221.8V288c0-8.8-7.2-16-16-16s-16 7.2-16 16V493.4zM195.2 233.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm121.6 0c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2zM208 336v32c0 26.5 21.5 48 48 48s48-21.5 48-48V336c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"],\n \"audio-description\": [576, 512, [], \"f29e\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM213.5 173.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7l-9.4-18.9H150.9l-9.4 18.9c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zm-.4 106.6L192 237.7l-21.1 42.2h42.2zM304 184c0-13.3 10.7-24 24-24h56c53 0 96 43 96 96s-43 96-96 96H328c-13.3 0-24-10.7-24-24V184zm48 24v96h32c26.5 0 48-21.5 48-48s-21.5-48-48-48H352z\"],\n \"person-military-to-person\": [512, 512, [], \"e54c\", \"M71 12.5c-8.6 1-15 8.2-15 16.8c0 9.3 7.5 16.8 16.7 16.9H184.1c8.8-.1 15.9-7.2 15.9-16V16c0-9.5-8.3-17-17.8-15.9L71 12.5zM189.5 78.1H66.5C64.9 83.8 64 89.8 64 96c0 35.3 28.7 64 64 64s64-28.7 64-64c0-6.2-.9-12.2-2.5-17.9zM32 256v32c0 17.7 14.3 32 32 32H192c1.8 0 3.5-.1 5.2-.4L53 208.6C40.1 220.3 32 237.2 32 256zm190.2 42.5c1.1-3.3 1.8-6.8 1.8-10.5V256c0-35.3-28.7-64-64-64H96c-3.7 0-7.4 .3-10.9 .9L222.2 298.5zM384 160c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64zm-32 32c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H352zM215.8 450.1c5.2-4.6 8.2-11.1 8.2-18.1s-3-13.5-8.2-18.1l-64-56c-7.1-6.2-17.1-7.7-25.7-3.8S112 366.6 112 376v32l-88 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l88 0v32c0 9.4 5.5 18 14.1 21.9s18.6 2.4 25.7-3.8l64-56zM288 431.9c0 6.9 3 13.5 8.1 18.1l64 56.4c7.1 6.2 17.1 7.8 25.7 3.9s14.1-12.4 14.1-21.9l0-32.4 88 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-88 0 0-32c0-9.4-5.5-18-14.1-21.9s-18.6-2.4-25.7 3.8l-64 56c-5.2 4.5-8.2 11.1-8.2 18z\"],\n \"file-shield\": [576, 512, [], \"e4f0\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v47l-92.8 37.1c-21.3 8.5-35.2 29.1-35.2 52c0 56.6 18.9 148 94.2 208.3c-9 4.8-19.3 7.6-30.2 7.6H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm39.1 97.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8V461.7c68.2-33 91.5-99 95.4-149.7z\"],\n \"user-slash\": [640, 512, [], \"f506\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L353.3 251.6C407.9 237 448 187.2 448 128C448 57.3 390.7 0 320 0C250.2 0 193.5 55.8 192 125.2L38.8 5.1zM264.3 304.3C170.5 309.4 96 387.2 96 482.3c0 16.4 13.3 29.7 29.7 29.7H514.3c3.9 0 7.6-.7 11-2.1l-261-205.6z\"],\n \"pen\": [512, 512, [128394], \"f304\", \"M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z\"],\n \"tower-observation\": [512, 512, [], \"e586\", \"M241.7 3.4c9-4.5 19.6-4.5 28.6 0l160 80c15.8 7.9 22.2 27.1 14.3 42.9C439 137.5 427.7 144 416 144v80c0 17.7-14.3 32-32 32h-4.9l32 192H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H384.5c-.4 0-.8 0-1.1 0H128.6c-.4 0-.8 0-1.1 0H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l32-192H128c-17.7 0-32-14.3-32-32V144c-11.7 0-23-6.5-28.6-17.7c-7.9-15.8-1.5-35 14.3-42.9l160-80zM314.5 448L256 399.2 197.5 448h117zM197.8 256l-4.7 28.3L256 336.8l62.9-52.5L314.2 256H197.8zm-13.9 83.2l-11.2 67L218.5 368l-34.6-28.8zM293.5 368l45.8 38.1-11.2-67L293.5 368zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"],\n \"file-code\": [384, 512, [], \"f1c9\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM153 289l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L71 337c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM265 255l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"],\n \"signal\": [576, 512, [128246, \"signal-5\", \"signal-perfect\"], \"f012\", \"M544 0c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM416 96c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32zM320 224V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32zM160 288c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32zM64 416v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-17.7 14.3-32 32-32s32 14.3 32 32z\"],\n \"bus\": [512, 512, [128653], \"f207\", \"M256 0C390.4 0 480 35.2 480 80V96l0 32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32l0 160c0 17.7-14.3 32-32 32v32c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V448H160v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32l0-32c-17.7 0-32-14.3-32-32l0-160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h0V96h0V80C32 35.2 121.6 0 256 0zM96 160v96c0 17.7 14.3 32 32 32H240V128H128c-17.7 0-32 14.3-32 32zM272 288H384c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H272V288zM112 400c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zM352 80c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16z\"],\n \"heart-circle-xmark\": [576, 512, [], \"e501\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"],\n \"house-chimney\": [576, 512, [63499, \"home-lg\"], \"e3af\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64 24c0 22.1 17.9 40 40 40h24 32.5c1.4 0 2.8 0 4.2-.1c1.1 .1 2.2 .1 3.3 .1h16c22.1 0 40-17.9 40-40V455.8c.3-2.6 .5-5.3 .5-8.1l-.7-160.2h32z\"],\n \"window-maximize\": [512, 512, [128470], \"f2d0\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"face-frown\": [512, 512, [9785, \"frown\"], \"f119\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM159.3 388.7c-2.6 8.4-11.6 13.2-20 10.5s-13.2-11.6-10.5-20C145.2 326.1 196.3 288 256 288s110.8 38.1 127.3 91.3c2.6 8.4-2.1 17.4-10.5 20s-17.4-2.1-20-10.5C340.5 349.4 302.1 320 256 320s-84.5 29.4-96.7 68.7zM208.4 208c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm128 32c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"prescription\": [448, 512, [], \"f5b1\", \"M32 0C14.3 0 0 14.3 0 32V192v96c0 17.7 14.3 32 32 32s32-14.3 32-32V224h50.7l128 128L137.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L288 397.3 393.4 502.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L333.3 352 438.6 246.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 306.7l-85.8-85.8C251.4 209.1 288 164.8 288 112C288 50.1 237.9 0 176 0H32zM176 160H64V64H176c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"],\n \"shop\": [640, 512, [\"store-alt\"], \"f54f\", \"M36.8 192H603.2c20.3 0 36.8-16.5 36.8-36.8c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM64 224V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V384 224H320V384H128V224H64zm448 0V480c0 17.7 14.3 32 32 32s32-14.3 32-32V224H512z\"],\n \"floppy-disk\": [448, 512, [128190, 128426, \"save\"], \"f0c7\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM224 416c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64z\"],\n \"vihara\": [640, 512, [], \"f6a7\", \"M281 22L305.8 4.7c1.3-.9 2.7-1.8 4.1-2.4C313.1 .7 316.6 0 320 0s6.9 .7 10.1 2.2c1.4 .7 2.8 1.5 4.1 2.4L359 22C393 45.8 430.8 63.5 470.8 74.4l23 6.3c1.8 .5 3.6 1.1 5.2 2c3.2 1.7 5.9 4 8.1 6.8c3.8 4.9 5.6 11.3 4.7 17.8c-.4 2.8-1.2 5.4-2.5 7.8c-1.7 3.2-4 5.9-6.8 8.1c-4.3 3.2-9.6 5.1-15.1 4.9H480v56.1l6.4 5.1 5.2 4.1c21.1 16.7 45 29.6 70.5 38.1l28.9 9.6c1.6 .5 3.2 1.2 4.6 2c3.1 1.7 5.8 4.1 7.8 6.9s3.5 6.1 4.1 9.6c.5 2.7 .6 5.5 .1 8.3s-1.4 5.4-2.7 7.8c-1.7 3.1-4.1 5.8-6.9 7.8s-6.1 3.5-9.6 4.1c-1.6 .3-3.3 .4-5 .4H544v65.9c20.5 22.8 47.4 39.2 77.4 46.7C632 403 640 412.6 640 424c0 13.3-10.7 24-24 24H576v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H352v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H24c-13.3 0-24-10.7-24-24c0-11.4 8-21 18.6-23.4c30-7.6 56.9-23.9 77.4-46.7V288H56.6c-1.7 0-3.4-.1-5-.4c-3.5-.7-6.8-2.1-9.6-4.1s-5.2-4.7-7-7.8c-1.3-2.4-2.3-5-2.7-7.8s-.4-5.6 .1-8.3c.7-3.5 2.1-6.8 4.1-9.6s4.7-5.2 7.8-6.9c1.4-.8 3-1.5 4.6-2l28.9-9.6c25.5-8.5 49.4-21.4 70.5-38.1l5.2-4.1 6.4-5.1V176 128h-7.5c-5.5 .1-10.8-1.7-15.1-4.9c-2.8-2.1-5.1-4.8-6.8-8.1c-1.2-2.4-2.1-5-2.5-7.8c-.9-6.5 .9-12.8 4.7-17.8c2.1-2.8 4.8-5.1 8.1-6.8c1.6-.8 3.4-1.5 5.2-2l23-6.3C209.2 63.5 247 45.8 281 22zM416 128H320 224v64h72 48 72V128zM160 288v64H296h24 24H480V288H344 320h0H296 160z\"],\n \"scale-unbalanced\": [640, 512, [\"balance-scale-left\"], \"f515\", \"M522.1 62.4c16.8-5.6 25.8-23.7 20.2-40.5S518.6-3.9 501.9 1.6l-113 37.7C375 15.8 349.3 0 320 0c-44.2 0-80 35.8-80 80c0 3 .2 5.9 .5 8.8L117.9 129.6c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l135.5-45.2c4.5 3.2 9.3 5.9 14.4 8.2V480c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V153.3c21-9.2 37.2-27 44.2-49l125.9-42zm-396.3 211c.4-.8 1.3-1.3 2.2-1.3s1.7 .5 2.2 1.3L204.9 416H51.1l74.7-142.7zM128 224c-18.8 0-36 10.4-44.7 27L5.5 399.5c-3.1 5.8-6.1 14-5.5 23.8c.7 12.1 4.8 35.2 24.8 55.1C45.1 498.6 77.8 512 128 512s82.9-13.4 103.2-33.5c20-20 24.2-43 24.8-55.1c.6-9.8-2.5-18-5.5-23.8L172.7 251c-8.7-16.6-25.9-27-44.7-27zm384-80c.9 0 1.7 .5 2.2 1.3L588.9 288H435.1l74.7-142.7c.4-.8 1.3-1.3 2.2-1.3zm-44.7-21L389.5 271.5c-3.1 5.8-6.1 14-5.5 23.8c.7 12.1 4.8 35.2 24.8 55.1C429.1 370.6 461.8 384 512 384s82.9-13.4 103.2-33.5c20-20 24.2-43 24.8-55.1c.6-9.8-2.5-18-5.5-23.8L556.7 123C548 106.4 530.8 96 512 96s-36 10.4-44.7 27z\"],\n \"sort-up\": [320, 512, [\"sort-asc\"], \"f0de\", \"M182.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"],\n \"comment-dots\": [512, 512, [128172, 62075, \"commenting\"], \"f4ad\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm160-32c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32z\"],\n \"plant-wilt\": [512, 512, [], \"e5aa\", \"M288 120c0-30.9 25.1-56 56-56s56 25.1 56 56v13c-29.3 10-48 34.5-48 70.1c0 27.9 25.3 74.8 66 111.6c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-35.6-18.7-60.2-48-70.1V120C464 53.7 410.3 0 344 0S224 53.7 224 120v21.8C207.3 133 188.2 128 168 128c-66.3 0-120 53.7-120 120v13c-29.3 10-48 34.5-48 70.1C0 359 25.3 405.9 66 442.7c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-35.6-18.7-60.2-48-70.1V248c0-30.9 25.1-56 56-56s56 25.1 56 56v32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V280 248 120z\"],\n \"diamond\": [512, 512, [9830], \"f219\", \"M284.3 11.7c-15.6-15.6-40.9-15.6-56.6 0l-216 216c-15.6 15.6-15.6 40.9 0 56.6l216 216c15.6 15.6 40.9 15.6 56.6 0l216-216c15.6-15.6 15.6-40.9 0-56.6l-216-216z\"],\n \"face-grin-squint\": [512, 512, [128518, \"grin-squint\"], \"f585\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM383.8 317.8c12.3-3.7 24.3 7 19.2 18.7c-24.5 56.9-81.1 96.7-147 96.7s-122.5-39.8-147-96.7c-5.1-11.8 6.9-22.4 19.2-18.7C166.7 329.4 210.1 336 256 336s89.3-6.6 127.8-18.2zM133.5 146.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"],\n \"hand-holding-dollar\": [576, 512, [\"hand-holding-usd\"], \"f4c0\", \"M312 24V34.5c6.4 1.2 12.6 2.7 18.2 4.2c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17c-10.9-2.9-21.1-4.9-30.2-5c-7.3-.1-14.7 1.7-19.4 4.4c-2.1 1.3-3.1 2.4-3.5 3c-.3 .5-.7 1.2-.7 2.8c0 .3 0 .5 0 .6c.2 .2 .9 1.2 3.3 2.6c5.8 3.5 14.4 6.2 27.4 10.1l.9 .3 0 0c11.1 3.3 25.9 7.8 37.9 15.3c13.7 8.6 26.1 22.9 26.4 44.9c.3 22.5-11.4 38.9-26.7 48.5c-6.7 4.1-13.9 7-21.3 8.8V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V220.6c-9.5-2.3-18.2-5.3-25.6-7.8c-2.1-.7-4.1-1.4-6-2c-12.6-4.2-19.4-17.8-15.2-30.4s17.8-19.4 30.4-15.2c2.6 .9 5 1.7 7.3 2.5c13.6 4.6 23.4 7.9 33.9 8.3c8 .3 15.1-1.6 19.2-4.1c1.9-1.2 2.8-2.2 3.2-2.9c.4-.6 .9-1.8 .8-4.1l0-.2c0-1 0-2.1-4-4.6c-5.7-3.6-14.3-6.4-27.1-10.3l-1.9-.6c-10.8-3.2-25-7.5-36.4-14.4c-13.5-8.1-26.5-22-26.6-44.1c-.1-22.9 12.9-38.6 27.7-47.4c6.4-3.8 13.3-6.4 20.2-8.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"],\n \"bacterium\": [576, 512, [], \"e05a\", \"M455.1 30.6c3.6-12.7-3.7-26-16.5-29.7s-26 3.7-29.7 16.5l-4.2 14.7c-9.8-.4-19.9 .5-29.9 2.8c-12.1 2.8-23.7 5.9-34.9 9.4l-5.9-13.7c-5.2-12.2-19.3-17.8-31.5-12.6s-17.8 19.3-12.6 31.5l4.9 11.3c-22 9.4-42 20.1-60.2 31.8L228 82.7c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l7.8 11.6c-18 15-33.7 30.8-47.3 47.1L135 157.3c-10.4-8.3-25.5-6.6-33.7 3.7s-6.6 25.5 3.7 33.7l15 12c-2.1 3.2-4.1 6.5-6 9.7c-9.4 15.7-17 31-23.2 45.3l-9.9-3.9c-12.3-4.9-26.3 1.1-31.2 13.4s1.1 26.3 13.4 31.2l11.6 4.6c-.3 1.1-.6 2.1-.9 3.1c-3.5 12.5-5.7 23.2-7.1 31.3c-.7 4.1-1.2 7.5-1.6 10.3c-.2 1.4-.3 2.6-.4 3.6l-.1 1.4-.1 .6 0 .3 0 .1c0 0 0 .1 39.2 3.7l0 0-39.2-3.6c-.5 5-.6 10-.4 14.9l-14.7 4.2c-12.7 3.6-20.1 16.9-16.5 29.7s16.9 20.1 29.7 16.5l13.8-3.9c10.6 20.7 27.6 37.8 48.5 48.5l-3.9 13.7c-3.6 12.7 3.7 26 16.5 29.7s26-3.7 29.7-16.5l4.2-14.7c23.8 1 46.3-5.5 65.1-17.6L247 473c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c9.1-14.1 15.1-30.5 17-48.3l.1-.8c.3-1.7 1-5.1 2.3-9.8l.2-.8 12.6 5.4c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5l-11.3-4.8c9.9-14.9 24.9-31.6 48.6-46l2.1 7.5c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7L403 259.2c6.9-2.2 14.3-4.3 22.2-6.1c12.9-3 24.7-8 35.2-14.8L471 249c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c12.2-19 18.6-41.6 17.6-65.1l14.7-4.2c12.7-3.6 20.1-16.9 16.5-29.7s-16.9-20.1-29.7-16.5l-13.7 3.9c-10.8-21.2-28-38-48.5-48.5l3.9-13.8zm-331 332.7l0 0L176 368l-51.9-4.7zM240 320c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zm32-88c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z\"],\n \"hand-pointer\": [448, 512, [], \"f25a\", \"M128 40c0-22.1 17.9-40 40-40s40 17.9 40 40V188.2c8.5-7.6 19.7-12.2 32-12.2c25.3 0 46 19.5 47.9 44.3c8.5-7.7 19.8-12.3 32.1-12.3c25.3 0 46 19.5 47.9 44.3c8.5-7.7 19.8-12.3 32.1-12.3c26.5 0 48 21.5 48 48v32 64c0 70.7-57.3 128-128 128l-16 0H240l-.1 0h-5.2c-5 0-9.9-.3-14.7-1c-55.3-5.6-106.2-34-140-79L8 336c-13.3-17.7-9.7-42.7 8-56s42.7-9.7 56 8l56 74.7V40zM240 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304zm48-16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304z\"],\n \"drum-steelpan\": [576, 512, [], \"f56a\", \"M288 32c159.1 0 288 48 288 128V352c0 80-128.9 128-288 128S0 432 0 352V160C0 80 128.9 32 288 32zM528 160c0-9.9-8-29.9-55-49.8c-18.6-7.9-40.9-14.4-66-19.4l-27.8 43.6c-7.3 11.5-11.2 24.8-11.2 38.4c0 17.5 6.4 34.4 18.1 47.5l9.8 11c29.8-5.2 55.9-12.5 77.2-21.5c47.1-19.9 55-39.9 55-49.8zM349.2 237.3c-8-26.2-32.4-45.3-61.2-45.3s-53.3 19.1-61.2 45.3c19.4 1.7 39.9 2.7 61.2 2.7s41.8-.9 61.2-2.7zM169 90.8c-25.2 5-47.4 11.6-66 19.4C56 130.1 48 150.1 48 160s8 29.9 55 49.8c21.3 9 47.4 16.3 77.2 21.5l9.8-11c11.6-13.1 18.1-30 18.1-47.5c0-13.6-3.9-26.9-11.2-38.4L169 90.8zm56.3-8C224.5 87 224 91.5 224 96c0 35.3 28.7 64 64 64s64-28.7 64-64c0-4.5-.5-9-1.4-13.2C330.8 81 309.8 80 288 80s-42.8 1-62.6 2.8z\"],\n \"hand-scissors\": [512, 512, [], \"f257\", \"M40 208c-22.1 0-40 17.9-40 40s17.9 40 40 40l180.2 0c-7.6 8.5-12.2 19.7-12.2 32c0 25.3 19.5 46 44.3 47.9c-7.7 8.5-12.3 19.8-12.3 32.1c0 26.5 21.5 48 48 48l32 0 64 0c70.7 0 128-57.3 128-128l0-113.1c0-40.2-16-78.8-44.4-107.3C444.8 76.8 413.9 64 381.7 64L336 64c-21.3 0-39.3 13.9-45.6 33.1l74.5 23.7c8.4 2.7 13.1 11.7 10.4 20.1s-11.7 13.1-20.1 10.4L288 129.9l0 .1L84 65.8C62.9 59.2 40.5 70.9 33.8 92s5.1 43.5 26.2 50.2L269.5 208 40 208z\"],\n \"hands-praying\": [640, 512, [\"praying-hands\"], \"f684\", \"M351.2 4.8c3.2-2 6.6-3.3 10-4.1c4.7-1 9.6-.9 14.1 .1c7.7 1.8 14.8 6.5 19.4 13.6L514.6 194.2c8.8 13.1 13.4 28.6 13.4 44.4v73.5c0 6.9 4.4 13 10.9 15.2l79.2 26.4C631.2 358 640 370.2 640 384v96c0 9.9-4.6 19.3-12.5 25.4s-18.1 8.1-27.7 5.5L431 465.9c-56-14.9-95-65.7-95-123.7V224c0-17.7 14.3-32 32-32s32 14.3 32 32v80c0 8.8 7.2 16 16 16s16-7.2 16-16V219.1c0-7-1.8-13.8-5.3-19.8L340.3 48.1c-1.7-3-2.9-6.1-3.6-9.3c-1-4.7-1-9.6 .1-14.1c1.9-8 6.8-15.2 14.3-19.9zm-62.4 0c7.5 4.6 12.4 11.9 14.3 19.9c1.1 4.6 1.2 9.4 .1 14.1c-.7 3.2-1.9 6.3-3.6 9.3L213.3 199.3c-3.5 6-5.3 12.9-5.3 19.8V304c0 8.8 7.2 16 16 16s16-7.2 16-16V224c0-17.7 14.3-32 32-32s32 14.3 32 32V342.3c0 58-39 108.7-95 123.7l-168.7 45c-9.6 2.6-19.9 .5-27.7-5.5S0 490 0 480V384c0-13.8 8.8-26 21.9-30.4l79.2-26.4c6.5-2.2 10.9-8.3 10.9-15.2V238.5c0-15.8 4.7-31.2 13.4-44.4L245.2 14.5c4.6-7.1 11.7-11.8 19.4-13.6c4.6-1.1 9.4-1.2 14.1-.1c3.5 .8 6.9 2.1 10 4.1z\"],\n \"arrow-rotate-right\": [512, 512, [8635, \"arrow-right-rotate\", \"arrow-rotate-forward\", \"redo\"], \"f01e\", \"M386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H464c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z\"],\n \"biohazard\": [576, 512, [9763], \"f780\", \"M173.2 0c-1.8 0-3.5 .7-4.8 2C138.5 32.3 120 74 120 120c0 26.2 6 50.9 16.6 73c-22 2.4-43.8 9.1-64.2 20.5C37.9 232.8 13.3 262.4 .4 296c-.7 1.7-.5 3.7 .5 5.2c2.2 3.7 7.4 4.3 10.6 1.3C64.2 254.3 158 245.1 205 324s-8.1 153.1-77.6 173.2c-4.2 1.2-6.3 5.9-4.1 9.6c1 1.6 2.6 2.7 4.5 3c36.5 5.9 75.2 .1 109.7-19.2c20.4-11.4 37.4-26.5 50.5-43.8c13.1 17.3 30.1 32.4 50.5 43.8c34.5 19.3 73.3 25.2 109.7 19.2c1.9-.3 3.5-1.4 4.5-3c2.2-3.7 .1-8.4-4.1-9.6C379.1 477.1 324 403 371 324s140.7-69.8 193.5-21.4c3.2 2.9 8.4 2.3 10.6-1.3c1-1.6 1.1-3.5 .5-5.2c-12.9-33.6-37.5-63.2-72.1-82.5c-20.4-11.4-42.2-18.1-64.2-20.5C450 170.9 456 146.2 456 120c0-46-18.5-87.7-48.4-118c-1.3-1.3-3-2-4.8-2c-5 0-8.4 5.2-6.7 9.9C421.7 80.5 385.6 176 288 176S154.3 80.5 179.9 9.9c1.7-4.7-1.6-9.9-6.7-9.9zM336 272c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM181.7 417.6c6.3-11.8 9.8-25.1 8.6-39.8c-19.5-18-34-41.4-41.2-67.8c-12.5-8.1-26.2-11.8-40-12.4c-9-.4-18.1 .6-27.1 2.7c7.8 57.1 38.7 106.8 82.9 139.4c6.8-6.7 12.6-14.1 16.8-22.1zM288 64c-28.8 0-56.3 5.9-81.2 16.5c2 8.3 5 16.2 9 23.5c6.8 12.4 16.7 23.1 30.1 30.3c13.3-4.1 27.5-6.3 42.2-6.3s28.8 2.2 42.2 6.3c13.4-7.2 23.3-17.9 30.1-30.3c4-7.3 7-15.2 9-23.5C344.3 69.9 316.8 64 288 64zM426.9 310c-7.2 26.4-21.7 49.7-41.2 67.8c-1.2 14.7 2.2 28.1 8.6 39.8c4.3 8 10 15.4 16.8 22.1c44.3-32.6 75.2-82.3 82.9-139.4c-9-2.2-18.1-3.1-27.1-2.7c-13.8 .6-27.5 4.4-40 12.4z\"],\n \"location-crosshairs\": [512, 512, [\"location\"], \"f601\", \"M256 0c17.7 0 32 14.3 32 32V66.7C368.4 80.1 431.9 143.6 445.3 224H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H445.3C431.9 368.4 368.4 431.9 288 445.3V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.3C143.6 431.9 80.1 368.4 66.7 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H66.7C80.1 143.6 143.6 80.1 224 66.7V32c0-17.7 14.3-32 32-32zM128 256c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128s-128 57.3-128 128zm128 80c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80z\"],\n \"mars-double\": [640, 512, [9891], \"f227\", \"M312 32c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l33.4 33.4L275.8 159c-28.4-19.5-62.7-31-99.8-31C78.8 128 0 206.8 0 304s78.8 176 176 176s176-78.8 176-176c0-37-11.4-71.4-31-99.8l52.6-52.6L407 185c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H312zm88 48h0v0l0 0zM288 304c0 61.9-50.1 112-112 112s-112-50.1-112-112s50.1-112 112-112s112 50.1 112 112zm80 176c97.2 0 176-78.8 176-176c0-37-11.4-71.4-31-99.8l52.6-52.6L599 185c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H504c-9.7 0-18.5 5.8-22.2 14.8c-1.2 2.9-1.8 6-1.8 9l0 .2v.2c0 6.2 2.5 12.2 7 16.8l33.4 33.4L480 146.7V168c0 22.6-13.6 43.1-34.6 51.7c-.8 .3-1.7 .7-2.5 1C465.7 241.2 480 270.9 480 304c0 61.9-50.1 112-112 112c-5.4 0-10.8-.4-16-1.1c-12.9 20.4-29.1 38.3-48.1 53.1c19.8 7.8 41.4 12 64 12z\"],\n \"child-dress\": [320, 512, [], \"e59c\", \"M224 64c0-35.3-28.7-64-64-64S96 28.7 96 64s28.7 64 64 64s64-28.7 64-64zM88 400v80c0 17.7 14.3 32 32 32s32-14.3 32-32V400h16v80c0 17.7 14.3 32 32 32s32-14.3 32-32V400h17.8c10.9 0 18.6-10.7 15.2-21.1l-31.1-93.4 28.6 37.8c10.7 14.1 30.8 16.8 44.8 6.2s16.8-30.7 6.2-44.8L254.6 207c-22.4-29.6-57.5-47-94.6-47s-72.2 17.4-94.6 47L6.5 284.7c-10.7 14.1-7.9 34.2 6.2 44.8s34.2 7.9 44.8-6.2l28.7-37.8L55 378.9C51.6 389.3 59.3 400 70.2 400H88z\"],\n \"users-between-lines\": [640, 512, [], \"e591\", \"M0 24C0 10.7 10.7 0 24 0H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 48 0 37.3 0 24zM0 488c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM211.2 160c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM32 320c0-35.3 28.7-64 64-64h96c12.2 0 23.7 3.4 33.4 9.4c-37.2 15.1-65.6 47.2-75.8 86.6H64c-17.7 0-32-14.3-32-32zm461.6 32c-10.3-40.1-39.6-72.6-77.7-87.4c9.4-5.5 20.4-8.6 32.1-8.6h96c35.3 0 64 28.7 64 64c0 17.7-14.3 32-32 32H493.6zM391.2 290.4c32.1 7.4 58.1 30.9 68.9 61.6c3.5 10 5.5 20.8 5.5 32c0 17.7-14.3 32-32 32h-224c-17.7 0-32-14.3-32-32c0-11.2 1.9-22 5.5-32c10.5-29.7 35.3-52.8 66.1-60.9c7.8-2.1 16-3.1 24.5-3.1h96c7.4 0 14.7 .8 21.6 2.4zM563.2 160c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM321.6 256c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80z\"],\n \"lungs-virus\": [640, 512, [], \"e067\", \"M320 0c17.7 0 32 14.3 32 32V156.2c-8.5-7.6-19.7-12.2-32-12.2s-23.5 4.6-32 12.2V32c0-17.7 14.3-32 32-32zM444.5 195.5c-16.4-16.4-41.8-18.5-60.5-6.1V165.3C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4v7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7l-72.7-18.2c-20.9-5.2-38.7-17.1-51.5-32.9c14 1.5 28.5-3 39.2-13.8l-22.6-22.6 22.6 22.6c18.7-18.7 18.7-49.1 0-67.9c-1.1-1.1-1.4-2-1.5-2.5c-.1-.8-.1-1.8 .4-2.9s1.2-1.9 1.8-2.3c.5-.3 1.3-.8 2.9-.8c26.5 0 48-21.5 48-48s-21.5-48-48-48c-1.6 0-2.4-.4-2.9-.8c-.6-.4-1.3-1.2-1.8-2.3s-.5-2.2-.4-2.9c.1-.6 .4-1.4 1.5-2.5c18.7-18.7 18.7-49.1 0-67.9zM421.8 421.8c-6.2 6.2-16.4 6.2-22.6 0C375.9 398.5 336 415 336 448c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C241.5 375.9 225 336 192 336c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C264.1 241.5 304 225 304 192c0-8.8 7.2-16 16-16s16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C398.5 264.1 415 304 448 304c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6zM183.3 491.2l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89v-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3v24.1c-18.6-12.4-44-10.3-60.5 6.1c-18.7 18.7-18.7 49.1 0 67.9c1.1 1.1 1.4 2 1.5 2.5c.1 .8 .1 1.8-.4 2.9s-1.2 1.9-1.8 2.3c-.5 .3-1.3 .8-2.9 .8c-26.5 0-48 21.5-48 48s21.5 48 48 48c1.6 0 2.4 .4 2.9 .8c.6 .4 1.3 1.2 1.8 2.3s.5 2.2 .4 2.9c-.1 .6-.4 1.4-1.5 2.5c-18.7 18.7-18.7 49.1 0 67.9c10.7 10.7 25.3 15.3 39.2 13.8c-12.8 15.9-30.6 27.7-51.5 32.9zM296 320c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zm72 32c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16z\"],\n \"face-grin-tears\": [640, 512, [128514, \"grin-tears\"], \"f588\", \"M548.6 371.4C506.4 454.8 419.9 512 320 512s-186.4-57.2-228.6-140.6c4.5-2.9 8.7-6.3 12.7-10.3c8.1-8.1 13.2-18.6 16.5-26.6c3.6-8.8 6.5-18.4 8.8-27.5c4.6-18.2 7.7-37 9.3-48.2c3.9-26.5-18.8-49.2-45.2-45.4c-6.8 .9-16.2 2.4-26.6 4.4C85.3 94.5 191.6 0 320 0S554.7 94.5 573.2 217.7c-10.3-2-19.8-3.5-26.6-4.4c-26.5-3.9-49.2 18.8-45.2 45.4c1.6 11.3 4.6 30 9.3 48.2c2.3 9.1 5.2 18.8 8.8 27.5c3.3 8.1 8.4 18.5 16.5 26.6c3.9 3.9 8.2 7.4 12.7 10.3zM107 254.1c-3.1 21.5-11.4 70.2-25.5 84.4c-.9 1-1.9 1.8-2.9 2.7C60 356.7 32 355.5 14.3 337.7c-18.7-18.7-19.1-48.8-.7-67.2c8.6-8.6 30.1-15.1 50.5-19.6c13-2.8 25.5-4.8 33.9-6c5.4-.8 9.9 3.7 9 9zm454.5 87.1c-.8-.6-1.5-1.3-2.3-2c-.2-.2-.5-.4-.7-.7c-14.1-14.1-22.5-62.9-25.5-84.4c-.8-5.4 3.7-9.9 9-9c1 .1 2.2 .3 3.3 .5c8.2 1.2 19.2 3 30.6 5.5c20.4 4.4 41.9 10.9 50.5 19.6c18.4 18.4 18 48.5-.7 67.2c-17.7 17.7-45.7 19-64.2 3.4zm-90.1-9.7c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.4 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c25 59.1 83.2 100.5 151.1 100.5s126.2-41.4 151.1-100.5zM281.6 228.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C190.7 188.4 184 206.1 184 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C350.7 188.4 344 206.1 344 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0z\"],\n \"phone\": [512, 512, [128222, 128379], \"f095\", \"M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z\"],\n \"calendar-xmark\": [448, 512, [\"calendar-times\"], \"f273\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zM305 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z\"],\n \"child-reaching\": [384, 512, [], \"e59d\", \"M256 64c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64zM152.9 169.3c-23.7-8.4-44.5-24.3-58.8-45.8L74.6 94.2C64.8 79.5 45 75.6 30.2 85.4s-18.7 29.7-8.9 44.4L40.9 159c18.1 27.1 42.8 48.4 71.1 62.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32V384h32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V221.6c29.1-14.2 54.4-36.2 72.7-64.2l18.2-27.9c9.6-14.8 5.4-34.6-9.4-44.3s-34.6-5.5-44.3 9.4L291 122.4c-21.8 33.4-58.9 53.6-98.8 53.6c-12.6 0-24.9-2-36.6-5.8c-.9-.3-1.8-.7-2.7-.9z\"],\n \"head-side-virus\": [512, 512, [], \"e064\", \"M0 224.2C0 100.6 100.2 0 224 0h32c95.2 0 174.2 69.3 189.4 160.1c2.2 13 6.7 25.7 15 36.1l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM240 80c-8.8 0-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C161.5 168.1 145 208 112 208c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C184.1 302.5 224 319 224 352c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C318.5 279.9 335 240 368 240c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C295.9 145.5 256 129 256 96c0-8.8-7.2-16-16-16zM216 224c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm72 32c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16z\"],\n \"user-gear\": [640, 512, [\"user-cog\"], \"f4fe\", \"M224 256c-70.7 0-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128s-57.3 128-128 128zm-45.7 48h91.4c11.8 0 23.4 1.2 34.5 3.3c-2.1 18.5 7.4 35.6 21.8 44.8c-16.6 10.6-26.7 31.6-20 53.3c4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 9.2 2.7 18.5 7.9 26.3H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM436 218.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8v30.6c7.9 3.4 15.4 7.7 22.3 12.8l24.9-14.3c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-25 14.4c.4 4 .7 8.1 .7 12.3s-.2 8.2-.7 12.3l25 14.4c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-24.9-14.3c-6.9 5.1-14.3 9.4-22.3 12.8l0 30.6c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8V454.8c-8-3.4-15.6-7.7-22.5-12.9l-24.7 14.3c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l24.8-14.3c-.4-4.1-.7-8.2-.7-12.4s.2-8.3 .7-12.4L343.8 325c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l24.8 14.3c6.9-5.1 14.5-9.4 22.5-12.9V218.2zm92.1 133.5c0-26.5-21.5-48-48.1-48s-48.1 21.5-48.1 48s21.5 48 48.1 48s48.1-21.5 48.1-48z\"],\n \"arrow-up-1-9\": [576, 512, [\"sort-numeric-up\"], \"f163\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32zM352 64c0-17.7 14.3-32 32-32h48c17.7 0 32 14.3 32 32v96h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 384c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V96H384c-17.7 0-32-14.3-32-32zm93.7 300.9c10.8-5.1 18.3-16.2 18.3-28.9c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32c4.9 0 9.6-1.1 13.7-3.1zm-40.7 54.9C369.6 408.4 344 375.2 344 336c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 467c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2z\"],\n \"door-closed\": [576, 512, [128682], \"f52a\", \"M96 64c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V448h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 144 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96V64zM384 288c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"shield-virus\": [512, 512, [], \"e06c\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM256 112c8.8 0 16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C334.5 200.1 351 240 384 240c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C311.9 334.5 272 351 272 384c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C177.5 311.9 161 272 128 272c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C200.1 177.5 240 161 240 128c0-8.8 7.2-16 16-16zM232 256c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zm72 32c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16z\"],\n \"dice-six\": [448, 512, [9861], \"f526\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM128 288c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm32 64c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM320 192c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm32 64c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM320 384c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"mosquito-net\": [640, 512, [], \"e52c\", \"M168.8 462.3c-7.9-4-11.1-13.6-7.2-21.5L192 380.2l0-44.2c0-4.2 1.7-8.3 4.7-11.3L256 265.4V242.2L139.2 344C87.8 395.3 0 358.9 0 286.3c0-41.1 30.6-75.8 71.4-80.9l159.9-23.9-49.6-41.3c-5.1-4.2-7-11.1-4.9-17.4l13.9-41.7-29-58.1c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l32 64c1.9 3.8 2.2 8.2 .9 12.2l-12.5 37.6L256 160.5V137.9c0-14.9 10.1-27.3 23.8-31V63.7c0-4.5 3.7-8.2 8.2-8.2s8.2 3.7 8.2 8.2V107c13.7 3.6 23.8 16.1 23.8 31v22.6l45.4-37.8L352.8 85.1c-1.3-4-1-8.4 .9-12.2l32-64c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-29 58.1 13.9 41.7c2.1 6.2 .1 13.1-4.9 17.4l-49.6 41.3 159.9 23.9c22.5 2.8 41.8 14.6 54.7 31.4c-2.7 2.6-5.2 5.4-7.3 8.6c-8.6-12.9-23.3-21.5-40-21.5s-31.4 8.5-40 21.5c-8.6-12.9-23.3-21.5-40-21.5c-21.7 0-40 14.3-45.9 34.1c-10.7 3.2-19.8 10.1-25.9 19.2l-40.2-35v23.1l32.4 32.4c-.3 2-.4 4.1-.4 6.2c0 16.7 8.5 31.4 21.5 40c-4 2.6-7.5 5.9-10.6 9.5L320 310.6v50c0 17.7-14.3 32-32 32s-32-14.3-32-32v-50l-32 32 0 41.4c0 2.5-.6 4.9-1.7 7.2l-32 64c-4 7.9-13.6 11.1-21.5 7.2zM512 256c8.8 0 16 7.2 16 16v16h48V272c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H528v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H448v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V400H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V320H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V272c0-8.8 7.2-16 16-16s16 7.2 16 16v16h48V272c0-8.8 7.2-16 16-16zm16 112h48V320H528v48zm0 80h48V400H528v48zM448 320v48h48V320H448zm0 80v48h48V400H448z\"],\n \"bridge-water\": [576, 512, [], \"e4ce\", \"M0 96C0 78.3 14.3 64 32 64H544c17.7 0 32 14.3 32 32v35.6c0 15.7-12.7 28.4-28.4 28.4c-37.3 0-67.6 30.2-67.6 67.6V352.5c-12.9 0-25.8 3.9-36.8 11.7c-18 12.4-40.1 20.3-59.2 20.3h0l0-.5V256c0-53-43-96-96-96s-96 43-96 96V384l0 .5c-19 0-41.2-7.9-59.1-20.3c-11.1-7.8-24-11.7-36.9-11.7V227.6C96 190.2 65.8 160 28.4 160C12.7 160 0 147.3 0 131.6V96zM306.5 389.9C329 405.4 356.5 416 384 416c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 469.7 417 480 384 480c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 405.2 165.1 416 192 416c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"],\n \"person-booth\": [576, 512, [], \"f756\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V192h64V32zm320 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM224 512c17.7 0 32-14.3 32-32V320H192V480c0 17.7 14.3 32 32 32zM320 0c-9.3 0-18.1 4-24.2 11s-8.8 16.3-7.5 25.5l31.2 218.6L288.6 409.7c-3.5 17.3 7.8 34.2 25.1 37.7s34.2-7.8 37.7-25.1l.7-3.6c1.3 16.4 15.1 29.4 31.9 29.4c17.7 0 32-14.3 32-32c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM112 80c0-26.5-21.5-48-48-48S16 53.5 16 80s21.5 48 48 48s48-21.5 48-48zm0 261.3V269.3l4.7 4.7c9 9 21.2 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H157.3l-41.6-41.6c-14.3-14.3-33.8-22.4-54-22.4C27.6 160 0 187.6 0 221.6v55.7l0 .9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V384l32 42.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32V421.3c0-10.4-3.4-20.5-9.6-28.8L112 341.3z\"],\n \"text-width\": [448, 512, [], \"f035\", \"M32 32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V96H192l0 128H176c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H256l0-128H384v32c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H224 32zM9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V416H320v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6v32H128V320c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64z\"],\n \"hat-wizard\": [512, 512, [], \"f6e8\", \"M64 416L168.6 180.7c15.3-34.4 40.3-63.5 72-83.7l146.9-94c3-1.9 6.5-2.9 10-2.9C407.7 0 416 8.3 416 18.6v1.6c0 2.6-.5 5.1-1.4 7.5L354.8 176.9c-1.9 4.7-2.8 9.7-2.8 14.7c0 5.5 1.2 11 3.4 16.1L448 416H240.9l11.8-35.4 40.4-13.5c6.5-2.2 10.9-8.3 10.9-15.2s-4.4-13-10.9-15.2l-40.4-13.5-13.5-40.4C237 276.4 230.9 272 224 272s-13 4.4-15.2 10.9l-13.5 40.4-40.4 13.5C148.4 339 144 345.1 144 352s4.4 13 10.9 15.2l40.4 13.5L207.1 416H64zM279.6 141.5c-1.1-3.3-4.1-5.5-7.6-5.5s-6.5 2.2-7.6 5.5l-6.7 20.2-20.2 6.7c-3.3 1.1-5.5 4.1-5.5 7.6s2.2 6.5 5.5 7.6l20.2 6.7 6.7 20.2c1.1 3.3 4.1 5.5 7.6 5.5s6.5-2.2 7.6-5.5l6.7-20.2 20.2-6.7c3.3-1.1 5.5-4.1 5.5-7.6s-2.2-6.5-5.5-7.6l-20.2-6.7-6.7-20.2zM32 448H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"pen-fancy\": [512, 512, [128395, 10002], \"f5ac\", \"M373.5 27.1C388.5 9.9 410.2 0 433 0c43.6 0 79 35.4 79 79c0 22.8-9.9 44.6-27.1 59.6L277.7 319l-10.3-10.3-64-64L193 234.3 373.5 27.1zM170.3 256.9l10.4 10.4 64 64 10.4 10.4-19.2 83.4c-3.9 17.1-16.9 30.7-33.8 35.4L24.4 510.3l95.4-95.4c2.6 .7 5.4 1.1 8.3 1.1c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32c0 2.9 .4 5.6 1.1 8.3L1.7 487.6 51.5 310c4.7-16.9 18.3-29.9 35.4-33.8l83.4-19.2z\"],\n \"person-digging\": [576, 512, [\"digging\"], \"f85e\", \"M304 64c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM9.8 214.8c5.1-12.2 19.1-18 31.4-12.9L60.7 210l22.9-38.1C99.9 144.6 129.3 128 161 128c51.4 0 97 32.9 113.3 81.7l34.6 103.7 79.3 33.1 34.2-45.6c6.4-8.5 16.6-13.3 27.2-12.8s20.3 6.4 25.8 15.5l96 160c5.9 9.9 6.1 22.2 .4 32.2s-16.3 16.2-27.8 16.2H288c-11.1 0-21.4-5.7-27.2-15.2s-6.4-21.2-1.4-31.1l16-32c5.4-10.8 16.5-17.7 28.6-17.7h32l22.5-30L22.8 246.2c-12.2-5.1-18-19.1-12.9-31.4zm82.8 91.8l112 48c11.8 5 19.4 16.6 19.4 29.4v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V405.1l-60.6-26-37 111c-5.6 16.8-23.7 25.8-40.5 20.2S-3.9 486.6 1.6 469.9l48-144 11-33 32 13.7z\"],\n \"trash\": [448, 512, [], \"f1f8\", \"M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z\"],\n \"gauge-simple\": [512, 512, [\"gauge-simple-med\", \"tachometer-average\"], \"f629\", \"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM320 352c0-26.9-16.5-49.9-40-59.3V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64z\"],\n \"book-medical\": [448, 512, [], \"f7e6\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM208 112v48H160c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h48c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H272V112c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16z\"],\n \"poo\": [512, 512, [128169], \"f2fe\", \"M268.9 .9c-5.5-.7-11 1.4-14.5 5.7s-4.6 10.1-2.8 15.4c2.8 8.2 4.3 16.9 4.3 26.1c0 44.1-35.7 79.9-79.8 80H160c-35.3 0-64 28.7-64 64c0 19.1 8.4 36.3 21.7 48H104c-39.8 0-72 32.2-72 72c0 23.2 11 43.8 28 57c-34.1 5.7-60 35.3-60 71c0 39.8 32.2 72 72 72H440c39.8 0 72-32.2 72-72c0-35.7-25.9-65.3-60-71c17-13.2 28-33.8 28-57c0-39.8-32.2-72-72-72H394.3c13.3-11.7 21.7-28.9 21.7-48c0-35.3-28.7-64-64-64h-5.5c3.5-10 5.5-20.8 5.5-32c0-48.6-36.2-88.8-83.1-95.1zM192 320c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm160-32c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm0 108.3c0 2.4-.7 4.8-2.2 6.7c-8.2 10.5-39.5 45-93.8 45s-85.6-34.6-93.8-45c-1.5-1.9-2.2-4.3-2.2-6.7c0-6.8 5.5-12.3 12.3-12.3H339.7c6.8 0 12.3 5.5 12.3 12.3z\"],\n \"quote-right\": [448, 512, [8221, \"quote-right-alt\"], \"f10e\", \"M448 296c0 66.3-53.7 120-120 120h-8c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c30.9 0 56-25.1 56-56v-8H320c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32 32 72zm-256 0c0 66.3-53.7 120-120 120H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c30.9 0 56-25.1 56-56v-8H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32 32 72z\"],\n \"shirt\": [640, 512, [128085, \"t-shirt\", \"tshirt\"], \"f553\", \"M211.8 0c7.8 0 14.3 5.7 16.7 13.2C240.8 51.9 277.1 80 320 80s79.2-28.1 91.5-66.8C413.9 5.7 420.4 0 428.2 0h12.6c22.5 0 44.2 7.9 61.5 22.3L628.5 127.4c6.6 5.5 10.7 13.5 11.4 22.1s-2.1 17.1-7.8 23.6l-56 64c-11.4 13.1-31.2 14.6-44.6 3.5L480 197.7V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V197.7l-51.5 42.9c-13.3 11.1-33.1 9.6-44.6-3.5l-56-64c-5.7-6.5-8.5-15-7.8-23.6s4.8-16.6 11.4-22.1L137.7 22.3C155 7.9 176.7 0 199.2 0h12.6z\"],\n \"cubes\": [576, 512, [], \"f1b3\", \"M290.8 48.6l78.4 29.7L288 109.5 206.8 78.3l78.4-29.7c1.8-.7 3.8-.7 5.7 0zM136 92.5V204.7c-1.3 .4-2.6 .8-3.9 1.3l-96 36.4C14.4 250.6 0 271.5 0 294.7V413.9c0 22.2 13.1 42.3 33.5 51.3l96 42.2c14.4 6.3 30.7 6.3 45.1 0L288 457.5l113.5 49.9c14.4 6.3 30.7 6.3 45.1 0l96-42.2c20.3-8.9 33.5-29.1 33.5-51.3V294.7c0-23.3-14.4-44.1-36.1-52.4l-96-36.4c-1.3-.5-2.6-.9-3.9-1.3V92.5c0-23.3-14.4-44.1-36.1-52.4l-96-36.4c-12.8-4.8-26.9-4.8-39.7 0l-96 36.4C150.4 48.4 136 69.3 136 92.5zM392 210.6l-82.4 31.2V152.6L392 121v89.6zM154.8 250.9l78.4 29.7L152 311.7 70.8 280.6l78.4-29.7c1.8-.7 3.8-.7 5.7 0zm18.8 204.4V354.8L256 323.2v95.9l-82.4 36.2zM421.2 250.9c1.8-.7 3.8-.7 5.7 0l78.4 29.7L424 311.7l-81.2-31.1 78.4-29.7zM523.2 421.2l-77.6 34.1V354.8L528 323.2v90.7c0 3.2-1.9 6-4.8 7.3z\"],\n \"divide\": [448, 512, [10135, 247], \"f529\", \"M272 96c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zm0 320c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM400 288c17.7 0 32-14.3 32-32s-14.3-32-32-32H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H400z\"],\n \"tenge-sign\": [384, 512, [8376, \"tenge\"], \"f7d7\", \"M0 64C0 46.3 14.3 32 32 32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM0 192c0-17.7 14.3-32 32-32H192 352c17.7 0 32 14.3 32 32s-14.3 32-32 32H224V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V224H32c-17.7 0-32-14.3-32-32z\"],\n \"headphones\": [512, 512, [127911], \"f025\", \"M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48c-44.2 0-80-35.8-80-80V384 336 288C0 146.6 114.6 32 256 32s256 114.6 256 256v48 48 16c0 44.2-35.8 80-80 80c-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48c10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80z\"],\n \"hands-holding\": [640, 512, [], \"f4c2\", \"M80 104c0-22.1-17.9-40-40-40S0 81.9 0 104v56 64V325.5c0 25.5 10.1 49.9 28.1 67.9L128 493.3c12 12 28.3 18.7 45.3 18.7H240c26.5 0 48-21.5 48-48V385.1c0-29.7-11.8-58.2-32.8-79.2l-25.3-25.3 0 0-15.2-15.2-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32 15.2 15.2c11 11 9.2 29.2-3.7 37.8c-9.7 6.5-22.7 5.2-31-3.1L98.7 309.5c-12-12-18.7-28.3-18.7-45.3V224 144 104zm480 0v40 80 40.2c0 17-6.7 33.3-18.7 45.3l-51.1 51.1c-8.3 8.3-21.3 9.6-31 3.1c-12.9-8.6-14.7-26.9-3.7-37.8l15.2-15.2 32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32-15.2 15.2 0 0-25.3 25.3c-21 21-32.8 49.5-32.8 79.2V464c0 26.5 21.5 48 48 48h66.7c17 0 33.3-6.7 45.3-18.7l99.9-99.9c18-18 28.1-42.4 28.1-67.9V224 160 104c0-22.1-17.9-40-40-40s-40 17.9-40 40z\"],\n \"hands-clapping\": [576, 512, [], \"e1a8\", \"M368 16V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16s16 7.2 16 16zm-98.7 7.1l32 48c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4l-32-48c-4.9-7.4-2.9-17.3 4.4-22.2s17.3-2.9 22.2 4.4zM167 119c9.4-9.4 24.6-9.4 33.9 0L324.7 242.7c10.1 10.1 27.3 2.9 27.3-11.3V192c0-17.7 14.3-32 32-32s32 14.3 32 32V345.6c0 57.1-30 110-78.9 139.4c-64 38.4-145.8 28.3-198.5-24.4L39 361c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l53 53c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1L55 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l93 93c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1L87 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l117 117c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1l-93-93c-9.4-9.4-9.4-24.6 0-33.9zM465.1 484.9c-24.2 14.5-50.9 22.1-77.7 23.1c48.1-39.6 76.6-99 76.6-162.4l0-98.1c8.2-.1 16-6.4 16-16V192c0-17.7 14.3-32 32-32s32 14.3 32 32V345.6c0 57.1-30 110-78.9 139.4zM456.9 18.7c7.4 4.9 9.3 14.8 4.4 22.2l-32 48c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l32-48c4.9-7.4 14.8-9.3 22.2-4.4z\"],\n \"republican\": [640, 512, [], \"f75e\", \"M0 192C0 103.6 71.6 32 160 32H384c88.4 0 160 71.6 160 160v64H0V192zm415.9-64c-2.4 0-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L466 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6c-1.1-2.1-3.3-3.4-5.7-3.4zm-138.3 3.4c-1.1-2.1-3.3-3.4-5.7-3.4s-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L322 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6zM127.9 128c-2.4 0-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L178 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6c-1.1-2.1-3.3-3.4-5.7-3.4zm.1 160H320h96 32 64 32v32 80c0 8.8 7.2 16 16 16s16-7.2 16-16V352c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 44.2-35.8 80-80 80s-80-35.8-80-80V352H448v32 64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V384H128v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V384 288H128z\"],\n \"arrow-left\": [448, 512, [8592], \"f060\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\"],\n \"person-circle-xmark\": [576, 512, [], \"e543\", \"M208 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM152 352V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 512c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm59.3-180.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"],\n \"ruler\": [512, 512, [128207], \"f545\", \"M177.9 494.1c-18.7 18.7-49.1 18.7-67.9 0L17.9 401.9c-18.7-18.7-18.7-49.1 0-67.9l50.7-50.7 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 50.7-50.7c18.7-18.7 49.1-18.7 67.9 0l92.1 92.1c18.7 18.7 18.7 49.1 0 67.9L177.9 494.1z\"],\n \"align-left\": [448, 512, [], \"f036\", \"M288 64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32H256c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"],\n \"dice-d6\": [448, 512, [], \"f6d1\", \"M216.3 2c4.8-2.6 10.5-2.6 15.3 0L422.3 106c5.1 2.8 8.3 8.2 8.3 14s-3.2 11.2-8.3 14L231.7 238c-4.8 2.6-10.5 2.6-15.3 0L25.7 134c-5.1-2.8-8.3-8.2-8.3-14s3.2-11.2 8.3-14L216.3 2zM23.7 170l176 96c5.1 2.8 8.3 8.2 8.3 14V496c0 5.6-3 10.9-7.8 13.8s-10.9 3-15.8 .3L8.3 414C3.2 411.2 0 405.9 0 400V184c0-5.6 3-10.9 7.8-13.8s10.9-3 15.8-.3zm400.7 0c5-2.7 11-2.6 15.8 .3s7.8 8.1 7.8 13.8V400c0 5.9-3.2 11.2-8.3 14l-176 96c-5 2.7-11 2.6-15.8-.3s-7.8-8.1-7.8-13.8V280c0-5.9 3.2-11.2 8.3-14l176-96z\"],\n \"restroom\": [640, 512, [], \"f7bd\", \"M176 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM120 352V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V325.2c-8.1 9.2-21.1 13.2-33.5 9.4c-16.9-5.3-26.3-23.2-21-40.1l30.9-99.1C44.9 155.3 82 128 124 128h8c42 0 79.1 27.3 91.6 67.4l30.9 99.1c5.3 16.9-4.1 34.8-21 40.1c-12.4 3.9-25.4-.2-33.5-9.4V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H120zM320 0c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM560 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM440 480V384H422.2c-10.9 0-18.6-10.7-15.2-21.1l9-26.9c-3.2 0-6.4-.5-9.5-1.5c-16.9-5.3-26.3-23.2-21-40.1l29.7-95.2C428.4 156.9 467.6 128 512 128s83.6 28.9 96.8 71.2l29.7 95.2c5.3 16.9-4.1 34.8-21 40.1c-3.2 1-6.4 1.5-9.5 1.5l9 26.9c3.5 10.4-4.3 21.1-15.2 21.1H584v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H504v96c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"],\n \"j\": [320, 512, [106], \"4a\", \"M288 32c17.7 0 32 14.3 32 32V320c0 88.4-71.6 160-160 160S0 408.4 0 320V288c0-17.7 14.3-32 32-32s32 14.3 32 32v32c0 53 43 96 96 96s96-43 96-96V64c0-17.7 14.3-32 32-32z\"],\n \"users-viewfinder\": [640, 512, [], \"e595\", \"M48 48h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H32C14.3 0 0 14.3 0 32V136c0 13.3 10.7 24 24 24s24-10.7 24-24V48zM175.8 224c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm-26.5 32C119.9 256 96 279.9 96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3zm368 80c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6h56.1zm-89.4 0c-8.6-24.3-29.9-42.6-55.9-47c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-26 4.4-47.3 22.7-55.9 47c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24zM464 224c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm-80-32c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64zM504 48h88v88c0 13.3 10.7 24 24 24s24-10.7 24-24V32c0-17.7-14.3-32-32-32H504c-13.3 0-24 10.7-24 24s10.7 24 24 24zM48 464V376c0-13.3-10.7-24-24-24s-24 10.7-24 24V480c0 17.7 14.3 32 32 32H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H48zm456 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H608c17.7 0 32-14.3 32-32V376c0-13.3-10.7-24-24-24s-24 10.7-24 24v88H504z\"],\n \"file-video\": [384, 512, [], \"f1c8\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 288c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V288zM300.9 397.9L256 368V304l44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3V387.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1z\"],\n \"up-right-from-square\": [512, 512, [\"external-link-alt\"], \"f35d\", \"M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32c0-17.7-14.3-32-32-32H352zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"],\n \"table-cells\": [512, 512, [\"th\"], \"f00a\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 64v64H64V96h88zm56 0h88v64H208V96zm240 0v64H360V96h88zM64 224h88v64H64V224zm232 0v64H208V224h88zm64 0h88v64H360V224zM152 352v64H64V352h88zm56 0h88v64H208V352zm240 0v64H360V352h88z\"],\n \"file-pdf\": [384, 512, [], \"f1c1\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 224H88c30.9 0 56 25.1 56 56s-25.1 56-56 56H80v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V320 240c0-8.8 7.2-16 16-16zm24 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H80v48h8zm72-64c0-8.8 7.2-16 16-16h24c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-8.8 0-16-7.2-16-16V240zm32 112h8c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16h-8v96zm96-128h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 240c0-8.8 7.2-16 16-16z\"],\n \"book-bible\": [448, 512, [\"bible\"], \"f647\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zM208 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272V304c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V192H160c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h48V80z\"],\n \"o\": [448, 512, [111], \"4f\", \"M224 96C135.6 96 64 167.6 64 256s71.6 160 160 160s160-71.6 160-160s-71.6-160-160-160zM0 256C0 132.3 100.3 32 224 32s224 100.3 224 224s-100.3 224-224 224S0 379.7 0 256z\"],\n \"suitcase-medical\": [512, 512, [\"medkit\"], \"f0fa\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96v32V480H384V128 96 56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM96 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H96V96zM416 480h32c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H416V480zM224 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V320H176c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"],\n \"user-secret\": [448, 512, [128373], \"f21b\", \"M224 16c-6.7 0-10.8-2.8-15.5-6.1C201.9 5.4 194 0 176 0c-30.5 0-52 43.7-66 89.4C62.7 98.1 32 112.2 32 128c0 14.3 25 27.1 64.6 35.9c-.4 4-.6 8-.6 12.1c0 17 3.3 33.2 9.3 48H45.4C38 224 32 230 32 237.4c0 1.7 .3 3.4 1 5l38.8 96.9C28.2 371.8 0 423.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-58.5-28.2-110.4-71.7-143L415 242.4c.6-1.6 1-3.3 1-5c0-7.4-6-13.4-13.4-13.4H342.7c6-14.8 9.3-31 9.3-48c0-4.1-.2-8.1-.6-12.1C391 155.1 416 142.3 416 128c0-15.8-30.7-29.9-78-38.6C324 43.7 302.5 0 272 0c-18 0-25.9 5.4-32.5 9.9c-4.7 3.3-8.8 6.1-15.5 6.1zm56 208H267.6c-16.5 0-31.1-10.6-36.3-26.2c-2.3-7-12.2-7-14.5 0c-5.2 15.6-19.9 26.2-36.3 26.2H168c-22.1 0-40-17.9-40-40V169.6c28.2 4.1 61 6.4 96 6.4s67.8-2.3 96-6.4V184c0 22.1-17.9 40-40 40zm-88 96l16 32L176 480 128 288l64 32zm128-32L272 480 240 352l16-32 64-32z\"],\n \"otter\": [640, 512, [129446], \"f700\", \"M181.5 197.1l12.9 6.4c5.9 3 12.4 4.5 19.1 4.5c23.5 0 42.6-19.1 42.6-42.6V144c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v21.4c0 23.5 19.1 42.6 42.6 42.6c6.6 0 13.1-1.5 19.1-4.5l12.9-6.4 8.4-4.2L135.1 185c-4.5-3-7.1-8-7.1-13.3V168c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v3.7c0 5.3-2.7 10.3-7.1 13.3l-11.8 7.9 8.4 4.2zm-8.6 49.4L160 240l-12.9 6.4c-12.6 6.3-26.5 9.6-40.5 9.6c-3.6 0-7.1-.2-10.6-.6v.6c0 35.3 28.7 64 64 64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V336 320c0-23.7 12.9-44.4 32-55.4c9.4-5.4 20.3-8.6 32-8.6V240c0-26.5 21.5-48 48-48c8.8 0 16 7.2 16 16v32 16 48c0 8.8 7.2 16 16 16s16-7.2 16-16V204.3c0-48.2-30.8-91-76.6-106.3l-8.5-2.8c-8-2.7-12.6-11.1-10.4-19.3s10.3-13.2 18.6-11.6l19.9 4C576 86.1 640 164.2 640 254.9l0 1.1h0c0 123.7-100.3 224-224 224h-1.1H256h-.6C132 480 32 380 32 256.6V256 216.8c-10.1-14.6-16-32.3-16-51.4V144l0-1.4C6.7 139.3 0 130.5 0 120c0-13.3 10.7-24 24-24h2.8C44.8 58.2 83.3 32 128 32h64c44.7 0 83.2 26.2 101.2 64H296c13.3 0 24 10.7 24 24c0 10.5-6.7 19.3-16 22.6l0 1.4v21.4c0 1.4 0 2.8-.1 4.3c12-6.2 25.7-9.6 40.1-9.6h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-13.3 0-24 10.7-24 24v8h56.4c-15.2 17-24.4 39.4-24.4 64H320c-42.3 0-78.2-27.4-91-65.3c-5.1 .9-10.3 1.3-15.6 1.3c-14.1 0-27.9-3.3-40.5-9.6zM96 160c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16zm144-16c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16z\"],\n \"person-dress\": [320, 512, [\"female\"], \"f182\", \"M160 96c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48zM88 384H70.2c-10.9 0-18.6-10.7-15.2-21.1L93.3 248.1 59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l53.6-89.2c20.3-33.7 56.7-54.3 96-54.3h11.6c39.3 0 75.7 20.6 96 54.3l53.6 89.2c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9l-33.9-56.3L265 362.9c3.5 10.4-4.3 21.1-15.2 21.1H232v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H152v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z\"],\n \"comment-dollar\": [512, 512, [], \"f651\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm20-312v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V344c0 11-9 20-20 20s-20-9-20-20V329.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V136c0-11 9-20 20-20s20 9 20 20z\"],\n \"business-time\": [640, 512, [\"briefcase-clock\"], \"f64a\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160v96H192 352h8.2c32.3-39.1 81.1-64 135.8-64c5.4 0 10.7 .2 16 .7V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM320 352H224c-17.7 0-32-14.3-32-32V288H0V416c0 35.3 28.7 64 64 64H360.2C335.1 449.6 320 410.5 320 368c0-5.4 .2-10.7 .7-16l-.7 0zm320 16c0-79.5-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144s144-64.5 144-144zM496 288c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"],\n \"table-cells-large\": [512, 512, [\"th-large\"], \"f009\", \"M448 96V224H288V96H448zm0 192V416H288V288H448zM224 224H64V96H224V224zM64 288H224V416H64V288zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"],\n \"book-tanakh\": [448, 512, [\"tanakh\"], \"f827\", \"M352 0c53 0 96 43 96 96V416c0 53-43 96-96 96H64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V384c-17.7 0-32-14.3-32-32V32C0 14.3 14.3 0 32 0H64 352zm0 384H96v64H352c17.7 0 32-14.3 32-32s-14.3-32-32-32zM138.7 208l13.9 24H124.9l13.9-24zm-13.9-24L97.1 232c-6.2 10.7 1.5 24 13.9 24h55.4l27.7 48c6.2 10.7 21.6 10.7 27.7 0l27.7-48H305c12.3 0 20-13.3 13.9-24l-27.7-48 27.7-48c6.2-10.7-1.5-24-13.9-24H249.6L221.9 64c-6.2-10.7-21.6-10.7-27.7 0l-27.7 48H111c-12.3 0-20 13.3-13.9 24l27.7 48zm27.7 0l27.7-48h55.4l27.7 48-27.7 48H180.3l-27.7-48zm0-48l-13.9 24-13.9-24h27.7zm41.6-24L208 88l13.9 24H194.1zm69.3 24h27.7l-13.9 24-13.9-24zm13.9 72l13.9 24H263.4l13.9-24zm-55.4 48L208 280l-13.9-24h27.7z\"],\n \"phone-volume\": [512, 512, [\"volume-control-phone\"], \"f2a0\", \"M280 0C408.1 0 512 103.9 512 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-72c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24zM117.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L144 207.3c33.3 70.4 90.3 127.4 160.7 160.7L345 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C481.8 499.9 466 512 448 512C200.6 512 0 311.4 0 64C0 46 12.1 30.2 29.5 25.4l88-24z\"],\n \"hat-cowboy-side\": [640, 512, [], \"f8c1\", \"M463.2 71.3c-2.4-12.8-9.8-24.1-20.7-31.3s-24.2-9.7-36.9-6.8l-216 48c-19.8 4.4-34.7 20.8-37.2 40.9l-8.8 70.6c5.3-.4 10.8-.7 16.5-.7c82.9 0 141.9 55.3 197.5 107.5l0 0c3.1 3 6.3 5.9 9.4 8.8C427.1 364.5 486.9 416 576 416c0 0 64 0 64-48c0-96-112-128-144-128h-1.6L463.2 71.3zM576 448c-102.9 0-171.1-60.5-230.9-116.3l-6.5-6C279.9 270.8 229.9 224 160 224c-57.8 0-97.4 28.6-123.1 63.5C10.7 323 0 363.8 0 384c0 35.3 28.7 64 64 64H576z\"],\n \"clipboard-user\": [384, 512, [], \"f7f3\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM128 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 432c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16z\"],\n \"child\": [320, 512, [], \"f1ae\", \"M224 64c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM144 384v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V287.8L59.1 321c-9.4 15-29.2 19.4-44.1 10S-4.5 301.9 4.9 287l39.9-63.3C69.7 184 113.2 160 160 160s90.3 24 115.2 63.6L315.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L240 287.8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H144z\"],\n \"lira-sign\": [384, 512, [8356], \"f195\", \"M144 160.4c0-35.5 28.8-64.4 64.4-64.4c6.9 0 13.8 1.1 20.4 3.3l81.2 27.1c16.8 5.6 34.9-3.5 40.5-20.2s-3.5-34.9-20.2-40.5L249 38.6c-13.1-4.4-26.8-6.6-40.6-6.6C137.5 32 80 89.5 80 160.4V192H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H80v32H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H78c-2.2 10.5-6.1 20.6-11.7 29.9L36.6 431.5c-5.9 9.9-6.1 22.2-.4 32.2S52.5 480 64 480H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H120.5l.7-1.1c11.6-19.3 18.9-40.7 21.6-62.9H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H144V256H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H144V160.4z\"],\n \"satellite\": [512, 512, [128752], \"f7bf\", \"M233 7c-9.4-9.4-24.6-9.4-33.9 0l-96 96c-9.4 9.4-9.4 24.6 0 33.9l89.4 89.4-15.5 15.5C152.3 230.4 124.9 224 96 224c-31.7 0-61.5 7.7-87.8 21.2c-9 4.7-10.3 16.7-3.1 23.8L112.7 376.7 96.3 393.1c-2.6-.7-5.4-1.1-8.3-1.1c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32c0-2.9-.4-5.6-1.1-8.3l16.4-16.4L242.9 506.9c7.2 7.2 19.2 5.9 23.8-3.1C280.3 477.5 288 447.7 288 416c0-28.9-6.4-56.3-17.8-80.9l15.5-15.5L375 409c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9l-89.4-89.4 55-55c12.5-12.5 12.5-32.8 0-45.3l-48-48c-12.5-12.5-32.8-12.5-45.3 0l-55 55L233 7zm159 351l-72.4-72.4 62.1-62.1L454.1 296 392 358.1zM226.3 192.4L153.9 120 216 57.9l72.4 72.4-62.1 62.1z\"],\n \"plane-lock\": [640, 512, [], \"e558\", \"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7v84.6l101.8 58.2C418 247.6 416 259.6 416 272v24.6c-17.9 10.4-30.3 29.1-31.8 50.9L320 329.1V400l57.6 43.2c4 3 6.4 7.8 6.4 12.8v24 18c0 7.8-6.3 14-14 14c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14V456c0-5 2.4-9.8 6.4-12.8L192 400l0-70.9-171.6 49C10.2 381.1 0 373.4 0 362.8V297.3c0-5.7 3.1-11 8.1-13.9L192 178.3V93.7zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"],\n \"tag\": [448, 512, [127991], \"f02b\", \"M0 80V229.5c0 17 6.7 33.3 18.7 45.3l176 176c25 25 65.5 25 90.5 0L418.7 317.3c25-25 25-65.5 0-90.5l-176-176c-12-12-28.3-18.7-45.3-18.7H48C21.5 32 0 53.5 0 80zm112 96c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"comment\": [512, 512, [128489, 61669], \"f075\", \"M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4l0 0 0 0 0 0 0 0 .3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z\"],\n \"cake-candles\": [448, 512, [127874, \"birthday-cake\", \"cake\"], \"f1fd\", \"M86.4 5.5L61.8 47.6C58 54.1 56 61.6 56 69.2V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L105.6 5.5C103.6 2.1 100 0 96 0s-7.6 2.1-9.6 5.5zm128 0L189.8 47.6c-3.8 6.5-5.8 14-5.8 21.6V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L233.6 5.5C231.6 2.1 228 0 224 0s-7.6 2.1-9.6 5.5zM317.8 47.6c-3.8 6.5-5.8 14-5.8 21.6V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L361.6 5.5C359.6 2.1 356 0 352 0s-7.6 2.1-9.6 5.5L317.8 47.6zM128 176c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c-35.3 0-64 28.7-64 64v71c8.3 5.2 18.1 9 28.8 9c13.5 0 27.2-6.1 38.4-13.4c5.4-3.5 9.9-7.1 13-9.7c1.5-1.3 2.7-2.4 3.5-3.1c.4-.4 .7-.6 .8-.8l.1-.1 0 0 0 0s0 0 0 0s0 0 0 0c3.1-3.2 7.4-4.9 11.9-4.8s8.6 2.1 11.6 5.4l0 0 0 0 .1 .1c.1 .1 .4 .4 .7 .7c.7 .7 1.7 1.7 3.1 3c2.8 2.6 6.8 6.1 11.8 9.5c10.2 7.1 23 13.1 36.3 13.1s26.1-6 36.3-13.1c5-3.5 9-6.9 11.8-9.5c1.4-1.3 2.4-2.3 3.1-3c.3-.3 .6-.6 .7-.7l.1-.1c3-3.5 7.4-5.4 12-5.4s9 2 12 5.4l.1 .1c.1 .1 .4 .4 .7 .7c.7 .7 1.7 1.7 3.1 3c2.8 2.6 6.8 6.1 11.8 9.5c10.2 7.1 23 13.1 36.3 13.1s26.1-6 36.3-13.1c5-3.5 9-6.9 11.8-9.5c1.4-1.3 2.4-2.3 3.1-3c.3-.3 .6-.6 .7-.7l.1-.1c2.9-3.4 7.1-5.3 11.6-5.4s8.7 1.6 11.9 4.8l0 0 0 0 0 0 .1 .1c.2 .2 .4 .4 .8 .8c.8 .7 1.9 1.8 3.5 3.1c3.1 2.6 7.5 6.2 13 9.7c11.2 7.3 24.9 13.4 38.4 13.4c10.7 0 20.5-3.9 28.8-9V288c0-35.3-28.7-64-64-64V176c0-17.7-14.3-32-32-32s-32 14.3-32 32v48H256V176c0-17.7-14.3-32-32-32s-32 14.3-32 32v48H128V176zM448 394.6c-8.5 3.3-18.2 5.4-28.8 5.4c-22.5 0-42.4-9.9-55.8-18.6c-4.1-2.7-7.8-5.4-10.9-7.8c-2.8 2.4-6.1 5-9.8 7.5C329.8 390 310.6 400 288 400s-41.8-10-54.6-18.9c-3.5-2.4-6.7-4.9-9.4-7.2c-2.7 2.3-5.9 4.7-9.4 7.2C201.8 390 182.6 400 160 400s-41.8-10-54.6-18.9c-3.7-2.6-7-5.2-9.8-7.5c-3.1 2.4-6.8 5.1-10.9 7.8C71.2 390.1 51.3 400 28.8 400c-10.6 0-20.3-2.2-28.8-5.4V480c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V394.6z\"],\n \"envelope\": [512, 512, [128386, 9993, 61443], \"f0e0\", \"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z\"],\n \"angles-up\": [448, 512, [\"angle-double-up\"], \"f102\", \"M246.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 109.3 361.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160zm160 352l-160-160c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 301.3 361.4 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z\"],\n \"paperclip\": [512, 512, [128206], \"f0c6\", \"M396.2 83.8c-24.4-24.4-64-24.4-88.4 0l-184 184c-42.1 42.1-42.1 110.3 0 152.4s110.3 42.1 152.4 0l152-152c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-152 152c-64 64-167.6 64-231.6 0s-64-167.6 0-231.6l184-184c46.3-46.3 121.3-46.3 167.6 0s46.3 121.3 0 167.6l-176 176c-28.6 28.6-75 28.6-103.6 0s-28.6-75 0-103.6l144-144c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-144 144c-6.7 6.7-6.7 17.7 0 24.4s17.7 6.7 24.4 0l176-176c24.4-24.4 24.4-64 0-88.4z\"],\n \"arrow-right-to-city\": [640, 512, [], \"e4b3\", \"M288 48c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V192h40V120c0-13.3 10.7-24 24-24s24 10.7 24 24v72h24c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H432 336c-26.5 0-48-21.5-48-48V48zm64 32v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H368zM352 272v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm176-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H528zM512 368v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H528c-8.8 0-16 7.2-16 16zM166.6 153.4l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L146.7 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H146.7l-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0z\"],\n \"ribbon\": [448, 512, [127895], \"f4d6\", \"M224 96c39.5 0 66.8 12.2 81.9 21.5L245.6 184l79.3 87.4 36.3-40c14.7-16.2 22.8-37.3 22.8-59.1v-27c0-15.6-4.1-30.8-12-44.3L337.7 42C326.4 22.7 307 6.8 282.1 3.5C267.8 1.6 248.4 0 224 0s-43.8 1.6-58 3.5C141 6.8 121.7 22.7 110.4 42L76 101c-7.8 13.4-12 28.7-12 44.3v27c0 21.9 8.1 42.9 22.8 59.1l57.9 63.8L224 382.6 334.2 504.1c6.4 7 16.3 9.7 25.4 6.6l72-24c7.7-2.6 13.6-8.8 15.6-16.7s0-16.2-5.4-22.2L303.3 295.2 224 207.8l-81.9-90.3C157.3 108.2 184.5 96 224 96zM202.4 406.5L123.2 319 6.3 447.9c-5.4 6-7.5 14.4-5.4 22.2s7.9 14.1 15.6 16.7l72 24c9 3 19 .4 25.4-6.6l88.6-97.7z\"],\n \"lungs\": [640, 512, [129729], \"f604\", \"M320 0c17.7 0 32 14.3 32 32V164.1c0 16.4 8.4 31.7 22.2 40.5l9.8 6.2V165.3C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4v7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7l-72.7-18.2C414 480.5 384 442.1 384 398V325l90.5 57.6c7.5 4.7 17.3 2.5 22.1-4.9s2.5-17.3-4.9-22.1L384 287.1v-.4l-44.1-28.1c-7.3-4.6-13.9-10.1-19.9-16.1c-5.9 6-12.6 11.5-19.9 16.1L256 286.7 161.2 347l-13.5 8.6c0 0 0 0-.1 0c-7.4 4.8-9.6 14.6-4.8 22.1c4.7 7.5 14.6 9.7 22.1 4.9l91.1-58V398c0 44.1-30 82.5-72.7 93.1l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89v-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3v45.5l9.8-6.2c13.8-8.8 22.2-24.1 22.2-40.5V32c0-17.7 14.3-32 32-32z\"],\n \"arrow-up-9-1\": [576, 512, [\"sort-numeric-up-alt\"], \"f887\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32zM352 320c0-17.7 14.3-32 32-32h48c17.7 0 32 14.3 32 32v96h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 384c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V352H384c-17.7 0-32-14.3-32-32zm93.7-171.1c10.8-5.1 18.3-16.2 18.3-28.9c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32c4.9 0 9.6-1.1 13.7-3.1zm-40.7 54.9C369.6 192.4 344 159.2 344 120c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 251c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2z\"],\n \"litecoin-sign\": [448, 512, [], \"e1d3\", \"M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V213.6L55.2 225.2c-17 4.9-26.8 22.6-22 39.6s22.6 26.8 39.6 22L96 280.1V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H160V261.9l136.8-39.1c17-4.9 26.8-22.6 22-39.6s-22.6-26.8-39.6-22L160 195.3V64z\"],\n \"border-none\": [448, 512, [], \"f850\", \"M32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32zm96 64c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm0-384c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32zM320 480c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm0-448c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32zm0 256c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zM224 416c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32zm0-320c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32zM416 480c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm0-384c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zM32 32C14.3 32 0 46.3 0 64S14.3 96 32 96s32-14.3 32-32s-14.3-32-32-32zM416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zM32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32zM224 384c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm192-64c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32zM32 384c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zM416 128c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32zM32 192c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm192-64c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32z\"],\n \"circle-nodes\": [512, 512, [], \"e4e2\", \"M418.4 157.9c35.3-8.3 61.6-40 61.6-77.9c0-44.2-35.8-80-80-80c-43.4 0-78.7 34.5-80 77.5L136.2 151.1C121.7 136.8 101.9 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c12.2 0 23.8-2.7 34.1-7.6L259.7 407.8c-2.4 7.6-3.7 15.8-3.7 24.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-27.7-14-52.1-35.4-66.4l37.8-207.7zM156.3 232.2c2.2-6.9 3.5-14.2 3.7-21.7l183.8-73.5c3.6 3.5 7.4 6.7 11.6 9.5L317.6 354.1c-5.5 1.3-10.8 3.1-15.8 5.5L156.3 232.2z\"],\n \"parachute-box\": [512, 512, [], \"f4cd\", \"M383.5 192c.3-5.3 .5-10.6 .5-16c0-51-15.9-96-40.2-127.6C319.5 16.9 288.2 0 256 0s-63.5 16.9-87.8 48.4C143.9 80 128 125 128 176c0 5.4 .2 10.7 .5 16H240V320H208c-7 0-13.7 1.5-19.7 4.2L68.2 192H96.5c-.3-5.3-.5-10.6-.5-16c0-64 22.2-121.2 57.1-159.3C62 49.3 18.6 122.6 4.2 173.6C1.5 183.1 9 192 18.9 192h6L165.2 346.3c-3.3 6.5-5.2 13.9-5.2 21.7v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V368c0-7.8-1.9-15.2-5.2-21.7L487.1 192h6c9.9 0 17.4-8.9 14.7-18.4C493.4 122.6 450 49.3 358.9 16.7C393.8 54.8 416 112.1 416 176c0 5.4-.2 10.7-.5 16h28.3L323.7 324.2c-6-2.7-12.7-4.2-19.7-4.2H272V192H383.5z\"],\n \"indent\": [448, 512, [], \"f03c\", \"M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zm32 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3V176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z\"],\n \"truck-field-un\": [640, 512, [], \"e58e\", \"M96 32C60.7 32 32 60.7 32 96v32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32v32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288c0-35.3-28.7-64-64-64h-4.2c-.4-1.1-.9-2.1-1.3-3.2L485.7 102c-10.3-23.1-33.2-38-58.5-38H375.4C364.4 44.9 343.7 32 320 32H96zm288 96h43.2l42.7 96H384V128zM208 384c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zm272 48c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48zM253.3 135.1l34.7 52V144c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM128 144v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"],\n \"hourglass\": [384, 512, [9203, 62032, \"hourglass-empty\"], \"f254\", \"M0 32C0 14.3 14.3 0 32 0H64 320h32c17.7 0 32 14.3 32 32s-14.3 32-32 32V75c0 42.4-16.9 83.1-46.9 113.1L237.3 256l67.9 67.9c30 30 46.9 70.7 46.9 113.1v11c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V437c0-42.4 16.9-83.1 46.9-113.1L146.7 256 78.9 188.1C48.9 158.1 32 117.4 32 75V64C14.3 64 0 49.7 0 32zM96 64V75c0 25.5 10.1 49.9 28.1 67.9L192 210.7l67.9-67.9c18-18 28.1-42.4 28.1-67.9V64H96zm0 384H288V437c0-25.5-10.1-49.9-28.1-67.9L192 301.3l-67.9 67.9c-18 18-28.1 42.4-28.1 67.9v11z\"],\n \"mountain\": [512, 512, [127956], \"f6fc\", \"M256 32c12.5 0 24.1 6.4 30.7 17L503.4 394.4c5.6 8.9 8.6 19.2 8.6 29.7c0 30.9-25 55.9-55.9 55.9H55.9C25 480 0 455 0 424.1c0-10.5 3-20.8 8.6-29.7L225.2 49c6.6-10.6 18.3-17 30.8-17zm65 192L256 120.4 176.9 246.5 208 288l48-64h65z\"],\n \"user-doctor\": [448, 512, [\"user-md\"], \"f0f0\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0S96 57.3 96 128s57.3 128 128 128zm-96 55.2C54 332.9 0 401.3 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-81-54-149.4-128-171.1V362c27.6 7.1 48 32.2 48 62v40c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16s7.2-16 16-16V424c0-17.7-14.3-32-32-32s-32 14.3-32 32v24c8.8 0 16 7.2 16 16s-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V424c0-29.8 20.4-54.9 48-62V304.9c-6-.6-12.1-.9-18.3-.9H178.3c-6.2 0-12.3 .3-18.3 .9v65.4c23.1 6.9 40 28.3 40 53.7c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.4 16.9-46.8 40-53.7V311.2zM144 448c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z\"],\n \"circle-info\": [512, 512, [\"info-circle\"], \"f05a\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-144c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"cloud-meatball\": [512, 512, [], \"f73b\", \"M0 224c0 53 43 96 96 96h44.7c9.5-23.5 32.5-40 59.3-40c2 0 3.9 .1 5.8 .3C217.6 265.5 235.7 256 256 256s38.4 9.5 50.2 24.3c1.9-.2 3.9-.3 5.8-.3c26.9 0 49.9 16.5 59.3 40H416c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224zm288 96c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 1 .1 2.1 .1 3.1c-.7-.8-1.4-1.6-2.1-2.3c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3c.7 .7 1.5 1.4 2.3 2.1c-1-.1-2.1-.1-3.1-.1c-17.7 0-32 14.3-32 32s14.3 32 32 32c1 0 2.1-.1 3.1-.1c-.8 .7-1.6 1.3-2.3 2.1c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0c.7-.7 1.4-1.5 2.1-2.3c-.1 1-.1 2.1-.1 3.1c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1-.1-2.1-.1-3.1c.7 .8 1.3 1.6 2.1 2.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3c-.7-.7-1.5-1.4-2.3-2.1c1 .1 2.1 .1 3.1 .1c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1 0-2.1 .1-3.1 .1c.8-.7 1.6-1.3 2.3-2.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-.7 .7-1.4 1.5-2.1 2.3c.1-1 .1-2.1 .1-3.1zM48 448c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm416 0c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48z\"],\n \"camera\": [512, 512, [62258, \"camera-alt\"], \"f030\", \"M149.1 64.8L138.7 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H373.3L362.9 64.8C356.4 45.2 338.1 32 317.4 32H194.6c-20.7 0-39 13.2-45.5 32.8zM256 384c-53 0-96-43-96-96s43-96 96-96s96 43 96 96s-43 96-96 96z\"],\n \"square-virus\": [448, 512, [], \"e578\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM223.8 93.7c13.3 0 24 10.7 24 24c0 29.3 35.4 43.9 56.1 23.2c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-20.7 20.7-6 56.1 23.2 56.1c13.3 0 24 10.7 24 24s-10.7 24-24 24c-29.3 0-43.9 35.4-23.2 56.1c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-20.7-20.7-56.1-6-56.1 23.2c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-29.3-35.4-43.9-56.1-23.2c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9c20.7-20.7 6-56.1-23.2-56.1c-13.3 0-24-10.7-24-24s10.7-24 24-24c29.3 0 43.9-35.4 23.2-56.1c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0c20.7 20.7 56.1 6 56.1-23.2c0-13.3 10.7-24 24-24zM192 256c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm88 32c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24z\"],\n \"meteor\": [512, 512, [9732], \"f753\", \"M493.7 .9L299.4 75.6l2.3-29.3c1-12.8-12.8-21.5-24-15.1L101.3 133.4C38.6 169.7 0 236.6 0 309C0 421.1 90.9 512 203 512c72.4 0 139.4-38.6 175.7-101.3L480.8 234.3c6.5-11.1-2.2-25-15.1-24l-29.3 2.3L511.1 18.3c.6-1.5 .9-3.2 .9-4.8C512 6 506 0 498.5 0c-1.7 0-3.3 .3-4.8 .9zM192 448c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128s-57.3 128-128 128zm0-160c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm16 96c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16z\"],\n \"car-on\": [512, 512, [], \"e4dd\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM185.8 224H326.2c6.8 0 12.8 4.3 15.1 10.6L360.3 288H151.7l19.1-53.4c2.3-6.4 8.3-10.6 15.1-10.6zm-75.3-10.9L82.2 292.4C62.1 300.9 48 320.8 48 344v40 64 32c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V448H384v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32V448 384 344c0-23.2-14.1-43.1-34.2-51.6l-28.3-79.3C390.1 181.3 360 160 326.2 160H185.8c-33.8 0-64 21.3-75.3 53.1zM128 392c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm280-24c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24zM39 39c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L73 39c-9.4-9.4-24.6-9.4-33.9 0zm400 0L391 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"],\n \"sleigh\": [640, 512, [], \"f7cc\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96V256c0 53 43 96 96 96v32h64V352H384v32h64V352c53 0 96-43 96-96V160c17.7 0 32-14.3 32-32s-14.3-32-32-32H512 480c-17.7 0-32 14.3-32 32v41.3c0 30.2-24.5 54.7-54.7 54.7c-75.5 0-145.6-38.9-185.6-102.9l-4.3-6.9C174.2 67.6 125 37.6 70.7 32.7c-2.2-.5-4.4-.7-6.7-.7H55 32zM640 384c0-17.7-14.3-32-32-32s-32 14.3-32 32v8c0 13.3-10.7 24-24 24H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H552c48.6 0 88-39.4 88-88v-8z\"],\n \"arrow-down-1-9\": [576, 512, [\"sort-numeric-asc\", \"sort-numeric-down\"], \"f162\", \"M352 64c0 17.7 14.3 32 32 32h16v64H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H464V64c0-17.7-14.3-32-32-32H384c-17.7 0-32 14.3-32 32zM160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480zM445.7 364.9c-4.2 2-8.8 3.1-13.7 3.1c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32c0 12.8-7.5 23.8-18.3 28.9zm-40.7 54.9l-6.8 9.2c-10.5 14.2-7.5 34.2 6.7 44.8s34.2 7.5 44.8-6.7l48.8-65.8c14-18.9 21.5-41.7 21.5-65.2c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 39.2 25.6 72.4 61.1 83.8z\"],\n \"hand-holding-droplet\": [576, 512, [\"hand-holding-water\"], \"f4c1\", \"M275.5 6.6C278.3 2.5 283 0 288 0s9.7 2.5 12.5 6.6L366.8 103C378 119.3 384 138.6 384 158.3V160c0 53-43 96-96 96s-96-43-96-96v-1.7c0-19.8 6-39 17.2-55.3L275.5 6.6zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"],\n \"water\": [576, 512, [], \"f773\", \"M269.5 69.9c11.1-7.9 25.9-7.9 37 0C329 85.4 356.5 96 384 96c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 149.7 417 160 384 160c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4C42.8 92.6 61 83.5 75.3 71.6c11.1-9.5 27.3-10.1 39.2-1.7l0 0C136.7 85.2 165.1 96 192 96c27.5 0 55-10.6 77.5-26.1zm37 288C329 373.4 356.5 384 384 384c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 437.7 417 448 384 448c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 373.2 165.1 384 192 384c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0zm0-144C329 229.4 356.5 240 384 240c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 293.7 417 304 384 304c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.5 27.3-10.1 39.2-1.7l0 0C136.7 229.2 165.1 240 192 240c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"],\n \"calendar-check\": [448, 512, [], \"f274\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z\"],\n \"braille\": [640, 512, [], \"f2a1\", \"M128 96c0 35.3-28.7 64-64 64S0 131.3 0 96S28.7 32 64 32s64 28.7 64 64zm96 176c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16zm0 48c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zM80 416c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zm48 0c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zm112 0c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zm48 0c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM64 320c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zM224 160c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zM480 96c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zm112 0c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zm48 0c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM576 272c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16zm0 48c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zm16 96c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zm48 0c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM416 272c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16zm0 48c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zm16 96c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zm48 0c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64z\"],\n \"prescription-bottle-medical\": [384, 512, [\"prescription-bottle-alt\"], \"f486\", \"M0 32C0 14.3 14.3 0 32 0H352c17.7 0 32 14.3 32 32V64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64V32zm32 96H352V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zM160 240v48H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V352h48c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"],\n \"landmark\": [512, 512, [127963], \"f66f\", \"M240.1 4.2c9.8-5.6 21.9-5.6 31.8 0l171.8 98.1L448 104l0 .9 47.9 27.4c12.6 7.2 18.8 22 15.1 36s-16.4 23.8-30.9 23.8H32c-14.5 0-27.2-9.8-30.9-23.8s2.5-28.8 15.1-36L64 104.9V104l4.4-1.6L240.1 4.2zM64 224h64V416h40V224h64V416h48V224h64V416h40V224h64V420.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512H32c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1V224z\"],\n \"truck\": [640, 512, [128666, 9951], \"f0d1\", \"M48 0C21.5 0 0 21.5 0 48V368c0 26.5 21.5 48 48 48H64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288 256 237.3c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7H416V48c0-26.5-21.5-48-48-48H48zM416 160h50.7L544 237.3V256H416V160zM208 416c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zm272 48c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48z\"],\n \"crosshairs\": [512, 512, [], \"f05b\", \"M256 0c17.7 0 32 14.3 32 32V42.4c93.7 13.9 167.7 88 181.6 181.6H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H469.6c-13.9 93.7-88 167.7-181.6 181.6V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V469.6C130.3 455.7 56.3 381.7 42.4 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H42.4C56.3 130.3 130.3 56.3 224 42.4V32c0-17.7 14.3-32 32-32zM107.4 288c12.5 58.3 58.4 104.1 116.6 116.6V384c0-17.7 14.3-32 32-32s32 14.3 32 32v20.6c58.3-12.5 104.1-58.4 116.6-116.6H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h20.6C392.1 165.7 346.3 119.9 288 107.4V128c0 17.7-14.3 32-32 32s-32-14.3-32-32V107.4C165.7 119.9 119.9 165.7 107.4 224H128c17.7 0 32 14.3 32 32s-14.3 32-32 32H107.4zM256 288c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"person-cane\": [448, 512, [], \"e53c\", \"M272 48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zm-8 187.3l47.4 57.1c11.3 13.6 31.5 15.5 45.1 4.2s15.5-31.5 4.2-45.1l-73.7-88.9c-18.2-22-45.3-34.7-73.9-34.7H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V235.3zM352 376c0-4.4 3.6-8 8-8s8 3.6 8 8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-30.9-25.1-56-56-56s-56 25.1-56 56v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8z\"],\n \"tent\": [576, 512, [], \"e57d\", \"M269.4 6C280.5-2 295.5-2 306.6 6l224 160c7.4 5.3 12.2 13.5 13.2 22.5l32 288c1 9-1.9 18.1-8 24.9s-14.7 10.7-23.8 10.7H416L288 288V512H32c-9.1 0-17.8-3.9-23.8-10.7s-9-15.8-8-24.9l32-288c1-9 5.8-17.2 13.2-22.5L269.4 6z\"],\n \"vest-patches\": [448, 512, [], \"e086\", \"M151.2 69.7l55.9 167.7-11 33.1c-2.7 8.2-4.1 16.7-4.1 25.3V464c0 14.5 3.9 28.2 10.7 39.9C195 509 185.9 512 176 512H48c-26.5 0-48-21.5-48-48V270.5c0-9.5 2.8-18.7 8.1-26.6l47.9-71.8c5.3-7.9 8.1-17.1 8.1-26.6V128 54.3 48C64 21.5 85.5 0 112 0h4.5c.2 0 .4 0 .6 0c.4 0 .8 0 1.2 0c18.8 0 34.1 9.7 44.1 18.8C171.6 27.2 190.8 40 224 40s52.4-12.8 61.7-21.2C295.7 9.7 311 0 329.7 0c.4 0 .8 0 1.2 0c.2 0 .4 0 .6 0H336c26.5 0 48 21.5 48 48v6.3V128v17.5c0 9.5 2.8 18.7 8.1 26.6l47.9 71.8c5.3 7.9 8.1 17.1 8.1 26.6V464c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V295.8c0-5.2 .8-10.3 2.5-15.2L296.8 69.7C279.4 79.7 255.4 88 224 88s-55.4-8.3-72.8-18.3zM96 456c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40zM63.5 255.5c-4.7 4.7-4.7 12.3 0 17L79 288 63.5 303.5c-4.7 4.7-4.7 12.3 0 17s12.3 4.7 17 0L96 305l15.5 15.5c4.7 4.7 12.3 4.7 17 0s4.7-12.3 0-17L113 288l15.5-15.5c4.7-4.7 4.7-12.3 0-17s-12.3-4.7-17 0L96 271 80.5 255.5c-4.7-4.7-12.3-4.7-17 0zM304 280v8 32c0 8.8 7.2 16 16 16h32 8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"],\n \"check-double\": [512, 512, [], \"f560\", \"M374.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 178.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l160-160zm96 128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7 86.6 297.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l256-256z\"],\n \"arrow-down-a-z\": [576, 512, [\"sort-alpha-asc\", \"sort-alpha-down\"], \"f15d\", \"M183.6 469.6C177.5 476.2 169 480 160 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L128 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 320c0-17.7 14.3-32 32-32H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 416H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 352H352c-17.7 0-32-14.3-32-32zM416 32c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 224H371.8l-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128C392.8 38.8 403.9 32 416 32zM395.8 176h40.4L416 135.6 395.8 176z\"],\n \"money-bill-wheat\": [512, 512, [], \"e52a\", \"M176 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80c0-8.8 7.2-16 16-16zM56 16h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56C42.7 64 32 53.3 32 40s10.7-24 24-24zM24 88H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24S10.7 88 24 88zm8 96c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM272 16c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80zM400 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80c0-8.8 7.2-16 16-16zm80 144c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM352 128c8.8 0 16 7.2 16 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-96 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM0 304c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V304zM48 416v48H96c0-26.5-21.5-48-48-48zM96 304H48v48c26.5 0 48-21.5 48-48zM464 416c-26.5 0-48 21.5-48 48h48V416zM416 304c0 26.5 21.5 48 48 48V304H416zm-96 80c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\"],\n \"cookie\": [512, 512, [127850], \"f563\", \"M247.2 17c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9l-14.6-82.8c-3.9-22.1-14.6-42.3-30.7-57.9L388.9 57.5c-16.1-15.6-36.6-25.6-58.7-28.7L247.2 17zM208 208c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"arrow-rotate-left\": [512, 512, [8634, \"arrow-left-rotate\", \"arrow-rotate-back\", \"arrow-rotate-backward\", \"undo\"], \"f0e2\", \"M125.7 160H176c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32s32 14.3 32 32v51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z\"],\n \"hard-drive\": [512, 512, [128436, \"hdd\"], \"f0a0\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V280.4c-17-15.2-39.4-24.4-64-24.4H64c-24.6 0-47 9.2-64 24.4V96zM64 288H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64zM320 416c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm128-32c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z\"],\n \"face-grin-squint-tears\": [512, 512, [129315, \"grin-squint-tears\"], \"f586\", \"M426.8 14.2C446-5 477.5-4.6 497.1 14.9s20 51 .7 70.3c-6.8 6.8-21.4 12.4-37.4 16.7c-18.5 5-38.8 8.3-50.9 10c-4.9 .8-9.1-2.8-9.5-7.4c-.1-.7 0-1.4 .1-2.1c1.6-11.2 4.6-29.6 9-47c.3-1.3 .7-2.6 1-3.9c4.3-15.9 9.8-30.5 16.7-37.4zm-44.7 19c-1.5 4.8-2.9 9.6-4.1 14.3c-4.8 18.9-8 38.5-9.7 50.3c-4 26.8 18.9 49.7 45.7 45.8c11.9-1.6 31.5-4.8 50.4-9.7c4.7-1.2 9.5-2.5 14.3-4.1C534.2 227.5 520.2 353.8 437 437c-83.2 83.2-209.5 97.2-307.2 41.8c1.5-4.8 2.8-9.6 4-14.3c4.8-18.9 8-38.5 9.7-50.3c4-26.8-18.9-49.7-45.7-45.8c-11.9 1.6-31.5 4.8-50.4 9.7c-4.7 1.2-9.5 2.5-14.3 4.1C-22.2 284.5-8.2 158.2 75 75C158.2-8.3 284.5-22.2 382.2 33.2zM51.5 410.1c18.5-5 38.8-8.3 50.9-10c.4-.1 .7-.1 1-.1c5.1-.2 9.2 4.3 8.4 9.6c-1.7 12.1-5 32.4-10 50.9C97.6 476.4 92 491 85.2 497.8C66 517 34.5 516.6 14.9 497.1s-20-51-.7-70.3c6.8-6.8 21.4-12.4 37.4-16.7zM416.9 209c-4.7-11.9-20.8-11-26.8 .3c-19 35.5-45 70.8-77.5 103.3S244.8 371.1 209.3 390c-11.3 6-12.2 22.1-.3 26.8c57.6 22.9 125.8 11 172.3-35.5s58.4-114.8 35.5-172.3zM87.1 285.1c2 2 4.6 3.2 7.3 3.4l56.1 5.1 5.1 56.1c.3 2.8 1.5 5.4 3.4 7.3c6.3 6.3 17.2 3.6 19.8-4.9l29.7-97.4c3.5-11.6-7.3-22.5-19-19L92 265.3c-8.6 2.6-11.3 13.4-4.9 19.8zM265.3 92l-29.7 97.4c-3.5 11.6 7.3 22.5 19 19l97.4-29.7c8.6-2.6 11.3-13.4 4.9-19.8c-2-2-4.6-3.2-7.3-3.4l-56.1-5.1-5.1-56.1c-.2-2.8-1.5-5.4-3.4-7.3c-6.3-6.3-17.2-3.6-19.8 4.9z\"],\n \"dumbbell\": [640, 512, [], \"f44b\", \"M112 96c0-17.7 14.3-32 32-32h16c17.7 0 32 14.3 32 32V224v64V416c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V384H64c-17.7 0-32-14.3-32-32V288c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32h48V96zm416 0v32h48c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32v64c0 17.7-14.3 32-32 32H528v32c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V288 224 96c0-17.7 14.3-32 32-32h16c17.7 0 32 14.3 32 32zM416 224v64H224V224H416z\"],\n \"rectangle-list\": [576, 512, [\"list-alt\"], \"f022\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 288c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm32-128c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM128 384c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm96-248c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224z\"],\n \"tarp-droplet\": [576, 512, [], \"e57c\", \"M288 160c-35.3 0-64-26.9-64-60c0-24 33.7-70.1 52.2-93.5c6.1-7.7 17.5-7.7 23.6 0C318.3 29.9 352 76 352 100c0 33.1-28.7 60-64 60zM64 128H197.5c13.2 37.3 48.7 64 90.5 64s77.4-26.7 90.5-64H512c35.3 0 64 28.7 64 64V352H448c-17.7 0-32 14.3-32 32l0 128L64 512c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zM448 512l0-128H576L448 512zM96 256c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"house-medical-circle-check\": [640, 512, [], \"e511\", \"M320 368c0 59.5 29.5 112.1 74.8 144H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64H320V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm320 0c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zm-76.7-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"],\n \"person-skiing-nordic\": [576, 512, [\"skiing-nordic\"], \"f7ca\", \"M336 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM227.2 160c1.9 0 3.8 .1 5.6 .3L201.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9L291.3 464H202.8l41.1-88.1-32.4-20.3c-7.8-4.9-14.7-10.7-20.6-17.3L132.2 464H99.7l54.2-257.6c4.6-1.5 9-4.1 12.7-7.8l23.1-23.1c9.9-9.9 23.4-15.5 37.5-15.5zM121.4 198.6c.4 .4 .8 .8 1.3 1.2L67 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H159.3c.4 0 .9 0 1.3 0H319.3c.5 0 1 0 1.4 0H504c39.8 0 72-32.2 72-72v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 13.3-10.7 24-24 24H434.6l27.6-179.3c10.5-5.2 17.8-16.1 17.8-28.7c0-17.7-14.3-32-32-32H426.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3l-23.1 23.1c-12.5 12.5-12.5 32.8 0 45.3zm308 89.4L402.3 464H357.8l21.6-75.6c5.9-20.6-2.6-42.6-20.7-53.9L302 299l30.9-82.4 5.1 12.3C353 264.7 387.9 288 426.7 288h2.7z\"],\n \"calendar-plus\": [448, 512, [], \"f271\", \"M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM224 248c13.3 0 24 10.7 24 24v56h56c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V376H144c-13.3 0-24-10.7-24-24s10.7-24 24-24h56V272c0-13.3 10.7-24 24-24z\"],\n \"plane-arrival\": [640, 512, [128748], \"f5af\", \"M.3 166.9L0 68C0 57.7 9.5 50.1 19.5 52.3l35.6 7.9c10.6 2.3 19.2 9.9 23 20L96 128l127.3 37.6L181.8 20.4C178.9 10.2 186.6 0 197.2 0h40.1c11.6 0 22.2 6.2 27.9 16.3l109 193.8 107.2 31.7c15.9 4.7 30.8 12.5 43.7 22.8l34.4 27.6c24 19.2 18.1 57.3-10.7 68.2c-41.2 15.6-86.2 18.1-128.8 7L121.7 289.8c-11.1-2.9-21.2-8.7-29.3-16.9L9.5 189.4c-5.9-6-9.3-14-9.3-22.5zM32 448H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm160-80c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm64 48c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"circle-left\": [512, 512, [61840, \"arrow-alt-circle-left\"], \"f359\", \"M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512s256-114.6 256-256zM116.7 244.7l112-112c4.6-4.6 11.5-5.9 17.4-3.5s9.9 8.3 9.9 14.8l0 64 96 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32l-96 0 0 64c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-112-112c-6.2-6.2-6.2-16.4 0-22.6z\"],\n \"train-subway\": [448, 512, [\"subway\"], \"f239\", \"M96 0C43 0 0 43 0 96V352c0 48 35.2 87.7 81.1 94.9l-46 46C28.1 499.9 33.1 512 43 512H82.7c8.5 0 16.6-3.4 22.6-9.4L160 448H288l54.6 54.6c6 6 14.1 9.4 22.6 9.4H405c10 0 15-12.1 7.9-19.1l-46-46c46-7.1 81.1-46.9 81.1-94.9V96c0-53-43-96-96-96H96zM64 128c0-17.7 14.3-32 32-32h80c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM272 96h80c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H272c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zM128 352c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm224 32c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"chart-gantt\": [512, 512, [], \"e0e4\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32zm96 64H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm160 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"indian-rupee-sign\": [320, 512, [\"indian-rupee\", \"inr\"], \"e1bc\", \"M0 64C0 46.3 14.3 32 32 32H96h16H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H231.8c9.6 14.4 16.7 30.6 20.7 48H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H252.4c-13.2 58.3-61.9 103.2-122.2 110.9L274.6 422c14.4 10.3 17.7 30.3 7.4 44.6s-30.3 17.7-44.6 7.4L13.4 314C2.1 306-2.7 291.5 1.5 278.2S18.1 256 32 256h80c32.8 0 61-19.7 73.3-48H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H185.3C173 115.7 144.8 96 112 96H96 32C14.3 96 0 81.7 0 64z\"],\n \"crop-simple\": [512, 512, [\"crop-alt\"], \"f565\", \"M128 32c0-17.7-14.3-32-32-32S64 14.3 64 32V64H32C14.3 64 0 78.3 0 96s14.3 32 32 32H64V384c0 35.3 28.7 64 64 64H352V384H128V32zM384 480c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H448l0-256c0-35.3-28.7-64-64-64L160 64v64l224 0 0 352z\"],\n \"money-bill-1\": [576, 512, [\"money-bill-alt\"], \"f3d1\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm64 320H64V320c35.3 0 64 28.7 64 64zM64 192V128h64c0 35.3-28.7 64-64 64zM448 384c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM400 256c0 61.9-50.1 112-112 112s-112-50.1-112-112s50.1-112 112-112s112 50.1 112 112zM252 208c0 9.7 6.9 17.7 16 19.6V276h-4c-11 0-20 9-20 20s9 20 20 20h24 24c11 0 20-9 20-20s-9-20-20-20h-4V208c0-11-9-20-20-20H272c-11 0-20 9-20 20z\"],\n \"left-long\": [512, 512, [\"long-arrow-alt-left\"], \"f30a\", \"M177.5 98c-8.8-3.8-19-2-26 4.6l-144 136C2.7 243.1 0 249.4 0 256s2.7 12.9 7.5 17.4l144 136c7 6.6 17.2 8.4 26 4.6s14.5-12.5 14.5-22l0-88 288 0c17.7 0 32-14.3 32-32l0-32c0-17.7-14.3-32-32-32l-288 0 0-88c0-9.6-5.7-18.2-14.5-22z\"],\n \"dna\": [448, 512, [129516], \"f471\", \"M416 0c17.7 0 32 14.3 32 32c0 59.8-30.3 107.5-69.4 146.6c-28 28-62.5 53.5-97.3 77.4l-2.5 1.7c-11.9 8.1-23.8 16.1-35.5 23.9l0 0 0 0 0 0-1.6 1c-6 4-11.9 7.9-17.8 11.9c-20.9 14-40.8 27.7-59.3 41.5H283.3c-9.8-7.4-20.1-14.7-30.7-22.1l7-4.7 3-2c15.1-10.1 30.9-20.6 46.7-31.6c25 18.1 48.9 37.3 69.4 57.7C417.7 372.5 448 420.2 448 480c0 17.7-14.3 32-32 32s-32-14.3-32-32H64c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-59.8 30.3-107.5 69.4-146.6c28-28 62.5-53.5 97.3-77.4c-34.8-23.9-69.3-49.3-97.3-77.4C30.3 139.5 0 91.8 0 32C0 14.3 14.3 0 32 0S64 14.3 64 32H384c0-17.7 14.3-32 32-32zM338.6 384H109.4c-10.1 10.6-18.6 21.3-25.5 32H364.1c-6.8-10.7-15.3-21.4-25.5-32zM109.4 128H338.6c10.1-10.7 18.6-21.3 25.5-32H83.9c6.8 10.7 15.3 21.3 25.5 32zm55.4 48c18.4 13.8 38.4 27.5 59.3 41.5c20.9-14 40.8-27.7 59.3-41.5H164.7z\"],\n \"virus-slash\": [640, 512, [], \"e075\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-154.3-121c-2-30.1 20.8-60.1 56-60.1H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H532.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C412.3 118.4 352 93.4 352 43.5V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 49.9-60.3 74.9-95.6 39.6L184.2 75c-12.5-12.5-32.8-12.5-45.3 0c-1.6 1.6-3.1 3.4-4.3 5.3L38.8 5.1zm225.8 177c6.9-3.9 14.9-6.1 23.4-6.1c26.5 0 48 21.5 48 48c0 4.4-.6 8.7-1.7 12.7l-69.7-54.6zM107.5 224H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h11.5c49.9 0 74.9 60.3 39.6 95.6l-8.2 8.2c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-31.2 23.6-52.7 50-55.7L144.7 210c-9.5 8.5-22.2 14-37.2 14z\"],\n \"minus\": [448, 512, [8211, 8722, 10134, \"subtract\"], \"f068\", \"M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z\"],\n \"chess\": [512, 512, [], \"f439\", \"M144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V96H59.4C48.7 96 40 104.7 40 115.4c0 3 .7 5.9 2 8.7c6 12.4 23.8 50.8 32.8 83.9H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h7.7C78 302.9 69.4 352.7 63.1 384H192.9c-6.4-31.3-14.9-81.1-16.6-128H184c13.3 0 24-10.7 24-24s-10.7-24-24-24h-2.8c9-33.2 26.8-71.5 32.8-83.9c1.3-2.7 2-5.6 2-8.7c0-10.7-8.7-19.4-19.4-19.4H144V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H144V16zM25.2 451.4l-8.8 4.4C6.3 460.8 0 471.1 0 482.3C0 498.7 13.3 512 29.7 512H226.3c16.4 0 29.7-13.3 29.7-29.7c0-11.2-6.3-21.5-16.4-26.5l-8.8-4.4c-4.1-2.1-6.8-6.3-6.8-10.9c0-13.5-10.9-24.4-24.4-24.4H56.4C42.9 416 32 426.9 32 440.4c0 4.6-2.6 8.9-6.8 10.9zm279.2 4.4c-10.1 5-16.4 15.3-16.4 26.5c0 16.4 13.3 29.7 29.7 29.7H482.3c16.4 0 29.7-13.3 29.7-29.7c0-11.2-6.3-21.5-16.4-26.5l-8.8-4.4c-4.1-2.1-6.8-6.3-6.8-10.9c0-13.5-10.9-24.4-24.4-24.4H344.4c-13.5 0-24.4 10.9-24.4 24.4c0 4.6-2.6 8.9-6.8 10.9l-8.8 4.4zM304 259.9c0 7.8 2.8 15.3 8 21.1l18.9 21.4c5.4 6.1 8.2 14 8 22.1L337 384H462.5l-2.7-58.7c-.4-8.5 2.6-16.9 8.4-23.1l19.3-21c5.4-5.9 8.5-13.6 8.5-21.7V200c0-4.4-3.6-8-8-8H464c-4.4 0-8 3.6-8 8v16c0 4.4-3.6 8-8 8h-8c-4.4 0-8-3.6-8-8V200c0-4.4-3.6-8-8-8H376c-4.4 0-8 3.6-8 8v16c0 4.4-3.6 8-8 8h-8c-4.4 0-8-3.6-8-8V200c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v59.9zM392 336c-4.4 0-8-3.6-8-8V304c0-8.8 7.2-16 16-16s16 7.2 16 16v24c0 4.4-3.6 8-8 8H392z\"],\n \"arrow-left-long\": [512, 512, [\"long-arrow-left\"], \"f177\", \"M109.3 288L480 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-370.7 0 73.4-73.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288z\"],\n \"plug-circle-check\": [576, 512, [], \"e55c\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM576 368c0-79.5-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144s144-64.5 144-144zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"],\n \"street-view\": [512, 512, [], \"f21d\", \"M320 64c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64zm-96 96c-35.3 0-64 28.7-64 64v48c0 17.7 14.3 32 32 32h1.8l11.1 99.5c1.8 16.2 15.5 28.5 31.8 28.5h38.7c16.3 0 30-12.3 31.8-28.5L318.2 304H320c17.7 0 32-14.3 32-32V224c0-35.3-28.7-64-64-64H224zM132.3 394.2c13-2.4 21.7-14.9 19.3-27.9s-14.9-21.7-27.9-19.3c-32.4 5.9-60.9 14.2-82 24.8c-10.5 5.3-20.3 11.7-27.8 19.6C6.4 399.5 0 410.5 0 424c0 21.4 15.5 36.1 29.1 45c14.7 9.6 34.3 17.3 56.4 23.4C130.2 504.7 190.4 512 256 512s125.8-7.3 170.4-19.6c22.1-6.1 41.8-13.8 56.4-23.4c13.7-8.9 29.1-23.6 29.1-45c0-13.5-6.4-24.5-14-32.6c-7.5-7.9-17.3-14.3-27.8-19.6c-21-10.6-49.5-18.9-82-24.8c-13-2.4-25.5 6.3-27.9 19.3s6.3 25.5 19.3 27.9c30.2 5.5 53.7 12.8 69 20.5c3.2 1.6 5.8 3.1 7.9 4.5c3.6 2.4 3.6 7.2 0 9.6c-8.8 5.7-23.1 11.8-43 17.3C374.3 457 318.5 464 256 464s-118.3-7-157.7-17.9c-19.9-5.5-34.2-11.6-43-17.3c-3.6-2.4-3.6-7.2 0-9.6c2.1-1.4 4.8-2.9 7.9-4.5c15.3-7.7 38.8-14.9 69-20.5z\"],\n \"franc-sign\": [320, 512, [], \"e18f\", \"M80 32C62.3 32 48 46.3 48 64V224v96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48v64c0 17.7 14.3 32 32 32s32-14.3 32-32V384h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V256H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"],\n \"volume-off\": [320, 512, [], \"f026\", \"M320 64c0-12.6-7.4-24-18.9-29.2s-25-3.1-34.4 5.3L131.8 160H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64h67.8L266.7 471.9c9.4 8.4 22.9 10.4 34.4 5.3S320 460.6 320 448V64z\"],\n \"hands-asl-interpreting\": [640, 512, [\"american-sign-language-interpreting\", \"asl-interpreting\", \"hands-american-sign-language-interpreting\"], \"f2a3\", \"M156.6 46.3c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3L13.5 189.4C4.6 207.2 0 226.8 0 246.7V256c0 70.7 57.3 128 128 128h72 8v-.3c35.2-2.7 65.4-22.8 82.1-51.7c8.8-15.3 3.6-34.9-11.7-43.7s-34.9-3.6-43.7 11.7c-7 12-19.9 20-34.7 20c-22.1 0-40-17.9-40-40s17.9-40 40-40c14.8 0 27.7 8 34.7 20c8.8 15.3 28.4 20.5 43.7 11.7s20.5-28.4 11.7-43.7c-12.8-22.1-33.6-39.1-58.4-47.1l80.8-22c17-4.6 27.1-22.2 22.5-39.3s-22.2-27.1-39.3-22.5L194.9 124.6l81.6-68c13.6-11.3 15.4-31.5 4.1-45.1S249.1-3.9 235.5 7.4L133.6 92.3l23-46zM483.4 465.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l85.9-171.7c8.9-17.8 13.5-37.4 13.5-57.2V256c0-70.7-57.3-128-128-128H440h-8v.3c-35.2 2.7-65.4 22.8-82.1 51.7c-8.9 15.3-3.6 34.9 11.7 43.7s34.9 3.6 43.7-11.7c7-12 19.9-20 34.7-20c22.1 0 40 17.9 40 40s-17.9 40-40 40c-14.8 0-27.7-8-34.7-20c-8.9-15.3-28.4-20.5-43.7-11.7s-20.5 28.4-11.7 43.7c12.8 22.1 33.6 39.1 58.4 47.1l-80.8 22c-17.1 4.7-27.1 22.2-22.5 39.3s22.2 27.1 39.3 22.5l100.7-27.5-81.6 68c-13.6 11.3-15.4 31.5-4.1 45.1s31.5 15.4 45.1 4.1l101.9-84.9-23 46z\"],\n \"gear\": [512, 512, [9881, \"cog\"], \"f013\", \"M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80z\"],\n \"droplet-slash\": [640, 512, [\"tint-slash\"], \"f5c7\", \"M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.1 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"],\n \"mosque\": [640, 512, [128332], \"f678\", \"M400 0c5 0 9.8 2.4 12.8 6.4c34.7 46.3 78.1 74.9 133.5 111.5l0 0 0 0c5.2 3.4 10.5 7 16 10.6c28.9 19.2 45.7 51.7 45.7 86.1c0 28.6-11.3 54.5-29.8 73.4H221.8c-18.4-19-29.8-44.9-29.8-73.4c0-34.4 16.7-66.9 45.7-86.1c5.4-3.6 10.8-7.1 16-10.6l0 0 0 0C309.1 81.3 352.5 52.7 387.2 6.4c3-4 7.8-6.4 12.8-6.4zM288 512V440c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H192c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H560V440c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H448V454c0-19-8.4-37-23-49.2L400 384l-25 20.8C360.4 417 352 435 352 454v58H288zM70.4 5.2c5.7-4.3 13.5-4.3 19.2 0l16 12C139.8 42.9 160 83.2 160 126v2H0v-2C0 83.2 20.2 42.9 54.4 17.2l16-12zM0 160H160V296.6c-19.1 11.1-32 31.7-32 55.4V480c0 9.6 2.1 18.6 5.8 26.8c-6.6 3.4-14 5.2-21.8 5.2H48c-26.5 0-48-21.5-48-48V176 160z\"],\n \"mosquito\": [640, 512, [], \"e52b\", \"M463.7 505.9c9.8-8.9 10.7-24.3 2.1-34.3l-42.1-49 0-54.7c0-5.5-1.8-10.8-5.1-15.1L352 266.3l0-.3L485.4 387.8C542.4 447.6 640 405.2 640 320.6c0-47.9-34-88.3-79.4-94.2l-153-23.9 40.8-40.9c7.8-7.8 9.4-20.1 3.9-29.8L428.5 90.1l38.2-50.9c8-10.6 6.1-25.9-4.3-34.1s-25.2-6.3-33.2 4.4l-48 63.9c-5.9 7.9-6.6 18.6-1.7 27.2L402.2 140 352 190.3l0-38.2c0-14.9-10.2-27.4-24-31l0-57.2c0-4.4-3.6-8-8-8s-8 3.6-8 8l0 57.2c-13.8 3.6-24 16.1-24 31l0 38.1L237.8 140l22.6-39.5c4.9-8.6 4.2-19.3-1.7-27.2l-48-63.9c-8-10.6-22.8-12.6-33.2-4.4s-12.2 23.5-4.3 34.1l38.2 50.9-23.9 41.7c-5.5 9.7-3.9 22 3.9 29.8l40.8 40.9-153 23.9C34 232.3 0 272.7 0 320.6c0 84.6 97.6 127 154.6 67.1L288 266l0 .3-66.5 86.4c-3.3 4.3-5.1 9.6-5.1 15.1l0 54.7-42.1 49c-8.6 10.1-7.7 25.5 2.1 34.3s24.7 7.9 33.4-2.1l48-55.9c3.8-4.4 5.9-10.2 5.9-16.1l0-55.4L288 344.7l0 63.1c0 17.7 14.3 32 32 32s32-14.3 32-32l0-63.1 24.3 31.6 0 55.4c0 5.9 2.1 11.7 5.9 16.1l48 55.9c8.6 10.1 23.6 11 33.4 2.1z\"],\n \"star-of-david\": [512, 512, [10017], \"f69a\", \"M404.2 309.5L383.1 344h42.3l-21.1-34.5zM371.4 256l-54-88H194.6l-54 88 54 88H317.4l54-88zm65.7 0l53.4 87c3.6 5.9 5.5 12.7 5.5 19.6c0 20.7-16.8 37.4-37.4 37.4H348.7l-56.2 91.5C284.8 504.3 270.9 512 256 512s-28.8-7.7-36.6-20.5L163.3 400H53.4C32.8 400 16 383.2 16 362.6c0-6.9 1.9-13.7 5.5-19.6l53.4-87L21.5 169c-3.6-5.9-5.5-12.7-5.5-19.6C16 128.8 32.8 112 53.4 112H163.3l56.2-91.5C227.2 7.7 241.1 0 256 0s28.8 7.7 36.6 20.5L348.7 112H458.6c20.7 0 37.4 16.8 37.4 37.4c0 6.9-1.9 13.7-5.5 19.6l-53.4 87zm-54-88l21.1 34.5L425.4 168H383.1zM283 112L256 68l-27 44h54zM128.9 168H86.6l21.1 34.5L128.9 168zM107.8 309.5L86.6 344h42.3l-21.1-34.5zM229 400l27 44 27-44H229z\"],\n \"person-military-rifle\": [512, 512, [], \"e54b\", \"M160 39c0-13 10-23.8 22.9-24.9L334.7 1.4C344 .7 352 8 352 17.4V48c0 8.8-7.2 16-16 16H185c-13.8 0-25-11.2-25-25zm17.6 57H334.4c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-5.5 .6-10.8 1.6-16zm228 364.3L352 369.7V480c0 1.3-.1 2.5-.2 3.8L177.5 234.9c16.6-7.1 34.6-10.9 53.3-10.9h50.4c15.9 0 31.3 2.8 45.8 7.9L421.9 67.7c-7.7-4.4-10.3-14.2-5.9-21.9s14.2-10.3 21.9-5.9l13.9 8 13.9 8c7.7 4.4 10.3 14.2 5.9 21.9L416 173.9l1.6 .9c15.3 8.8 20.6 28.4 11.7 43.7L392.6 282c2 2.8 3.9 5.8 5.7 8.8l76.1 128.8c11.2 19 4.9 43.5-14.1 54.8s-43.5 4.9-54.8-14.1zM320 512H192c-17.7 0-32-14.3-32-32V369.7l-53.6 90.6c-11.2 19-35.8 25.3-54.8 14.1s-25.3-35.8-14.1-54.8l76.1-128.8c9.4-15.8 21.7-29.3 36-40L331.1 510c-3.5 1.3-7.2 2-11.1 2zM296 320c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z\"],\n \"cart-shopping\": [576, 512, [128722, \"shopping-cart\"], \"f07a\", \"M0 24C0 10.7 10.7 0 24 0H69.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"],\n \"vials\": [512, 512, [], \"f493\", \"M0 64C0 46.3 14.3 32 32 32H88h48 56c17.7 0 32 14.3 32 32s-14.3 32-32 32V400c0 44.2-35.8 80-80 80s-80-35.8-80-80V96C14.3 96 0 81.7 0 64zM136 96H88V256h48V96zM288 64c0-17.7 14.3-32 32-32h56 48 56c17.7 0 32 14.3 32 32s-14.3 32-32 32V400c0 44.2-35.8 80-80 80s-80-35.8-80-80V96c-17.7 0-32-14.3-32-32zM424 96H376V256h48V96z\"],\n \"plug-circle-plus\": [576, 512, [], \"e55f\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"],\n \"place-of-worship\": [640, 512, [], \"f67f\", \"M224 109.3V217.6L183.3 242c-14.5 8.7-23.3 24.3-23.3 41.2V512h96V416c0-35.3 28.7-64 64-64s64 28.7 64 64v96h96V283.2c0-16.9-8.8-32.5-23.3-41.2L416 217.6V109.3c0-8.5-3.4-16.6-9.4-22.6L331.3 11.3c-6.2-6.2-16.4-6.2-22.6 0L233.4 86.6c-6 6-9.4 14.1-9.4 22.6zM24.9 330.3C9.5 338.8 0 354.9 0 372.4V464c0 26.5 21.5 48 48 48h80V273.6L24.9 330.3zM592 512c26.5 0 48-21.5 48-48V372.4c0-17.5-9.5-33.6-24.9-42.1L512 273.6V512h80z\"],\n \"grip-vertical\": [320, 512, [], \"f58e\", \"M40 352c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0zm192 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0zM40 320l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40zM232 192c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0zM40 160l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40L40 32C17.9 32 0 49.9 0 72l0 48c0 22.1 17.9 40 40 40zM232 32c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0z\"],\n \"arrow-turn-up\": [384, 512, [\"level-up\"], \"f148\", \"M32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c53 0 96-43 96-96l0-306.7 73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3 160 416c0 17.7-14.3 32-32 32l-96 0z\"],\n \"u\": [384, 512, [117], \"55\", \"M32 32c17.7 0 32 14.3 32 32V288c0 70.7 57.3 128 128 128s128-57.3 128-128V64c0-17.7 14.3-32 32-32s32 14.3 32 32V288c0 106-86 192-192 192S0 394 0 288V64C0 46.3 14.3 32 32 32z\"],\n \"square-root-variable\": [576, 512, [\"square-root-alt\"], \"f698\", \"M289 24.2C292.5 10 305.3 0 320 0H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H345L239 487.8c-3.2 13-14.2 22.6-27.6 24s-26.1-5.5-32.1-17.5L76.2 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96c12.1 0 23.2 6.8 28.6 17.7l73.3 146.6L289 24.2zM393.4 233.4c12.5-12.5 32.8-12.5 45.3 0L480 274.7l41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 320l41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L480 365.3l-41.4 41.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 320l-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3z\"],\n \"clock\": [512, 512, [128339, \"clock-four\"], \"f017\", \"M256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"],\n \"backward-step\": [320, 512, [\"step-backward\"], \"f048\", \"M267.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160L64 241V96c0-17.7-14.3-32-32-32S0 78.3 0 96V416c0 17.7 14.3 32 32 32s32-14.3 32-32V271l11.5 9.6 192 160z\"],\n \"pallet\": [640, 512, [], \"f482\", \"M32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96 320 544h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H576V384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H544 320 96 32zm96 64H288v64H128V384zm224 0H512v64H352V384z\"],\n \"faucet\": [512, 512, [], \"e005\", \"M192 96v12L96 96c-17.7 0-32 14.3-32 32s14.3 32 32 32l96-12 31-3.9 1-.1 1 .1 31 3.9 96 12c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 12V96c0-17.7-14.3-32-32-32s-32 14.3-32 32zM32 256c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H132.1c20.2 29 53.9 48 91.9 48s71.7-19 91.9-48H352c17.7 0 32 14.3 32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32c0-88.4-71.6-160-160-160H320l-22.6-22.6c-6-6-14.1-9.4-22.6-9.4H256V180.2l-32-4-32 4V224H173.3c-8.5 0-16.6 3.4-22.6 9.4L128 256H32z\"],\n \"baseball-bat-ball\": [640, 512, [], \"f432\", \"M550.3 0c-10.9 0-21.4 3.4-30.2 9.8L279.7 184.6c-13.9 10.1-26.8 21.4-38.7 33.8L138.7 325.3c-9.2 9.6-19.3 18.4-30.1 26.3L79.3 372.9c1.3 1.5 2.6 3 3.9 4.7l48 64c1.6 2.2 3.1 4.4 4.4 6.6l27.3-19.9c11.6-8.4 24-15.8 37-21.8l135.3-63.1c16.7-7.8 32.7-17.2 47.6-28.1L619 143.6c13.2-9.6 21-24.9 21-41.2c0-11-3.6-21.8-10.2-30.6L609.6 44.8 591.4 20.6C581.7 7.6 566.5 0 550.3 0zM496 512c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80zM57.6 396.8c-10.6-14.1-30.7-17-44.8-6.4s-17 30.7-6.4 44.8l48 64c10.6 14.1 30.7 17 44.8 6.4s17-30.7 6.4-44.8l-48-64z\"],\n \"s\": [384, 512, [115], \"53\", \"M131.1 105.4c-20.1 8.6-30.8 21.8-33.9 39.4c-2.4 14.1-.7 23.2 2 29.4c2.8 6.3 7.9 12.4 16.7 18.6c19.2 13.4 48.3 22.1 84.9 32.5c1 .3 1.9 .6 2.9 .8c32.7 9.3 72 20.6 100.9 40.7c15.7 10.9 29.9 25.5 38.6 45.1c8.8 19.8 10.8 42 6.6 66.3c-7.3 42.5-35.3 71.7-71.8 87.3c-35.4 15.2-79.1 17.9-123.7 10.9l-.2 0 0 0c-24-3.9-62.7-17.1-87.6-25.6c-4.8-1.7-9.2-3.1-12.8-4.3c-16.8-5.6-25.8-23.7-20.3-40.5s23.7-25.8 40.5-20.3c4.9 1.6 10.2 3.4 15.9 5.4c25.4 8.6 56.4 19.2 74.4 22.1c36.8 5.7 67.5 2.5 88.5-6.5c20.1-8.6 30.8-21.8 33.9-39.4c2.4-14.1 .7-23.2-2-29.4c-2.8-6.3-7.9-12.4-16.7-18.6c-19.2-13.4-48.3-22.1-84.9-32.5c-1-.3-1.9-.6-2.9-.8c-32.7-9.3-72-20.6-100.9-40.7c-15.7-10.9-29.9-25.5-38.6-45.1c-8.8-19.8-10.8-42-6.6-66.3l31.5 5.5-31.5-5.5c7.3-42.5 35.3-71.7 71.8-87.3c35.4-15.2 79.1-17.9 123.7-10.9c13 2 52.4 9.6 66.6 13.4c17.1 4.5 27.2 22.1 22.7 39.2s-22.1 27.2-39.1 22.7c-11.2-3-48.2-10.2-60.1-12l4.9-31.5-4.9 31.5c-36.9-5.8-67.5-2.5-88.6 6.5z\"],\n \"timeline\": [640, 512, [], \"e29c\", \"M128 120c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm32 49.3c28.3-12.3 48-40.5 48-73.3c0-44.2-35.8-80-80-80S48 51.8 48 96c0 32.8 19.7 61 48 73.3V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H288v54.7c-28.3 12.3-48 40.5-48 73.3c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3V288H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H544V169.3c28.3-12.3 48-40.5 48-73.3c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 32.8 19.7 61 48 73.3V224H160V169.3zM536 96c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24zM320 440c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z\"],\n \"keyboard\": [576, 512, [9000], \"f11c\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm16 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM160 336c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V336zM272 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM256 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM368 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM352 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V240zM464 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM448 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16z\"],\n \"caret-down\": [320, 512, [], \"f0d7\", \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\"],\n \"house-chimney-medical\": [576, 512, [\"clinic-medical\"], \"f7f2\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185l52.8 46.4c8 7 12 15 11 24zM272 192c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H320V208c0-8.8-7.2-16-16-16H272z\"],\n \"temperature-three-quarters\": [320, 512, [\"temperature-3\", \"thermometer-3\", \"thermometer-three-quarters\"], \"f2c8\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V152c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"],\n \"mobile-screen\": [384, 512, [\"mobile-android-alt\"], \"f3cf\", \"M16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM144 448c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160c-8.8 0-16 7.2-16 16zM304 64H80V384H304V64z\"],\n \"plane-up\": [512, 512, [], \"e22d\", \"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7l0 66.3L497.8 278.5c8.9 5.9 14.2 15.9 14.2 26.6v56.7c0 10.9-10.7 18.6-21.1 15.2L320 320v80l57.6 43.2c4 3 6.4 7.8 6.4 12.8v42c0 7.8-6.3 14-14 14c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14V456c0-5 2.4-9.8 6.4-12.8L192 400V320L21.1 377C10.7 380.4 0 372.7 0 361.8V305.1c0-10.7 5.3-20.7 14.2-26.6L192 160V93.7z\"],\n \"piggy-bank\": [576, 512, [], \"f4d3\", \"M400 96l0 .7c-5.3-.4-10.6-.7-16-.7H256c-16.5 0-32.5 2.1-47.8 6c-.1-2-.2-4-.2-6c0-53 43-96 96-96s96 43 96 96zm-16 32c3.5 0 7 .1 10.4 .3c4.2 .3 8.4 .7 12.6 1.3C424.6 109.1 450.8 96 480 96h32l-18.8 75.1c15.8 14.8 28.7 32.8 37.5 52.9H544c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H512c-9.1 12.1-19.9 22.9-32 32v64c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H256v32c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V416c-34.9-26.2-58.7-66.3-63.2-112H68c-37.6 0-68-30.4-68-68s30.4-68 68-68h4c13.3 0 24 10.7 24 24s-10.7 24-24 24H68c-11 0-20 9-20 20s9 20 20 20H99.2c12.1-59.8 57.7-107.5 116.3-122.8c12.9-3.4 26.5-5.2 40.5-5.2H384zm64 136c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24z\"],\n \"battery-half\": [576, 512, [\"battery-3\"], \"f242\", \"M0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176zm80-16c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zm208 32V320H96V192H288z\"],\n \"mountain-city\": [640, 512, [], \"e52e\", \"M336 0c-26.5 0-48 21.5-48 48v92.1l71.4 118.4c2.5-1.6 5.4-2.5 8.6-2.5h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-3.5l73.8 122.4c12.4 20.6 12.9 46.3 1.2 67.3c-.4 .8-.9 1.6-1.4 2.3H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H568V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H480V48c0-26.5-21.5-48-48-48H336zm32 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM352 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V176zm160 96c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V272zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zM224 188.9L283.8 288H223l-48 64-24.6-41.2L224 188.9zm29.4-44.2C247.1 134.3 236 128 224 128s-23.1 6.3-29.4 16.7L5.1 458.9c-6.5 10.8-6.7 24.3-.7 35.3S22 512 34.5 512H413.5c12.5 0 24-6.8 30.1-17.8s5.8-24.5-.7-35.3L253.4 144.7z\"],\n \"coins\": [512, 512, [], \"f51e\", \"M512 80c0 18-14.3 34.6-38.4 48c-29.1 16.1-72.5 27.5-122.3 30.9c-3.7-1.8-7.4-3.5-11.3-5C300.6 137.4 248.2 128 192 128c-8.3 0-16.4 .2-24.5 .6l-1.1-.6C142.3 114.6 128 98 128 80c0-44.2 86-80 192-80S512 35.8 512 80zM160.7 161.1c10.2-.7 20.7-1.1 31.3-1.1c62.2 0 117.4 12.3 152.5 31.4C369.3 204.9 384 221.7 384 240c0 4-.7 7.9-2.1 11.7c-4.6 13.2-17 25.3-35 35.5c0 0 0 0 0 0c-.1 .1-.3 .1-.4 .2l0 0 0 0c-.3 .2-.6 .3-.9 .5c-35 19.4-90.8 32-153.6 32c-59.6 0-112.9-11.3-148.2-29.1c-1.9-.9-3.7-1.9-5.5-2.9C14.3 274.6 0 258 0 240c0-34.8 53.4-64.5 128-75.4c10.5-1.5 21.4-2.7 32.7-3.5zM416 240c0-21.9-10.6-39.9-24.1-53.4c28.3-4.4 54.2-11.4 76.2-20.5c16.3-6.8 31.5-15.2 43.9-25.5V176c0 19.3-16.5 37.1-43.8 50.9c-14.6 7.4-32.4 13.7-52.4 18.5c.1-1.8 .2-3.5 .2-5.3zm-32 96c0 18-14.3 34.6-38.4 48c-1.8 1-3.6 1.9-5.5 2.9C304.9 404.7 251.6 416 192 416c-62.8 0-118.6-12.6-153.6-32C14.3 370.6 0 354 0 336V300.6c12.5 10.3 27.6 18.7 43.9 25.5C83.4 342.6 135.8 352 192 352s108.6-9.4 148.1-25.9c7.8-3.2 15.3-6.9 22.4-10.9c6.1-3.4 11.8-7.2 17.2-11.2c1.5-1.1 2.9-2.3 4.3-3.4V304v5.7V336zm32 0V304 278.1c19-4.2 36.5-9.5 52.1-16c16.3-6.8 31.5-15.2 43.9-25.5V272c0 10.5-5 21-14.9 30.9c-16.3 16.3-45 29.7-81.3 38.4c.1-1.7 .2-3.5 .2-5.3zM192 448c56.2 0 108.6-9.4 148.1-25.9c16.3-6.8 31.5-15.2 43.9-25.5V432c0 44.2-86 80-192 80S0 476.2 0 432V396.6c12.5 10.3 27.6 18.7 43.9 25.5C83.4 438.6 135.8 448 192 448z\"],\n \"khanda\": [576, 512, [9772], \"f66d\", \"M277.8 3.7c5.9-4.9 14.6-4.9 20.5 0l48 40c5.9 4.9 7.5 13.2 3.8 19.9l0 0 0 0 0 0 0 0-.1 .1-.3 .6c-.3 .5-.7 1.3-1.2 2.3c-1 2-2.6 5-4.4 8.6c-.5 .9-.9 1.9-1.4 2.9C376.9 97.4 400 134 400 176s-23.1 78.6-57.3 97.8c.5 1 1 2 1.4 2.9c1.8 3.7 3.3 6.6 4.4 8.6c.5 1 .9 1.8 1.2 2.3l.3 .6 .1 .1 0 0 0 0c3.6 6.7 2 15-3.8 19.9L304 343.5v19.8l35.6-24.5 41.1-28.2c42.8-29.4 68.4-78 68.4-130c0-31.1-9.2-61.6-26.5-87.5l-2.8-4.2c-4-6-3.5-14 1.3-19.5s12.7-7 19.2-3.7L433.1 80c7.2-14.3 7.2-14.3 7.2-14.3l0 0 0 0 .1 0 .3 .2 1 .5c.8 .4 2 1.1 3.5 1.9c2.9 1.7 7 4.1 11.8 7.3c9.6 6.4 22.5 16.1 35.4 29c25.7 25.7 52.7 65.6 52.7 119.3c0 53.1-26.4 100.5-51.2 133.6c-12.6 16.7-25.1 30.3-34.5 39.7c-4.7 4.7-8.7 8.4-11.5 10.9c-1.4 1.3-2.5 2.2-3.3 2.9l-.9 .8-.3 .2-.1 .1 0 0 0 0s0 0-10.2-12.3l10.2 12.3c-5.1 4.3-12.4 4.9-18.2 1.6l-75.6-43-32.7 22.5 45.5 31.3c1.8-.4 3.7-.7 5.7-.7c13.3 0 24 10.7 24 24s-10.7 24-24 24c-12.2 0-22.3-9.1-23.8-21L304 423.4v28.9c9.6 5.5 16 15.9 16 27.7c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-11.8 6.4-22.2 16-27.7V424.1l-40.3 27.7C229.8 463.3 219.9 472 208 472c-13.3 0-24-10.7-24-24s10.7-24 24-24c2.2 0 4.4 .3 6.5 .9l45.8-31.5-32.7-22.5-75.6 43c-5.8 3.3-13 2.7-18.2-1.6L144 400c-10.2 12.3-10.2 12.3-10.3 12.3l0 0 0 0-.1-.1-.3-.2-.9-.8c-.8-.7-1.9-1.7-3.3-2.9c-2.8-2.5-6.7-6.2-11.5-10.9c-9.4-9.4-21.9-23-34.5-39.7C58.4 324.5 32 277.1 32 224c0-53.7 26.9-93.6 52.7-119.3c12.9-12.9 25.8-22.6 35.4-29c4.8-3.2 8.9-5.7 11.8-7.3c1.5-.8 2.6-1.5 3.5-1.9l1-.5 .3-.2 .1 0 0 0 0 0s0 0 7.2 14.3l-7.2-14.3c6.5-3.2 14.3-1.7 19.2 3.7s5.3 13.4 1.3 19.5l-2.8 4.2C137.2 119 128 149.5 128 180.6c0 51.9 25.6 100.6 68.4 130l41.1 28.2L272 362.6V343.5l-42.2-35.2c-5.9-4.9-7.5-13.2-3.8-19.9l0 0 0 0 0 0 .1-.1 .3-.6c.3-.5 .7-1.3 1.2-2.3c1-2 2.6-5 4.4-8.6c.5-.9 .9-1.9 1.4-2.9C199.1 254.6 176 218 176 176s23.1-78.6 57.3-97.8c-.5-1-1-2-1.4-2.9c-1.8-3.7-3.3-6.6-4.4-8.6c-.5-1-.9-1.8-1.2-2.3l-.3-.6-.1-.1 0 0 0 0 0 0c-3.6-6.7-2-15 3.8-19.9l48-40zM252.2 122.9c-17 11.5-28.2 31-28.2 53.1s11.2 41.6 28.2 53.1C259 210.2 264 190.9 264 176s-5-34.2-11.8-53.1zm71.5 106.2c17-11.5 28.2-31 28.2-53.1s-11.2-41.6-28.2-53.1C317 141.8 312 161.1 312 176s5 34.2 11.8 53.1z\"],\n \"sliders\": [512, 512, [\"sliders-h\"], \"f1de\", \"M0 416c0-17.7 14.3-32 32-32l54.7 0c12.3-28.3 40.5-48 73.3-48s61 19.7 73.3 48L480 384c17.7 0 32 14.3 32 32s-14.3 32-32 32l-246.7 0c-12.3 28.3-40.5 48-73.3 48s-61-19.7-73.3-48L32 448c-17.7 0-32-14.3-32-32zm192 0c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM384 256c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm-32-80c32.8 0 61 19.7 73.3 48l54.7 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-54.7 0c-12.3 28.3-40.5 48-73.3 48s-61-19.7-73.3-48L32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l246.7 0c12.3-28.3 40.5-48 73.3-48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32zm73.3 0L480 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-214.7 0c-12.3 28.3-40.5 48-73.3 48s-61-19.7-73.3-48L32 128C14.3 128 0 113.7 0 96S14.3 64 32 64l86.7 0C131 35.7 159.2 16 192 16s61 19.7 73.3 48z\"],\n \"folder-tree\": [576, 512, [], \"f802\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32v96V384c0 35.3 28.7 64 64 64H256V384H64V160H256V96H64V32zM288 192c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H445.3c-8.5 0-16.6-3.4-22.6-9.4L409.4 9.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192zm0 288c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H445.3c-8.5 0-16.6-3.4-22.6-9.4l-13.3-13.3c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V480z\"],\n \"network-wired\": [640, 512, [], \"f6ff\", \"M256 64H384v64H256V64zM240 0c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h48v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96v32H80c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H192V288H448v32H400c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H512V288h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V192h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H240zM96 448V384H224v64H96zm320-64H544v64H416V384z\"],\n \"map-pin\": [320, 512, [128205], \"f276\", \"M320 144c0 79.5-64.5 144-144 144S32 223.5 32 144S96.5 0 176 0s144 64.5 144 144zM176 80c8.8 0 16-7.2 16-16s-7.2-16-16-16c-53 0-96 43-96 96c0 8.8 7.2 16 16 16s16-7.2 16-16c0-35.3 28.7-64 64-64zM144 480V317.1c10.4 1.9 21.1 2.9 32 2.9s21.6-1 32-2.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"],\n \"hamsa\": [512, 512, [], \"f665\", \"M34.6 288H80c8.8 0 16-7.2 16-16V72c0-22.1 17.9-40 40-40s40 17.9 40 40V204c0 11 9 20 20 20s20-9 20-20V40c0-22.1 17.9-40 40-40s40 17.9 40 40V204c0 11 9 20 20 20s20-9 20-20V72c0-22.1 17.9-40 40-40s40 17.9 40 40V272c0 8.8 7.2 16 16 16h45.4c19.1 0 34.6 15.5 34.6 34.6c0 8.6-3.2 16.9-9 23.3L416.6 441c-41.1 45.2-99.4 71-160.6 71s-119.4-25.8-160.6-71L9 345.9c-5.8-6.4-9-14.7-9-23.3C0 303.5 15.5 288 34.6 288zM256 288c-38.4 0-76.8 35.8-90.6 50.2c-3.6 3.7-5.4 8.7-5.4 13.8s1.8 10.1 5.4 13.8C179.2 380.2 217.6 416 256 416s76.8-35.8 90.6-50.2c3.6-3.7 5.4-8.7 5.4-13.8s-1.8-10.1-5.4-13.8C332.8 323.8 294.4 288 256 288zm0 96c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"cent-sign\": [384, 512, [], \"e3f5\", \"M224 0c17.7 0 32 14.3 32 32V66.7c30.9 5.2 59.2 17.7 83.2 35.8c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4C279.4 137.5 252.9 128 224 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c28.9 0 55.4-9.5 76.8-25.6c14.1-10.6 34.2-7.8 44.8 6.4s7.8 34.2-6.4 44.8c-24 18-52.4 30.6-83.2 35.8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.3C101.2 430.1 32 351.1 32 256s69.2-174.1 160-189.3V32c0-17.7 14.3-32 32-32z\"],\n \"flask\": [448, 512, [], \"f0c3\", \"M288 0H160 128C110.3 0 96 14.3 96 32s14.3 32 32 32V196.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6C0 480.9 31.1 512 69.4 512H378.6c38.3 0 69.4-31.1 69.4-69.4c0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288zM192 196.8V64h64V196.8c0 23.7 6.6 46.9 19 67.1L309.5 320h-171L173 263.9c12.4-20.2 19-43.4 19-67.1z\"],\n \"person-pregnant\": [384, 512, [], \"e31e\", \"M192 96c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48zM120 383c-13.8-3.6-24-16.1-24-31V296.9l-4.6 7.6c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c15-24.9 40.3-41.5 68.7-45.6c4.1-.6 8.2-1 12.5-1h1.1 12.5H192c1.4 0 2.8 .1 4.1 .3c35.7 2.9 65.4 29.3 72.1 65l6.1 32.5c44.3 8.6 77.7 47.5 77.7 94.3v32c0 17.7-14.3 32-32 32H304 264v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384h-8-8v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V383z\"],\n \"wand-sparkles\": [512, 512, [], \"f72b\", \"M464 6.1c9.5-8.5 24-8.1 33 .9l8 8c9 9 9.4 23.5 .9 33l-85.8 95.9c-2.6 2.9-4.1 6.7-4.1 10.7V176c0 8.8-7.2 16-16 16H384.2c-4.6 0-8.9 1.9-11.9 5.3L100.7 500.9C94.3 508 85.3 512 75.8 512c-8.8 0-17.3-3.5-23.5-9.8L9.7 459.7C3.5 453.4 0 445 0 436.2c0-9.5 4-18.5 11.1-24.8l111.6-99.8c3.4-3 5.3-7.4 5.3-11.9V272c0-8.8 7.2-16 16-16h34.6c3.9 0 7.7-1.5 10.7-4.1L464 6.1zM432 288c3.6 0 6.7 2.4 7.7 5.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8-14.8 51.7c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8l-14.8-51.7-51.7-14.8c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8 14.8-51.7c1-3.4 4.1-5.8 7.7-5.8zM87.7 69.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8L87.7 218.2c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8L57.5 166.5 5.8 151.7c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8L72.3 69.8c1-3.4 4.1-5.8 7.7-5.8s6.7 2.4 7.7 5.8zM224 0c3.7 0 6.9 2.5 7.8 6.1l6.8 27.3 27.3 6.8c3.6 .9 6.1 4.1 6.1 7.8s-2.5 6.9-6.1 7.8l-27.3 6.8-6.8 27.3c-.9 3.6-4.1 6.1-7.8 6.1s-6.9-2.5-7.8-6.1l-6.8-27.3-27.3-6.8c-3.6-.9-6.1-4.1-6.1-7.8s2.5-6.9 6.1-7.8l27.3-6.8 6.8-27.3c.9-3.6 4.1-6.1 7.8-6.1z\"],\n \"ellipsis-vertical\": [128, 512, [\"ellipsis-v\"], \"f142\", \"M64 360c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56s25.1-56 56-56zm0-160c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56s25.1-56 56-56zM120 96c0 30.9-25.1 56-56 56S8 126.9 8 96S33.1 40 64 40s56 25.1 56 56z\"],\n \"ticket\": [576, 512, [127903], \"f145\", \"M64 64C28.7 64 0 92.7 0 128v80c26.5 0 48 21.5 48 48s-21.5 48-48 48v80c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V304c-26.5 0-48-21.5-48-48s21.5-48 48-48V128c0-35.3-28.7-64-64-64H64zm64 96l0 192H448V160H128zm-32 0c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V160z\"],\n \"power-off\": [512, 512, [9211], \"f011\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V256c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM143.5 120.6c13.6-11.3 15.4-31.5 4.1-45.1s-31.5-15.4-45.1-4.1C49.7 115.4 16 181.8 16 256c0 132.5 107.5 240 240 240s240-107.5 240-240c0-74.2-33.8-140.6-86.6-184.6c-13.6-11.3-33.8-9.4-45.1 4.1s-9.4 33.8 4.1 45.1c38.9 32.3 63.5 81 63.5 135.4c0 97.2-78.8 176-176 176s-176-78.8-176-176c0-54.4 24.7-103.1 63.5-135.4z\"],\n \"right-long\": [512, 512, [\"long-arrow-alt-right\"], \"f30b\", \"M334.5 414c8.8 3.8 19 2 26-4.6l144-136c4.8-4.5 7.5-10.8 7.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6s-14.5 12.5-14.5 22l0 88L32 208c-17.7 0-32 14.3-32 32l0 32c0 17.7 14.3 32 32 32l288 0 0 88c0 9.6 5.7 18.2 14.5 22z\"],\n \"flag-usa\": [448, 512, [], \"f74d\", \"M32 0C49.7 0 64 14.3 64 32V48l69-17.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1v36.1l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-20.3-9-41.8-14.7-63.6-16.9v32.2c17.4 2.1 34.4 6.7 50.6 13.9l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 136.3v62l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-40.2-17.9-85-22.5-128.1-13.3L64 203.1v32.7l70.2-15.1c36.4-7.8 74.3-3.9 108.4 11.3l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 232.3v62l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-40.2-17.9-85-22.5-128.1-13.3L64 299.1v32.7l70.2-15.1c36.4-7.8 74.3-3.9 108.4 11.3l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 328.3v33.5c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.4-23.7-122.5-13.4L64 400v80c0 17.7-14.3 32-32 32s-32-14.3-32-32V416 345.5 312.8 249.5 216.8 153.5 120.8 64 32C0 14.3 14.3 0 32 0zm80 96A16 16 0 1 0 80 96a16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-32 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"],\n \"laptop-file\": [640, 512, [], \"e51d\", \"M192 0H48C21.5 0 0 21.5 0 48V368c0 26.5 21.5 48 48 48H162.7c6.6-18.6 24.4-32 45.3-32V272c0-44.2 35.8-80 80-80h32V128H224c-17.7 0-32-14.3-32-32V0zm96 224c-26.5 0-48 21.5-48 48v16 96 32H208c-8.8 0-16 7.2-16 16v16c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V432c0-8.8-7.2-16-16-16H592V288c0-35.3-28.7-64-64-64H320 304 288zm32 64H528V416H304V288h16zM224 0V96h96L224 0z\"],\n \"tty\": [512, 512, [\"teletype\"], \"f1e4\", \"M472.7 188.8c-8.5 13.8-26.8 19.6-42.7 13.6L356 174.2c-14-5.3-22.5-18.5-21-32.4l4.6-42.6c-54.1-17.4-113.2-17.4-167.3 0l4.6 42.6c1.5 13.9-7 27.1-21 32.4L82 202.4c-15.9 6.1-34.2 .3-42.7-13.6L4.5 132.5c-7.7-12.4-5.4-28 5.5-38.1c135.9-125.8 356.1-125.8 492 0c10.9 10.1 13.2 25.7 5.5 38.1l-34.8 56.4zM32 272c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V272zm0 192c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V464zM96 352h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm32-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V272zm64 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm32-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V272zm64 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H384c-8.8 0-16-7.2-16-16V368zM336 256h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V272zm16 176h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V464c0-8.8 7.2-16 16-16zM128 464c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V464z\"],\n \"diagram-next\": [512, 512, [], \"e476\", \"M512 160c0 35.3-28.7 64-64 64H280v64h46.1c21.4 0 32.1 25.9 17 41L273 399c-9.4 9.4-24.6 9.4-33.9 0L169 329c-15.1-15.1-4.4-41 17-41H232V224H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64v64zM448 416V352H365.3l.4-.4c18.4-18.4 20.4-43.7 11-63.6l71.3 0c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64l71.3 0c-9.4 19.9-7.4 45.2 11 63.6l.4 .4H64v64H210.7l5.7 5.7c21.9 21.9 57.3 21.9 79.2 0l5.7-5.7H448z\"],\n \"person-rifle\": [576, 512, [], \"e54e\", \"M265.2 192c25.4 0 49.8 7.1 70.8 19.9V512H144V337.7L90.4 428.3c-11.2 19-35.8 25.3-54.8 14.1s-25.3-35.8-14.1-54.8L97.7 258.8c24.5-41.4 69-66.8 117.1-66.8h50.4zM320 80c0 44.2-35.8 80-80 80s-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80zM448 0c8.8 0 16 7.2 16 16V132.3c9.6 5.5 16 15.9 16 27.7V269.3l16-5.3V208c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v84.5c0 6.9-4.4 13-10.9 15.2L480 325.3V352h48c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H484l23 92.1c2.5 10.1-5.1 19.9-15.5 19.9H432c-8.8 0-16-7.2-16-16V400H400c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32V160c0-11.8 6.4-22.2 16-27.7V32c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 16z\"],\n \"house-medical-circle-exclamation\": [640, 512, [], \"e512\", \"M320 368c0 59.5 29.5 112.1 74.8 144H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64H320V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM496 512c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm0-48c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"],\n \"closed-captioning\": [576, 512, [], \"f20a\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM200 208c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48s21.5-48 48-48zm144 48c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z\"],\n \"person-hiking\": [384, 512, [\"hiking\"], \"f6ec\", \"M288 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM243.3 230.7L224.2 307l49.7 49.7c9 9 14.1 21.2 14.1 33.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3l-73.9-73.9c-15.8-15.8-22.2-38.6-16.9-60.3l20.4-84c8.3-34.1 42.7-54.9 76.7-46.4c19 4.8 35.6 16.4 46.4 32.7L305.1 208H336V184c0-13.3 10.7-24 24-24s24 10.7 24 24v55.8c0 .1 0 .2 0 .2s0 .2 0 .2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V272H296.6c-16 0-31-8-39.9-21.4l-13.3-20zM81.1 471.9L117.3 334c3 4.2 6.4 8.2 10.1 11.9l41.9 41.9L142.9 488.1c-4.5 17.1-22 27.3-39.1 22.8s-27.3-22-22.8-39.1zm55.5-346L101.4 266.5c-3 12.1-14.9 19.9-27.2 17.9l-47.9-8c-14-2.3-22.9-16.3-19.2-30L31.9 155c9.5-34.8 41.1-59 77.2-59h4.2c15.6 0 27.1 14.7 23.3 29.8z\"],\n \"venus-double\": [640, 512, [9890], \"f226\", \"M192 288c61.9 0 112-50.1 112-112s-50.1-112-112-112S80 114.1 80 176s50.1 112 112 112zM368 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H224v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1C78.1 334.1 16 262.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176zM344 318c14.6-15.6 26.8-33.4 36-53c18.8 14.4 42.4 23 68 23c61.9 0 112-50.1 112-112s-50.1-112-112-112c-25.6 0-49.1 8.6-68 23c-9.3-19.5-21.5-37.4-36-53C373.1 12.6 409.1 0 448 0c97.2 0 176 78.8 176 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H480v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1c-26.6-4.9-51.1-15.7-72-31.1z\"],\n \"images\": [576, 512, [], \"f302\", \"M160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM396 138.7l96 144c4.9 7.4 5.4 16.8 1.2 24.6S480.9 320 472 320H328 280 200c-9.2 0-17.6-5.3-21.6-13.6s-2.9-18.2 2.9-25.4l64-80c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l17.3 21.6 56-84C360.5 132 368 128 376 128s15.5 4 20 10.7zM256 128c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"],\n \"calculator\": [384, 512, [128425], \"f1ec\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 64H288c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zM64 224c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32zM64 416c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM192 192c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32zM160 320c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zM288 192c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32zM256 320c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32z\"],\n \"people-pulling\": [576, 512, [], \"e535\", \"M80 96c26.5 0 48-21.5 48-48s-21.5-48-48-48S32 21.5 32 48s21.5 48 48 48zM64 128c-35.3 0-64 28.7-64 64V320c0 17.7 14.3 32 32 32c9.8 0 18.5-4.4 24.4-11.2L80.4 485.3c2.9 17.4 19.4 29.2 36.8 26.3s29.2-19.4 26.3-36.8L123.1 352h15.7l30 134.9c3.8 17.3 20.9 28.1 38.2 24.3s28.1-20.9 24.3-38.2l-57.3-258 116.3 53.8c.5 .3 1.1 .5 1.6 .7c8.6 3.6 18 3.1 25.9-.7c3.4-1.6 6.6-3.9 9.3-6.7c3.1-3.2 5.5-7 7.1-11.4c.1-.3 .2-.7 .3-1l2.5-7.5c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L537 232.7l-15.3-36.8C504.5 154.8 464.3 128 419.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-24.4 10.9-44.6 29-58.1 51.6L157.3 136.9C144.7 131 130.9 128 117 128H64zM464 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM349.7 335.6l-25 62.4-59.4 59.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L372.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6z\"],\n \"n\": [384, 512, [110], \"4e\", \"M21.1 33.9c12.7-4.6 26.9-.7 35.5 9.6L320 359.6V64c0-17.7 14.3-32 32-32s32 14.3 32 32V448c0 13.5-8.4 25.5-21.1 30.1s-26.9 .7-35.5-9.6L64 152.4V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 50.5 8.4 38.5 21.1 33.9z\"],\n \"cable-car\": [512, 512, [128673, 57551, \"tram\"], \"f7da\", \"M288 64c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm-64-8c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM32 288c0-35.3 28.7-64 64-64H232V157.5l-203.1 42c-13 2.7-25.7-5.7-28.4-18.6s5.7-25.7 18.6-28.4l232-48 232-48c13-2.7 25.7 5.7 28.4 18.6s-5.7 25.7-18.6 28.4L280 147.5V224H416c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V288zm64 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H96zm112 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H352z\"],\n \"cloud-rain\": [512, 512, [127783, 9926], \"f73d\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96zm-6.8 52c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3L89.2 372zm160 0c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3L249.2 372zm124.9 64.6L409.2 372c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3z\"],\n \"building-circle-xmark\": [640, 512, [], \"e4d4\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM496 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"],\n \"ship\": [576, 512, [128674], \"f21a\", \"M192 32c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V64h48c26.5 0 48 21.5 48 48V240l44.4 14.8c23.1 7.7 29.5 37.5 11.5 53.9l-101 92.6c-16.2 9.4-34.7 15.1-50.9 15.1c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-16.2 0-34.7-5.7-50.9-15.1l-101-92.6c-18-16.5-11.6-46.2 11.5-53.9L96 240V112c0-26.5 21.5-48 48-48h48V32zM160 218.7l107.8-35.9c13.1-4.4 27.3-4.4 40.5 0L416 218.7V128H160v90.7zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"],\n \"arrows-down-to-line\": [640, 512, [], \"e4b8\", \"M576 416L64 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32zm22.6-137.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L512 274.7 512 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 210.7-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96zm-320-45.3c-12.5-12.5-32.8-12.5-45.3 0L192 274.7 192 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 210.7L86.6 233.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3z\"],\n \"download\": [512, 512, [], \"f019\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zM432 456c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z\"],\n \"face-grin\": [512, 512, [128512, \"grin\"], \"f580\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM208.4 208c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm128 32c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"delete-left\": [576, 512, [9003, \"backspace\"], \"f55a\", \"M576 128c0-35.3-28.7-64-64-64H205.3c-17 0-33.3 6.7-45.3 18.7L9.4 233.4c-6 6-9.4 14.1-9.4 22.6s3.4 16.6 9.4 22.6L160 429.3c12 12 28.3 18.7 45.3 18.7H512c35.3 0 64-28.7 64-64V128zM271 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"],\n \"eye-dropper\": [512, 512, [\"eye-dropper-empty\", \"eyedropper\"], \"f1fb\", \"M341.6 29.2L240.1 130.8l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L482.8 170.4c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM55.4 323.3c-15 15-23.4 35.4-23.4 56.6v42.4L5.4 462.2c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4L89.7 480h42.4c21.2 0 41.6-8.4 56.6-23.4L309.4 335.9l-45.3-45.3L143.4 411.3c-3 3-7.1 4.7-11.3 4.7H96V379.9c0-4.2 1.7-8.3 4.7-11.3L221.4 247.9l-45.3-45.3L55.4 323.3z\"],\n \"file-circle-check\": [576, 512, [], \"e5a0\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM576 368c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zm-76.7-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"],\n \"forward\": [512, 512, [9193], \"f04e\", \"M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4L224 214.3V256v41.7L52.5 440.6zM256 352V256 128 96c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4l192 160c7.3 6.1 11.5 15.1 11.5 24.6s-4.2 18.5-11.5 24.6l-192 160c-9.5 7.9-22.8 9.7-34.1 4.4s-18.4-16.6-18.4-29V352z\"],\n \"mobile\": [384, 512, [128241, \"mobile-android\", \"mobile-phone\"], \"f3ce\", \"M80 0C44.7 0 16 28.7 16 64V448c0 35.3 28.7 64 64 64H304c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H80zm80 432h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"face-meh\": [512, 512, [128528, \"meh\"], \"f11a\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM176.4 240c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm192-32c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM160 336H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"align-center\": [448, 512, [], \"f037\", \"M352 64c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32z\"],\n \"book-skull\": [448, 512, [\"book-dead\"], \"f6b7\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM320 112c0-35.3-35.8-64-80-64s-80 28.7-80 64c0 20.9 12.6 39.5 32 51.2V176c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V163.2c19.4-11.7 32-30.3 32-51.2zM208 128c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16zm80-16c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16zM134.3 209.3c-8.1-3.5-17.5 .3-21 8.4s.3 17.5 8.4 21L199.4 272l-77.7 33.3c-8.1 3.5-11.9 12.9-8.4 21s12.9 11.9 21 8.4L240 289.4l105.7 45.3c8.1 3.5 17.5-.3 21-8.4s-.3-17.5-8.4-21L280.6 272l77.7-33.3c8.1-3.5 11.9-12.9 8.4-21s-12.9-11.9-21-8.4L240 254.6 134.3 209.3z\"],\n \"id-card\": [576, 512, [62147, \"drivers-license\"], \"f2c2\", \"M0 96l576 0c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96zm0 32V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128H0zM64 405.3c0-29.5 23.9-53.3 53.3-53.3H234.7c29.5 0 53.3 23.9 53.3 53.3c0 5.9-4.8 10.7-10.7 10.7H74.7c-5.9 0-10.7-4.8-10.7-10.7zM176 320c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zM352 208c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16z\"],\n \"outdent\": [512, 512, [\"dedent\"], \"f03b\", \"M32 64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H64C46.3 96 32 81.7 32 64zM224 192c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32zm32 96H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32zM32 448c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32zm.2-179.4c-8.2-6.4-8.2-18.9 0-25.3l101.9-79.3c10.5-8.2 25.8-.7 25.8 12.6V335.3c0 13.3-15.3 20.8-25.8 12.6L32.2 268.6z\"],\n \"heart-circle-exclamation\": [576, 512, [], \"e4fe\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm0-48c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm0-192c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"],\n \"house\": [576, 512, [127968, 63498, 63500, \"home\", \"home-alt\", \"home-lg-alt\"], \"f015\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z\"],\n \"calendar-week\": [448, 512, [], \"f784\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm80 64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80z\"],\n \"laptop-medical\": [640, 512, [], \"f812\", \"M64 96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V352H512V96H128V352H64V96zM0 403.2C0 392.6 8.6 384 19.2 384H620.8c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8H76.8C34.4 480 0 445.6 0 403.2zM288 160c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H352v48c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V272H240c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16h48V160z\"],\n \"b\": [320, 512, [98], \"42\", \"M32 32C14.3 32 0 46.3 0 64V256 448c0 17.7 14.3 32 32 32H192c70.7 0 128-57.3 128-128c0-46.5-24.8-87.3-62-109.7c18.7-22.3 30-51 30-82.3c0-70.7-57.3-128-128-128H32zM160 224H64V96h96c35.3 0 64 28.7 64 64s-28.7 64-64 64zM64 288h96 32c35.3 0 64 28.7 64 64s-28.7 64-64 64H64V288z\"],\n \"file-medical\": [384, 512, [], \"f477\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM160 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H224v48c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V352H112c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16h48V240z\"],\n \"dice-one\": [448, 512, [9856], \"f525\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 288c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"kiwi-bird\": [576, 512, [], \"f535\", \"M291.2 388.4c31.2-18.8 64.7-36.4 101.1-36.4H448c4.6 0 9.1-.2 13.6-.7l85.3 121.9c4 5.7 11.3 8.2 17.9 6.1s11.2-8.3 11.2-15.3V224c0-70.7-57.3-128-128-128H392.3c-36.4 0-69.9-17.6-101.1-36.4C262.3 42.1 228.3 32 192 32C86 32 0 118 0 224c0 71.1 38.6 133.1 96 166.3V456c0 13.3 10.7 24 24 24s24-10.7 24-24V410c15.3 3.9 31.4 6 48 6c5.4 0 10.7-.2 16-.7V456c0 13.3 10.7 24 24 24s24-10.7 24-24V405.1c12.4-4.4 24.2-10 35.2-16.7zM448 248c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z\"],\n \"arrow-right-arrow-left\": [448, 512, [8644, \"exchange\"], \"f0ec\", \"M438.6 150.6c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.7 96 32 96C14.3 96 0 110.3 0 128s14.3 32 32 32l306.7 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96zm-333.3 352c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 416 416 416c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96z\"],\n \"rotate-right\": [512, 512, [\"redo-alt\", \"rotate-forward\"], \"f2f9\", \"M463.5 224H472c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H463.5z\"],\n \"utensils\": [448, 512, [127860, 61685, \"cutlery\"], \"f2e7\", \"M416 0C400 0 288 32 288 176V288c0 35.3 28.7 64 64 64h32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352 240 32c0-17.7-14.3-32-32-32zM64 16C64 7.8 57.9 1 49.7 .1S34.2 4.6 32.4 12.5L2.1 148.8C.7 155.1 0 161.5 0 167.9c0 45.9 35.1 83.6 80 87.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32V255.6c44.9-4.1 80-41.8 80-87.7c0-6.4-.7-12.8-2.1-19.1L191.6 12.5c-1.8-8-9.3-13.3-17.4-12.4S160 7.8 160 16V150.2c0 5.4-4.4 9.8-9.8 9.8c-5.1 0-9.3-3.9-9.8-9L127.9 14.6C127.2 6.3 120.3 0 112 0s-15.2 6.3-15.9 14.6L83.7 151c-.5 5.1-4.7 9-9.8 9c-5.4 0-9.8-4.4-9.8-9.8V16zm48.3 152l-.3 0-.3 0 .3-.7 .3 .7z\"],\n \"arrow-up-wide-short\": [576, 512, [\"sort-amount-up\"], \"f161\", \"M151.6 42.4C145.5 35.8 137 32 128 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L96 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 480h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"],\n \"mill-sign\": [384, 512, [], \"e1ed\", \"M302.1 42.8c5.9-16.6-2.7-35-19.4-40.9s-35 2.7-40.9 19.4L208 116.1c-5.7 4-11.1 8.5-16 13.5C171.7 108.9 143.3 96 112 96c-19.5 0-37.8 5-53.7 13.7C52.5 101.4 42.9 96 32 96C14.3 96 0 110.3 0 128v80V416c0 17.7 14.3 32 32 32s32-14.3 32-32V208c0-26.5 21.5-48 48-48s48 21.5 48 48v42.5L81.9 469.2c-5.9 16.6 2.7 35 19.4 40.9s35-2.7 40.9-19.4l21.4-60C168.9 441 179.6 448 192 448c17.7 0 32-14.3 32-32V261.5l35.7-100c3.9-1 8.1-1.6 12.3-1.6c26.5 0 48 21.5 48 48V416c0 17.7 14.3 32 32 32s32-14.3 32-32V208c0-58.2-44.3-106-101.1-111.5l19.2-53.8z\"],\n \"bowl-rice\": [512, 512, [], \"e2eb\", \"M176 56c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24zm24 48h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24s10.7-24 24-24zM56 176H72c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zM0 283.4C0 268.3 12.3 256 27.4 256H484.6c15.1 0 27.4 12.3 27.4 27.4c0 70.5-44.4 130.7-106.7 154.1L403.5 452c-2 16-15.6 28-31.8 28H140.2c-16.1 0-29.8-12-31.8-28l-1.8-14.4C44.4 414.1 0 353.9 0 283.4zM224 200c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm-96 0c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H104c-13.3 0-24-10.7-24-24s10.7-24 24-24zm216 96c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H296c-13.3 0-24-10.7-24-24s10.7-24 24-24zm120 96c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H392c-13.3 0-24-10.7-24-24s10.7-24 24-24zM296 32h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H296c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"],\n \"skull\": [512, 512, [128128], \"f54c\", \"M416 398.9c58.5-41.1 96-104.1 96-174.9C512 100.3 397.4 0 256 0S0 100.3 0 224c0 70.7 37.5 133.8 96 174.9c0 .4 0 .7 0 1.1v64c0 26.5 21.5 48 48 48h48V464c0-8.8 7.2-16 16-16s16 7.2 16 16v48h64V464c0-8.8 7.2-16 16-16s16 7.2 16 16v48h48c26.5 0 48-21.5 48-48V400c0-.4 0-.7 0-1.1zM224 256c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zm128 64c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64z\"],\n \"tower-broadcast\": [576, 512, [\"broadcast-tower\"], \"f519\", \"M80.3 44C69.8 69.9 64 98.2 64 128s5.8 58.1 16.3 84c6.6 16.4-1.3 35-17.7 41.7s-35-1.3-41.7-17.7C7.4 202.6 0 166.1 0 128S7.4 53.4 20.9 20C27.6 3.6 46.2-4.3 62.6 2.3S86.9 27.6 80.3 44zM555.1 20C568.6 53.4 576 89.9 576 128s-7.4 74.6-20.9 108c-6.6 16.4-25.3 24.3-41.7 17.7S489.1 228.4 495.7 212c10.5-25.9 16.3-54.2 16.3-84s-5.8-58.1-16.3-84C489.1 27.6 497 9 513.4 2.3s35 1.3 41.7 17.7zM352 128c0 23.7-12.9 44.4-32 55.4V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V183.4c-19.1-11.1-32-31.7-32-55.4c0-35.3 28.7-64 64-64s64 28.7 64 64zM170.6 76.8C163.8 92.4 160 109.7 160 128s3.8 35.6 10.6 51.2c7.1 16.2-.3 35.1-16.5 42.1s-35.1-.3-42.1-16.5c-10.3-23.6-16-49.6-16-76.8s5.7-53.2 16-76.8c7.1-16.2 25.9-23.6 42.1-16.5s23.6 25.9 16.5 42.1zM464 51.2c10.3 23.6 16 49.6 16 76.8s-5.7 53.2-16 76.8c-7.1 16.2-25.9 23.6-42.1 16.5s-23.6-25.9-16.5-42.1c6.8-15.6 10.6-32.9 10.6-51.2s-3.8-35.6-10.6-51.2c-7.1-16.2 .3-35.1 16.5-42.1s35.1 .3 42.1 16.5z\"],\n \"truck-pickup\": [640, 512, [128763], \"f63c\", \"M368.6 96l76.8 96H288V96h80.6zM224 80V192H64c-17.7 0-32 14.3-32 32v64c-17.7 0-32 14.3-32 32s14.3 32 32 32H65.1c-.7 5.2-1.1 10.6-1.1 16c0 61.9 50.1 112 112 112s112-50.1 112-112c0-5.4-.4-10.8-1.1-16h66.3c-.7 5.2-1.1 10.6-1.1 16c0 61.9 50.1 112 112 112s112-50.1 112-112c0-5.4-.4-10.8-1.1-16H608c17.7 0 32-14.3 32-32s-14.3-32-32-32V224c0-17.7-14.3-32-32-32H527.4L418.6 56c-12.1-15.2-30.5-24-50-24H272c-26.5 0-48 21.5-48 48zM128 368c0-26.5 21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48zm288 0c0-26.5 21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48z\"],\n \"up-long\": [320, 512, [\"long-arrow-alt-up\"], \"f30c\", \"M318 177.5c3.8-8.8 2-19-4.6-26l-136-144C172.9 2.7 166.6 0 160 0s-12.9 2.7-17.4 7.5l-136 144c-6.6 7-8.4 17.2-4.6 26S14.4 192 24 192h88l0 288c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32l0-288h88c9.6 0 18.2-5.7 22-14.5z\"],\n \"stop\": [384, 512, [9209], \"f04d\", \"M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"],\n \"code-merge\": [448, 512, [], \"f387\", \"M80 104c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm32.4 49.2c28-12.4 47.6-40.5 47.6-73.2c0-44.2-35.8-80-80-80S0 35.8 0 80c0 32.8 19.7 61 48 73.3V358.7C19.7 371 0 399.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3V272c26.7 20.1 60 32 96 32h86.7c12.3 28.3 40.5 48 73.3 48c44.2 0 80-35.8 80-80s-35.8-80-80-80c-32.8 0-61 19.7-73.3 48H208c-49.9 0-91-38.1-95.6-86.8zM80 456c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zM392 272c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z\"],\n \"upload\": [512, 512, [], \"f093\", \"M288 109.3V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3l-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352H192c0 35.3 28.7 64 64 64s64-28.7 64-64H448c35.3 0 64 28.7 64 64v32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V416c0-35.3 28.7-64 64-64zM432 456c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z\"],\n \"hurricane\": [384, 512, [], \"f751\", \"M0 208C0 104.4 75.7 18.5 174.9 2.6C184 1.2 192 8.6 192 17.9V81.2c0 8.4 6.5 15.3 14.7 16.5C307 112.5 384 199 384 303.4c0 103.6-75.7 189.5-174.9 205.4c-9.2 1.5-17.1-5.9-17.1-15.2V430.2c0-8.4-6.5-15.3-14.7-16.5C77 398.9 0 312.4 0 208zm288 48c0-53-43-96-96-96s-96 43-96 96s43 96 96 96s96-43 96-96zm-96 32c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"mound\": [576, 512, [], \"e52d\", \"M144.1 179.2C173.8 127.7 228.6 96 288 96s114.2 31.7 143.9 83.2L540.4 368c12.3 21.3-3.1 48-27.7 48H63.3c-24.6 0-40-26.6-27.7-48L144.1 179.2z\"],\n \"toilet-portable\": [320, 512, [], \"e583\", \"M0 32V64H320V32c0-17.7-14.3-32-32-32H32C14.3 0 0 14.3 0 32zM24 96H0v24V488c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H272v8c0 13.3 10.7 24 24 24s24-10.7 24-24V120 96H296 24zM256 240v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16s16 7.2 16 16z\"],\n \"compact-disc\": [512, 512, [128191, 128192, 128440], \"f51f\", \"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM256 224c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32zm-96 32c0 53 43 96 96 96s96-43 96-96s-43-96-96-96s-96 43-96 96zM96 240c0-35 17.5-71.1 45.2-98.8S205 96 240 96c8.8 0 16-7.2 16-16s-7.2-16-16-16c-45.4 0-89.2 22.3-121.5 54.5S64 194.6 64 240c0 8.8 7.2 16 16 16s16-7.2 16-16z\"],\n \"file-arrow-down\": [384, 512, [\"file-download\"], \"f56d\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM216 232V334.1l31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31V232c0-13.3 10.7-24 24-24s24 10.7 24 24z\"],\n \"caravan\": [640, 512, [], \"f8ff\", \"M0 112C0 67.8 35.8 32 80 32H416c88.4 0 160 71.6 160 160V352h32c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0H288c0 53-43 96-96 96s-96-43-96-96H80c-44.2 0-80-35.8-80-80V112zM320 352H448V256H416c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V160c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32V352zM96 128c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96zm96 336c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48z\"],\n \"shield-cat\": [512, 512, [], \"e572\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM160 154.4c0-5.8 4.7-10.4 10.4-10.4h.2c3.4 0 6.5 1.6 8.5 4.3l40 53.3c3 4 7.8 6.4 12.8 6.4h48c5 0 9.8-2.4 12.8-6.4l40-53.3c2-2.7 5.2-4.3 8.5-4.3h.2c5.8 0 10.4 4.7 10.4 10.4V272c0 53-43 96-96 96s-96-43-96-96V154.4zM216 288c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16zm96-16c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16z\"],\n \"bolt\": [448, 512, [9889, \"zap\"], \"f0e7\", \"M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288H175.5L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H272.5L349.4 44.6z\"],\n \"glass-water\": [448, 512, [], \"e4f4\", \"M64 0C55.1 0 46.6 3.7 40.6 10.2s-9.1 15.2-8.5 24.1L60.9 437.7c3 41.9 37.8 74.3 79.8 74.3H307.3c42 0 76.8-32.4 79.8-74.3L415.9 34.3c.6-8.9-2.4-17.6-8.5-24.1S392.9 0 384 0H64zm41 156.5L98.4 64H349.6L343 156.5l-24.2 12.1c-19.4 9.7-42.2 9.7-61.6 0c-20.9-10.4-45.5-10.4-66.4 0c-19.4 9.7-42.2 9.7-61.6 0L105 156.5z\"],\n \"oil-well\": [576, 512, [], \"e532\", \"M528.3 61.3c-11.4-42.7-55.3-68-98-56.6L414.9 8.8C397.8 13.4 387.7 31 392.3 48l24.5 91.4L308.5 167.5l-6.3-18.1C297.7 136.6 285.6 128 272 128s-25.7 8.6-30.2 21.4l-13.6 39L96 222.6V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H406.7L340 257.5l-62.2 16.1L305.3 352H238.7L265 277l-74.6 19.3L137.3 448H96V288.8l337.4-87.5 25.2 94c4.6 17.1 22.1 27.2 39.2 22.6l15.5-4.1c42.7-11.4 68-55.3 56.6-98L528.3 61.3zM205.1 448l11.2-32H327.7l11.2 32H205.1z\"],\n \"vault\": [576, 512, [], \"e2c5\", \"M64 0C28.7 0 0 28.7 0 64V416c0 35.3 28.7 64 64 64H80l16 32h64l16-32H400l16 32h64l16-32h16c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM224 320c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80zm0 80c-88.4 0-160-71.6-160-160s71.6-160 160-160s160 71.6 160 160s-71.6 160-160 160zM480 221.3V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V221.3c-18.6-6.6-32-24.4-32-45.3c0-26.5 21.5-48 48-48s48 21.5 48 48c0 20.9-13.4 38.7-32 45.3z\"],\n \"mars\": [448, 512, [9794], \"f222\", \"M289.8 46.8c3.7-9 12.5-14.8 22.2-14.8H424c13.3 0 24 10.7 24 24V168c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-33.4-33.4L321 204.2c19.5 28.4 31 62.7 31 99.8c0 97.2-78.8 176-176 176S0 401.2 0 304s78.8-176 176-176c37 0 71.4 11.4 99.8 31l52.6-52.6L295 73c-6.9-6.9-8.9-17.2-5.2-26.2zM400 80l0 0h0v0zM176 416c61.9 0 112-50.1 112-112s-50.1-112-112-112s-112 50.1-112 112s50.1 112 112 112z\"],\n \"toilet\": [448, 512, [128701], \"f7d8\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48h8V196.9c-1.9 1.4-3.8 2.9-5.6 4.4C10.9 214.5 0 232.9 0 256c0 46.9 14.3 84.1 37 112.5c14.2 17.7 31.1 31.3 48.5 41.8L65.6 469.9c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3H352c10.3 0 19.9-4.9 26-13.3s7.7-19.1 4.4-28.8l-19.8-59.5c17.4-10.5 34.3-24.1 48.5-41.8c22.7-28.4 37-65.5 37-112.5c0-23.1-10.9-41.5-26.4-54.6c-1.8-1.5-3.7-3-5.6-4.4V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM384 256.3c0 1-.3 2.6-3.8 5.6c-4.8 4.1-14 9-29.3 13.4C320.5 284 276.1 288 224 288s-96.5-4-126.9-12.8c-15.3-4.4-24.5-9.3-29.3-13.4c-3.5-3-3.8-4.6-3.8-5.6l0-.3 0-.1c0-1 0-2.5 3.8-5.8c4.8-4.1 14-9 29.3-13.4C127.5 228 171.9 224 224 224s96.5 4 126.9 12.8c15.3 4.4 24.5 9.3 29.3 13.4c3.8 3.2 3.8 4.8 3.8 5.8l0 .1 0 .3zM328.2 384l-.2 .5 0-.5h.2zM112 64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"plane-circle-xmark\": [640, 512, [], \"e557\", \"M256 0c-35 0-64 59.5-64 93.7v84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9v65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3V93.7C320 59.5 292 0 256 0zM496 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"],\n \"yen-sign\": [320, 512, [165, \"cny\", \"jpy\", \"rmb\", \"yen\"], \"f157\", \"M58.6 46.2C48.8 31.5 29 27.6 14.2 37.4S-4.4 67 5.4 81.7L100.2 224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h80v32H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h80v64c0 17.7 14.3 32 32 32s32-14.3 32-32V384h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V288h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H219.8L314.6 81.7c9.8-14.7 5.8-34.6-8.9-44.4s-34.6-5.8-44.4 8.9L160 198.3 58.6 46.2z\"],\n \"ruble-sign\": [384, 512, [8381, \"rouble\", \"rub\", \"ruble\"], \"f158\", \"M96 32C78.3 32 64 46.3 64 64V256H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v32c0 17.7 14.3 32 32 32s32-14.3 32-32V416H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H128V320H240c79.5 0 144-64.5 144-144s-64.5-144-144-144H96zM240 256H128V96H240c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"],\n \"sun\": [512, 512, [9728], \"f185\", \"M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z\"],\n \"guitar\": [512, 512, [], \"f7a6\", \"M465 7c-9.4-9.4-24.6-9.4-33.9 0L383 55c-2.4 2.4-4.3 5.3-5.5 8.5l-15.4 41-77.5 77.6c-45.1-29.4-99.3-30.2-131 1.6c-11 11-18 24.6-21.4 39.6c-3.7 16.6-19.1 30.7-36.1 31.6c-25.6 1.3-49.3 10.7-67.3 28.6C-16 328.4-7.6 409.4 47.5 464.5s136.1 63.5 180.9 18.7c17.9-17.9 27.4-41.7 28.6-67.3c.9-17 15-32.3 31.6-36.1c15-3.4 28.6-10.5 39.6-21.4c31.8-31.8 31-85.9 1.6-131l77.6-77.6 41-15.4c3.2-1.2 6.1-3.1 8.5-5.5l48-48c9.4-9.4 9.4-24.6 0-33.9L465 7zM208 352c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48z\"],\n \"face-laugh-wink\": [512, 512, [\"laugh-wink\"], \"f59c\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM208.4 192c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm92.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"],\n \"horse-head\": [512, 512, [], \"f7ab\", \"M0 464V316.9C0 208.5 68.3 111.8 170.5 75.6L340.2 15.5C361.6 7.9 384 23.8 384 46.4c0 11-5.5 21.2-14.6 27.3L336 96c48.1 0 91.2 29.8 108.1 74.9l48.6 129.5c11.8 31.4 4.1 66.8-19.6 90.5c-16 16-37.8 25.1-60.5 25.1h-3.4c-26.1 0-50.9-11.6-67.6-31.7l-32.3-38.7c-11.7 4.1-24.2 6.4-37.3 6.4l-.1 0 0 0c-6.3 0-12.5-.5-18.6-1.5c-3.6-.6-7.2-1.4-10.7-2.3l0 0c-28.9-7.8-53.1-26.8-67.8-52.2c-4.4-7.6-14.2-10.3-21.9-5.8s-10.3 14.2-5.8 21.9c24 41.5 68.3 70 119.3 71.9l47.2 70.8c4 6.1 6.2 13.2 6.2 20.4c0 20.3-16.5 36.8-36.8 36.8H48c-26.5 0-48-21.5-48-48zM328 224c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z\"],\n \"bore-hole\": [512, 512, [], \"e4c3\", \"M256 0c-17.7 0-32 14.3-32 32V296.6c-19.1 11.1-32 31.7-32 55.4c0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.4-32-55.4V32c0-17.7-14.3-32-32-32zM48 128c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H352V352c0 53-43 96-96 96s-96-43-96-96V128H48z\"],\n \"industry\": [512, 512, [], \"f275\", \"M32 32C14.3 32 0 46.3 0 64V304v48 80c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V304 152.2c0-18.2-19.4-29.7-35.4-21.1L320 215.4V152.2c0-18.2-19.4-29.7-35.4-21.1L128 215.4V64c0-17.7-14.3-32-32-32H32z\"],\n \"circle-down\": [512, 512, [61466, \"arrow-alt-circle-down\"], \"f358\", \"M256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256S397.4 0 256 0zM244.7 395.3l-112-112c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9l64 0 0-96c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 96 64 0c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-112 112c-6.2 6.2-16.4 6.2-22.6 0z\"],\n \"arrows-turn-to-dots\": [512, 512, [], \"e4c1\", \"M249.4 25.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L269.3 96 416 96c53 0 96 43 96 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7-14.3-32-32-32l-146.7 0 25.4 25.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-80-80c-12.5-12.5-12.5-32.8 0-45.3l80-80zm13.3 256l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 416 96 416c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448c0-53 43-96 96-96l146.7 0-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0zM512 384c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM64 64c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64S28.7 64 64 64z\"],\n \"florin-sign\": [384, 512, [], \"e184\", \"M314.7 32c-38.8 0-73.7 23.3-88.6 59.1L170.7 224H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h80L98.9 396.3c-5 11.9-16.6 19.7-29.5 19.7H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H69.3c38.8 0 73.7-23.3 88.6-59.1L213.3 288H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H240l45.1-108.3c5-11.9 16.6-19.7 29.5-19.7H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H314.7z\"],\n \"arrow-down-short-wide\": [576, 512, [\"sort-amount-desc\", \"sort-amount-down-alt\"], \"f884\", \"M151.6 469.6C145.5 476.2 137 480 128 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L96 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"less-than\": [384, 512, [62774], \"3c\", \"M380.6 81.7c7.9 15.8 1.5 35-14.3 42.9L103.6 256 366.3 387.4c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-320-160C6.8 279.2 0 268.1 0 256s6.8-23.2 17.7-28.6l320-160c15.8-7.9 35-1.5 42.9 14.3z\"],\n \"angle-down\": [448, 512, [8964], \"f107\", \"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"],\n \"car-tunnel\": [512, 512, [], \"e4de\", \"M256 0C114.6 0 0 114.6 0 256V448c0 35.3 28.7 64 64 64h64H384h64c35.3 0 64-28.7 64-64V256C512 114.6 397.4 0 256 0zM384 512c-17.7 0-32-14.3-32-32V448H160v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V376c0-20.8 11.3-38.9 28.1-48.6l21-64.7c7.5-23.1 29-38.7 53.3-38.7H313.6c24.3 0 45.8 15.6 53.3 38.7l21 64.7c16.8 9.7 28.2 27.8 28.2 48.6V480c0 17.7-14.3 32-32 32zM190.8 277.5L177 320H335l-13.8-42.5c-1.1-3.3-4.1-5.5-7.6-5.5H198.4c-3.5 0-6.5 2.2-7.6 5.5zM168 408c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zm200-24c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24z\"],\n \"head-side-cough\": [640, 512, [], \"e061\", \"M0 201.7C0 90.3 90.3 0 201.7 0H224c95.2 0 174.2 69.3 189.4 160.1c2.2 13 6.7 25.7 15 36.1l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H416v32H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c0 35.3-28.7 64-64 64H288c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V375.8c0-17-7.1-33-17.5-46.4C18.3 293.2 0 246.5 0 201.7zM336 224c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm272 88c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm-40 24c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24zm-64 48c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24zm128 0c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24zM608 504c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm-40-72c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z\"],\n \"grip-lines\": [448, 512, [], \"f7a4\", \"M32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 288zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160z\"],\n \"thumbs-down\": [512, 512, [128078, 61576], \"f165\", \"M313.4 479.1c26-5.2 42.9-30.5 37.7-56.5l-2.3-11.4c-5.3-26.7-15.1-52.1-28.8-75.2H464c26.5 0 48-21.5 48-48c0-25.3-19.5-46-44.3-47.9c7.7-8.5 12.3-19.8 12.3-32.1c0-23.4-16.8-42.9-38.9-47.1c4.4-7.3 6.9-15.8 6.9-24.9c0-21.3-13.9-39.4-33.1-45.6c.7-3.3 1.1-6.8 1.1-10.4c0-26.5-21.5-48-48-48H294.5c-19 0-37.5 5.6-53.3 16.1L202.7 73.8C176 91.6 160 121.6 160 153.7V192v48 24.9c0 29.2 13.3 56.7 36 75l7.4 5.9c26.5 21.2 44.6 51 51.2 84.2l2.3 11.4c5.2 26 30.5 42.9 56.5 37.7zM32 320H96c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64V288c0 17.7 14.3 32 32 32z\"],\n \"user-lock\": [640, 512, [], \"f502\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0S96 57.3 96 128s57.3 128 128 128zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H392.6c-5.4-9.4-8.6-20.3-8.6-32V352c0-2.1 .1-4.2 .3-6.3c-31-26-71-41.7-114.6-41.7H178.3zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"],\n \"arrow-right-long\": [512, 512, [\"long-arrow-right\"], \"f178\", \"M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l370.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"],\n \"anchor-circle-xmark\": [640, 512, [], \"e4ac\", \"M256 96c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm85.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2H320V368 240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM496 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"],\n \"ellipsis\": [448, 512, [\"ellipsis-h\"], \"f141\", \"M120 256c0 30.9-25.1 56-56 56s-56-25.1-56-56s25.1-56 56-56s56 25.1 56 56zm160 0c0 30.9-25.1 56-56 56s-56-25.1-56-56s25.1-56 56-56s56 25.1 56 56zm104 56c-30.9 0-56-25.1-56-56s25.1-56 56-56s56 25.1 56 56s-25.1 56-56 56z\"],\n \"chess-pawn\": [320, 512, [9823], \"f443\", \"M264 136c0 37.1-19.4 69.6-48.6 88H224c17.7 0 32 14.3 32 32s-14.3 32-32 32c0 96 24 128 24 128H72s24-32 24-128c-17.7 0-32-14.3-32-32s14.3-32 32-32h8.5C75.4 205.6 56 173.1 56 136C56 78.6 102.6 32 160 32s104 46.6 104 104zM32 448H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"kit-medical\": [576, 512, [\"first-aid\"], \"f479\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H96V32H64zm64 0V480H448V32H128zM512 480c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H480V480h32zM256 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V288H208c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16h48V176z\"],\n \"person-through-window\": [640, 512, [], \"e5a9\", \"M64 64l224 0 0 9.8c0 39-23.7 74-59.9 88.4C167.6 186.5 128 245 128 310.2l0 73.8s0 0 0 0H64V64zm288 0l224 0V384H508.3l-3.7-4.5-75.2-90.2c-9.1-10.9-22.6-17.3-36.9-17.3l-71.1 0-41-63.1c-.3-.5-.6-1-1-1.4c44.7-29 72.5-79 72.5-133.6l0-9.8zm73 320H379.2l42.7 64H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48V400c0 26.5 21.5 48 48 48H308.2l33.2 49.8c9.8 14.7 29.7 18.7 44.4 8.9s18.7-29.7 8.9-44.4L310.5 336l74.6 0 40 48zm-159.5 0H192s0 0 0 0l0-73.8c0-10.2 1.6-20.1 4.7-29.5L265.5 384zM192 128c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48z\"],\n \"toolbox\": [512, 512, [129520], \"f552\", \"M176 88v40H336V88c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zm-48 40V88c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56v40h28.1c12.7 0 24.9 5.1 33.9 14.1l51.9 51.9c9 9 14.1 21.2 14.1 33.9V304H384V288c0-17.7-14.3-32-32-32s-32 14.3-32 32v16H192V288c0-17.7-14.3-32-32-32s-32 14.3-32 32v16H0V227.9c0-12.7 5.1-24.9 14.1-33.9l51.9-51.9c9-9 21.2-14.1 33.9-14.1H128zM0 416V336H128v16c0 17.7 14.3 32 32 32s32-14.3 32-32V336H320v16c0 17.7 14.3 32 32 32s32-14.3 32-32V336H512v80c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64z\"],\n \"hands-holding-circle\": [640, 512, [], \"e4fb\", \"M320 256c-70.7 0-128-57.3-128-128S249.3 0 320 0s128 57.3 128 128s-57.3 128-128 128zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z\"],\n \"bug\": [512, 512, [], \"f188\", \"M256 0c53 0 96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H188.4c-15.7 0-28.4-12.7-28.4-28.4V96c0-53 43-96 96-96zM41.4 105.4c12.5-12.5 32.8-12.5 45.3 0l64 64c.7 .7 1.3 1.4 1.9 2.1c14.2-7.3 30.4-11.4 47.5-11.4H312c17.1 0 33.2 4.1 47.5 11.4c.6-.7 1.2-1.4 1.9-2.1l64-64c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-64 64c-.7 .7-1.4 1.3-2.1 1.9c6.2 12 10.1 25.3 11.1 39.5H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c0 24.6-5.5 47.8-15.4 68.6c2.2 1.3 4.2 2.9 6 4.8l64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-63.1-63.1c-24.5 21.8-55.8 36.2-90.3 39.6V240c0-8.8-7.2-16-16-16s-16 7.2-16 16V479.2c-34.5-3.4-65.8-17.8-90.3-39.6L86.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l64-64c1.9-1.9 3.9-3.4 6-4.8C101.5 367.8 96 344.6 96 320H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96.3c1.1-14.1 5-27.5 11.1-39.5c-.7-.6-1.4-1.2-2.1-1.9l-64-64c-12.5-12.5-12.5-32.8 0-45.3z\"],\n \"credit-card\": [576, 512, [128179, 62083, \"credit-card-alt\"], \"f09d\", \"M64 32C28.7 32 0 60.7 0 96v32H576V96c0-35.3-28.7-64-64-64H64zM576 224H0V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V224zM112 352h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"],\n \"car\": [512, 512, [128664, \"automobile\"], \"f1b9\", \"M135.2 117.4L109.1 192H402.9l-26.1-74.6C372.3 104.6 360.2 96 346.6 96H165.4c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32H346.6c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2V400v48c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V400H96v48c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V400 256c0-26.7 16.4-49.6 39.6-59.2zM128 288c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm288 32c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"hand-holding-hand\": [576, 512, [], \"e4f7\", \"M7.8 207.7c-13.1-17.8-9.3-42.8 8.5-55.9L142.9 58.5C166.2 41.3 194.5 32 223.5 32H384 544c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H507.2l-44.9 36c-22.7 18.2-50.9 28-80 28H304 288 224c-17.7 0-32-14.3-32-32s14.3-32 32-32h64 16c8.8 0 16-7.2 16-16s-7.2-16-16-16H183.4L63.7 216.2c-17.8 13.1-42.8 9.3-55.9-8.5zM382.4 160l0 0 .9 0c-.3 0-.6 0-.9 0zM568.2 304.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 453.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 352l0 0-.9 0c.3 0 .6 0 .9 0z\"],\n \"book-open-reader\": [512, 512, [\"book-reader\"], \"f5da\", \"M352 96c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zM240 248V512l-48.4-24.2c-20.9-10.4-43.5-17-66.8-19.3l-96-9.6C12.5 457.2 0 443.5 0 427V224c0-17.7 14.3-32 32-32H62.3c63.6 0 125.6 19.6 177.7 56zm32 264V248c52.1-36.4 114.1-56 177.7-56H480c17.7 0 32 14.3 32 32V427c0 16.4-12.5 30.2-28.8 31.8l-96 9.6c-23.2 2.3-45.9 8.9-66.8 19.3L272 512z\"],\n \"mountain-sun\": [640, 512, [], \"e52f\", \"M560 160c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80zM55.9 512H381.1h75H578.9c33.8 0 61.1-27.4 61.1-61.1c0-11.2-3.1-22.2-8.9-31.8l-132-216.3C495 196.1 487.8 192 480 192s-15 4.1-19.1 10.7l-48.2 79L286.8 81c-6.6-10.6-18.3-17-30.8-17s-24.1 6.4-30.8 17L8.6 426.4C3 435.3 0 445.6 0 456.1C0 487 25 512 55.9 512z\"],\n \"arrows-left-right-to-line\": [640, 512, [], \"e4ba\", \"M32 64c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 78.3 14.3 64 32 64zm214.6 73.4c12.5 12.5 12.5 32.8 0 45.3L205.3 224l229.5 0-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 288l-229.5 0 41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0zM640 96V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32s32 14.3 32 32z\"],\n \"dice-d20\": [512, 512, [], \"f6cf\", \"M64.7 125.8l53.2 31.9c7.8 4.7 17.8 2 22.2-5.9L217.6 12.1c3-5.4-.9-12.1-7.1-12.1c-1.6 0-3.2 .5-4.6 1.4L63.9 98.8c-9.6 6.6-9.2 20.9 .8 26.9zM32 171.7V295.3c0 8 10.4 11 14.7 4.4l60-92c5-7.6 2.6-17.8-5.2-22.5L56.2 158C45.6 151.6 32 159.3 32 171.7zM326.4 12.1l77.6 139.6c4.4 7.9 14.5 10.6 22.2 5.9l53.2-31.9c10-6 10.4-20.3 .8-26.9L338.1 1.4c-1.4-.9-3-1.4-4.6-1.4c-6.2 0-10.1 6.7-7.1 12.1zM512 171.7c0-12.4-13.6-20.1-24.2-13.7l-45.3 27.2c-7.8 4.7-10.1 14.9-5.2 22.5l60 92c4.3 6.7 14.7 3.6 14.7-4.4V171.7zm-49.3 246L302.1 436.6c-8.1 .9-14.1 7.8-14.1 15.9v52.8c0 3.7 3 6.8 6.8 6.8c.8 0 1.6-.1 2.4-.4l172.7-64c6.1-2.2 10.1-8 10.1-14.5c0-9.3-8.1-16.5-17.3-15.4zM249.2 512c3.7 0 6.8-3 6.8-6.8V452.6c0-8.1-6.1-14.9-14.1-15.9l-160.6-19c-9.2-1.1-17.3 6.1-17.3 15.4c0 6.5 4 12.3 10.1 14.5l172.7 64c.8 .3 1.6 .4 2.4 .4zM57.7 382.9l170.9 20.2c7.8 .9 13.4-7.5 9.5-14.3l-85.7-150c-5.9-10.4-20.7-10.8-27.3-.8L46.2 358.2c-6.5 9.9-.3 23.3 11.5 24.7zm439.6-24.8L418.9 238.1c-6.5-10-21.4-9.6-27.3 .8L306.2 388.5c-3.9 6.8 1.6 15.2 9.5 14.3l170.1-20c11.8-1.4 18-14.7 11.5-24.6zm-216.9 11l78.4-137.2c6.1-10.7-1.6-23.9-13.9-23.9H199.1c-12.3 0-20 13.3-13.9 23.9l78.4 137.2c3.7 6.4 13 6.4 16.7 0zM190.4 176H353.6c12.2 0 19.9-13.1 14-23.8l-80-144c-2.8-5.1-8.2-8.2-14-8.2h-3.2c-5.8 0-11.2 3.2-14 8.2l-80 144c-5.9 10.7 1.8 23.8 14 23.8z\"],\n \"truck-droplet\": [640, 512, [], \"e58c\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM160 464c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm368-48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM208 272c39.8 0 72-29.6 72-66c0-27-39.4-82.9-59.9-110.3c-6.1-8.2-18.1-8.2-24.2 0C175.4 123 136 179 136 206c0 36.5 32.2 66 72 66z\"],\n \"file-circle-xmark\": [576, 512, [], \"e5a1\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 384c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm59.3-180.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"],\n \"temperature-arrow-up\": [512, 512, [\"temperature-up\"], \"e040\", \"M96 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C217.8 332.6 224 349.5 224 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9C88.9 308.4 96 293.8 96 276.5V112zM144 0C82.1 0 32 50.1 32 112V276.4c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C11.2 304.2 0 334.8 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.3-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C256 50.1 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zM448 160h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V160z\"],\n \"medal\": [512, 512, [127941], \"f5a2\", \"M16 0H144c5.3 0 10.3 2.7 13.3 7.1l81.1 121.6c-49.5 4.1-94 25.6-127.6 58.3L2.7 24.9C-.6 20-.9 13.7 1.9 8.5S10.1 0 16 0zM509.3 24.9L401.2 187.1c-33.5-32.7-78.1-54.2-127.6-58.3L354.7 7.1c3-4.5 8-7.1 13.3-7.1H496c5.9 0 11.3 3.2 14.1 8.5s2.5 11.5-.8 16.4zM432 336c0 97.2-78.8 176-176 176s-176-78.8-176-176s78.8-176 176-176s176 78.8 176 176zM264.4 241.1c-3.4-7-13.3-7-16.8 0l-22.4 45.4c-1.4 2.8-4 4.7-7 5.1L168 298.9c-7.7 1.1-10.7 10.5-5.2 16l36.3 35.4c2.2 2.2 3.2 5.2 2.7 8.3l-8.6 49.9c-1.3 7.6 6.7 13.5 13.6 9.9l44.8-23.6c2.7-1.4 6-1.4 8.7 0l44.8 23.6c6.9 3.6 14.9-2.2 13.6-9.9l-8.6-49.9c-.5-3 .5-6.1 2.7-8.3l36.3-35.4c5.6-5.4 2.5-14.8-5.2-16l-50.1-7.3c-3-.4-5.7-2.4-7-5.1l-22.4-45.4z\"],\n \"bed\": [640, 512, [128716], \"f236\", \"M32 32c17.7 0 32 14.3 32 32V320H288V160c0-17.7 14.3-32 32-32H544c53 0 96 43 96 96V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H352 320 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 46.3 14.3 32 32 32zM176 288c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80z\"],\n \"square-h\": [448, 512, [\"h-square\"], \"f0fd\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM336 152V256 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H160l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24v80H288V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"],\n \"podcast\": [448, 512, [], \"f2ce\", \"M319.4 372c48.5-31.3 80.6-85.9 80.6-148c0-97.2-78.8-176-176-176S48 126.8 48 224c0 62.1 32.1 116.6 80.6 148c1.2 17.3 4 38 7.2 57.1l.2 1C56 395.8 0 316.5 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224c0 92.5-56 171.9-136 206.1l.2-1.1c3.1-19.2 6-39.8 7.2-57zm-2.3-38.1c-1.6-5.7-3.9-11.1-7-16.2c-5.8-9.7-13.5-17-21.9-22.4c19.5-17.6 31.8-43 31.8-71.3c0-53-43-96-96-96s-96 43-96 96c0 28.3 12.3 53.8 31.8 71.3c-8.4 5.4-16.1 12.7-21.9 22.4c-3.1 5.1-5.4 10.5-7 16.2C99.8 307.5 80 268 80 224c0-79.5 64.5-144 144-144s144 64.5 144 144c0 44-19.8 83.5-50.9 109.9zM224 312c32.9 0 64 8.6 64 43.8c0 33-12.9 104.1-20.6 132.9c-5.1 19-24.5 23.4-43.4 23.4s-38.2-4.4-43.4-23.4c-7.8-28.5-20.6-99.7-20.6-132.8c0-35.1 31.1-43.8 64-43.8zm0-32c-30.9 0-56-25.1-56-56s25.1-56 56-56s56 25.1 56 56s-25.1 56-56 56z\"],\n \"temperature-full\": [320, 512, [\"temperature-4\", \"thermometer-4\", \"thermometer-full\"], \"f2c7\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V112c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"],\n \"bell\": [448, 512, [128276, 61602], \"f0f3\", \"M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z\"],\n \"superscript\": [512, 512, [], \"f12b\", \"M480 32c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32 16c-15.8 7.9-22.2 27.1-14.3 42.9C393 73.5 404.3 80 416 80v80c-17.7 0-32 14.3-32 32s14.3 32 32 32h32 32c17.7 0 32-14.3 32-32s-14.3-32-32-32V32zM32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H47.3l89.6 128L47.3 384H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64c10.4 0 20.2-5.1 26.2-13.6L176 311.8l85.8 122.6c6 8.6 15.8 13.6 26.2 13.6h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H304.7L215.1 256l89.6-128H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H288c-10.4 0-20.2 5.1-26.2 13.6L176 200.2 90.2 77.6C84.2 69.1 74.4 64 64 64H32z\"],\n \"plug-circle-xmark\": [576, 512, [], \"e560\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"],\n \"star-of-life\": [512, 512, [], \"f621\", \"M208 32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V172.9l122-70.4c15.3-8.8 34.9-3.6 43.7 11.7l16 27.7c8.8 15.3 3.6 34.9-11.7 43.7L352 256l122 70.4c15.3 8.8 20.5 28.4 11.7 43.7l-16 27.7c-8.8 15.3-28.4 20.6-43.7 11.7L304 339.1V480c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V339.1L86 409.6c-15.3 8.8-34.9 3.6-43.7-11.7l-16-27.7c-8.8-15.3-3.6-34.9 11.7-43.7L160 256 38 185.6c-15.3-8.8-20.5-28.4-11.7-43.7l16-27.7C51.1 98.8 70.7 93.6 86 102.4l122 70.4V32z\"],\n \"phone-slash\": [640, 512, [], \"f3dd\", \"M228.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C76.1 30.2 64 46 64 64c0 107.4 37.8 206 100.8 283.1L9.2 469.1c-10.4 8.2-12.3 23.3-4.1 33.7s23.3 12.3 33.7 4.1l592-464c10.4-8.2 12.3-23.3 4.1-33.7s-23.3-12.3-33.7-4.1L253 278c-17.8-21.5-32.9-45.2-45-70.7L257.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96zm96.8 319l-91.3 72C310.7 476 407.1 512 512 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L368.7 368c-15-7.1-29.3-15.2-43-24.3z\"],\n \"paint-roller\": [512, 512, [], \"f5aa\", \"M0 64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM160 352c0-17.7 14.3-32 32-32V304c0-44.2 35.8-80 80-80H416c17.7 0 32-14.3 32-32V160 69.5c37.3 13.2 64 48.7 64 90.5v32c0 53-43 96-96 96H272c-8.8 0-16 7.2-16 16v16c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V352z\"],\n \"handshake-angle\": [640, 512, [\"hands-helping\"], \"f4c4\", \"M543.9 251.4c0-1.1 .1-2.2 .1-3.4c0-48.6-39.4-88-88-88l-40 0H320l-16 0 0 0v16 72c0 22.1-17.9 40-40 40s-40-17.9-40-40V128h.4c4-36 34.5-64 71.6-64H408c2.8 0 5.6 .2 8.3 .5l40.1-40.1c21.9-21.9 57.3-21.9 79.2 0l78.1 78.1c21.9 21.9 21.9 57.3 0 79.2l-69.7 69.7zM192 128V248c0 39.8 32.2 72 72 72s72-32.2 72-72V192h80l40 0c30.9 0 56 25.1 56 56c0 27.2-19.4 49.9-45.2 55c8.2 8.6 13.2 20.2 13.2 33c0 26.5-21.5 48-48 48h-2.7c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48H224c-.9 0-1.8 0-2.7-.1l-37.7 37.7c-21.9 21.9-57.3 21.9-79.2 0L26.3 407.6c-21.9-21.9-21.9-57.3 0-79.2L96 258.7V224c0-53 43-96 96-96z\"],\n \"location-dot\": [384, 512, [\"map-marker-alt\"], \"f3c5\", \"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 256c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64z\"],\n \"file\": [384, 512, [128196, 128459, 61462], \"f15b\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128z\"],\n \"greater-than\": [384, 512, [62769], \"3e\", \"M3.4 81.7c-7.9 15.8-1.5 35 14.3 42.9L280.5 256 17.7 387.4C1.9 395.3-4.5 414.5 3.4 430.3s27.1 22.2 42.9 14.3l320-160c10.8-5.4 17.7-16.5 17.7-28.6s-6.8-23.2-17.7-28.6l-320-160c-15.8-7.9-35-1.5-42.9 14.3z\"],\n \"person-swimming\": [576, 512, [127946, \"swimmer\"], \"f5c4\", \"M309.5 178.4L447.9 297.1c-1.6 .9-3.2 2-4.8 3c-18 12.4-40.1 20.3-59.2 20.3c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-10.1 0-21.1-2.2-31.9-6.2C163.1 193.2 262.2 96 384 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-26.9 0-52.3 6.6-74.5 18.4zM32 160c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64zM306.5 325.9C329 341.4 356.5 352 384 352c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 405.7 417 416 384 416c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 341.2 165.1 352 192 352c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"],\n \"arrow-down\": [384, 512, [8595], \"f063\", \"M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"],\n \"droplet\": [384, 512, [128167, \"tint\"], \"f043\", \"M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z\"],\n \"eraser\": [576, 512, [], \"f12d\", \"M290.7 57.4L57.4 290.7c-25 25-25 65.5 0 90.5l80 80c12 12 28.3 18.7 45.3 18.7H288h9.4H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H387.9L518.6 285.3c25-25 25-65.5 0-90.5L381.3 57.4c-25-25-65.5-25-90.5 0zM297.4 416H288l-105.4 0-80-80L227.3 211.3 364.7 348.7 297.4 416z\"],\n \"earth-americas\": [512, 512, [127758, \"earth\", \"earth-america\", \"globe-americas\"], \"f57d\", \"M57.7 193l9.4 16.4c8.3 14.5 21.9 25.2 38 29.8L163 255.7c17.2 4.9 29 20.6 29 38.5v39.9c0 11 6.2 21 16 25.9s16 14.9 16 25.9v39c0 15.6 14.9 26.9 29.9 22.6c16.1-4.6 28.6-17.5 32.7-33.8l2.8-11.2c4.2-16.9 15.2-31.4 30.3-40l8.1-4.6c15-8.5 24.2-24.5 24.2-41.7v-8.3c0-12.7-5.1-24.9-14.1-33.9l-3.9-3.9c-9-9-21.2-14.1-33.9-14.1H257c-11.1 0-22.1-2.9-31.8-8.4l-34.5-19.7c-4.3-2.5-7.6-6.5-9.2-11.2c-3.2-9.6 1.1-20 10.2-24.5l5.9-3c6.6-3.3 14.3-3.9 21.3-1.5l23.2 7.7c8.2 2.7 17.2-.4 21.9-7.5c4.7-7 4.2-16.3-1.2-22.8l-13.6-16.3c-10-12-9.9-29.5 .3-41.3l15.7-18.3c8.8-10.3 10.2-25 3.5-36.7l-2.4-4.2c-3.5-.2-6.9-.3-10.4-.3C163.1 48 84.4 108.9 57.7 193zM464 256c0-36.8-9.6-71.4-26.4-101.5L412 164.8c-15.7 6.3-23.8 23.8-18.5 39.8l16.9 50.7c3.5 10.4 12 18.3 22.6 20.9l29.1 7.3c1.2-9 1.8-18.2 1.8-27.5zm48 0c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256z\"],\n \"person-burst\": [640, 512, [], \"e53b\", \"M480 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H465.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L408 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 50.5-7.8 24.4-40.5-55.2-38L315 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74z\"],\n \"dove\": [512, 512, [128330], \"f4ba\", \"M160.8 96.5c14 17 31 30.9 49.5 42.2c25.9 15.8 53.7 25.9 77.7 31.6V138.8C265.8 108.5 250 71.5 248.6 28c-.4-11.3-7.5-21.5-18.4-24.4c-7.6-2-15.8-.2-21 5.8c-13.3 15.4-32.7 44.6-48.4 87.2zM320 144v30.6l0 0v1.3l0 0 0 32.1c-60.8-5.1-185-43.8-219.3-157.2C97.4 40 87.9 32 76.6 32c-7.9 0-15.3 3.9-18.8 11C46.8 65.9 32 112.1 32 176c0 116.9 80.1 180.5 118.4 202.8L11.8 416.6C6.7 418 2.6 421.8 .9 426.8s-.8 10.6 2.3 14.8C21.7 466.2 77.3 512 160 512c3.6 0 7.2-1.2 10-3.5L245.6 448H320c88.4 0 160-71.6 160-160V128l29.9-44.9c1.3-2 2.1-4.4 2.1-6.8c0-6.8-5.5-12.3-12.3-12.3H400c-44.2 0-80 35.8-80 80zm80 16c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16z\"],\n \"battery-empty\": [576, 512, [\"battery-0\"], \"f244\", \"M80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zM64 176c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176z\"],\n \"socks\": [512, 512, [129510], \"f696\", \"M175.2 476.6c-9.7-18-15.2-38.7-15.2-60.6c0-40.3 19-78.2 51.2-102.4l64-48c8.1-6 12.8-15.5 12.8-25.6V96H128V240c0 20.1-9.5 39.1-25.6 51.2l-64 48C14.2 357.3 0 385.8 0 416c0 53 43 96 96 96c20.8 0 41-6.7 57.6-19.2l21.6-16.2zM128 64H288V48c0-14.5 3.9-28.2 10.7-39.9C291 3 281.9 0 272 0H176c-26.5 0-48 21.5-48 48V64zM320 96V240c0 20.1-9.5 39.1-25.6 51.2l-64 48C206.2 357.3 192 385.8 192 416c0 53 43 96 96 96c20.8 0 41-6.7 57.6-19.2l115.2-86.4C493 382.2 512 344.3 512 304V96H320zM512 64V48c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48V64H512z\"],\n \"inbox\": [512, 512, [], \"f01c\", \"M121 32C91.6 32 66 52 58.9 80.5L1.9 308.4C.6 313.5 0 318.7 0 323.9V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V323.9c0-5.2-.6-10.4-1.9-15.5l-57-227.9C446 52 420.4 32 391 32H121zm0 64H391l48 192H387.8c-12.1 0-23.2 6.8-28.6 17.7l-14.3 28.6c-5.4 10.8-16.5 17.7-28.6 17.7H195.8c-12.1 0-23.2-6.8-28.6-17.7l-14.3-28.6c-5.4-10.8-16.5-17.7-28.6-17.7H73L121 96z\"],\n \"section\": [320, 512, [], \"e447\", \"M96.9 96c2.1-11.6 8.7-19.8 21.1-25.4c13.8-6.2 34.8-8.9 61.2-4.5c8.8 1.4 36.1 7.1 44.1 9.3c17 4.8 34.7-5.1 39.5-22.2s-5.1-34.7-22.2-39.5c-11.1-3.1-41-9.2-50.9-10.8c-34.7-5.7-69.4-3.6-98 9.3c-29.8 13.5-52.2 38.6-58 74.1c-.1 .5-.2 1.1-.2 1.6c-2.2 19.7 .3 37.9 8.1 54.1c7.7 16.1 19.4 28 32 36.9c.6 .5 1.3 .9 2 1.4C54.3 194.2 38.5 215.1 33.7 243c-.1 .6-.2 1.1-.2 1.7c-2.3 19.3 .4 37.1 8.4 53c7.9 15.6 19.8 27 32.3 35.5c22.4 15.2 51.9 24 75.4 31l0 0 3.7 1.1c27.2 8.2 46.9 14.6 59.4 23.8c5.5 4 8.2 7.6 9.5 10.9c1.3 3.2 2.6 8.6 .9 18.1c-1.7 10.1-7.7 18-20.7 23.5c-14 6-35.4 8.5-62 4.4c-12.8-2.1-35.1-9.7-54.1-16.2l0 0c-4.3-1.5-8.5-2.9-12.3-4.2c-16.8-5.6-34.9 3.5-40.5 20.3s3.5 34.9 20.3 40.5c2.6 .8 5.7 1.9 9.2 3.1c18.6 6.3 48.5 16.6 67.3 19.6l0 0 .2 0c34.5 5.4 68.8 3.4 97.2-8.7c29.4-12.6 52.5-36.5 58.5-71.5c3.3-19.3 1.9-37.4-5-53.9c-6.3-15-16.4-26.4-27.6-35.2c16.5-13.9 28.5-33.2 32.6-58.2c3.2-19.8 1.9-38.3-4.8-55.1c-6.7-16.8-17.8-29.4-30.2-39c-22.8-17.6-53.6-27.4-77.7-35l-1.4-.5c-27.4-8.7-47.8-15.3-61.5-25c-6.1-4.4-9.5-8.5-11.4-12.4c-1.8-3.7-3.2-9.3-2.3-18.5zm76.7 208.5c-.2-.1-.4-.1-.6-.2l-1.4-.4c-27.4-8.2-47.9-14.5-61.7-23.8c-6.2-4.2-9.3-7.9-11-11.3c-1.5-3-2.9-7.7-2.1-15.7c1.9-9.7 7.9-17.3 20.5-22.7c14-6 35.4-8.5 62.1-4.3l16.4 2.6c6.3 2.9 11.7 6 16.2 9.5c5.5 4.2 8.4 8.2 10 12.2c1.6 4 2.8 10.4 1.1 20.9c-2.4 14.7-12.8 26.4-37.1 31l-12.4 2.3z\"],\n \"gauge-high\": [512, 512, [62461, \"tachometer-alt\", \"tachometer-alt-fast\"], \"f625\", \"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM288 96c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM96 288c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm352-32c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z\"],\n \"envelope-open-text\": [512, 512, [], \"f658\", \"M215.4 96H144 107.8 96v8.8V144v40.4 89L.2 202.5c1.6-18.1 10.9-34.9 25.7-45.8L48 140.3V96c0-26.5 21.5-48 48-48h76.6l49.9-36.9C232.2 3.9 243.9 0 256 0s23.8 3.9 33.5 11L339.4 48H416c26.5 0 48 21.5 48 48v44.3l22.1 16.4c14.8 10.9 24.1 27.7 25.7 45.8L416 273.4v-89V144 104.8 96H404.2 368 296.6 215.4zM0 448V242.1L217.6 403.3c11.1 8.2 24.6 12.7 38.4 12.7s27.3-4.4 38.4-12.7L512 242.1V448v0c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64v0zM176 160H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"hospital\": [640, 512, [127973, 62589, \"hospital-alt\", \"hospital-wide\"], \"f0f8\", \"M192 48c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48V512H368V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H192V48zM48 96H160V512H48c-26.5 0-48-21.5-48-48V320H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H0V224H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H0V144c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v48H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h80V464c0 26.5-21.5 48-48 48H480V96H592zM312 64c-8.8 0-16 7.2-16 16v24H272c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V152h24c8.8 0 16-7.2 16-16V120c0-8.8-7.2-16-16-16H344V80c0-8.8-7.2-16-16-16H312z\"],\n \"wine-bottle\": [512, 512, [], \"f72f\", \"M393.4 9.4c12.5-12.5 32.8-12.5 45.3 0l64 64c12.5 12.5 12.5 32.8 0 45.3c-11.8 11.8-30.7 12.5-43.2 1.9l-9.5 9.5-48.8 48.8c-9.2 9.2-11.5 22.9-8.6 35.6c9.4 40.9-1.9 85.6-33.8 117.5L197.3 493.3c-25 25-65.5 25-90.5 0l-88-88c-25-25-25-65.5 0-90.5L180.2 153.3c31.9-31.9 76.6-43.1 117.5-33.8c12.6 2.9 26.4 .5 35.5-8.6l48.8-48.8 9.5-9.5c-10.6-12.6-10-31.4 1.9-43.2zM99.3 347.3l65.4 65.4c6.2 6.2 16.4 6.2 22.6 0l97.4-97.4c6.2-6.2 6.2-16.4 0-22.6l-65.4-65.4c-6.2-6.2-16.4-6.2-22.6 0L99.3 324.7c-6.2 6.2-6.2 16.4 0 22.6z\"],\n \"chess-rook\": [384, 512, [9820], \"f447\", \"M0 204.2V48c0-8.8 7.2-16 16-16H72c8.8 0 16 7.2 16 16V88c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V48c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16V88c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V48c0-8.8 7.2-16 16-16h56c8.8 0 16 7.2 16 16V204.2c0 12.1-6.8 23.2-17.7 28.6l-28.6 14.3c-10.8 5.4-17.7 16.5-17.5 28.6C322.2 360.7 336 416 336 416H48s13.8-55.3 15.8-140.2c.3-12.1-6.6-23.2-17.5-28.6L17.7 232.8C6.8 227.4 0 216.3 0 204.2zM176 320h32c8.8 0 16-7.2 16-16V256c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 8.8 7.2 16 16 16zM32 448H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"bars-staggered\": [512, 512, [\"reorder\", \"stream\"], \"f550\", \"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM64 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"],\n \"dharmachakra\": [512, 512, [9784], \"f655\", \"M337.8 205.7l48.6-42.5c13.8 19.3 23.4 41.9 27.4 66.2l-64.4 4.3c-2.4-10.1-6.4-19.5-11.6-28zm140.1 19.5c-5.3-38.8-20.6-74.5-43.2-104.3l.8-.7C449 108.4 449.7 87.6 437 75s-33.4-12-45.2 1.5l-.7 .8c-29.8-22.6-65.5-37.9-104.3-43.2l.1-1.1c1.2-17.9-13-33-30.9-33s-32.1 15.2-30.9 33l.1 1.1c-38.8 5.3-74.5 20.6-104.3 43.2l-.7-.8C108.4 63 87.6 62.3 75 75s-12 33.4 1.5 45.2l.8 .7c-22.6 29.8-37.9 65.5-43.2 104.3l-1.1-.1c-17.9-1.2-33 13-33 30.9s15.2 32.1 33 30.9l1.1-.1c5.3 38.8 20.6 74.5 43.2 104.3l-.8 .7C63 403.6 62.3 424.4 75 437s33.4 12 45.2-1.5l.7-.8c29.8 22.6 65.5 37.9 104.3 43.2l-.1 1.1c-1.2 17.9 13 33 30.9 33s32.1-15.2 30.9-33l-.1-1.1c38.8-5.3 74.5-20.6 104.3-43.2l.7 .8c11.8 13.5 32.5 14.2 45.2 1.5s12-33.4-1.5-45.2l-.8-.7c22.6-29.8 37.9-65.5 43.2-104.3l1.1 .1c17.9 1.2 33-13 33-30.9s-15.2-32.1-33-30.9l-1.1 .1zM163.2 125.6c19.3-13.8 41.9-23.4 66.2-27.5l4.3 64.4c-10 2.4-19.5 6.4-28 11.6l-42.5-48.6zm-65 103.8c4.1-24.4 13.7-46.9 27.5-66.2l48.6 42.5c-5.3 8.5-9.2 18-11.6 28l-64.4-4.3zm27.5 119.4c-13.8-19.3-23.4-41.9-27.5-66.2l64.4-4.3c2.4 10 6.4 19.5 11.6 28l-48.6 42.5zm103.8 65c-24.4-4.1-46.9-13.7-66.2-27.4l42.5-48.6c8.5 5.3 18 9.2 28 11.6l-4.3 64.4zm119.4-27.4c-19.3 13.8-41.9 23.4-66.2 27.4l-4.3-64.4c10-2.4 19.5-6.4 28-11.6l42.5 48.6zm65-103.8c-4.1 24.4-13.7 46.9-27.4 66.2l-48.6-42.5c5.3-8.5 9.2-18 11.6-28l64.4 4.3zm-65-156.9l-42.5 48.6c-8.6-5.3-18-9.2-28-11.6l4.3-64.4c24.4 4.1 46.9 13.7 66.2 27.5zM256 288c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"hotdog\": [512, 512, [127789], \"f80f\", \"M488.6 23.4c31.2 31.2 31.2 81.9 0 113.1l-352 352c-31.2 31.2-81.9 31.2-113.1 0s-31.2-81.9 0-113.1l352-352c31.2-31.2 81.9-31.2 113.1 0zM443.3 92.7c-6.2-6.2-16.4-6.2-22.6 0c-12.5 12.5-23.8 15.1-37.5 17.6l-2.5 .4c-13.8 2.5-31.6 5.6-48 22c-16.7 16.7-20.9 36-24.1 50.9l0 0v0l-.2 1c-3.4 15.6-6 26.4-15.7 36.1s-20.5 12.3-36.1 15.7l-1 .2c-14.9 3.2-34.2 7.4-50.9 24.1s-20.9 36-24.1 50.9l-.2 1c-3.4 15.6-6 26.4-15.7 36.1c-9.2 9.2-18 10.8-32.7 13.4l0 0-.9 .2c-15.6 2.8-34.9 6.9-54.4 26.4c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c12.5-12.5 23.8-15.1 37.5-17.6l2.5-.4c13.8-2.5 31.6-5.6 48-22c16.7-16.7 20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1s20.5-12.3 36.1-15.7l1-.2c14.9-3.2 34.2-7.4 50.9-24.1s20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1c9.2-9.2 18-10.8 32.7-13.4l.9-.2c15.6-2.8 34.9-6.9 54.4-26.4c6.2-6.2 6.2-16.4 0-22.6zM191.2 479.2l288-288L495 207c10.9 10.9 17 25.6 17 41s-6.1 30.1-17 41L289 495c-10.9 10.9-25.6 17-41 17s-30.1-6.1-41-17l-15.8-15.8zM17 305C6.1 294.1 0 279.4 0 264s6.1-30.1 17-41L223 17C233.9 6.1 248.6 0 264 0s30.1 6.1 41 17l15.8 15.8-288 288L17 305z\"],\n \"person-walking-with-cane\": [512, 512, [\"blind\"], \"f29d\", \"M176 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm-8.4 32c-36.4 0-69.6 20.5-85.9 53.1L35.4 273.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L128 231.6v43.2c0 17 6.7 33.3 18.7 45.3L224 397.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V390.6c0-12.7-5.1-24.9-14.1-33.9L224 306.7V213.3l70.4 93.9c10.6 14.1 30.7 17 44.8 6.4s17-30.7 6.4-44.8L268.8 166.4C250.7 142.2 222.2 128 192 128H167.6zM128.3 346.8L97 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l22-88.2-52.8-52.8zM450.8 505.1c5 7.3 15 9.1 22.3 4s9.1-15 4-22.3L358.9 316.1c-2.8 3.8-6.1 7.3-10.1 10.3c-5 3.8-10.5 6.4-16.2 7.9L450.8 505.1z\"],\n \"drum\": [576, 512, [129345], \"f569\", \"M533.2 76.1c11.1-7.3 14.2-22.1 6.9-33.2s-22.1-14.2-33.2-6.9L402.2 104.5C367.8 98.7 329 96 288 96C146.6 96 32 128 32 208V368c0 31.3 27.4 58.8 72 78.7V344c0-13.3 10.7-24 24-24s24 10.7 24 24V463.4c33 8.9 71.1 14.5 112 16.1V376c0-13.3 10.7-24 24-24s24 10.7 24 24V479.5c40.9-1.6 79-7.2 112-16.1V344c0-13.3 10.7-24 24-24s24 10.7 24 24V446.7c44.6-19.9 72-47.4 72-78.7V208c0-41.1-30.2-69.5-78.8-87.4l67.9-44.5zM339.4 145.6l-64.6 42.3c-11.1 7.3-14.2 22.1-6.9 33.2s22.1 14.2 33.2 6.9l111.1-72.8c14.7 3.2 27.9 7 39.4 11.5C490.4 181.8 496 197.4 496 208c0 .8-2.7 17.2-46 35.9C411.1 260.7 354 272 288 272s-123.1-11.3-162-28.1C82.7 225.2 80 208.8 80 208c0-10.6 5.6-26.2 44.4-41.3C162.6 151.9 219.8 144 288 144c18 0 35.1 .5 51.4 1.6z\"],\n \"ice-cream\": [384, 512, [127848], \"f810\", \"M335.1 160c.6-5.3 .9-10.6 .9-16C336 64.5 271.5 0 192 0S48 64.5 48 144c0 5.4 .3 10.7 .9 16H48c-26.5 0-48 21.5-48 48s21.5 48 48 48h53.5 181H336c26.5 0 48-21.5 48-48s-21.5-48-48-48h-.9zM64 288L168.8 497.7c4.4 8.8 13.3 14.3 23.2 14.3s18.8-5.5 23.2-14.3L320 288H64z\"],\n \"heart-circle-bolt\": [576, 512, [], \"e4fc\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356H488c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380H376c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"],\n \"fax\": [512, 512, [128224, 128439], \"f1ac\", \"M128 64v96h64V64H386.7L416 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L432 18.7C420 6.7 403.7 0 386.7 0H192c-35.3 0-64 28.7-64 64zM0 160V480c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zm480 32H128V480c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM256 320c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm160-32c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM384 448c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm-96-32c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32z\"],\n \"paragraph\": [448, 512, [182], \"f1dd\", \"M192 32h64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H384l0 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-352H288V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H192c-88.4 0-160-71.6-160-160s71.6-160 160-160z\"],\n \"check-to-slot\": [576, 512, [\"vote-yea\"], \"f772\", \"M96 80c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48V384H96V80zm313 47c-9.4-9.4-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L409 161c9.4-9.4 9.4-24.6 0-33.9zM0 336c0-26.5 21.5-48 48-48H64V416H512V288h16c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336z\"],\n \"star-half\": [576, 512, [61731], \"f089\", \"M288 0c-12.2 .1-23.3 7-28.6 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3L288 439.8V0zM429.9 512c1.1 .1 2.1 .1 3.2 0h-3.2z\"],\n \"boxes-stacked\": [576, 512, [62625, \"boxes\", \"boxes-alt\"], \"f468\", \"M248 0H208c-26.5 0-48 21.5-48 48V160c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V48c0-26.5-21.5-48-48-48H328V80c0 8.8-7.2 16-16 16H264c-8.8 0-16-7.2-16-16V0zM64 256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H184v80c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V256H64zM352 512H512c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H472v80c0 8.8-7.2 16-16 16H408c-8.8 0-16-7.2-16-16V256H352c-15 0-28.8 5.1-39.7 13.8c4.9 10.4 7.7 22 7.7 34.2V464c0 12.2-2.8 23.8-7.7 34.2C323.2 506.9 337 512 352 512z\"],\n \"link\": [640, 512, [128279, \"chain\"], \"f0c1\", \"M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z\"],\n \"ear-listen\": [512, 512, [\"assistive-listening-systems\"], \"f2a2\", \"M398.3 3.4c-15.8-7.9-35-1.5-42.9 14.3c-7.9 15.8-1.5 34.9 14.2 42.9l.4 .2c.4 .2 1.1 .6 2.1 1.2c2 1.2 5 3 8.7 5.6c7.5 5.2 17.6 13.2 27.7 24.2C428.5 113.4 448 146 448 192c0 17.7 14.3 32 32 32s32-14.3 32-32c0-66-28.5-113.4-56.5-143.7C441.6 33.2 427.7 22.2 417.3 15c-5.3-3.7-9.7-6.4-13-8.3c-1.6-1-3-1.7-4-2.2c-.5-.3-.9-.5-1.2-.7l-.4-.2-.2-.1-.1 0 0 0c0 0 0 0-14.3 28.6L398.3 3.4zM128.7 227.5c6.2-56 53.7-99.5 111.3-99.5c61.9 0 112 50.1 112 112c0 29.3-11.2 55.9-29.6 75.9c-17 18.4-34.4 45.1-34.4 78V400c0 26.5-21.5 48-48 48c-17.7 0-32 14.3-32 32s14.3 32 32 32c61.9 0 112-50.1 112-112v-6.1c0-9.8 5.4-21.7 17.4-34.7C398.3 327.9 416 286 416 240c0-97.2-78.8-176-176-176C149.4 64 74.8 132.5 65.1 220.5c-1.9 17.6 10.7 33.4 28.3 35.3s33.4-10.7 35.3-28.3zM32 512c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zM192 352c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0zM208 240c0-17.7 14.3-32 32-32s32 14.3 32 32c0 13.3 10.7 24 24 24s24-10.7 24-24c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 13.3 10.7 24 24 24s24-10.7 24-24z\"],\n \"tree-city\": [640, 512, [], \"e587\", \"M288 48c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V192h40V120c0-13.3 10.7-24 24-24s24 10.7 24 24v72h24c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H432 336c-26.5 0-48-21.5-48-48V48zm64 32v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H368zM352 272v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm176-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H528zM512 368v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H528c-8.8 0-16 7.2-16 16zM224 160c0 6-1 11-2 16c20 14 34 38 34 64c0 45-36 80-80 80H160V480c0 18-15 32-32 32c-18 0-32-14-32-32V320H80c-45 0-80-35-80-80c0-26 13-50 33-64c-1-5-1-10-1-16c0-53 42-96 96-96c53 0 96 43 96 96z\"],\n \"play\": [384, 512, [9654], \"f04b\", \"M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z\"],\n \"font\": [448, 512, [], \"f031\", \"M254 52.8C249.3 40.3 237.3 32 224 32s-25.3 8.3-30 20.8L57.8 416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-1.8l18-48H303.8l18 48H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H390.2L254 52.8zM279.8 304H168.2L224 155.1 279.8 304z\"],\n \"rupiah-sign\": [512, 512, [], \"e23d\", \"M0 64C0 46.3 14.3 32 32 32h80c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320H64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 64zM64 256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H64V256zm256-96h80c61.9 0 112 50.1 112 112s-50.1 112-112 112H352v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352 192c0-17.7 14.3-32 32-32zm80 160c26.5 0 48-21.5 48-48s-21.5-48-48-48H352v96h48z\"],\n \"magnifying-glass\": [512, 512, [128269, \"search\"], \"f002\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352c79.5 0 144-64.5 144-144s-64.5-144-144-144S64 128.5 64 208s64.5 144 144 144z\"],\n \"table-tennis-paddle-ball\": [512, 512, [127955, \"ping-pong-paddle-ball\", \"table-tennis\"], \"f45d\", \"M416 288c-50.1 0-93.6 28.8-114.6 70.8L68.9 126.3l.6-.6 60.1-60.1c87.5-87.5 229.3-87.5 316.8 0c67.1 67.1 82.7 166.3 46.8 248.3C471.8 297.6 445 288 416 288zM49.3 151.9L290.1 392.7c-1.4 7.5-2.1 15.3-2.1 23.3c0 23.2 6.2 44.9 16.9 63.7c-3 .2-6.1 .3-9.2 .3H293c-33.9 0-66.5-13.5-90.5-37.5l-9.8-9.8c-13.1-13.1-34.6-12.4-46.8 1.7L88.2 501c-5.8 6.7-14.2 10.7-23 11s-17.5-3.1-23.8-9.4l-32-32C3.1 464.3-.3 455.7 0 446.9s4.3-17.2 11-23l66.6-57.7c14-12.2 14.8-33.7 1.7-46.8l-9.8-9.8C45.5 285.5 32 252.9 32 219v-2.7c0-22.8 6.1-44.9 17.3-64.3zM416 512c-53 0-96-43-96-96s43-96 96-96s96 43 96 96s-43 96-96 96z\"],\n \"person-dots-from-line\": [576, 512, [\"diagnoses\"], \"f470\", \"M288 176c48.6 0 88-39.4 88-88s-39.4-88-88-88s-88 39.4-88 88s39.4 88 88 88zM78.7 372.9c15-12.5 50-34.4 97.3-50.1V432H400V322.7c47.3 15.8 82.3 37.7 97.3 50.1c20.4 17 50.6 14.2 67.6-6.1s14.2-50.6-6.1-67.6c-12-10-30.1-22.5-53.2-35C497.2 278.4 481.7 288 464 288c-26.5 0-48-21.5-48-48c0-4.3 .6-8.4 1.6-12.4C379.1 215.9 335.3 208 288 208c-60.2 0-114.9 12.9-160 29.9c0 .7 0 1.4 0 2.1c0 26.5-21.5 48-48 48c-11.8 0-22.7-4.3-31-11.4c-13.1 8.1-23.7 15.9-31.7 22.5c-20.4 17-23.1 47.2-6.1 67.6s47.2 23.1 67.6 6.1zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM272 280c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24zm56 104c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zM96 240c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zm368 16c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16z\"],\n \"trash-can-arrow-up\": [448, 512, [\"trash-restore-alt\"], \"f82a\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zm192 64c-6.4 0-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V408c0 13.3 10.7 24 24 24s24-10.7 24-24V273.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7z\"],\n \"naira-sign\": [448, 512, [], \"e1f6\", \"M122.6 46.3c-7.8-11.7-22.4-17-35.9-12.9S64 49.9 64 64V256H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320H228.2l97.2 145.8c7.8 11.7 22.4 17 35.9 12.9s22.7-16.5 22.7-30.6V320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H384V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V256H262.5L122.6 46.3zM305.1 320H320v22.3L305.1 320zM185.5 256H128V169.7L185.5 256z\"],\n \"cart-arrow-down\": [576, 512, [], \"f218\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H459.2c32.6 0 61.1-21.8 69.5-53.3l41-152.3C576.6 57 557.4 32 531.1 32H360V134.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V32H120.1C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"],\n \"walkie-talkie\": [384, 512, [], \"f8ef\", \"M112 24c0-13.3-10.7-24-24-24S64 10.7 64 24V96H48C21.5 96 0 117.5 0 144V300.1c0 12.7 5.1 24.9 14.1 33.9l3.9 3.9c9 9 14.1 21.2 14.1 33.9V464c0 26.5 21.5 48 48 48H304c26.5 0 48-21.5 48-48V371.9c0-12.7 5.1-24.9 14.1-33.9l3.9-3.9c9-9 14.1-21.2 14.1-33.9V144c0-26.5-21.5-48-48-48H320c0-17.7-14.3-32-32-32s-32 14.3-32 32H224c0-17.7-14.3-32-32-32s-32 14.3-32 32H112V24zm0 136H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"file-pen\": [576, 512, [128221, \"file-edit\"], \"f31c\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V285.7l-86.8 86.8c-10.3 10.3-17.5 23.1-21 37.2l-18.7 74.9c-2.3 9.2-1.8 18.8 1.3 27.5H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"],\n \"receipt\": [384, 512, [129534], \"f543\", \"M14 2.2C22.5-1.7 32.5-.3 39.6 5.8L80 40.4 120.4 5.8c9-7.7 22.3-7.7 31.2 0L192 40.4 232.4 5.8c9-7.7 22.2-7.7 31.2 0L304 40.4 344.4 5.8c7.1-6.1 17.1-7.5 25.6-3.6s14 12.4 14 21.8V488c0 9.4-5.5 17.9-14 21.8s-18.5 2.5-25.6-3.6L304 471.6l-40.4 34.6c-9 7.7-22.2 7.7-31.2 0L192 471.6l-40.4 34.6c-9 7.7-22.3 7.7-31.2 0L80 471.6 39.6 506.2c-7.1 6.1-17.1 7.5-25.6 3.6S0 497.4 0 488V24C0 14.6 5.5 6.1 14 2.2zM96 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zM80 352c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM96 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96z\"],\n \"square-pen\": [448, 512, [\"pen-square\", \"pencil-square\"], \"f14b\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM325.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-21.4 21.4-71-71 21.4-21.4c15.6-15.6 40.9-15.6 56.6 0zM119.9 289L225.1 183.8l71 71L190.9 359.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"],\n \"suitcase-rolling\": [384, 512, [], \"f5c1\", \"M144 56c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v72H144V56zm176 72H288V56c0-30.9-25.1-56-56-56H152C121.1 0 96 25.1 96 56v72H64c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64c0 17.7 14.3 32 32 32s32-14.3 32-32H256c0 17.7 14.3 32 32 32s32-14.3 32-32c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64zM112 224H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 128H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"person-circle-exclamation\": [576, 512, [], \"e53f\", \"M208 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM152 352V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 512c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm0-48c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"],\n \"chevron-down\": [512, 512, [], \"f078\", \"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"],\n \"battery-full\": [576, 512, [128267, \"battery\", \"battery-5\"], \"f240\", \"M0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176zm80-16c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zm368 32V320H96V192H448z\"],\n \"skull-crossbones\": [512, 512, [128369, 9760], \"f714\", \"M400 128c0 44.4-25.4 83.5-64 106.4V256c0 17.7-14.3 32-32 32H208c-17.7 0-32-14.3-32-32V234.4c-38.6-23-64-62.1-64-106.4C112 57.3 176.5 0 256 0s144 57.3 144 128zM200 176c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm144-32c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM35.4 273.7c7.9-15.8 27.1-22.2 42.9-14.3L256 348.2l177.7-88.8c15.8-7.9 35-1.5 42.9 14.3s1.5 35-14.3 42.9L327.6 384l134.8 67.4c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L256 419.8 78.3 508.6c-15.8 7.9-35 1.5-42.9-14.3s-1.5-35 14.3-42.9L184.4 384 49.7 316.6c-15.8-7.9-22.2-27.1-14.3-42.9z\"],\n \"code-compare\": [512, 512, [], \"e13a\", \"M320 488c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1s14.2 12.4 14.2 21.9v40h16c35.3 0 64-28.7 64-64V153.3C371.7 141 352 112.8 352 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V320c0 70.7-57.3 128-128 128H320v40zM456 80c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24zM192 24c0-9.5 5.6-18.1 14.2-21.9s18.8-2.3 25.8 4.1l80 72c5.1 4.6 7.9 11 7.9 17.8s-2.9 13.3-7.9 17.8l-80 72c-7 6.3-17.2 7.9-25.8 4.1s-14.2-12.4-14.2-21.9V128H176c-35.3 0-64 28.7-64 64V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V192c0-70.7 57.3-128 128-128h16V24zM56 432c0 13.3 10.7 24 24 24s24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24z\"],\n \"list-ul\": [512, 512, [\"list-dots\"], \"f0ca\", \"M64 144c26.5 0 48-21.5 48-48s-21.5-48-48-48S16 69.5 16 96s21.5 48 48 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM64 464c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm48-208c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48z\"],\n \"school-lock\": [640, 512, [], \"e56f\", \"M302.2 5.4c10.7-7.2 24.8-7.2 35.5 0L473.7 96H592c26.5 0 48 21.5 48 48V272c0-61.9-50.1-112-112-112s-112 50.1-112 112v24.6c-19.1 11.1-32 31.7-32 55.4H320.3l-.3 0c-35.3 0-64 28.7-64 64v96h64v0H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48H166.3L302.2 5.4zM80 208v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm0 128v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm240-72a88 88 0 1 0 0-176 88 88 0 1 0 0 176zm16-120v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm192 96c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"],\n \"tower-cell\": [576, 512, [], \"e585\", \"M62.6 2.3C46.2-4.3 27.6 3.6 20.9 20C7.4 53.4 0 89.9 0 128s7.4 74.6 20.9 108c6.6 16.4 25.3 24.3 41.7 17.7S86.9 228.4 80.3 212C69.8 186.1 64 157.8 64 128s5.8-58.1 16.3-84C86.9 27.6 79 9 62.6 2.3zm450.8 0C497 9 489.1 27.6 495.7 44C506.2 69.9 512 98.2 512 128s-5.8 58.1-16.3 84c-6.6 16.4 1.3 35 17.7 41.7s35-1.3 41.7-17.7c13.5-33.4 20.9-69.9 20.9-108s-7.4-74.6-20.9-108C548.4 3.6 529.8-4.3 513.4 2.3zM340.1 165.2c7.5-10.5 11.9-23.3 11.9-37.2c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 13.9 4.4 26.7 11.9 37.2L98.9 466.8c-7.3 16.1-.2 35.1 15.9 42.4s35.1 .2 42.4-15.9L177.7 448H398.3l20.6 45.2c7.3 16.1 26.3 23.2 42.4 15.9s23.2-26.3 15.9-42.4L340.1 165.2zM369.2 384H206.8l14.5-32H354.7l14.5 32zM288 205.3L325.6 288H250.4L288 205.3zM163.3 73.6c5.3-12.1-.2-26.3-12.4-31.6s-26.3 .2-31.6 12.4C109.5 77 104 101.9 104 128s5.5 51 15.3 73.6c5.3 12.1 19.5 17.7 31.6 12.4s17.7-19.5 12.4-31.6C156 165.8 152 147.4 152 128s4-37.8 11.3-54.4zM456.7 54.4c-5.3-12.1-19.5-17.7-31.6-12.4s-17.7 19.5-12.4 31.6C420 90.2 424 108.6 424 128s-4 37.8-11.3 54.4c-5.3 12.1 .2 26.3 12.4 31.6s26.3-.2 31.6-12.4C466.5 179 472 154.1 472 128s-5.5-51-15.3-73.6z\"],\n \"down-long\": [320, 512, [\"long-arrow-alt-down\"], \"f309\", \"M318 334.5c3.8 8.8 2 19-4.6 26l-136 144c-4.5 4.8-10.8 7.5-17.4 7.5s-12.9-2.7-17.4-7.5l-136-144c-6.6-7-8.4-17.2-4.6-26S14.4 320 24 320h88l0-288c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32l0 288h88c9.6 0 18.2 5.7 22 14.5z\"],\n \"ranking-star\": [640, 512, [], \"e561\", \"M353.8 54.1L330.2 6.3c-3.9-8.3-16.1-8.6-20.4 0L286.2 54.1l-52.3 7.5c-9.3 1.4-13.3 12.9-6.4 19.8l38 37-9 52.1c-1.4 9.3 8.2 16.5 16.8 12.2l46.9-24.8 46.6 24.4c8.6 4.3 18.3-2.9 16.8-12.2l-9-52.1 38-36.6c6.8-6.8 2.9-18.3-6.4-19.8l-52.3-7.5zM256 256c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H256zM32 320c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H160c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H32zm416 96v64c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H480c-17.7 0-32 14.3-32 32z\"],\n \"chess-king\": [448, 512, [9818], \"f43f\", \"M224 0c17.7 0 32 14.3 32 32V48h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H256v48H416c10.3 0 19.9 4.9 26 13.3s7.7 19.1 4.4 28.8L375.1 416H72.9L1.6 202.1C-1.6 192.4 0 181.6 6 173.3s15.7-13.3 26-13.3H192V112H176c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V32c0-17.7 14.3-32 32-32zM32 480c0-17.7 14.3-32 32-32H83.6 364.4 384c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 128 64c-17.7 0-32-14.3-32-32z\"],\n \"person-harassing\": [576, 512, [], \"e549\", \"M192 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM59.4 304.5L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V235.3l47.4 57.1c11.3 13.6 31.5 15.5 45.1 4.2s15.5-31.5 4.2-45.1l-73.7-88.9c-18.2-22-45.3-34.7-73.9-34.7H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9zM480 240c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM464 344v58.7l-41.4-41.4c-7.3-7.3-17.6-10.6-27.8-9s-18.9 8.1-23.5 17.3l-48 96c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L408.8 438l54.7 54.7c12.4 12.4 29.1 19.3 46.6 19.3c36.4 0 65.9-29.5 65.9-65.9V344c0-30.9-25.1-56-56-56s-56 25.1-56 56zM288 48c0 8.8 7.2 16 16 16h56c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zm-.8 49.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l48 24c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-48-24z\"],\n \"brazilian-real-sign\": [512, 512, [], \"e46c\", \"M400 0c17.7 0 32 14.3 32 32V50.2c12.5 2.3 24.7 6.4 36.2 12.1l10.1 5.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-10.2-5.1c-9.9-5-20.9-7.5-32-7.5h-1.7c-29.8 0-53.9 24.1-53.9 53.9c0 22 13.4 41.8 33.9 50l52 20.8c44.7 17.9 74.1 61.2 74.1 109.4v3.4c0 51.2-33.6 94.6-80 109.2V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V460.6c-15-3.5-29.4-9.7-42.3-18.3l-23.4-15.6c-14.7-9.8-18.7-29.7-8.9-44.4s29.7-18.7 44.4-8.9L361.2 389c10.8 7.2 23.4 11 36.3 11c27.9 0 50.5-22.6 50.5-50.5v-3.4c0-22-13.4-41.8-33.9-50l-52-20.8C317.3 257.4 288 214.1 288 165.9C288 114 321.5 70 368 54.2V32c0-17.7 14.3-32 32-32zM0 64C0 46.3 14.3 32 32 32h80c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320H64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 64zM64 256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H64V256z\"],\n \"landmark-dome\": [512, 512, [\"landmark-alt\"], \"f752\", \"M248 0h16c13.3 0 24 10.7 24 24V34.7C368.4 48.1 431.9 111.6 445.3 192H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h2.7C80.1 111.6 143.6 48.1 224 34.7V24c0-13.3 10.7-24 24-24zM64 288h64V416h40V288h64V416h48V288h64V416h40V288h64V420.3c.6 .3 1.2 .7 1.7 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512H32c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1V288z\"],\n \"arrow-up\": [384, 512, [8593], \"f062\", \"M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z\"],\n \"tv\": [640, 512, [63717, \"television\", \"tv-alt\"], \"f26c\", \"M64 64V352H576V64H64zM0 64C0 28.7 28.7 0 64 0H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM128 448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"shrimp\": [512, 512, [129424], \"e448\", \"M64 32C28.7 32 0 60.7 0 96s28.7 64 64 64h1c3.7 88.9 77 160 167 160h56V128H264 88.8 64c-17.7 0-32-14.3-32-32s14.3-32 32-32H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H64zM224 456c0 13.3 10.7 24 24 24h72V407.8l-64.1-22.4c-12.5-4.4-26.2 2.2-30.6 14.7s2.2 26.2 14.7 30.6l4.5 1.6C233 433.9 224 443.9 224 456zm128 23.3c36.4-3.3 69.5-17.6 96.1-39.6l-86.5-34.6c-3 1.8-6.2 3.2-9.6 4.3v69.9zM472.6 415c24.6-30.3 39.4-68.9 39.4-111c0-12.3-1.3-24.3-3.7-35.9L382.8 355.1c.8 3.4 1.2 7 1.2 10.6c0 4.6-.7 9-1.9 13.1L472.6 415zM336 128H320V320h18.3c9.9 0 19.1 3.2 26.6 8.5l133.5-92.4C471.8 172.6 409.1 128 336 128zM216 192c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z\"],\n \"list-check\": [576, 512, [\"tasks\"], \"f0ae\", \"M184.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L39 113c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L39 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM256 96c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H288c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H288c-17.7 0-32-14.3-32-32zM192 416c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zM80 464c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48z\"],\n \"jug-detergent\": [384, 512, [], \"e519\", \"M96 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V48h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H88C74.7 96 64 85.3 64 72s10.7-24 24-24h8V24zM0 256c0-70.7 57.3-128 128-128H256c70.7 0 128 57.3 128 128V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256zm256 0v96c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"],\n \"circle-user\": [512, 512, [62142, \"user-circle\"], \"f2bd\", \"M399 384.2C376.9 345.8 335.4 320 288 320H224c-47.4 0-88.9 25.8-111 64.2c35.2 39.2 86.2 63.8 143 63.8s107.8-24.7 143-63.8zM512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM256 272c39.8 0 72-32.2 72-72s-32.2-72-72-72s-72 32.2-72 72s32.2 72 72 72z\"],\n \"user-shield\": [640, 512, [], \"f505\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0S96 57.3 96 128s57.3 128 128 128zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c1.8 0 3.5-.2 5.3-.5c-76.3-55.1-99.8-141-103.1-200.2c-16.1-4.8-33.1-7.3-50.7-7.3H178.3zm308.8-78.3l-120 48C358 277.4 352 286.2 352 296c0 63.3 25.9 168.8 134.8 214.2c5.9 2.5 12.6 2.5 18.5 0C614.1 464.8 640 359.3 640 296c0-9.8-6-18.6-15.1-22.3l-120-48c-5.7-2.3-12.1-2.3-17.8 0zM591.4 312c-3.9 50.7-27.2 116.7-95.4 149.7V273.8L591.4 312z\"],\n \"wind\": [512, 512, [], \"f72e\", \"M288 32c0 17.7 14.3 32 32 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c53 0 96-43 96-96s-43-96-96-96H320c-17.7 0-32 14.3-32 32zm64 352c0 17.7 14.3 32 32 32h32c53 0 96-43 96-96s-43-96-96-96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-17.7 0-32 14.3-32 32zM128 512h32c53 0 96-43 96-96s-43-96-96-96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H160c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"],\n \"car-burst\": [640, 512, [\"car-crash\"], \"f5e1\", \"M176 8c-6.6 0-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6l35.3-32.5 9.5-35.4 10.4-38.6c8-29.9 30.5-52.1 57.9-60.9l41-59.2c11.3-16.3 26.4-28.9 43.5-37.2c-.4-.6-.8-1.2-1.3-1.8c-4.1-5.1-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74C188.4 12 182.6 8 176 8zM367.7 161.5l135.6 36.3c6.5 1.8 11.3 7.4 11.8 14.2l4.6 56.5-201.5-54 32.2-46.6c3.8-5.6 10.8-8.1 17.3-6.4zm-69.9-30l-47.9 69.3c-21.6 3-40.3 18.6-46.3 41l-10.4 38.6-16.6 61.8-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9 247.3 66.3-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9L595 388l10.4-38.6c6-22.4-2.5-45.2-19.6-58.7l-6.8-84c-2.7-33.7-26.4-62-59-70.8L384.2 99.7c-32.7-8.8-67.3 4-86.5 31.8zM268.3 308.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17s20.4 16.6 17 29.4s-16.6 20.4-29.4 17zM545 358.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4s16.6-20.4 29.4-17s20.4 16.6 17 29.4z\"],\n \"y\": [384, 512, [121], \"59\", \"M58 45.4C47.8 31 27.8 27.7 13.4 38S-4.3 68.2 6 82.6L160 298.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V298.3L378 82.6c10.3-14.4 6.9-34.4-7.4-44.6S336.2 31 326 45.4L192 232.9 58 45.4z\"],\n \"person-snowboarding\": [576, 512, [127938, \"snowboarding\"], \"f7ce\", \"M241.7 3.4c15.8-7.9 35-1.5 42.9 14.3l25 50 42.4 8.5c19.5 3.9 37.8 12.3 53.5 24.5l126.1 98.1c14 10.9 16.5 31 5.6 44.9s-31 16.5-44.9 5.6l-72.1-56.1-71.5 31.8 33.1 27.6c23.2 19.3 33.5 50 26.7 79.4l-17.4 75.2c-2.2 9.4-8.2 16.8-16.1 21l86.5 33.1c4.6 1.8 9.4 2.6 14.3 2.6H504c13.3 0 24 10.7 24 24s-10.7 24-24 24H475.8c-10.8 0-21.4-2-31.5-5.8L92.1 371.3c-11.5-4.4-22-11.2-30.8-20L39 329c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.4 22.4c4 4 8.7 7.1 14 9.1l22.4 8.6c-.8-1.6-1.5-3.2-2.1-4.9c-5.6-16.8 3.5-34.9 20.2-40.5L224 264.9l0-53.2c0-24.2 13.7-46.4 35.4-57.2l45.2-22.6-7.5-1.5c-19.4-3.9-35.9-16.5-44.7-34.1l-25-50c-7.9-15.8-1.5-35 14.3-42.9zM171 350.1l159 60.9c-2.1-5.6-2.6-11.9-1.1-18.2l17.4-75.2c1.4-5.9-.7-12-5.4-15.9l-52.8-44 0 18.8c0 20.7-13.2 39-32.8 45.5L171 350.1zM464 96c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48z\"],\n \"truck-fast\": [640, 512, [\"shipping-fast\"], \"f48b\", \"M112 0C85.5 0 64 21.5 64 48V96H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64 272c8.8 0 16 7.2 16 16s-7.2 16-16 16H64 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H64 240c8.8 0 16 7.2 16 16s-7.2 16-16 16H64 16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64 208c8.8 0 16 7.2 16 16s-7.2 16-16 16H64V416c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288 256 237.3c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7H416V48c0-26.5-21.5-48-48-48H112zM544 237.3V256H416V160h50.7L544 237.3zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48zm368-48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48z\"],\n \"fish\": [576, 512, [128031], \"f578\", \"M180.5 141.5C219.7 108.5 272.6 80 336 80s116.3 28.5 155.5 61.5c39.1 33 66.9 72.4 81 99.8c4.7 9.2 4.7 20.1 0 29.3c-14.1 27.4-41.9 66.8-81 99.8C452.3 403.5 399.4 432 336 432s-116.3-28.5-155.5-61.5c-16.2-13.7-30.5-28.5-42.7-43.1L48.1 379.6c-12.5 7.3-28.4 5.3-38.7-4.9S-3 348.7 4.2 336.1L50 256 4.2 175.9c-7.2-12.6-5-28.4 5.3-38.6s26.1-12.2 38.7-4.9l89.7 52.3c12.2-14.6 26.5-29.4 42.7-43.1zM448 256c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z\"],\n \"user-graduate\": [448, 512, [], \"f501\", \"M219.3 .5c3.1-.6 6.3-.6 9.4 0l200 40C439.9 42.7 448 52.6 448 64s-8.1 21.3-19.3 23.5L352 102.9V160c0 70.7-57.3 128-128 128s-128-57.3-128-128V102.9L48 93.3v65.1l15.7 78.4c.9 4.7-.3 9.6-3.3 13.3s-7.6 5.9-12.4 5.9H16c-4.8 0-9.3-2.1-12.4-5.9s-4.3-8.6-3.3-13.3L16 158.4V86.6C6.5 83.3 0 74.3 0 64C0 52.6 8.1 42.7 19.3 40.5l200-40zM129.1 323.2l83.2 88.4c6.3 6.7 17 6.7 23.3 0l83.2-88.4c73.7 14.9 129.1 80 129.1 158.1c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-78.1 55.5-143.2 129.1-158.1z\"],\n \"circle-half-stroke\": [512, 512, [9680, \"adjust\"], \"f042\", \"M448 256c0-106-86-192-192-192V448c106 0 192-86 192-192zm64 0c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256z\"],\n \"clapperboard\": [512, 512, [], \"e131\", \"M448 32H361.9l-1 1-127 127h92.1l1-1L453.8 32.3c-1.9-.2-3.8-.3-5.8-.3zm64 128V96c0-15.1-5.3-29.1-14-40l-104 104H512zM294.1 32H201.9l-1 1L73.9 160h92.1l1-1 127-127zM64 32C28.7 32 0 60.7 0 96v64H6.1l1-1 127-127H64zM512 192H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192z\"],\n \"circle-radiation\": [512, 512, [9762, \"radiation-alt\"], \"f7ba\", \"M256 448C150 448 64 362 64 256S150 64 256 64s192 86 192 192s-86 192-192 192zm0 64c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM200 256c0-20.7 11.3-38.8 28-48.5l-36-62.3c-8.8-15.3-28.7-20.8-42-9c-25.6 22.6-43.9 53.3-50.9 88.1C95.7 241.5 110.3 256 128 256l72 0zm28 48.5l-36 62.4c-8.8 15.3-3.6 35.2 13.1 40.8c16 5.4 33.1 8.3 50.9 8.3s34.9-2.9 50.9-8.3c16.7-5.6 21.9-25.5 13.1-40.8l-36-62.4c-8.2 4.8-17.8 7.5-28 7.5s-19.8-2.7-28-7.5zM312 256l72 0c17.7 0 32.3-14.5 28.8-31.8c-7-34.8-25.3-65.5-50.9-88.1c-13.2-11.7-33.1-6.3-42 9l-36 62.3c16.7 9.7 28 27.8 28 48.5zm-56 32c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"baseball\": [512, 512, [129358, 9918, \"baseball-ball\"], \"f433\", \"M62.7 223.4c-4.8 .4-9.7 .6-14.7 .6c-15.6 0-30.8-2-45.2-5.9C19.2 107.1 107.1 19.2 218.1 2.8C222 17.2 224 32.4 224 48c0 4.9-.2 9.8-.6 14.7c-.7 8.8 5.8 16.5 14.6 17.3s16.5-5.8 17.3-14.6c.5-5.7 .7-11.5 .7-17.3c0-16.5-1.9-32.6-5.6-47.9c1.8 0 3.7-.1 5.6-.1C397.4 0 512 114.6 512 256c0 1.9 0 3.7-.1 5.6c-15.4-3.6-31.4-5.6-47.9-5.6c-5.8 0-11.6 .2-17.3 .7c-8.8 .7-15.4 8.5-14.6 17.3s8.5 15.4 17.3 14.6c4.8-.4 9.7-.6 14.7-.6c15.6 0 30.8 2 45.2 5.9C492.8 404.9 404.9 492.8 293.9 509.2C290 494.8 288 479.6 288 464c0-4.9 .2-9.8 .6-14.7c.7-8.8-5.8-16.5-14.6-17.3s-16.5 5.8-17.3 14.6c-.5 5.7-.7 11.5-.7 17.3c0 16.5 1.9 32.6 5.6 47.9c-1.8 0-3.7 .1-5.6 .1C114.6 512 0 397.4 0 256c0-1.9 0-3.7 .1-5.6C15.4 254.1 31.5 256 48 256c5.8 0 11.6-.2 17.3-.7c8.8-.7 15.4-8.5 14.6-17.3s-8.5-15.4-17.3-14.6zM121.3 208c-8 3.7-11.6 13.2-7.9 21.2s13.2 11.6 21.2 7.9c45.2-20.8 81.7-57.2 102.5-102.5c3.7-8 .2-17.5-7.9-21.2s-17.5-.2-21.2 7.9c-17.6 38.3-48.5 69.2-86.7 86.7zm277.2 74.7c-3.7-8-13.2-11.6-21.2-7.9c-45.2 20.8-81.7 57.2-102.5 102.5c-3.7 8-.2 17.5 7.9 21.2s17.5 .2 21.2-7.9c17.6-38.3 48.5-69.2 86.7-86.7c8-3.7 11.6-13.2 7.9-21.2z\"],\n \"jet-fighter-up\": [512, 512, [], \"e518\", \"M270.7 9.7C268.2 3.8 262.4 0 256 0s-12.2 3.8-14.7 9.7L197.2 112.6c-3.4 8-5.2 16.5-5.2 25.2v77l-144 84V280c0-13.3-10.7-24-24-24s-24 10.7-24 24v56 32 24c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H192v32.7L133.5 468c-3.5 3-5.5 7.4-5.5 12v16c0 8.8 7.2 16 16 16h96V448c0-8.8 7.2-16 16-16s16 7.2 16 16v64h96c8.8 0 16-7.2 16-16V480c0-4.6-2-9-5.5-12L320 416.7V384H464v8c0 13.3 10.7 24 24 24s24-10.7 24-24V368 336 280c0-13.3-10.7-24-24-24s-24 10.7-24 24v18.8l-144-84v-77c0-8.7-1.8-17.2-5.2-25.2L270.7 9.7z\"],\n \"diagram-project\": [576, 512, [\"project-diagram\"], \"f542\", \"M0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48V96H384V80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V160H192v16c0 1.7-.1 3.4-.3 5L272 288h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V336c0-1.7 .1-3.4 .3-5L144 224H48c-26.5 0-48-21.5-48-48V80z\"],\n \"copy\": [512, 512, [], \"f0c5\", \"M224 0c-35.3 0-64 28.7-64 64V288c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H224zM64 160c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V384H288v64H64V224h64V160H64z\"],\n \"volume-xmark\": [576, 512, [\"volume-mute\", \"volume-times\"], \"f6a9\", \"M301.1 34.8C312.6 40 320 51.4 320 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM425 167l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"],\n \"hand-sparkles\": [640, 512, [], \"e05d\", \"M320 0c17.7 0 32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-17.7 14.3-32 32-32s32 14.3 32 32V323.1c-11.9 4.8-21.3 14.9-25 27.8l-8.9 31.2L478.9 391C460.6 396.3 448 413 448 432c0 18.9 12.5 35.6 30.6 40.9C448.4 497.4 409.9 512 368 512H348.8c-59.6 0-116.9-22.9-160-64L76.4 341c-16-15.2-16.6-40.6-1.4-56.6s40.6-16.6 56.6-1.4l60.5 57.6c0-1.5-.1-3.1-.1-4.6V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V32c0-17.7 14.3-32 32-32zm-7.3 326.6c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L288 352l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L288 384l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L320 384l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L320 352l-7.3-25.4zM104 120l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L104 168 90.2 216.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L56 168 7.7 154.2C3.1 152.9 0 148.7 0 144s3.1-8.9 7.7-10.2L56 120 69.8 71.7C71.1 67.1 75.3 64 80 64s8.9 3.1 10.2 7.7L104 120zM584 408l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L584 456l-13.8 48.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L536 456l-48.3-13.8c-4.6-1.3-7.7-5.5-7.7-10.2s3.1-8.9 7.7-10.2L536 408l13.8-48.3c1.3-4.6 5.5-7.7 10.2-7.7s8.9 3.1 10.2 7.7L584 408z\"],\n \"grip\": [448, 512, [\"grip-horizontal\"], \"f58d\", \"M128 136c0-22.1-17.9-40-40-40L40 96C17.9 96 0 113.9 0 136l0 48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V136zm0 192c0-22.1-17.9-40-40-40H40c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V328zm32-192v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM288 328c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328zm32-192v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM448 328c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328z\"],\n \"share-from-square\": [576, 512, [61509, \"share-square\"], \"f14d\", \"M352 224H305.5c-45 0-81.5 36.5-81.5 81.5c0 22.3 10.3 34.3 19.2 40.5c6.8 4.7 12.8 12 12.8 20.3c0 9.8-8 17.8-17.8 17.8h-2.5c-2.4 0-4.8-.4-7.1-1.4C210.8 374.8 128 333.4 128 240c0-79.5 64.5-144 144-144h80V34.7C352 15.5 367.5 0 386.7 0c8.6 0 16.8 3.2 23.2 8.9L548.1 133.3c7.6 6.8 11.9 16.5 11.9 26.7s-4.3 19.9-11.9 26.7l-139 125.1c-5.9 5.3-13.5 8.2-21.4 8.2H384c-17.7 0-32-14.3-32-32V224zM80 96c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16V384c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V112C0 67.8 35.8 32 80 32h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H80z\"],\n \"child-combatant\": [576, 512, [\"child-rifle\"], \"e4e0\", \"M176 128c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64zm-8 352V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V300.5L260.9 321c9.4 15 29.2 19.4 44.1 10s19.4-29.2 10-44.1l-51.7-82.1c-17.6-27.9-48.3-44.9-81.2-44.9H169.8c-33 0-63.7 16.9-81.2 44.9L36.9 287c-9.4 15-4.9 34.7 10 44.1s34.7 4.9 44.1-10L104 300.5V480c0 17.7 14.3 32 32 32s32-14.3 32-32zM448 0H432 416c-8.8 0-16 7.2-16 16s7.2 16 16 16V132.3c-9.6 5.5-16 15.9-16 27.7v32c-17.7 0-32 14.3-32 32V368c0 17.7 14.3 32 32 32h16v96c0 8.8 7.2 16 16 16h59.5c10.4 0 18-9.8 15.5-19.9L484 400h44c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H480V325.3l53.1-17.7c6.5-2.2 10.9-8.3 10.9-15.2V208c0-8.8-7.2-16-16-16H512c-8.8 0-16 7.2-16 16v56l-16 5.3V160c0-11.8-6.4-22.2-16-27.7V16c0-8.8-7.2-16-16-16z\"],\n \"gun\": [576, 512, [], \"e19b\", \"M528 56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H32C14.3 64 0 78.3 0 96V208c0 17.7 14.3 32 32 32H42c20.8 0 36.1 19.6 31 39.8L33 440.2c-2.4 9.6-.2 19.7 5.8 27.5S54.1 480 64 480h96c14.7 0 27.5-10 31-24.2L217 352H321.4c23.7 0 44.8-14.9 52.7-37.2L400.9 240H432c8.5 0 16.6-3.4 22.6-9.4L477.3 208H544c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H528V56zM321.4 304H229l16-64h105l-21 58.7c-1.1 3.2-4.2 5.3-7.5 5.3zM80 128H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"square-phone\": [448, 512, [\"phone-square\"], \"f098\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm90.7 96.7c9.7-2.6 19.9 2.3 23.7 11.6l20 48c3.4 8.2 1 17.6-5.8 23.2L168 231.7c16.6 35.2 45.1 63.7 80.3 80.3l20.2-24.7c5.6-6.8 15-9.2 23.2-5.8l48 20c9.3 3.9 14.2 14 11.6 23.7l-12 44C336.9 378 329 384 320 384C196.3 384 96 283.7 96 160c0-9 6-16.9 14.7-19.3l44-12z\"],\n \"plus\": [448, 512, [10133, 61543, \"add\"], \"2b\", \"M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z\"],\n \"expand\": [448, 512, [], \"f065\", \"M32 32C14.3 32 0 46.3 0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V352z\"],\n \"computer\": [640, 512, [], \"e4e5\", \"M384 96V320H64L64 96H384zM64 32C28.7 32 0 60.7 0 96V320c0 35.3 28.7 64 64 64H181.3l-10.7 32H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H277.3l-10.7-32H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm464 0c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H528zm16 64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H544c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H544c-8.8 0-16-7.2-16-16zm32 224c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"xmark\": [320, 512, [128473, 10005, 10006, 10060, 215, \"close\", \"multiply\", \"remove\", \"times\"], \"f00d\", \"M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z\"],\n \"arrows-up-down-left-right\": [512, 512, [\"arrows\"], \"f047\", \"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l9.4-9.4V224H109.3l9.4-9.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4H224V402.7l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-9.4 9.4V288H402.7l-9.4 9.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4H288V109.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64z\"],\n \"chalkboard-user\": [640, 512, [\"chalkboard-teacher\"], \"f51c\", \"M160 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H336.8c-11.8-25.5-29.9-47.5-52.4-64H384V320c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v32h64V64L224 64v49.1C205.2 102.2 183.3 96 160 96V64zm0 256c-53 0-96-43-96-96s43-96 96-96s96 43 96 96s-43 96-96 96zm-26.7 32h53.3C260.3 352 320 411.7 320 485.3c0 14.7-11.9 26.7-26.7 26.7H26.7C11.9 512 0 500.1 0 485.3C0 411.7 59.7 352 133.3 352z\"],\n \"peso-sign\": [384, 512, [], \"e222\", \"M64 32C46.3 32 32 46.3 32 64v64c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h80c68.4 0 127.7-39 156.8-96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32h-.7c.5-5.3 .7-10.6 .7-16s-.2-10.7-.7-16h.7c17.7 0 32-14.3 32-32s-14.3-32-32-32H332.8C303.7 71 244.4 32 176 32H64zm190.4 96H96V96h80c30.5 0 58.2 12.2 78.4 32zM96 192H286.9c.7 5.2 1.1 10.6 1.1 16s-.4 10.8-1.1 16H96V192zm158.4 96c-20.2 19.8-47.9 32-78.4 32H96V288H254.4z\"],\n \"building-shield\": [576, 512, [], \"e4d8\", \"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V207l-42.4 17H304 272c-8.8 0-16 7.2-16 16v32 24.2V304c0 .9 .1 1.7 .2 2.6c2.3 58.1 24.1 144.8 98.7 201.5c-5.8 2.5-12.2 3.9-18.9 3.9H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zM423.1 225.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8V461.7c68.2-33 91.5-99 95.4-149.7z\"],\n \"baby\": [448, 512, [], \"f77c\", \"M296 88c0 39.8-32.2 72-72 72s-72-32.2-72-72s32.2-72 72-72s72 32.2 72 72zM39.7 144.5c13-17.9 38-21.8 55.9-8.8L131.8 162c26.8 19.5 59.1 30 92.2 30s65.4-10.5 92.2-30l36.2-26.4c17.9-13 42.9-9 55.9 8.8s9 42.9-8.8 55.9l-36.2 26.4c-13.6 9.9-28.1 18.2-43.3 25V288H128V251.7c-15.2-6.7-29.7-15.1-43.3-25L48.5 200.3c-17.9-13-21.8-38-8.8-55.9zm89.8 184.8l60.6 53-26 37.2 24.3 24.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-48-48C70 438.6 68.1 417 79.2 401.1l50.2-71.8zm128.5 53l60.6-53 50.2 71.8c11.1 15.9 9.2 37.5-4.5 51.2l-48 48c-15.6 15.6-40.9 15.6-56.6 0s-15.6-40.9 0-56.6L284 419.4l-26-37.2z\"],\n \"users-line\": [640, 512, [], \"e592\", \"M211.2 96c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64zM32 256c0 17.7 14.3 32 32 32h85.6c10.1-39.4 38.6-71.5 75.8-86.6c-9.7-6-21.2-9.4-33.4-9.4H96c-35.3 0-64 28.7-64 64zm461.6 32H576c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H448c-11.7 0-22.7 3.1-32.1 8.6c38.1 14.8 67.4 47.3 77.7 87.4zM391.2 226.4c-6.9-1.6-14.2-2.4-21.6-2.4h-96c-8.5 0-16.7 1.1-24.5 3.1c-30.8 8.1-55.6 31.1-66.1 60.9c-3.5 10-5.5 20.8-5.5 32c0 17.7 14.3 32 32 32h224c17.7 0 32-14.3 32-32c0-11.2-1.9-22-5.5-32c-10.8-30.7-36.8-54.2-68.9-61.6zM563.2 96c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64zM321.6 192c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"],\n \"quote-left\": [448, 512, [8220, \"quote-left-alt\"], \"f10d\", \"M0 216C0 149.7 53.7 96 120 96h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-30.9 0-56 25.1-56 56v8h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320 288 216zm256 0c0-66.3 53.7-120 120-120h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-30.9 0-56 25.1-56 56v8h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H320c-35.3 0-64-28.7-64-64V320 288 216z\"],\n \"tractor\": [640, 512, [128668], \"f722\", \"M96 64c0-35.3 28.7-64 64-64H266.3c26.2 0 49.7 15.9 59.4 40.2L373.7 160H480V126.2c0-24.8 5.8-49.3 16.9-71.6l2.5-5c7.9-15.8 27.1-22.2 42.9-14.3s22.2 27.1 14.3 42.9l-2.5 5c-6.7 13.3-10.1 28-10.1 42.9V160h56c22.1 0 40 17.9 40 40v45.4c0 16.5-8.5 31.9-22.6 40.7l-43.3 27.1c-14.2-5.9-29.8-9.2-46.1-9.2c-39.3 0-74.1 18.9-96 48H352c0 17.7-14.3 32-32 32h-8.2c-1.7 4.8-3.7 9.5-5.8 14.1l5.8 5.8c12.5 12.5 12.5 32.8 0 45.3l-22.6 22.6c-12.5 12.5-32.8 12.5-45.3 0l-5.8-5.8c-4.6 2.2-9.3 4.1-14.1 5.8V480c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32v-8.2c-4.8-1.7-9.5-3.7-14.1-5.8l-5.8 5.8c-12.5 12.5-32.8 12.5-45.3 0L40.2 449.1c-12.5-12.5-12.5-32.8 0-45.3l5.8-5.8c-2.2-4.6-4.1-9.3-5.8-14.1H32c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h8.2c1.7-4.8 3.7-9.5 5.8-14.1l-5.8-5.8c-12.5-12.5-12.5-32.8 0-45.3l22.6-22.6c9-9 21.9-11.5 33.1-7.6V192 160 64zm170.3 0H160v96h32H304.7L266.3 64zM176 256c-44.2 0-80 35.8-80 80s35.8 80 80 80s80-35.8 80-80s-35.8-80-80-80zM528 448c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zm0 64c-48.6 0-88-39.4-88-88c0-29.8 14.8-56.1 37.4-72c14.3-10.1 31.8-16 50.6-16c2.7 0 5.3 .1 7.9 .3c44.9 4 80.1 41.7 80.1 87.7c0 48.6-39.4 88-88 88z\"],\n \"trash-arrow-up\": [448, 512, [\"trash-restore\"], \"f829\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416L394.8 467c-1.6 25.3-22.6 45-47.9 45H101.1c-25.3 0-46.3-19.7-47.9-45L32 128zm192 64c-6.4 0-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V408c0 13.3 10.7 24 24 24s24-10.7 24-24V273.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7z\"],\n \"arrow-down-up-lock\": [640, 512, [], \"e4b0\", \"M150.6 502.6l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 402.7V288H416V272c0-17.2 3.9-33.5 10.8-48H352V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-6-6-14.1-9.4-22.6-9.4s-16.6 3.4-22.6 9.4l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L288 109.3V224l-128 0H96l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32H96V402.7L54.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0zM160 192V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192h64zM288 320V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320H288zm240-80c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"],\n \"lines-leaning\": [448, 512, [], \"e51e\", \"M222.4 74.1c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2l-128 384c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l128-384zm70.9-41.7c-17.4-2.9-33.9 8.9-36.8 26.3l-64 384c-2.9 17.4 8.9 33.9 26.3 36.8s33.9-8.9 36.8-26.3l64-384c2.9-17.4-8.9-33.9-26.3-36.8zM384 32c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32z\"],\n \"ruler-combined\": [512, 512, [], \"f546\", \"M.2 468.9C2.7 493.1 23.1 512 48 512l96 0 320 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-64-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-64-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-48c0-26.5-21.5-48-48-48L48 0C21.5 0 0 21.5 0 48L0 368l0 96c0 1.7 .1 3.3 .2 4.9z\"],\n \"copyright\": [512, 512, [169], \"f1f9\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM199.4 312.6c31.2 31.2 81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-31.2-31.2-81.9-31.2-113.1 0s-31.2 81.9 0 113.1z\"],\n \"equals\": [448, 512, [62764], \"3d\", \"M48 128c-17.7 0-32 14.3-32 32s14.3 32 32 32H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H48zm0 192c-17.7 0-32 14.3-32 32s14.3 32 32 32H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H48z\"],\n \"blender\": [512, 512, [], \"f517\", \"M0 64C0 28.7 28.7 0 64 0h64 32H470.1c21.1 0 36.4 20.1 30.9 40.4L494.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H485.8l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H459.6l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h97.5L416 352H160l-8.7-96H64c-35.3 0-64-28.7-64-64V64zM145.5 192L133.8 64H64V192h81.5zM144 384H432c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V432c0-26.5 21.5-48 48-48zm144 96c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zM0 64C0 28.7 28.7 0 64 0h64 32H470.1c21.1 0 36.4 20.1 30.9 40.4L494.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H485.8l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H459.6l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h97.5L416 352H160l-8.7-96H64c-35.3 0-64-28.7-64-64V64zM145.5 192L133.8 64H64V192h81.5zM144 384H432c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V432c0-26.5 21.5-48 48-48zm144 96c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"teeth\": [576, 512, [], \"f62e\", \"M0 128C0 75 43 32 96 32H480c53 0 96 43 96 96V384c0 53-43 96-96 96H96c-53 0-96-43-96-96V128zm176 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48s-48 21.5-48 48zm176-48c-26.5 0-48 21.5-48 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48zM48 208v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V208c0-26.5-21.5-48-48-48s-48 21.5-48 48zM96 384c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H72c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-48c0 26.5 21.5 48 48 48s48-21.5 48-48V312c0-13.3-10.7-24-24-24H200c-13.3 0-24 10.7-24 24v24zm176 48c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H328c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-176v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V208c0-26.5-21.5-48-48-48s-48 21.5-48 48zm48 176c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H456c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48z\"],\n \"shekel-sign\": [448, 512, [8362, \"ils\", \"shekel\", \"sheqel\", \"sheqel-sign\"], \"f20b\", \"M32 32C14.3 32 0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V96H192c35.3 0 64 28.7 64 64V320c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-70.7-57.3-128-128-128H32zM320 480c70.7 0 128-57.3 128-128V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V352c0 35.3-28.7 64-64 64H192V192c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32H320z\"],\n \"map\": [576, 512, [128506, 62072], \"f279\", \"M384 476.1L192 421.2V35.9L384 90.8V476.1zm32-1.2V88.4L543.1 37.5c15.8-6.3 32.9 5.3 32.9 22.3V394.6c0 9.8-6 18.6-15.1 22.3L416 474.8zM15.1 95.1L160 37.2V423.6L32.9 474.5C17.1 480.8 0 469.2 0 452.2V117.4c0-9.8 6-18.6 15.1-22.3z\"],\n \"rocket\": [512, 512, [], \"f135\", \"M156.6 384.9L125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2c3-8.9 7-20.5 11.8-33.8L24 288c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3l82.3 0c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7c-3.5 2.4-7.3 4.8-11.3 7.2v82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9V380.8c-14.1 4.9-26.4 8.9-35.7 11.9c-11.2 3.6-23.4 .5-31.8-7.8zM384 168c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40z\"],\n \"photo-film\": [640, 512, [\"photo-video\"], \"f87c\", \"M256 0H576c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64zM476 106.7C471.5 100 464 96 456 96s-15.5 4-20 10.7l-56 84L362.7 169c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H552c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144zM336 96c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM64 128h96V384v32c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V384H512v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zm8 64c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H72zm0 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V312c0-8.8-7.2-16-16-16H72zm0 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16H72zm336 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16H424c-8.8 0-16 7.2-16 16z\"],\n \"folder-minus\": [512, 512, [], \"f65d\", \"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H181.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM184 272c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"],\n \"store\": [576, 512, [], \"f54e\", \"M547.6 103.8L490.3 13.1C485.2 5 476.1 0 466.4 0H109.6C99.9 0 90.8 5 85.7 13.1L28.3 103.8c-29.6 46.8-3.4 111.9 51.9 119.4c4 .5 8.1 .8 12.1 .8c26.1 0 49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29c26.1 0 49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29c26.2 0 49.3-11.4 65.2-29c16 17.6 39.1 29 65.2 29c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4zM499.7 254.9l-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-12.4 0-24.3-1.9-35.4-5.3V384H128V250.6c-11.2 3.5-23.2 5.4-35.6 5.4c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V384v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V384 252.6c-4 1-8 1.8-12.3 2.3z\"],\n \"arrow-trend-up\": [576, 512, [], \"e098\", \"M384 160c-17.7 0-32-14.3-32-32s14.3-32 32-32H544c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32s-32-14.3-32-32V205.3L342.6 374.6c-12.5 12.5-32.8 12.5-45.3 0L192 269.3 54.6 406.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160c12.5-12.5 32.8-12.5 45.3 0L320 306.7 466.7 160H384z\"],\n \"plug-circle-minus\": [576, 512, [], \"e55e\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM576 368c0-79.5-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144s144-64.5 144-144zm-64 0c0 8.8-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"],\n \"sign-hanging\": [512, 512, [\"sign\"], \"f4d9\", \"M96 0c17.7 0 32 14.3 32 32V64l352 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-352 0V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128H32C14.3 128 0 113.7 0 96S14.3 64 32 64H64V32C64 14.3 78.3 0 96 0zm96 160H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\"],\n \"bezier-curve\": [640, 512, [], \"f55b\", \"M296 136V88h48v48H296zM288 32c-26.5 0-48 21.5-48 48v4H121.6C111.2 62.7 89.3 48 64 48C28.7 48 0 76.7 0 112s28.7 64 64 64c25.3 0 47.2-14.7 57.6-36h66.9c-58.9 39.6-98.9 105-104 180H80c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-3.3c5.9-67 48.5-123.4 107.5-149.1c8.6 12.7 23.2 21.1 39.8 21.1h64c16.6 0 31.1-8.4 39.8-21.1c59 25.7 101.6 82.1 107.5 149.1H496c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-4.5c-5-75-45.1-140.4-104-180h66.9c10.4 21.3 32.3 36 57.6 36c35.3 0 64-28.7 64-64s-28.7-64-64-64c-25.3 0-47.2 14.7-57.6 36H400V80c0-26.5-21.5-48-48-48H288zM88 376h48v48H88V376zm416 48V376h48v48H504z\"],\n \"bell-slash\": [640, 512, [128277, 61943], \"f1f6\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-87.5-68.6c.5-1.7 .7-3.5 .7-5.4c0-27.6-11-54.1-30.5-73.7L512 320c-20.5-20.5-32-48.3-32-77.3V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V51.2c-42.6 8.6-79 34.2-102 69.3L38.8 5.1zM160 242.7c0 29-11.5 56.8-32 77.3l-1.5 1.5C107 341 96 367.5 96 395.2c0 11.5 9.3 20.8 20.8 20.8H406.2L160 222.1v20.7zM384 448H320 256c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z\"],\n \"tablet\": [448, 512, [\"tablet-android\"], \"f3fb\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM176 432h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"school-flag\": [576, 512, [], \"e56e\", \"M288 0H400c8.8 0 16 7.2 16 16V64c0 8.8-7.2 16-16 16H320V95.5L410.3 160H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H336V400c0-26.5-21.5-48-48-48s-48 21.5-48 48V512H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64H165.7L256 95.5V32c0-17.7 14.3-32 32-32zm48 240c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM80 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm368 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H464c-8.8 0-16 7.2-16 16zM80 352c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H80zm384 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H464z\"],\n \"fill\": [576, 512, [], \"f575\", \"M118.6 9.4C106.1-3.1 85.9-3.1 73.4 9.4s-12.5 32.8 0 45.3L154.7 136 62.6 228.1c-37.5 37.5-37.5 98.3 0 135.8L180.1 481.4c37.5 37.5 98.3 37.5 135.8 0L506.3 290.9c28.1-28.1 28.1-73.7 0-101.8L354.9 37.7c-28.1-28.1-73.7-28.1-101.8 0L200 90.7 118.6 9.4zM200 181.3l49.4 49.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L245.3 136l53.1-53.1c3.1-3.1 8.2-3.1 11.3 0L461.1 234.3c3.1 3.1 3.1 8.2 0 11.3L418.7 288H99.5c1.4-5.4 4.2-10.4 8.4-14.6L200 181.3z\"],\n \"angle-up\": [448, 512, [8963], \"f106\", \"M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z\"],\n \"drumstick-bite\": [512, 512, [], \"f6d7\", \"M160 265.2c0 8.5-3.4 16.6-9.4 22.6l-26.8 26.8c-12.3 12.3-32.5 11.4-49.4 7.2C69.8 320.6 65 320 60 320c-33.1 0-60 26.9-60 60s26.9 60 60 60c6.3 0 12 5.7 12 12c0 33.1 26.9 60 60 60s60-26.9 60-60c0-5-.6-9.8-1.8-14.5c-4.2-16.9-5.2-37.1 7.2-49.4l26.8-26.8c6-6 14.1-9.4 22.6-9.4H336c6.3 0 12.4-.3 18.5-1c11.9-1.2 16.4-15.5 10.8-26c-8.5-15.8-13.3-33.8-13.3-53c0-61.9 50.1-112 112-112c8 0 15.7 .8 23.2 2.4c11.7 2.5 24.1-5.9 22-17.6C494.5 62.5 422.5 0 336 0C238.8 0 160 78.8 160 176v89.2z\"],\n \"holly-berry\": [512, 512, [], \"f7aa\", \"M256 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm-80 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM276.8 383.8c1 .1 2.1 .2 3.2 .2c39.8 0 72 32.2 72 72v22.7c0 16.4 16 27.9 31.6 22.8l12.8-4.3c18-6 37.3-6.5 55.6-1.5l19.4 5.3c17.9 4.9 34.4-11.6 29.5-29.5L495.6 452c-5-18.3-4.4-37.6 1.5-55.6l4.3-12.8c5.2-15.5-6.4-31.6-22.8-31.6c-34.6 0-62.7-28.1-62.7-62.7v-32c0-16.4-16-27.9-31.6-22.8l-12.8 4.3c-18 6-37.3 6.5-55.6 1.5l-29.6-8.1c-2.9-.8-5.9-1-8.7-.7c4.2 9.7 5.8 20.8 3.7 32.3L275 298.7c-1.5 8.4-1.4 17 .5 25.3l5.3 23.9c2.8 12.7 1.1 25.2-4 35.9zM127.6 234.5c-15.5-5.2-31.6 6.4-31.6 22.8v32C96 323.9 67.9 352 33.3 352c-16.4 0-27.9 16-22.8 31.6l4.3 12.8c6 18 6.5 37.3 1.5 55.6l-5.3 19.4C6.2 489.4 22.6 505.8 40.5 501L60 495.6c18.3-5 37.6-4.5 55.6 1.5l12.8 4.3c15.5 5.2 31.6-6.4 31.6-22.8v-32c0-34.6 28.1-62.7 62.7-62.7c16.4 0 27.9-16 22.8-31.6l-4.3-12.8c-6-18-6.5-37.3-1.5-55.6l5.3-19.4c4.9-17.9-11.6-34.4-29.5-29.5L196 240.4c-18.3 5-37.6 4.4-55.6-1.5l-12.8-4.3zM384 144c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48z\"],\n \"chevron-left\": [384, 512, [9001], \"f053\", \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 278.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"],\n \"bacteria\": [640, 512, [], \"e059\", \"M304.9 .7c-9.6-2.7-19.5 2.8-22.3 12.4l-3.1 11c-7.4-.3-14.9 .4-22.4 2.1c-9 2.1-17.8 4.4-26.2 7l-4.4-10.3c-3.9-9.1-14.5-13.4-23.6-9.5s-13.4 14.5-9.5 23.6l3.6 8.5c-16.5 7.1-31.5 15.1-45.2 23.9L147 62c-5.5-8.3-16.7-10.5-25-5s-10.5 16.7-5 25l5.8 8.7c-13.5 11.2-25.3 23.1-35.5 35.3l-10.1-8.1c-7.8-6.2-19.1-5-25.3 2.8s-5 19.1 2.8 25.3L66 155c-1.6 2.4-3.1 4.8-4.5 7.3c-7.1 11.8-12.8 23.2-17.4 34l-7.4-3c-9.2-3.7-19.7 .8-23.4 10s.8 19.7 10 23.4l8.7 3.5c-.2 .8-.4 1.6-.7 2.3c-2.6 9.4-4.2 17.4-5.3 23.5c-.5 3.1-.9 5.7-1.2 7.7c-.1 1-.2 2-.3 2.7l-.1 1.1 0 .5 0 .2 0 .1c0 0 0 .1 29.4 2.8l0 0-29.4-2.7c-.3 3.8-.4 7.5-.3 11.2l-11 3.1C3.5 285.4-2 295.4 .7 304.9s12.7 15.1 22.3 12.4l10.3-2.9c8 15.5 20.7 28.3 36.4 36.4L66.7 361c-2.7 9.6 2.8 19.5 12.4 22.3s19.5-2.8 22.3-12.4l3.1-11c17.8 .8 34.7-4.1 48.8-13.2l8 8c7 7 18.4 7 25.5 0s7-18.4 0-25.5l-8-8c6.8-10.6 11.3-22.9 12.7-36.2l.1-.6c.2-1.3 .7-3.8 1.7-7.4l.2-.6 9.4 4c9.1 3.9 19.7-.3 23.6-9.5s-.3-19.7-9.5-23.6l-8.5-3.6c7.5-11.1 18.7-23.7 36.5-34.5l1.6 5.6c2.7 9.6 12.7 15.1 22.3 12.4s15.1-12.7 12.4-22.3l-3-10.6c5.2-1.7 10.7-3.2 16.6-4.6c9.7-2.2 18.5-6 26.4-11.1l8 8c7 7 18.4 7 25.5 0s7-18.4 0-25.5l-8-8c9.1-14.3 14-31.2 13.2-48.8l11-3.1c9.6-2.7 15.1-12.7 12.4-22.3S370.6 64 361 66.7l-10.3 2.9c-8.1-15.9-21-28.5-36.4-36.4l2.9-10.3c2.7-9.6-2.8-19.5-12.4-22.3zM106.2 275.8l-37.1-3.4 0 0 37.1 3.4zM128 256c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm96-112c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16zm98.7 345c-2.7 9.6 2.8 19.5 12.4 22.3s19.5-2.8 22.2-12.4l3.1-11c7.4 .3 14.9-.4 22.4-2.1c9-2.1 17.8-4.4 26.2-7l4.4 10.3c3.9 9.1 14.5 13.4 23.6 9.5s13.4-14.5 9.5-23.6l-3.6-8.5c16.5-7.1 31.5-15.1 45.2-23.9L493 450c5.5 8.3 16.7 10.5 25 5s10.5-16.7 5-25l-5.8-8.7c13.5-11.2 25.3-23.1 35.5-35.3l10.1 8.1c7.8 6.2 19.1 5 25.3-2.8s5-19.1-2.8-25.3L574 357c1.6-2.4 3.1-4.8 4.5-7.3c7.1-11.8 12.8-23.2 17.4-34l7.4 3c9.2 3.7 19.7-.8 23.4-10s-.8-19.7-10-23.4l-8.7-3.5c.2-.8 .4-1.6 .7-2.3c2.6-9.4 4.2-17.4 5.3-23.5c.5-3.1 .9-5.7 1.2-7.7c.1-1 .2-2 .3-2.7l.1-1.1 0-.5 0-.2 0-.1c0 0 0-.1-29.4-2.8l0 0 29.4 2.7c.3-3.8 .4-7.5 .3-11.2l11-3.1c9.6-2.7 15.1-12.7 12.4-22.3s-12.7-15.1-22.3-12.4l-10.3 2.9c-8-15.5-20.7-28.3-36.4-36.4l2.9-10.3c2.7-9.6-2.8-19.5-12.4-22.3s-19.5 2.8-22.2 12.4l-3.1 11c-17.8-.8-34.7 4.1-48.8 13.2l-8-8c-7-7-18.4-7-25.5 0s-7 18.4 0 25.5l8 8c-6.8 10.6-11.3 22.9-12.7 36.2l-.1 .6c-.2 1.3-.7 3.8-1.7 7.4l-.2 .6-9.4-4c-9.1-3.9-19.7 .3-23.6 9.5s.3 19.7 9.5 23.6l8.5 3.6c-7.5 11.1-18.7 23.7-36.5 34.5l-1.6-5.6c-2.7-9.6-12.7-15.1-22.3-12.4s-15.1 12.7-12.4 22.3l3 10.6c-5.2 1.7-10.7 3.2-16.6 4.6c-9.7 2.2-18.5 6-26.4 11.1l-8-8c-7-7-18.4-7-25.5 0s-7 18.4 0 25.5l8 8c-9.1 14.2-14 31.2-13.2 48.8l-11 3.1c-9.6 2.7-15.1 12.7-12.4 22.2s12.7 15.1 22.3 12.4l10.3-2.9c8.1 15.9 21 28.5 36.4 36.4l-3 10.3zM570.9 239.5l0 0-37.1-3.4 37.1 3.4zM384 384c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32z\"],\n \"hand-lizard\": [512, 512, [], \"f258\", \"M0 112C0 85.5 21.5 64 48 64H160h80 46.5c36.8 0 71.2 18 92.1 48.2l113.5 164c13 18.7 19.9 41 19.9 63.8v12 16 48c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V402.2L273.9 352H240 160 112c-26.5 0-48-21.5-48-48s21.5-48 48-48h48 80c26.5 0 48-21.5 48-48s-21.5-48-48-48H160 48c-26.5 0-48-21.5-48-48z\"],\n \"notdef\": [384, 512, [], \"e1fe\", \"M64 390.3L153.5 256 64 121.7V390.3zM102.5 448H281.5L192 313.7 102.5 448zm128-192L320 390.3V121.7L230.5 256zM281.5 64H102.5L192 198.3 281.5 64zM0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48z\"],\n \"disease\": [512, 512, [], \"f7fa\", \"M238.5 53.1C251 39.6 268.6 32 287 32c28.9 0 54.5 18.7 63.2 46.3L366 128.6c7.3 23 25.2 41 48.2 48.3l62.2 19.9c21.2 6.8 35.6 26.5 35.6 48.7c0 17.5-8.9 33.7-23.6 43.1l-85.9 54.8c-10.6 6.8-16.6 18.8-15.7 31.3l2.5 33.9c2.8 38.5-27.7 71.4-66.4 71.4c-13.6 0-26.9-4.2-38.1-12l-48.2-33.6c-14.8-10.3-32.3-15.8-50.3-15.8H170.2c-4.9 0-9.9 .4-14.8 1.2L83.9 432.1c-21.3 3.6-42.8-5.7-54.6-23.9c-11.8-18.1-11.8-41.4 0-59.4L56.5 307c4.9-7.5 7.5-16.3 7.5-25.3c0-9.9-3.2-19.5-9-27.4L11.3 194.6C-6.5 170.3-.7 136.2 24.2 119.2c9.7-6.6 21.2-9.8 32.9-9.1l80.6 4.6c26.1 1.5 51.5-8.7 69.4-27.9l31.5-33.8zM160 256c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm160-48c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zM288 352c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"briefcase-medical\": [512, 512, [], \"f469\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zm96 152c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V320H176c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"],\n \"genderless\": [384, 512, [], \"f22d\", \"M192 368c-61.9 0-112-50.1-112-112s50.1-112 112-112s112 50.1 112 112s-50.1 112-112 112zm0 64c97.2 0 176-78.8 176-176s-78.8-176-176-176S16 158.8 16 256s78.8 176 176 176z\"],\n \"chevron-right\": [384, 512, [9002], \"f054\", \"M342.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 256 105.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"],\n \"retweet\": [576, 512, [], \"f079\", \"M272 416c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-17.7 0-32-14.3-32-32V192h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l32 0 0 128c0 53 43 96 96 96H272zM304 96c-17.7 0-32 14.3-32 32s14.3 32 32 32l112 0c17.7 0 32 14.3 32 32l0 128H416c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8l-32 0V192c0-53-43-96-96-96L304 96z\"],\n \"car-rear\": [512, 512, [\"car-alt\"], \"f5de\", \"M165.4 96H346.6c13.6 0 25.7 8.6 30.2 21.4L402.9 192H109.1l26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zm-90.6 .3L39.6 196.8C16.4 206.4 0 229.3 0 256v80c0 23.7 12.9 44.4 32 55.4V448c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V400H384v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V391.4c19.1-11.1 32-31.7 32-55.4V256c0-26.7-16.4-49.6-39.6-59.2L437.2 96.3C423.7 57.8 387.4 32 346.6 32H165.4c-40.8 0-77.1 25.8-90.6 64.3zM208 272h96c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V288c0-8.8 7.2-16 16-16zM48 280c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-13.3 0-24-10.7-24-24zm360-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H408c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"],\n \"pump-soap\": [448, 512, [], \"e06b\", \"M128 32v96H256V96h60.1c4.2 0 8.3 1.7 11.3 4.7l33.9 33.9c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L372.7 55.4c-15-15-35.4-23.4-56.6-23.4H256c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zM117.4 160c-33.3 0-61 25.5-63.8 58.7L35 442.7C31.9 480 61.3 512 98.8 512H285.2c37.4 0 66.9-32 63.8-69.3l-18.7-224c-2.8-33.2-30.5-58.7-63.8-58.7H117.4zM256 360c0 35.3-28.7 56-64 56s-64-20.7-64-56c0-32.5 37-80.9 50.9-97.9c3.2-3.9 8.1-6.1 13.1-6.1s9.9 2.2 13.1 6.1C219 279.1 256 327.5 256 360z\"],\n \"video-slash\": [640, 512, [], \"f4e2\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.4-67.7 13.8 9.2c9.8 6.5 22.4 7.2 32.9 1.6s16.9-16.4 16.9-28.2V128c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.9 1.6l-96 64L448 174.9V192 320v5.8l-32-25.1V128c0-35.3-28.7-64-64-64H113.9L38.8 5.1zM32 128V384c0 35.3 28.7 64 64 64H352c23.4 0 43.9-12.6 55-31.3L32.3 121.5c-.2 2.1-.3 4.3-.3 6.5z\"],\n \"battery-quarter\": [576, 512, [\"battery-2\"], \"f243\", \"M0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176zm80-16c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zm112 32V320H96V192h96z\"],\n \"radio\": [512, 512, [128251], \"f8d7\", \"M494.8 47c12.7-3.7 20-17.1 16.3-29.8S494-2.8 481.2 1L51.7 126.9c-9.4 2.7-17.9 7.3-25.1 13.2C10.5 151.7 0 170.6 0 192v4V304 448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H218.5L494.8 47zM368 400c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80zM80 256c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16zM64 320c0-8.8 7.2-16 16-16H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm16 64c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16z\"],\n \"baby-carriage\": [512, 512, [\"carriage-baby\"], \"f77d\", \"M256 192H.1C2.7 117.9 41.3 52.9 99 14.1c13.3-8.9 30.8-4.3 39.9 8.8L256 192zm128-32c0-35.3 28.7-64 64-64h32c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0v64c0 25.2-5.8 50.2-17 73.5s-27.8 44.5-48.6 62.3s-45.5 32-72.7 41.6S253.4 416 224 416s-58.5-5-85.7-14.6s-51.9-23.8-72.7-41.6s-37.3-39-48.6-62.3S0 249.2 0 224l224 0 160 0V160zM80 512c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48zm336-48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48z\"],\n \"traffic-light\": [320, 512, [128678], \"f637\", \"M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm96 320c26.5 0 48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48zm-48-80c0-26.5 21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48zM160 64c26.5 0 48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48z\"],\n \"thermometer\": [512, 512, [], \"f491\", \"M96 382.1V293.3c0-14.9 5.9-29.1 16.4-39.6l27.3-27.3 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 45.5-45.5C355.2 10.9 381.4 0 408.8 0C465.8 0 512 46.2 512 103.2c0 27.4-10.9 53.6-30.2 73L258.3 399.6c-10.5 10.5-24.7 16.4-39.6 16.4H129.9L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l89-89z\"],\n \"vr-cardboard\": [640, 512, [], \"f729\", \"M576 64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H184.4c24.2 0 46.4-13.7 57.2-35.4l32-64c8.8-17.5 26.7-28.6 46.3-28.6s37.5 11.1 46.3 28.6l32 64c10.8 21.7 33 35.4 57.2 35.4H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM224 240c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zm256 64c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64z\"],\n \"hand-middle-finger\": [448, 512, [128405], \"f806\", \"M232 0c-22.1 0-40 17.9-40 40V204.2c-8.5-7.6-19.7-12.2-32-12.2c-26.5 0-48 21.5-48 48v7 73c0 8.8-7.2 16-16 16s-16-7.2-16-16V264.3c-2 1.4-3.9 3-5.8 4.5L55 284.8C40.4 297 32 315 32 334V372c0 38 16.9 74 46.1 98.3l5.4 4.5c28.8 24 65 37.1 102.4 37.1H304c70.7 0 128-57.3 128-128V320 288c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C350 227.5 329.3 208 304 208c-12.3 0-23.5 4.6-32 12.2V40c0-22.1-17.9-40-40-40z\"],\n \"percent\": [384, 512, [62101, 62785, \"percentage\"], \"25\", \"M374.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-320 320c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l320-320zM128 128c0-35.3-28.7-64-64-64S0 92.7 0 128s28.7 64 64 64s64-28.7 64-64zM384 384c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\"],\n \"truck-moving\": [640, 512, [], \"f4df\", \"M64 32C28.7 32 0 60.7 0 96V304v80 16c0 44.2 35.8 80 80 80c26.2 0 49.4-12.6 64-32c14.6 19.4 37.8 32 64 32c44.2 0 80-35.8 80-80c0-5.5-.6-10.8-1.6-16H416h33.6c-1 5.2-1.6 10.5-1.6 16c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H608c17.7 0 32-14.3 32-32V288 272 261.7c0-9.2-3.2-18.2-9-25.3l-58.8-71.8c-10.6-13-26.5-20.5-43.3-20.5H480V96c0-35.3-28.7-64-64-64H64zM585 256H480V192h48.8c2.4 0 4.7 1.1 6.2 2.9L585 256zM528 432c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zM240 400c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM80 432c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"glass-water-droplet\": [448, 512, [], \"e4f5\", \"M64 0C55.1 0 46.6 3.7 40.6 10.2s-9.1 15.2-8.5 24.1L60.9 437.7c3 41.9 37.8 74.3 79.8 74.3H307.3c42 0 76.8-32.4 79.8-74.3L415.9 34.3c.6-8.9-2.4-17.6-8.5-24.1S392.9 0 384 0H64zm51 297.5L98.4 64H349.6L333 297.5 320 304c-20.1 10.1-43.9 10.1-64 0s-43.9-10.1-64 0s-43.9 10.1-64 0l-13-6.5zM288 196c0-24-33.7-70.1-52.2-93.5c-6.1-7.7-17.5-7.7-23.6 0C193.7 125.9 160 172 160 196c0 33.1 28.7 60 64 60s64-26.9 64-60z\"],\n \"display\": [576, 512, [], \"e163\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V352H64V64H512z\"],\n \"face-smile\": [512, 512, [128578, \"smile\"], \"f118\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM208.4 208c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm128 32c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"thumbtack\": [384, 512, [128204, 128392, \"thumb-tack\"], \"f08d\", \"M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z\"],\n \"trophy\": [576, 512, [127942], \"f091\", \"M400 0H176c-26.5 0-48.1 21.8-47.1 48.2c.2 5.3 .4 10.6 .7 15.8H24C10.7 64 0 74.7 0 88c0 92.6 33.5 157 78.5 200.7c44.3 43.1 98.3 64.8 138.1 75.8c23.4 6.5 39.4 26 39.4 45.6c0 20.9-17 37.9-37.9 37.9H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H357.9C337 448 320 431 320 410.1c0-19.6 15.9-39.2 39.4-45.6c39.9-11 93.9-32.7 138.2-75.8C542.5 245 576 180.6 576 88c0-13.3-10.7-24-24-24H446.4c.3-5.2 .5-10.4 .7-15.8C448.1 21.8 426.5 0 400 0zM48.9 112h84.4c9.1 90.1 29.2 150.3 51.9 190.6c-24.9-11-50.8-26.5-73.2-48.3c-32-31.1-58-76-63-142.3zM464.1 254.3c-22.4 21.8-48.3 37.3-73.2 48.3c22.7-40.3 42.8-100.5 51.9-190.6h84.4c-5.1 66.3-31.1 111.2-63 142.3z\"],\n \"person-praying\": [448, 512, [128720, \"pray\"], \"f683\", \"M352 64c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64zM232.7 264l22.9 31.5c6.5 8.9 16.3 14.7 27.2 16.1s21.9-1.7 30.4-8.7l88-72c17.1-14 19.6-39.2 5.6-56.3s-39.2-19.6-56.3-5.6l-55.2 45.2-26.2-36C253.6 156.7 228.6 144 202 144c-30.9 0-59.2 17.1-73.6 44.4L79.8 280.9c-20.2 38.5-9.4 85.9 25.6 111.8L158.6 432H72c-22.1 0-40 17.9-40 40s17.9 40 40 40H280c17.3 0 32.6-11.1 38-27.5s-.3-34.4-14.2-44.7L187.7 354l45-90z\"],\n \"hammer\": [576, 512, [128296], \"f6e3\", \"M413.5 237.5c-28.2 4.8-58.2-3.6-80-25.4l-38.1-38.1C280.4 159 272 138.8 272 117.6V105.5L192.3 62c-5.3-2.9-8.6-8.6-8.3-14.7s3.9-11.5 9.5-14l47.2-21C259.1 4.2 279 0 299.2 0h18.1c36.7 0 72 14 98.7 39.1l44.6 42c24.2 22.8 33.2 55.7 26.6 86L503 183l8-8c9.4-9.4 24.6-9.4 33.9 0l24 24c9.4 9.4 9.4 24.6 0 33.9l-88 88c-9.4 9.4-24.6 9.4-33.9 0l-24-24c-9.4-9.4-9.4-24.6 0-33.9l8-8-17.5-17.5zM27.4 377.1L260.9 182.6c3.5 4.9 7.5 9.6 11.8 14l38.1 38.1c6 6 12.4 11.2 19.2 15.7L134.9 484.6c-14.5 17.4-36 27.4-58.6 27.4C34.1 512 0 477.8 0 435.7c0-22.6 10.1-44.1 27.4-58.6z\"],\n \"hand-peace\": [512, 512, [9996], \"f25b\", \"M224 0c17.7 0 32 14.3 32 32V240H192V32c0-17.7 14.3-32 32-32zm96 160c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32zm64 64c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224zM93.3 51.2L175.9 240H106.1L34.7 76.8C27.6 60.6 35 41.8 51.2 34.7s35.1 .3 42.1 16.5zm27 221.3l-.2-.5h69.9H216c22.1 0 40 17.9 40 40s-17.9 40-40 40H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V352c0 88.4-71.6 160-160 160H226.3c-42.4 0-83.1-16.9-113.1-46.9l-11.6-11.6C77.5 429.5 64 396.9 64 363V336c0-32.7 24.6-59.7 56.3-63.5z\"],\n \"rotate\": [512, 512, [128260, \"sync-alt\"], \"f2f1\", \"M142.9 142.9c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H463.5c0 0 0 0 0 0H472c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5c7.7-21.8 20.2-42.3 37.8-59.8zM16 312v7.6 .7V440c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l41.6-41.6c87.6 86.5 228.7 86.2 315.8-1c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.2 62.2-162.7 62.5-225.3 1L185 329c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8H48.4h-.7H40c-13.3 0-24 10.7-24 24z\"],\n \"spinner\": [512, 512, [], \"f110\", \"M304 48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zm0 416c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM48 304c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm464-48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM142.9 437c18.7-18.7 18.7-49.1 0-67.9s-49.1-18.7-67.9 0s-18.7 49.1 0 67.9s49.1 18.7 67.9 0zm0-294.2c18.7-18.7 18.7-49.1 0-67.9S93.7 56.2 75 75s-18.7 49.1 0 67.9s49.1 18.7 67.9 0zM369.1 437c18.7 18.7 49.1 18.7 67.9 0s18.7-49.1 0-67.9s-49.1-18.7-67.9 0s-18.7 49.1 0 67.9z\"],\n \"robot\": [640, 512, [129302], \"f544\", \"M320 0c17.7 0 32 14.3 32 32V96H480c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64H288V32c0-17.7 14.3-32 32-32zM208 384c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H400zM264 256c0-22.1-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40s40-17.9 40-40zm152 40c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40zM48 224H64V416H48c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H576V224h16z\"],\n \"peace\": [512, 512, [9774], \"f67c\", \"M224 445.3V323.5l-94.3 77.1c26.1 22.8 58.5 38.7 94.3 44.7zM89.2 351.1L224 240.8V66.7C133.2 81.9 64 160.9 64 256c0 34.6 9.2 67.1 25.2 95.1zm293.1 49.5L288 323.5V445.3c35.7-6 68.1-21.9 94.3-44.7zm40.6-49.5c16-28 25.2-60.5 25.2-95.1c0-95.1-69.2-174.1-160-189.3V240.8L422.8 351.1zM512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256z\"],\n \"gears\": [640, 512, [\"cogs\"], \"f085\", \"M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.7 8.4 166.9 8 160 8s-13.7 .4-20.4 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM208 176c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 400c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48z\"],\n \"warehouse\": [640, 512, [], \"f494\", \"M0 488V171.3c0-26.2 15.9-49.7 40.2-59.4L308.1 4.8c7.6-3.1 16.1-3.1 23.8 0L599.8 111.9c24.3 9.7 40.2 33.3 40.2 59.4V488c0 13.3-10.7 24-24 24H568c-13.3 0-24-10.7-24-24V224c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32V488c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zm488 24l-336 0c-13.3 0-24-10.7-24-24V432H512l0 56c0 13.3-10.7 24-24 24zM128 400V336H512v64H128zm0-96V224H512l0 80H128z\"],\n \"arrow-up-right-dots\": [576, 512, [], \"e4b7\", \"M160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h50.7L9.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 109.3V160c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H160zM576 80c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM448 208c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM400 384c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm48 80c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zm128 0c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM272 384c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm48 80c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM144 512c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM576 336c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zm-48-80c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48z\"],\n \"splotch\": [512, 512, [], \"f5bc\", \"M287.6 .1c-19.7 0-38.3 9.1-50.4 24.6L205.9 64.9c-17.9 23-46 35.6-75.1 33.7L59.1 94c-13.5-.9-26.9 3.2-37.7 11.6C-1.3 123.2-6.7 155.2 8.8 179.4l44.5 69.2c7.1 11 10.8 23.8 10.8 36.8c0 11.9-3.1 23.5-9 33.8L27.4 367.7c-10 17.5-10 39.1 0 56.6c12.1 21.2 36.4 32.3 60.4 27.7l67-13c5.5-1.1 11.2-1.6 16.8-1.6H180c20.9 0 41 7.4 56.9 20.9l45 38.2c11.8 10 26.9 15.6 42.4 15.6c37.8 0 67.7-31.9 65.4-69.6l-3.1-50.6c-1-16.8 6.6-32.9 20.1-42.8l82.5-60.2c14.2-10.4 22.7-27 22.7-44.6c0-23.2-14.5-43.9-36.3-51.8l-58.2-21.2c-24.4-8.9-42.9-29.1-49.7-54.2L349.3 47.4C341.8 19.5 316.5 .1 287.6 .1z\"],\n \"face-grin-hearts\": [512, 512, [128525, \"grin-hearts\"], \"f584\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM383.8 317.8c12.3-3.7 24.3 7 19.2 18.7c-24.5 56.9-81.1 96.7-147 96.7s-122.5-39.8-147-96.7c-5.1-11.8 6.9-22.4 19.2-18.7C166.7 329.4 210.1 336 256 336s89.3-6.6 127.8-18.2zM199.3 129.1c17.8 4.8 28.4 23.1 23.6 40.8l-17.4 65c-2.3 8.5-11.1 13.6-19.6 11.3l-65.1-17.4c-17.8-4.8-28.4-23.1-23.6-40.8s23.1-28.4 40.8-23.6l16.1 4.3 4.3-16.1c4.8-17.8 23.1-28.4 40.8-23.6zm154.3 23.6l4.3 16.1 16.1-4.3c17.8-4.8 36.1 5.8 40.8 23.6s-5.8 36.1-23.6 40.8l-65.1 17.4c-8.5 2.3-17.3-2.8-19.6-11.3l-17.4-65c-4.8-17.8 5.8-36.1 23.6-40.8s36.1 5.8 40.9 23.6z\"],\n \"dice-four\": [448, 512, [9859], \"f524\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM128 384c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zM352 160c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM320 384c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"sim-card\": [384, 512, [], \"f7c4\", \"M64 0H242.7c17 0 33.3 6.7 45.3 18.7L365.3 96c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0zM96 192c-17.7 0-32 14.3-32 32v32h64V192H96zM64 352h80 96 80V288H240 144 64v64zM320 224c0-17.7-14.3-32-32-32H256v64h64V224zM160 192v64h64V192H160zM288 448c17.7 0 32-14.3 32-32V384H256v64h32zM160 384v64h64V384H160zM64 416c0 17.7 14.3 32 32 32h32V384H64v32z\"],\n \"transgender\": [512, 512, [9895, \"transgender-alt\"], \"f225\", \"M112 0c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-31 31L112 78.1l7-7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-7 7 15.2 15.2C187.7 107.6 220.5 96 256 96s68.3 11.6 94.9 31.2l68.8-68.8-31-31c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9h96c8.8 0 16 7.2 16 16v96c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-31-31-68.8 68.8C404.4 187.7 416 220.5 416 256c0 80.2-59 146.6-136 158.2V432h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V414.2C155 402.6 96 336.2 96 256c0-35.5 11.6-68.3 31.2-94.9L112 145.9l-7 7c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l7-7L58.3 92.3l-31 31c-4.6 4.6-11.5 5.9-17.4 3.5S0 118.5 0 112V16C0 7.2 7.2 0 16 0h96zM352 256c0-53-43-96-96-96s-96 43-96 96s43 96 96 96s96-43 96-96z\"],\n \"mercury\": [384, 512, [9791], \"f223\", \"M72.1 7C85.8-4 106-1.8 117 12c17.6 22 44.7 36 75 36s57.3-14 75-36c11.1-13.8 31.2-16 45-5s16 31.2 5 45c-7.8 9.7-16.6 18.4-26.4 26.1C337.3 109.7 368 163.3 368 224c0 89.1-66.2 162.7-152 174.4V424h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V472H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V398.4C82.2 386.7 16 313.1 16 224c0-60.7 30.7-114.3 77.5-145.9C83.7 70.5 74.9 61.7 67.1 52c-11.1-13.8-8.8-33.9 5-45zM80 224c0 61.9 50.1 112 112 112s112-50.1 112-112s-50.1-112-112-112s-112 50.1-112 112z\"],\n \"arrow-turn-down\": [384, 512, [\"level-down\"], \"f149\", \"M32 64C14.3 64 0 49.7 0 32S14.3 0 32 0l96 0c53 0 96 43 96 96l0 306.7 73.4-73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 402.7 160 96c0-17.7-14.3-32-32-32L32 64z\"],\n \"person-falling-burst\": [640, 512, [], \"e547\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 9.8c0 39-23.7 74-59.9 88.4C71.6 154.5 32 213 32 278.2V352c0 17.7 14.3 32 32 32s32-14.3 32-32l0-73.8c0-10 1.6-19.8 4.5-29L261.1 497.4c9.6 14.8 29.4 19.1 44.3 9.5s19.1-29.4 9.5-44.3L222.6 320H224l80 0 38.4 51.2c10.6 14.1 30.7 17 44.8 6.4s17-30.7 6.4-44.8l-43.2-57.6C341.3 263.1 327.1 256 312 256l-71.5 0-56.8-80.2-.2-.3c44.7-29 72.5-79 72.5-133.6l0-9.8zM96 80c0-26.5-21.5-48-48-48S0 53.5 0 80s21.5 48 48 48s48-21.5 48-48zM464 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 78.7-12.2c6.5-1 11.7-5.9 13.1-12.2s-1.1-13-6.5-16.7l-65.6-45.1L603 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L508.3 92.1l-29.4-74C476.4 12 470.6 8 464 8s-12.4 4-14.9 10.1l-29.4 74L343.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1-65.6 45.1c-5.4 3.7-8 10.3-6.5 16.7c.1 .3 .1 .6 .2 .8l19.4 0c20.1 0 39.2 7.5 53.8 20.8l18.4 2.9L383 265.3l36.2 48.3c2.1 2.8 3.9 5.7 5.5 8.6L464 286.1z\"],\n \"award\": [384, 512, [], \"f559\", \"M173.8 5.5c11-7.3 25.4-7.3 36.4 0L228 17.2c6 3.9 13 5.8 20.1 5.4l21.3-1.3c13.2-.8 25.6 6.4 31.5 18.2l9.6 19.1c3.2 6.4 8.4 11.5 14.7 14.7L344.5 83c11.8 5.9 19 18.3 18.2 31.5l-1.3 21.3c-.4 7.1 1.5 14.2 5.4 20.1l11.8 17.8c7.3 11 7.3 25.4 0 36.4L366.8 228c-3.9 6-5.8 13-5.4 20.1l1.3 21.3c.8 13.2-6.4 25.6-18.2 31.5l-19.1 9.6c-6.4 3.2-11.5 8.4-14.7 14.7L301 344.5c-5.9 11.8-18.3 19-31.5 18.2l-21.3-1.3c-7.1-.4-14.2 1.5-20.1 5.4l-17.8 11.8c-11 7.3-25.4 7.3-36.4 0L156 366.8c-6-3.9-13-5.8-20.1-5.4l-21.3 1.3c-13.2 .8-25.6-6.4-31.5-18.2l-9.6-19.1c-3.2-6.4-8.4-11.5-14.7-14.7L39.5 301c-11.8-5.9-19-18.3-18.2-31.5l1.3-21.3c.4-7.1-1.5-14.2-5.4-20.1L5.5 210.2c-7.3-11-7.3-25.4 0-36.4L17.2 156c3.9-6 5.8-13 5.4-20.1l-1.3-21.3c-.8-13.2 6.4-25.6 18.2-31.5l19.1-9.6C65 70.2 70.2 65 73.4 58.6L83 39.5c5.9-11.8 18.3-19 31.5-18.2l21.3 1.3c7.1 .4 14.2-1.5 20.1-5.4L173.8 5.5zM272 192c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80s80-35.8 80-80zM1.3 441.8L44.4 339.3c.2 .1 .3 .2 .4 .4l9.6 19.1c11.7 23.2 36 37.3 62 35.8l21.3-1.3c.2 0 .5 0 .7 .2l17.8 11.8c5.1 3.3 10.5 5.9 16.1 7.7l-37.6 89.3c-2.3 5.5-7.4 9.2-13.3 9.7s-11.6-2.2-14.8-7.2L74.4 455.5l-56.1 8.3c-5.7 .8-11.4-1.5-15-6s-4.3-10.7-2.1-16zm248 60.4L211.7 413c5.6-1.8 11-4.3 16.1-7.7l17.8-11.8c.2-.1 .4-.2 .7-.2l21.3 1.3c26 1.5 50.3-12.6 62-35.8l9.6-19.1c.1-.2 .2-.3 .4-.4l43.2 102.5c2.2 5.3 1.4 11.4-2.1 16s-9.3 6.9-15 6l-56.1-8.3-32.2 49.2c-3.2 5-8.9 7.7-14.8 7.2s-11-4.3-13.3-9.7z\"],\n \"ticket-simple\": [576, 512, [\"ticket-alt\"], \"f3ff\", \"M0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64v80c-26.5 0-48 21.5-48 48s21.5 48 48 48v80c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V304c26.5 0 48-21.5 48-48s-21.5-48-48-48V128z\"],\n \"building\": [384, 512, [127970, 61687], \"f1ad\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16z\"],\n \"angles-left\": [512, 512, [171, \"angle-double-left\"], \"f100\", \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160zm352-160l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256 438.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0z\"],\n \"qrcode\": [448, 512, [], \"f029\", \"M48 32C21.5 32 0 53.5 0 80v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm80 64v64H64V96h64zM48 288c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48zm80 64v64H64V352h64zM256 80v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48zm64 16h64v64H320V96zm32 352v32h32V448H352zm96 0H416v32h32V448zM416 288v32H352V288H256v96 96h64V384h32v32h96V352 320 288H416z\"],\n \"clock-rotate-left\": [512, 512, [\"history\"], \"f1da\", \"M75 75L41 41C25.9 25.9 0 36.6 0 57.9V168c0 13.3 10.7 24 24 24H134.1c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24V256c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65V152c0-13.3-10.7-24-24-24z\"],\n \"face-grin-beam-sweat\": [512, 512, [128517, \"grin-beam-sweat\"], \"f583\", \"M476.8 126.3c-4.1 1.1-8.4 1.7-12.8 1.7c-26.5 0-48-21-48-47c0-5 1.8-11.3 4.6-18.1c.3-.7 .6-1.4 .9-2.1c9-20.2 26.5-44.9 36-57.5c3.2-4.4 9.6-4.4 12.8 0C483.4 20.6 512 61 512 81c0 21.7-14.9 39.8-35.2 45.3zM256 0c51.4 0 99.3 15.2 139.4 41.2c-1.5 3.1-3 6.2-4.3 9.3c-3.4 8-7.1 19-7.1 30.5c0 44.3 36.6 79 80 79c9.6 0 18.8-1.7 27.4-4.8c13.3 30.9 20.6 65 20.6 100.8c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0zM383.8 317.8C345.3 329.4 301.9 336 256 336s-89.3-6.6-127.8-18.2c-12.3-3.7-24.3 7-19.2 18.7c24.5 56.9 81.1 96.7 147 96.7s122.5-39.8 147-96.7c5.1-11.8-6.9-22.4-19.2-18.7zm-166.2-89l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"],\n \"file-export\": [640, 512, [\"arrow-right-from-file\"], \"f56e\", \"M32 64C32 28.7 60.7 0 96 0H256V128c0 17.7 14.3 32 32 32H416V288H248c-13.3 0-24 10.7-24 24s10.7 24 24 24H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM416 336V288H526.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H416zm0-208H288V0L416 128z\"],\n \"shield\": [512, 512, [128737, \"shield-blank\"], \"f132\", \"M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.7 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0z\"],\n \"arrow-up-short-wide\": [576, 512, [\"sort-amount-up-alt\"], \"f885\", \"M151.6 42.4C145.5 35.8 137 32 128 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L96 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H320z\"],\n \"house-medical\": [576, 512, [], \"e3b2\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32zM256 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"],\n \"golf-ball-tee\": [384, 512, [\"golf-ball\"], \"f450\", \"M384 192c0 66.8-34.1 125.6-85.8 160H85.8C34.1 317.6 0 258.8 0 192C0 86 86 0 192 0S384 86 384 192zM242.1 256.6c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.6-1.1-13.8-3c5.3 11.6 16.9 19.7 30.5 19.7c18.5 0 33.5-15 33.5-33.5c0-13.6-8.1-25.3-19.7-30.5c1.9 4.2 3 8.9 3 13.8zm-52.3-49.3c-4.9 0-9.6-1.1-13.8-3c5.3 11.6 16.9 19.7 30.5 19.7c18.5 0 33.5-15 33.5-33.5c0-13.6-8.1-25.3-19.7-30.5c1.9 4.2 3 8.9 3 13.8c0 18.5-15 33.5-33.5 33.5zm113.5-17.5c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.6-1.1-13.8-3c5.3 11.6 16.9 19.7 30.5 19.7c18.5 0 33.5-15 33.5-33.5c0-13.6-8.1-25.3-19.7-30.5c1.9 4.2 3 8.9 3 13.8zM96 416c0-17.7 14.3-32 32-32h64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H240c-8.8 0-16 7.2-16 16v16c0 17.7-14.3 32-32 32s-32-14.3-32-32V464c0-8.8-7.2-16-16-16H128c-17.7 0-32-14.3-32-32z\"],\n \"circle-chevron-left\": [512, 512, [\"chevron-circle-left\"], \"f137\", \"M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512s256-114.6 256-256zM271 135c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L167 273c-9.4-9.4-9.4-24.6 0-33.9L271 135z\"],\n \"house-chimney-window\": [576, 512, [], \"e00d\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185l52.8 46.4c8 7 12 15 11 24zM248 192c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H248z\"],\n \"pen-nib\": [512, 512, [10001], \"f5ad\", \"M368.4 18.3L312.7 74.1 437.9 199.3l55.7-55.7c21.9-21.9 21.9-57.3 0-79.2L447.6 18.3c-21.9-21.9-57.3-21.9-79.2 0zM288 94.6l-9.2 2.8L134.7 140.6c-19.9 6-35.7 21.2-42.3 41L3.8 445.8c-3.8 11.3-1 23.9 7.3 32.4L164.7 324.7c-3-6.3-4.7-13.3-4.7-20.7c0-26.5 21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48c-7.4 0-14.4-1.7-20.7-4.7L33.7 500.9c8.6 8.3 21.1 11.2 32.4 7.3l264.3-88.6c19.7-6.6 35-22.4 41-42.3l43.2-144.1 2.8-9.2L288 94.6z\"],\n \"tent-arrow-turn-left\": [640, 512, [], \"e580\", \"M152.1 41.8c9.9-8.9 10.7-24 1.8-33.9s-24-10.7-33.9-1.8l-80 72C34.9 82.7 32 89.2 32 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L118.5 120 488 120c39.8 0 72 32.2 72 72v40c0 13.3 10.7 24 24 24s24-10.7 24-24V192c0-66.3-53.7-120-120-120L118.5 72l33.5-30.2zM339.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6s14.9 11.1 24.2 11.1H320V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"],\n \"tents\": [640, 512, [], \"e582\", \"M396.6 6.5L235.8 129.1c9.6 1.8 18.9 5.8 27 12l168 128c13.2 10.1 22 24.9 24.5 41.4l6.2 41.5H608c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128c-11.5-8.7-27.3-8.7-38.8 0zm-153.2 160c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S22.7 512 32 512H224V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"],\n \"wand-magic\": [512, 512, [\"magic\"], \"f0d0\", \"M14.1 463.3c-18.7-18.7-18.7-49.1 0-67.9L395.4 14.1c18.7-18.7 49.1-18.7 67.9 0l34.6 34.6c18.7 18.7 18.7 49.1 0 67.9L116.5 497.9c-18.7 18.7-49.1 18.7-67.9 0L14.1 463.3zM347.6 187.6l105-105L429.4 59.3l-105 105 23.3 23.3z\"],\n \"dog\": [576, 512, [128021], \"f6d3\", \"M309.6 158.5L332.7 19.8C334.6 8.4 344.5 0 356.1 0c7.5 0 14.5 3.5 19 9.5L392 32h52.1c12.7 0 24.9 5.1 33.9 14.1L496 64h56c13.3 0 24 10.7 24 24v24c0 44.2-35.8 80-80 80H464 448 426.7l-5.1 30.5-112-64zM416 256.1L416 480c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V364.8c-24 12.3-51.2 19.2-80 19.2s-56-6.9-80-19.2V480c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V249.8c-28.8-10.9-51.4-35.3-59.2-66.5L1 167.8c-4.3-17.1 6.1-34.5 23.3-38.8s34.5 6.1 38.8 23.3l3.9 15.5C70.5 182 83.3 192 98 192h30 16H303.8L416 256.1zM464 80c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16z\"],\n \"carrot\": [512, 512, [129365], \"f787\", \"M346.7 6C337.6 17 320 42.3 320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7c4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-11.4-9.1-38.3-26.8-74-26.8c-32 0-40 8-40 8s8-8 8-40c0-35.7-17.7-62.6-26.8-74C370 2 365.1 0 360 0s-10 2-13.3 6zM244.6 136c-40 0-77.1 18.1-101.7 48.2l60.5 60.5c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-55.3-55.3 0 .1L2.2 477.9C-2 487-.1 497.8 7 505s17.9 9 27.1 4.8l134.7-62.4-52.1-52.1c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L199.7 433l100.2-46.4c46.4-21.5 76.2-68 76.2-119.2C376 194.8 317.2 136 244.6 136z\"],\n \"moon\": [384, 512, [127769, 9214], \"f186\", \"M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z\"],\n \"wine-glass-empty\": [320, 512, [\"wine-glass-alt\"], \"f5ce\", \"M64 0C47.4 0 33.5 12.8 32.1 29.3l-14 168.4c-6 72 42.5 135.2 109.9 150.6V448H80c-17.7 0-32 14.3-32 32s14.3 32 32 32h80 80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V348.4c67.4-15.4 115.9-78.6 109.9-150.6l-14-168.4C286.5 12.8 272.6 0 256 0H64zM81.9 203.1L93.4 64H226.6l11.6 139.1C242 248.8 205.9 288 160 288s-82-39.2-78.1-84.9z\"],\n \"cheese\": [512, 512, [], \"f7ef\", \"M512 240.2V256H0c0-20 10-38.7 26.6-49.8L274.9 40.7c8.6-5.7 18.6-8.7 28.9-8.7C418.8 32 512 125.2 512 240.2zm0 47.8V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V288H512z\"],\n \"yin-yang\": [512, 512, [9775], \"f6ad\", \"M256 64c53 0 96 43 96 96s-43 96-96 96s-96 43-96 96s43 96 96 96C150 448 64 362 64 256S150 64 256 64zm0 448c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zm32-352c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm0 192c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32z\"],\n \"music\": [512, 512, [127925], \"f001\", \"M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7v72V368c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6V147L192 223.8V432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6V200 128c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z\"],\n \"code-commit\": [640, 512, [], \"f386\", \"M320 336c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80zm156.8-48C462 361 397.4 416 320 416s-142-55-156.8-128H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H163.2C178 151 242.6 96 320 96s142 55 156.8 128H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H476.8z\"],\n \"temperature-low\": [512, 512, [], \"f76b\", \"M448 96c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm64 0c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zM144 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C70.2 332.6 64 349.5 64 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM32 112C32 50.2 82.1 0 144 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S0 447.5 0 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM192 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V272c0-8.8 7.2-16 16-16s16 7.2 16 16v50.7c18.6 6.6 32 24.4 32 45.3z\"],\n \"person-biking\": [640, 512, [128692, \"biking\"], \"f84a\", \"M400 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm27.2 64l-61.8-48.8c-17.3-13.6-41.7-13.8-59.1-.3l-83.1 64.2c-30.7 23.8-28.5 70.8 4.3 91.6L288 305.1V416c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-10.7-5.3-20.7-14.2-26.6L295 232.9l60.3-48.5L396 217c5.7 4.5 12.7 7 20 7h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H427.2zM200 384c0 39.8-32.2 72-72 72s-72-32.2-72-72s32.2-72 72-72s72 32.2 72 72zm56 0c0-70.7-57.3-128-128-128S0 313.3 0 384s57.3 128 128 128s128-57.3 128-128zm328 0c0 39.8-32.2 72-72 72s-72-32.2-72-72s32.2-72 72-72s72 32.2 72 72zm56 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z\"],\n \"broom\": [640, 512, [129529], \"f51a\", \"M627.6 57.3c14-10.9 16.5-31 5.6-44.9s-31-16.5-44.9-5.6l-144 112-72 56-8.7 6.8-30.8-39.4c-3.7-4.8-9.8-7-15.8-5.8s-10.7 5.7-12.3 11.5l-12.5 46.3L371.1 295l48-.9c6.1-.1 11.5-3.7 14.1-9.1s1.9-11.9-1.8-16.7L403 231.9l8.6-6.7 72-56 144-112zM16.7 507.7c37.4 2.8 196.8 12 252.3-31.4c57.7-45.1 76.8-161.5 76.8-161.5L267.1 213.9s-117.6-9.6-175.3 35.5C69 267.1 50.5 304.1 36.3 344c-2.4 6.7 4.7 12.8 11 9.4L86.2 333c4.1-2.2 9.2-1.1 12 2.6s2.7 8.8-.4 12.3L24.4 430.4C13.2 442.9 5.5 458.1 2.4 474.5c-.9 4.8-1.6 8.9-2.2 12.1c-.9 5 .5 10.1 3.6 14.1s7.7 6.6 12.8 7z\"],\n \"shield-heart\": [512, 512, [], \"e574\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM144 221.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"],\n \"gopuram\": [512, 512, [], \"f664\", \"M120 0c13.3 0 24 10.7 24 24v8h40V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h48V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h40V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8V64v64c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32v96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H416V352H384V224H352V128H320v96h32V352h32V512H304V464c0-26.5-21.5-48-48-48s-48 21.5-48 48v48H128V352h32V224h32V128H160v96H128V352H96V512H32c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32V256c0-17.7 14.3-32 32-32V160c0-17.7 14.3-32 32-32V64 32 24c0-13.3 10.7-24 24-24zM256 272c-17.7 0-32 14.3-32 32v48h64V304c0-17.7-14.3-32-32-32zm-32-80v32h64V192c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"],\n \"earth-oceania\": [512, 512, [\"globe-oceania\"], \"e47b\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM208.6 357.3l-39-13.5c-6.5-2.2-13.6-2.3-20.1-.3l-15.3 4.9c-18.5 5.9-38.5-2.4-47.5-19.5l-3.3-6.2c-10.6-20.1-2.3-45 18.2-54.7l35.3-16.8c2.3-1.1 4.4-2.8 5.9-4.8l5.3-7c7.2-9.6 18.6-15.3 30.6-15.3s23.4 5.7 30.6 15.3l4.6 6.1c2 2.6 4.9 4.5 8.1 5.1c7.8 1.6 15.7-1.5 20.4-7.9l10.4-14.2c2-2.8 5.3-4.4 8.7-4.4c4.4 0 8.4 2.7 10 6.8l10.1 25.9c2.8 7.2 6.7 14 11.5 20.2L311 299.8c5.8 7.4 9 16.6 9 26s-3.2 18.6-9 26L299 367.2c-8.3 10.6-21 16.8-34.4 16.8c-8.4 0-16.6-2.4-23.7-7l-25.4-16.4c-2.2-1.4-4.5-2.5-6.9-3.4zm65.2-214.8L296 164.7c10.1 10.1 2.9 27.3-11.3 27.3H254.8c-5.6 0-11.1-1.2-16.2-3.4l-42.8-19c-14.3-6.3-11.9-27.3 3.4-30.3l38.5-7.7c13.1-2.6 26.7 1.5 36.1 10.9zM248 432c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H264c-8.8 0-16-7.2-16-16zM431.2 298.9l8 24c2.8 8.4-1.7 17.4-10.1 20.2s-17.4-1.7-20.2-10.1l-8-24c-2.8-8.4 1.7-17.4 10.1-20.2s17.4 1.7 20.2 10.1zm-19.9 80.4l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"],\n \"square-xmark\": [448, 512, [10062, \"times-square\", \"xmark-square\"], \"f2d3\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm79 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"],\n \"hashtag\": [448, 512, [62098], \"23\", \"M181.3 32.4c17.4 2.9 29.2 19.4 26.3 36.8L197.8 128h95.1l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3s29.2 19.4 26.3 36.8L357.8 128H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H347.1L325.8 320H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H315.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l9.8-58.7H155.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8L90.2 384H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l21.3-128H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3zM187.1 192L165.8 320h95.1l21.3-128H187.1z\"],\n \"up-right-and-down-left-from-center\": [512, 512, [\"expand-alt\"], \"f424\", \"M344 0H488c13.3 0 24 10.7 24 24V168c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM184 496H40c-13.3 0-24-10.7-24-24V328c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z\"],\n \"oil-can\": [640, 512, [], \"f613\", \"M320 128c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v32H144 96 48c-26.5 0-48 21.5-48 48v64.8c0 19 11.2 36.2 28.5 43.9l67.5 30V368c0 26.5 21.5 48 48 48H403.1c18.4 0 35.8-7.9 48-21.7L633.5 187.7c12.3-13.9-.3-35.4-18.4-31.5L448 192l-50.5-25.2c-8.9-4.4-18.7-6.8-28.6-6.8H288V128h32zM96 208v86.1L48 272.8V208H96z\"],\n \"t\": [384, 512, [116], \"54\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H160V448c0 17.7 14.3 32 32 32s32-14.3 32-32V96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H192 32z\"],\n \"hippo\": [640, 512, [129435], \"f6ed\", \"M407 47c9.4-9.4 24.6-9.4 33.9 0l17.2 17.2c1.9-.1 3.9-.2 5.8-.2h32c11.2 0 21.9 2.3 31.6 6.5L543 55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L564 101.9c7.6 12.2 12 26.7 12 42.1c0 10.2 7.4 18.8 16.7 23c27.9 12.5 47.3 40.5 47.3 73c0 26.2-12.6 49.4-32 64v32c0 8.8-7.2 16-16 16H560c-8.8 0-16-7.2-16-16V320H480v16c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V318.4c-11.8-2.4-22.7-7.4-32-14.4c-1.5-1.1-2.9-2.3-4.3-3.5c-17-14.7-27.7-36.4-27.7-60.5c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 44.7 26.2 83.2 64 101.2V352c0 17.7 14.3 32 32 32h32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V372c-19.8 7.7-41.4 12-64 12s-44.2-4.3-64-12v76c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V329.1L45.9 369.7c-5.4 12.1-19.6 17.6-31.7 12.2S-3.3 362.4 2.1 350.3L24 300.9c5.3-11.9 8-24.7 8-37.7C32 155.7 117.2 68 223.8 64.1l.2-.1h7.2H256h32c41.7 0 83.4 12.1 117.2 25.7c1.7-1.8 3.5-3.6 5.3-5.2L407 81c-9.4-9.4-9.4-24.6 0-33.9zm73 185c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24zm88 24c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zM480 144c0-8.8-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16s16-7.2 16-16zm48 16c8.8 0 16-7.2 16-16s-7.2-16-16-16s-16 7.2-16 16s7.2 16 16 16z\"],\n \"chart-column\": [512, 512, [], \"e0e3\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zM160 224c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm128-64V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm64 32c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32zM480 96V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32s32 14.3 32 32z\"],\n \"infinity\": [640, 512, [8734, 9854], \"f534\", \"M0 241.1C0 161 65 96 145.1 96c38.5 0 75.4 15.3 102.6 42.5L320 210.7l72.2-72.2C419.5 111.3 456.4 96 494.9 96C575 96 640 161 640 241.1v29.7C640 351 575 416 494.9 416c-38.5 0-75.4-15.3-102.6-42.5L320 301.3l-72.2 72.2C220.5 400.7 183.6 416 145.1 416C65 416 0 351 0 270.9V241.1zM274.7 256l-72.2-72.2c-15.2-15.2-35.9-23.8-57.4-23.8C100.3 160 64 196.3 64 241.1v29.7c0 44.8 36.3 81.1 81.1 81.1c21.5 0 42.2-8.5 57.4-23.8L274.7 256zm90.5 0l72.2 72.2c15.2 15.2 35.9 23.8 57.4 23.8c44.8 0 81.1-36.3 81.1-81.1V241.1c0-44.8-36.3-81.1-81.1-81.1c-21.5 0-42.2 8.5-57.4 23.8L365.3 256z\"],\n \"vial-circle-check\": [512, 512, [], \"e596\", \"M0 64C0 46.3 14.3 32 32 32H96h64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32V266.8c-20.2 28.6-32 63.5-32 101.2c0 25.2 5.3 49.1 14.8 70.8C189.5 463.7 160.6 480 128 480c-53 0-96-43-96-96V96C14.3 96 0 81.7 0 64zM96 96v96h64V96H96zM512 368c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zm-76.7-43.3c-6.2-6.2-16.4-6.2-22.6 0L352 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"],\n \"person-arrow-down-to-line\": [640, 512, [], \"e538\", \"M192 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm-8 352V352h16v96H184zm-64 0H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H152h80H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H264V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V448zM464 64V306.7l-25.4-25.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L528 306.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"],\n \"voicemail\": [640, 512, [], \"f897\", \"M144 160c44.2 0 80 35.8 80 80s-35.8 80-80 80s-80-35.8-80-80s35.8-80 80-80zM263.8 320c15.3-22.9 24.2-50.4 24.2-80c0-79.5-64.5-144-144-144S0 160.5 0 240s64.5 144 144 144H496c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144c0 29.6 8.9 57.1 24.2 80H263.8zM496 320c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80z\"],\n \"fan\": [512, 512, [], \"f863\", \"M258.6 0c-1.7 0-3.4 .1-5.1 .5C168 17 115.6 102.3 130.5 189.3c2.9 17 8.4 32.9 15.9 47.4L32 224H29.4C13.2 224 0 237.2 0 253.4c0 1.7 .1 3.4 .5 5.1C17 344 102.3 396.4 189.3 381.5c17-2.9 32.9-8.4 47.4-15.9L224 480v2.6c0 16.2 13.2 29.4 29.4 29.4c1.7 0 3.4-.1 5.1-.5C344 495 396.4 409.7 381.5 322.7c-2.9-17-8.4-32.9-15.9-47.4L480 288h2.6c16.2 0 29.4-13.2 29.4-29.4c0-1.7-.1-3.4-.5-5.1C495 168 409.7 115.6 322.7 130.5c-17 2.9-32.9 8.4-47.4 15.9L288 32V29.4C288 13.2 274.8 0 258.6 0zM256 288c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"person-walking-luggage\": [576, 512, [], \"e554\", \"M432 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM347.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L505 232.7l-15.3-36.8C472.5 154.8 432.3 128 387.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1l-25 62.4-59.4 59.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L340.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM256 274.1c-7.7-4.4-17.4-1.8-21.9 5.9l-32 55.4L147.7 304c-15.3-8.8-34.9-3.6-43.7 11.7L40 426.6c-8.8 15.3-3.6 34.9 11.7 43.7l55.4 32c15.3 8.8 34.9 3.6 43.7-11.7l64-110.9c1.5-2.6 2.6-5.2 3.3-8L261.9 296c4.4-7.7 1.8-17.4-5.9-21.9z\"],\n \"up-down\": [256, 512, [8597, 11021, \"arrows-alt-v\"], \"f338\", \"M145.6 7.7C141 2.8 134.7 0 128 0s-13 2.8-17.6 7.7l-104 112c-6.5 7-8.2 17.2-4.4 25.9S14.5 160 24 160H80V352H24c-9.5 0-18.2 5.7-22 14.4s-2.1 18.9 4.4 25.9l104 112c4.5 4.9 10.9 7.7 17.6 7.7s13-2.8 17.6-7.7l104-112c6.5-7 8.2-17.2 4.4-25.9s-12.5-14.4-22-14.4H176V160h56c9.5 0 18.2-5.7 22-14.4s2.1-18.9-4.4-25.9l-104-112z\"],\n \"cloud-moon-rain\": [640, 512, [], \"f73c\", \"M513.2 0C449 0 395.5 46.5 385.7 107.6c35.4 17.6 60.2 53.3 62.1 95.1c23.2 11 42 29.7 53.1 52.7c4 .4 8.1 .6 12.3 .6c34.9 0 66.7-13.8 89.9-36.1c5.1-4.9 6.4-12.5 3.2-18.7s-10.1-9.7-17-8.6c-4.9 .8-10 1.3-15.2 1.3c-49 0-88.4-39.3-88.4-87.4c0-32.6 18-61.1 44.9-76.1c6.1-3.4 9.3-10.5 7.8-17.4s-7.3-12-14.3-12.6c-3.6-.3-7.3-.5-10.9-.5zM399.9 383.9c44.2 0 80-35.8 80-80c0-39.3-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C273.3 114.6 242.8 96 208 96c-53 0-96 43-96 96l0 1.3c-45.4 7.6-80 47.1-80 94.6c0 53 43 96 96 96H399.9zM117.4 420.1c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3z\"],\n \"calendar\": [448, 512, [128197, 128198], \"f133\", \"M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192z\"],\n \"trailer\": [640, 512, [], \"e041\", \"M48 32C21.5 32 0 53.5 0 80V336c0 26.5 21.5 48 48 48H65.1c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96H488h8H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H544V80c0-26.5-21.5-48-48-48H48zM80 96c8.8 0 16 7.2 16 16l0 131.2c-11.4 5.9-22.2 12.9-32 21V112c0-8.8 7.2-16 16-16zm96 128c-5.4 0-10.7 .2-16 .7L160 112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 112.7c-5.3-.5-10.6-.7-16-.7zm80 19.2L256 112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 152.2c-9.8-8.1-20.6-15.2-32-21zM368 96c8.8 0 16 7.2 16 16l0 192c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-192c0-8.8 7.2-16 16-16zm112 16l0 192c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-192c0-8.8 7.2-16 16-16s16 7.2 16 16zM176 480c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80zm0-48c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"bahai\": [576, 512, [\"haykal\"], \"f666\", \"M288 0c14.5 0 27.2 9.7 30.9 23.8l23.9 89.6 75.9-53.3c11.9-8.3 27.8-7.6 39 1.7s14.6 24.9 8.4 38.1l-39.3 84 92.4 8c14.4 1.2 26.2 12 28.8 26.3s-4.9 28.5-18 34.6l-84.1 39.1 65.7 65.5c10.3 10.2 12.4 26.1 5.1 38.7s-22 18.7-36 14.9L391 386.8l8.2 92.4c1.3 14.4-7.3 27.9-20.9 32.9s-28.9 .1-37.2-11.7l-53.1-76-53.1 76c-8.3 11.9-23.6 16.7-37.2 11.7s-22.2-18.5-20.9-32.9l8.2-92.4L95.4 410.9c-14 3.8-28.8-2.3-36-14.9s-5.2-28.4 5.1-38.7l65.7-65.5L46 252.7c-13.1-6.1-20.5-20.3-18-34.6s14.3-25.1 28.8-26.3l92.4-8-39.3-84c-6.1-13.1-2.7-28.8 8.4-38.1s27.1-10 39-1.7l75.9 53.3 23.9-89.6C260.8 9.7 273.5 0 288 0zm0 156.2l-4.8 18c-2.7 10.1-10.2 18.2-20 21.8s-20.8 2.1-29.3-3.9l-15.2-10.7 7.9 16.8c4.4 9.5 4 20.5-1.3 29.6s-14.5 15-25 15.9l-18.5 1.6 16.8 7.8c9.5 4.4 16.2 13.2 18 23.5s-1.5 20.8-8.9 28.2l-13.2 13.1 17.9-4.8c10.1-2.7 20.9-.3 28.9 6.4s12.2 16.9 11.3 27.3l-1.6 18.5 10.6-15.2c6-8.6 15.8-13.7 26.2-13.7s20.2 5.1 26.2 13.7l10.6 15.2-1.6-18.5c-.9-10.4 3.3-20.6 11.3-27.3s18.8-9.1 28.9-6.4l17.9 4.8-13.2-13.1c-7.4-7.4-10.7-17.9-8.9-28.2s8.5-19.1 18-23.5l16.8-7.8-18.5-1.6c-10.4-.9-19.7-6.8-25-15.9s-5.7-20.1-1.3-29.6l7.9-16.8-15.2 10.7c-8.6 6-19.5 7.5-29.3 3.9s-17.3-11.7-20-21.8l-4.8-18z\"],\n \"sd-card\": [384, 512, [], \"f7c2\", \"M320 0H141.3C124.3 0 108 6.7 96 18.7L18.7 96C6.7 108 0 124.3 0 141.3V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 88v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z\"],\n \"dragon\": [640, 512, [128009], \"f6d5\", \"M352 124.5l-51.9-13c-6.5-1.6-11.3-7.1-12-13.8s2.8-13.1 8.7-16.1l40.8-20.4L294.4 28.8c-5.5-4.1-7.8-11.3-5.6-17.9S297.1 0 304 0H416h32 16c30.2 0 58.7 14.2 76.8 38.4l57.6 76.8c6.2 8.3 9.6 18.4 9.6 28.8c0 26.5-21.5 48-48 48H538.5c-17 0-33.3-6.7-45.3-18.7L480 160H448v21.5c0 24.8 12.8 47.9 33.8 61.1l106.6 66.6c32.1 20.1 51.6 55.2 51.6 93.1C640 462.9 590.9 512 530.2 512H496 432 32.3c-3.3 0-6.6-.4-9.6-1.4C13.5 507.8 6 501 2.4 492.1C1 488.7 .2 485.2 0 481.4c-.2-3.7 .3-7.3 1.3-10.7c2.8-9.2 9.6-16.7 18.6-20.4c3-1.2 6.2-2 9.5-2.2L433.3 412c8.3-.7 14.7-7.7 14.7-16.1c0-4.3-1.7-8.4-4.7-11.4l-44.4-44.4c-30-30-46.9-70.7-46.9-113.1V181.5v-57zM512 72.3c0-.1 0-.2 0-.3s0-.2 0-.3v.6zm-1.3 7.4L464.3 68.1c-.2 1.3-.3 2.6-.3 3.9c0 13.3 10.7 24 24 24c10.6 0 19.5-6.8 22.7-16.3zM130.9 116.5c16.3-14.5 40.4-16.2 58.5-4.1l130.6 87V227c0 32.8 8.4 64.8 24 93H112c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7L171 232.3 18.4 255.8c-7 1.1-13.9-2.6-16.9-9s-1.5-14.1 3.8-18.8L130.9 116.5z\"],\n \"shoe-prints\": [640, 512, [], \"f54b\", \"M416 0C352.3 0 256 32 256 32V160c48 0 76 16 104 32s56 32 104 32c56.4 0 176-16 176-96S512 0 416 0zM128 96c0 35.3 28.7 64 64 64h32V32H192c-35.3 0-64 28.7-64 64zM288 512c96 0 224-48 224-128s-119.6-96-176-96c-48 0-76 16-104 32s-56 32-104 32V480s96.3 32 160 32zM0 416c0 35.3 28.7 64 64 64H96V352H64c-35.3 0-64 28.7-64 64z\"],\n \"circle-plus\": [512, 512, [\"plus-circle\"], \"f055\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM232 344V280H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"],\n \"face-grin-tongue-wink\": [512, 512, [128540, \"grin-tongue-wink\"], \"f58b\", \"M174.5 498.8C73.1 464.7 0 368.9 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 112.9-73.1 208.7-174.5 242.8C346.7 484 352 466.6 352 448V401.1c24.3-17.5 43.6-41.6 55.4-69.6c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c11.7 27.8 30.8 51.7 54.8 69.2V448c0 18.6 5.3 36 14.5 50.8zm20.7-265.2c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zM336 272c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64zM320 402.6V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V402.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6zM336 232c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z\"],\n \"hand-holding\": [576, 512, [], \"f4bd\", \"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-367-8.2c.3 0 .6 0 .9 0c0 0 0 0 0 0c-.3 0-.6 0-.9 0z\"],\n \"plug-circle-exclamation\": [576, 512, [], \"e55d\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144zm0-48c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm0-192c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"],\n \"link-slash\": [640, 512, [\"chain-broken\", \"chain-slash\", \"unlink\"], \"f127\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L489.3 358.2l90.5-90.5c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114l-96 96-31.9-25C430.9 239.6 420.1 175.1 377 132c-52.2-52.3-134.5-56.2-191.3-11.7L38.8 5.1zM239 162c30.1-14.9 67.7-9.9 92.8 15.3c20 20 27.5 48.3 21.7 74.5L239 162zM406.6 416.4L220.9 270c-2.1 39.8 12.2 80.1 42.2 110c38.9 38.9 94.4 51 143.6 36.3zm-290-228.5L60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5l61.8-61.8-50.6-39.9z\"],\n \"clone\": [512, 512, [], \"f24d\", \"M0 448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V384H224c-53 0-96-43-96-96V160H64c-35.3 0-64 28.7-64 64V448zm224-96H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H224c-35.3 0-64 28.7-64 64V288c0 35.3 28.7 64 64 64z\"],\n \"person-walking-arrow-loop-left\": [640, 512, [], \"e551\", \"M208 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zm347.7 119c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L461.3 384H480c88.4 0 160-71.6 160-160s-71.6-160-160-160L352 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c53 0 96 43 96 96s-43 96-96 96H461.3l25.4-25.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3l80 80z\"],\n \"arrow-up-z-a\": [576, 512, [\"sort-alpha-up-alt\"], \"f882\", \"M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L128 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 64c0 17.7 14.3 32 32 32h50.7l-73.4 73.4c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H429.3l73.4-73.4c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H352c-17.7 0-32 14.3-32 32zm96 192c-12.1 0-23.2 6.8-28.6 17.7l-64 128-16 32c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3h88.4l7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-16-32-64-128C439.2 262.8 428.1 256 416 256zM395.8 400L416 359.6 436.2 400H395.8z\"],\n \"fire-flame-curved\": [384, 512, [\"fire-alt\"], \"f7e4\", \"M153.6 29.9l16-21.3C173.6 3.2 180 0 186.7 0C198.4 0 208 9.6 208 21.3V43.5c0 13.1 5.4 25.7 14.9 34.7L307.6 159C356.4 205.6 384 270.2 384 337.7C384 434 306 512 209.7 512H192C86 512 0 426 0 320v-3.8c0-48.8 19.4-95.6 53.9-130.1l3.5-3.5c4.2-4.2 10-6.6 16-6.6C85.9 176 96 186.1 96 198.6V288c0 35.3 28.7 64 64 64s64-28.7 64-64v-3.9c0-18-7.2-35.3-19.9-48l-38.6-38.6c-24-24-37.5-56.7-37.5-90.7c0-27.7 9-54.8 25.6-76.9z\"],\n \"tornado\": [448, 512, [127786], \"f76f\", \"M0 32V45.6C0 62.7 1.7 79.6 5 96H357.8c3.2-6.9 7.5-13.3 13-18.8l38.6-38.6c4.2-4.2 6.6-10 6.6-16C416 10.1 405.9 0 393.4 0H32C14.3 0 0 14.3 0 32zm352.2 96H13.6c12.2 35.9 32.3 68.7 58.8 96H412l-47.2-62.9c-7.3-9.7-11.6-21.2-12.6-33.1zm-226 138.2l116.4 68.5c8.2 4.8 15.8 10.7 22.5 17.3H445c2-9.8 3-19.9 3-30.1c0-23-5.3-45.5-15.3-65.9H110.2c5.2 3.6 10.5 7 16 10.2zM288 384c10.3 21.4 13.8 45.5 9.9 69l-5.9 35.7c-2 12.2 7.4 23.4 19.8 23.4c5.3 0 10.4-2.1 14.2-5.9l78.2-78.2c12.8-12.8 23.1-27.7 30.4-43.9H288z\"],\n \"file-circle-plus\": [576, 512, [58606], \"e494\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 384c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm16-208c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"],\n \"book-quran\": [448, 512, [\"quran\"], \"f687\", \"M352 0c53 0 96 43 96 96V416c0 53-43 96-96 96H64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V384c-17.7 0-32-14.3-32-32V32C0 14.3 14.3 0 32 0H64 352zm0 384H96v64H352c17.7 0 32-14.3 32-32s-14.3-32-32-32zM274.1 150.2l-8.9 21.4-23.1 1.9c-5.7 .5-8 7.5-3.7 11.2L256 199.8l-5.4 22.6c-1.3 5.5 4.7 9.9 9.6 6.9L280 217.2l19.8 12.1c4.9 3 10.9-1.4 9.6-6.9L304 199.8l17.6-15.1c4.3-3.7 2-10.8-3.7-11.2l-23.1-1.9-8.9-21.4c-2.2-5.3-9.6-5.3-11.8 0zM96 192c0 70.7 57.3 128 128 128c25.6 0 49.5-7.5 69.5-20.5c3.2-2.1 4.5-6.2 3.1-9.7s-5.2-5.6-9-4.8c-6.1 1.2-12.5 1.9-19 1.9c-52.4 0-94.9-42.5-94.9-94.9s42.5-94.9 94.9-94.9c6.5 0 12.8 .7 19 1.9c3.8 .8 7.5-1.3 9-4.8s.2-7.6-3.1-9.7C273.5 71.5 249.6 64 224 64C153.3 64 96 121.3 96 192z\"],\n \"anchor\": [576, 512, [9875], \"f13d\", \"M256 96c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm85.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c88.4 0 160-71.6 160-160v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-56-56c-9.4-9.4-24.6-9.4-33.9 0l-56 56c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 53-43 96-96 96H320V240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1z\"],\n \"border-all\": [448, 512, [], \"f84c\", \"M384 96V224H256V96H384zm0 192V416H256V288H384zM192 224H64V96H192V224zM64 288H192V416H64V288zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"],\n \"face-angry\": [512, 512, [128544, \"angry\"], \"f556\", \"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM161.3 382.1c-5.4 12.3 8.7 21.6 21.1 16.4c22.4-9.5 47.4-14.8 73.7-14.8s51.3 5.3 73.7 14.8c12.4 5.2 26.5-4.1 21.1-16.4c-16-36.6-52.4-62.1-94.8-62.1s-78.8 25.6-94.8 62.1zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"],\n \"cookie-bite\": [512, 512, [], \"f564\", \"M257.5 27.6c-.8-5.4-4.9-9.8-10.3-10.6c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9c-.9-5.3-5.3-9.3-10.6-10.1c-51.5-8.2-92.8-47.1-104.5-97.4c-1.8-7.6-8-13.4-15.7-14.6c-54.6-8.7-97.7-52-106.2-106.8zM208 208c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"arrow-trend-down\": [576, 512, [], \"e097\", \"M384 352c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v82.7L342.6 137.4c-12.5-12.5-32.8-12.5-45.3 0L192 242.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0L320 205.3 466.7 352H384z\"],\n \"rss\": [448, 512, [\"feed\"], \"f09e\", \"M0 64C0 46.3 14.3 32 32 32c229.8 0 416 186.2 416 416c0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96C14.3 96 0 81.7 0 64zM128 416c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM32 160c159.1 0 288 128.9 288 288c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"draw-polygon\": [448, 512, [], \"f5ee\", \"M96 151.4V360.6c9.7 5.6 17.8 13.7 23.4 23.4H328.6c0-.1 .1-.2 .1-.3l-4.5-7.9-32-56 0 0c-1.4 .1-2.8 .1-4.2 .1c-35.3 0-64-28.7-64-64s28.7-64 64-64c1.4 0 2.8 0 4.2 .1l0 0 32-56 4.5-7.9-.1-.3H119.4c-5.6 9.7-13.7 17.8-23.4 23.4zM384.3 352c35.2 .2 63.7 28.7 63.7 64c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V151.4C12.9 140.4 0 119.7 0 96C0 60.7 28.7 32 64 32c23.7 0 44.4 12.9 55.4 32H328.6c11.1-19.1 31.7-32 55.4-32c35.3 0 64 28.7 64 64c0 35.3-28.5 63.8-63.7 64l-4.5 7.9-32 56-2.3 4c4.2 8.5 6.5 18 6.5 28.1s-2.3 19.6-6.5 28.1l2.3 4 32 56 4.5 7.9z\"],\n \"scale-balanced\": [640, 512, [9878, \"balance-scale\"], \"f24e\", \"M384 32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H398.4c-5.2 25.8-22.9 47.1-46.4 57.3V448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-23.5-10.3-41.2-31.6-46.4-57.3H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zM125.8 177.3L51.1 320H204.9L130.2 177.3c-.4-.8-1.3-1.3-2.2-1.3s-1.7 .5-2.2 1.3zM128 128c18.8 0 36 10.4 44.7 27l77.8 148.5c3.1 5.8 6.1 14 5.5 23.8c-.7 12.1-4.8 35.2-24.8 55.1C210.9 402.6 178.2 416 128 416s-82.9-13.4-103.2-33.5c-20-20-24.2-43-24.8-55.1c-.6-9.8 2.5-18 5.5-23.8L83.3 155c8.7-16.6 25.9-27 44.7-27zm384 48c-.9 0-1.7 .5-2.2 1.3L435.1 320H588.9L514.2 177.3c-.4-.8-1.3-1.3-2.2-1.3zm-44.7-21c8.7-16.6 25.9-27 44.7-27s36 10.4 44.7 27l77.8 148.5c3.1 5.8 6.1 14 5.5 23.8c-.7 12.1-4.8 35.2-24.8 55.1C594.9 402.6 562.2 416 512 416s-82.9-13.4-103.2-33.5c-20-20-24.2-43-24.8-55.1c-.6-9.8 2.5-18 5.5-23.8L467.3 155z\"],\n \"gauge-simple-high\": [512, 512, [61668, \"tachometer\", \"tachometer-fast\"], \"f62a\", \"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM320 352c0-15.9-5.8-30.4-15.3-41.6l76.6-147.4c6.1-11.8 1.5-26.3-10.2-32.4s-26.2-1.5-32.4 10.2L262.1 288.3c-2-.2-4-.3-6.1-.3c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\"],\n \"shower\": [512, 512, [128703], \"f2cc\", \"M64 131.9C64 112.1 80.1 96 99.9 96c9.5 0 18.6 3.8 25.4 10.5l16.2 16.2c-21 38.9-17.4 87.5 10.9 123L151 247c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L345 121c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-1.3 1.3c-35.5-28.3-84.1-31.9-123-10.9L170.5 61.3C151.8 42.5 126.4 32 99.9 32C44.7 32 0 76.7 0 131.9V448c0 17.7 14.3 32 32 32s32-14.3 32-32V131.9zM256 352c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm64 64c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm0-128c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm64 64c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm0-128c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm64 64c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm32-32c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"desktop\": [576, 512, [128421, 61704, \"desktop-alt\"], \"f390\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V288H64V64H512z\"],\n \"m\": [448, 512, [109], \"4d\", \"M22.7 33.4c13.5-4.1 28.1 1.1 35.9 12.9L224 294.3 389.4 46.2c7.8-11.7 22.4-17 35.9-12.9S448 49.9 448 64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V169.7L250.6 369.8c-5.9 8.9-15.9 14.2-26.6 14.2s-20.7-5.3-26.6-14.2L64 169.7V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 49.9 9.2 37.5 22.7 33.4z\"],\n \"table-list\": [512, 512, [\"th-list\"], \"f00b\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 0v64h64V96H64zm384 0H192v64H448V96zM64 224v64h64V224H64zm384 0H192v64H448V224zM64 352v64h64V352H64zm384 0H192v64H448V352z\"],\n \"comment-sms\": [512, 512, [\"sms\"], \"f7cd\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM202.9 176.8c6.5-2.2 13.7 .1 17.9 5.6L256 229.3l35.2-46.9c4.1-5.5 11.3-7.8 17.9-5.6s10.9 8.3 10.9 15.2v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V240l-19.2 25.6c-3 4-7.8 6.4-12.8 6.4s-9.8-2.4-12.8-6.4L224 240v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-6.9 4.4-13 10.9-15.2zm173.1 38c0 .2 0 .4 0 .4c.1 .1 .6 .8 2.2 1.7c3.9 2.3 9.6 4.1 18.3 6.8l.6 .2c7.4 2.2 17.3 5.2 25.2 10.2c9.1 5.7 17.4 15.2 17.6 29.9c.2 15-7.6 26-17.8 32.3c-9.5 5.9-20.9 7.9-30.7 7.6c-12.2-.4-23.7-4.4-32.6-7.4l0 0 0 0c-1.4-.5-2.7-.9-4-1.4c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c1.7 .6 3.3 1.1 4.9 1.6l0 0 0 0c9.1 3.1 15.6 5.3 22.6 5.5c5.3 .2 10-1 12.8-2.8c1.2-.8 1.8-1.5 2.1-2c.2-.4 .6-1.2 .6-2.7l0-.2c0-.7 0-1.4-2.7-3.1c-3.8-2.4-9.6-4.3-18-6.9l-1.2-.4c-7.2-2.2-16.7-5-24.3-9.6c-9-5.4-17.7-14.7-17.7-29.4c-.1-15.2 8.6-25.7 18.5-31.6c9.4-5.5 20.5-7.5 29.7-7.4c10 .2 19.7 2.3 27.9 4.4c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-7.3-1.9-14.1-3.3-20.1-3.4c-4.9-.1-9.8 1.1-12.9 2.9c-1.4 .8-2.1 1.6-2.4 2c-.2 .3-.4 .8-.4 1.9zm-272 0c0 .2 0 .4 0 .4c.1 .1 .6 .8 2.2 1.7c3.9 2.3 9.6 4.1 18.3 6.8l.6 .2c7.4 2.2 17.3 5.2 25.2 10.2c9.1 5.7 17.4 15.2 17.6 29.9c.2 15-7.6 26-17.8 32.3c-9.5 5.9-20.9 7.9-30.7 7.6c-12.3-.4-24.2-4.5-33.2-7.6l0 0 0 0c-1.3-.4-2.5-.8-3.6-1.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c1.4 .5 2.7 .9 4 1.4l0 0 0 0 0 0c9.5 3.2 16.5 5.6 23.7 5.8c5.3 .2 10-1 12.8-2.8c1.2-.8 1.8-1.5 2.1-2c.2-.4 .6-1.2 .6-2.7l0-.2c0-.7 0-1.4-2.7-3.1c-3.8-2.4-9.6-4.3-18-6.9l-1.2-.4 0 0c-7.2-2.2-16.7-5-24.3-9.6C80.8 239 72.1 229.7 72 215c-.1-15.2 8.6-25.7 18.5-31.6c9.4-5.5 20.5-7.5 29.7-7.4c9.5 .1 22.2 2.1 31.1 4.4c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-6.6-1.8-16.8-3.3-23.3-3.4c-4.9-.1-9.8 1.1-12.9 2.9c-1.4 .8-2.1 1.6-2.4 2c-.2 .3-.4 .8-.4 1.9z\"],\n \"book\": [448, 512, [128212], \"f02d\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"user-plus\": [640, 512, [], \"f234\", \"M352 128c0 70.7-57.3 128-128 128s-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM504 312V248H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V136c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"],\n \"check\": [512, 512, [10003, 10004], \"f00c\", \"M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7 425.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"],\n \"battery-three-quarters\": [576, 512, [\"battery-4\"], \"f241\", \"M0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176zm80-16c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zm272 32V320H96V192H352z\"],\n \"house-circle-check\": [640, 512, [], \"e509\", \"M320.7 351.7C329 262.1 404.3 192 496 192c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V480c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V383.7c0-17.7 14.3-32 32-32h64l.7 0zM640 368c0-79.5-64.5-144-144-144s-144 64.5-144 144s64.5 144 144 144s144-64.5 144-144zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"],\n \"angle-left\": [320, 512, [8249], \"f104\", \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\"],\n \"diagram-successor\": [512, 512, [], \"e47a\", \"M512 416l0-64c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64zM64 160l0-64 144 0 16 0 0 64L64 160zm224 0l0-64 80 0c8.8 0 16 7.2 16 16l0 16-38.1 0c-21.4 0-32.1 25.9-17 41L399 239c9.4 9.4 24.6 9.4 33.9 0L503 169c15.1-15.1 4.4-41-17-41L448 128l0-16c0-44.2-35.8-80-80-80L224 32l-16 0L64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64z\"],\n \"truck-arrow-right\": [640, 512, [], \"e58b\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM160 464c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm368-48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM257 95c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H262.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9L257 95z\"],\n \"arrows-split-up-and-left\": [512, 512, [], \"e4bc\", \"M246.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L352 109.3V384c0 35.3 28.7 64 64 64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c-70.7 0-128-57.3-128-128c0-35.3-28.7-64-64-64H109.3l41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 256H224c23.3 0 45.2 6.2 64 17.1V109.3l-41.4 41.4z\"],\n \"hand-fist\": [384, 512, [9994, \"fist-raised\"], \"f6de\", \"M160 0c17.7 0 32 14.3 32 32V144H128V32c0-17.7 14.3-32 32-32zM32 64c0-17.7 14.3-32 32-32s32 14.3 32 32v80H32V64zm192 0c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V64zm96 64c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V128zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V256c0 52.3-25.1 98.8-64 128v96c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V401.6c-17.3-7.9-33.2-18.8-46.9-32.5L37.5 357.5C13.5 333.5 0 300.9 0 267V240c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72z\"],\n \"cloud-moon\": [640, 512, [], \"f6c3\", \"M495.8 0c5.5 0 10.9 .2 16.3 .7c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-44.4 25.2-74.4 73-74.4 127.8c0 81 65.5 146.6 146.2 146.6c8.6 0 17-.7 25.1-2.1c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7c-34.5 33.6-81.7 54.4-133.6 54.4c-9.3 0-18.4-.7-27.4-1.9c-11.2-22.6-29.8-40.9-52.6-51.7c-2.7-58.5-50.3-105.3-109.2-106.7c-1.7-10.4-2.6-21-2.6-31.8C304 86.1 389.8 0 495.8 0zM447.9 431.9c0 44.2-35.8 80-80 80H96c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"],\n \"briefcase\": [512, 512, [128188], \"f0b1\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160v96H192 320 512V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM512 288H320v32c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V288H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V288z\"],\n \"person-falling\": [512, 512, [], \"e546\", \"M288 0c17.7 0 32 14.3 32 32l0 9.8c0 54.6-27.9 104.6-72.5 133.6l.2 .3L304.5 256l87.5 0c15.1 0 29.3 7.1 38.4 19.2l43.2 57.6c10.6 14.1 7.7 34.2-6.4 44.8s-34.2 7.7-44.8-6.4L384 320l-96 0h-1.4l92.3 142.6c9.6 14.8 5.4 34.6-9.5 44.3s-34.6 5.4-44.3-9.5L164.5 249.2c-2.9 9.2-4.5 19-4.5 29l0 73.8c0 17.7-14.3 32-32 32s-32-14.3-32-32V278.2c0-65.1 39.6-123.7 100.1-147.9C232.3 115.8 256 80.8 256 41.8l0-9.8c0-17.7 14.3-32 32-32zM112 128c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48z\"],\n \"image-portrait\": [384, 512, [\"portrait\"], \"f3e0\", \"M384 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64l0-384zM256 192c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM80 356.6c0-37.9 30.7-68.6 68.6-68.6h86.9c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4H107.4C92.3 384 80 371.7 80 356.6z\"],\n \"user-tag\": [640, 512, [], \"f507\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0S96 57.3 96 128s57.3 128 128 128zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c10 0 18.8-4.9 24.2-12.5l-99.2-99.2c-14.9-14.9-23.3-35.1-23.3-56.1v-33c-15.9-4.7-32.8-7.2-50.3-7.2H178.3zM384 224c-17.7 0-32 14.3-32 32v82.7c0 17 6.7 33.3 18.7 45.3L478.1 491.3c18.7 18.7 49.1 18.7 67.9 0l73.4-73.4c18.7-18.7 18.7-49.1 0-67.9L512 242.7c-12-12-28.3-18.7-45.3-18.7H384zm72 80c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z\"],\n \"rug\": [640, 512, [], \"e569\", \"M24 64H56 80V88v88 80 80 88 24H56 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V360H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V200H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V112H24C10.7 112 0 101.3 0 88S10.7 64 24 64zm88 0H528V448H112V64zM640 88c0 13.3-10.7 24-24 24h-8v40h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v32h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v32h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v40h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H584 560V424 336 256 176 88 64h24 32c13.3 0 24 10.7 24 24z\"],\n \"earth-europe\": [512, 512, [\"globe-europe\"], \"f7a2\", \"M266.3 48.3L232.5 73.6c-5.4 4-8.5 10.4-8.5 17.1v9.1c0 6.8 5.5 12.3 12.3 12.3c2.4 0 4.8-.7 6.8-2.1l41.8-27.9c2-1.3 4.4-2.1 6.8-2.1h1c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8l-19.9 19.9c-5.8 5.8-12.9 10.2-20.7 12.8l-26.5 8.8c-5.8 1.9-9.6 7.3-9.6 13.4c0 3.7-1.5 7.3-4.1 10l-17.9 17.9c-6.4 6.4-9.9 15-9.9 24v4.3c0 16.4 13.6 29.7 29.9 29.7c11 0 21.2-6.2 26.1-16l4-8.1c2.4-4.8 7.4-7.9 12.8-7.9c4.5 0 8.7 2.1 11.4 5.7l16.3 21.7c2.1 2.9 5.5 4.5 9.1 4.5c8.4 0 13.9-8.9 10.1-16.4l-1.1-2.3c-3.5-7 0-15.5 7.5-18l21.2-7.1c7.6-2.5 12.7-9.6 12.7-17.6c0-10.3 8.3-18.6 18.6-18.6H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H379.3c-7.2 0-14.2 2.9-19.3 8l-4.7 4.7c-2.1 2.1-3.3 5-3.3 8c0 6.2 5.1 11.3 11.3 11.3h11.3c6 0 11.8 2.4 16 6.6l6.5 6.5c1.8 1.8 2.8 4.3 2.8 6.8s-1 5-2.8 6.8l-7.5 7.5C386 262 384 266.9 384 272s2 10 5.7 13.7L408 304c10.2 10.2 24.1 16 38.6 16H454c6.5-20.2 10-41.7 10-64c0-111.4-87.6-202.4-197.7-207.7zm172 307.9c-3.7-2.6-8.2-4.1-13-4.1c-6 0-11.8-2.4-16-6.6L396 332c-7.7-7.7-18-12-28.9-12c-9.7 0-19.2-3.5-26.6-9.8L314 287.4c-11.6-9.9-26.4-15.4-41.6-15.4H251.4c-12.6 0-25 3.7-35.5 10.7L188.5 301c-17.8 11.9-28.5 31.9-28.5 53.3v3.2c0 17 6.7 33.3 18.7 45.3l16 16c8.5 8.5 20 13.3 32 13.3H248c13.3 0 24 10.7 24 24c0 2.5 .4 5 1.1 7.3c71.3-5.8 132.5-47.6 165.2-107.2zM512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM187.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6z\"],\n \"cart-flatbed-suitcase\": [640, 512, [\"luggage-cart\"], \"f59d\", \"M0 32C0 14.3 14.3 0 32 0H48c44.2 0 80 35.8 80 80V368c0 8.8 7.2 16 16 16H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H541.3c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16H253.3c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16H144c-44.2 0-80-35.8-80-80V80c0-8.8-7.2-16-16-16H32C14.3 64 0 49.7 0 32zM432 96V56c0-4.4-3.6-8-8-8H344c-4.4 0-8 3.6-8 8V96h96zM288 96V56c0-30.9 25.1-56 56-56h80c30.9 0 56 25.1 56 56V96 320H288V96zM512 320V96h16c26.5 0 48 21.5 48 48V272c0 26.5-21.5 48-48 48H512zM240 96h16V320H240c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z\"],\n \"rectangle-xmark\": [512, 512, [62164, \"rectangle-times\", \"times-rectangle\", \"window-close\"], \"f410\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"],\n \"baht-sign\": [320, 512, [], \"e0ac\", \"M144 0c-17.7 0-32 14.3-32 32V64H37.6C16.8 64 0 80.8 0 101.6V224v41.7V288 406.3c0 23 18.7 41.7 41.7 41.7H112v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c61.9 0 112-50.1 112-112c0-40.1-21.1-75.3-52.7-95.1C280.3 222.6 288 200.2 288 176c0-61.9-50.1-112-112-112V32c0-17.7-14.3-32-32-32zM112 128v96H64V128h48zm64 96V128c26.5 0 48 21.5 48 48s-21.5 48-48 48zm-64 64v96H64V288h48zm64 96V288h32c26.5 0 48 21.5 48 48s-21.5 48-48 48H176z\"],\n \"book-open\": [576, 512, [128214, 128366], \"f518\", \"M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5V78.6c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C87.5 32 35.1 48.6 9 59.9c-5.6 2.4-9 8-9 14V454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5V73.9c0-6.1-3.4-11.6-9-14C540.9 48.6 488.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11V456c0 11.4 11.7 19.3 22.4 15.5z\"],\n \"book-journal-whills\": [448, 512, [\"journal-whills\"], \"f66a\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zm90.4-234.4l-21.2-21.2c-3 10.1-5.1 20.6-5.1 31.6c0 .2 0 .5 .1 .8s.1 .5 .1 .8L165.2 226c2.5 2.1 3.4 5.8 2.3 8.9c-1.3 3-4.1 5.1-7.5 5.1c-1.9-.1-3.8-.8-5.2-2l-23.6-20.6C142.8 267 186.9 304 240 304s97.3-37 108.9-86.6L325.3 238c-1.4 1.2-3.3 2-5.3 2c-2.2-.1-4.4-1.1-6-2.8c-1.3-1.5-1.9-3.4-2-5.2c.1-2.2 1.1-4.4 2.7-6l37.1-32.5c0-.3 0-.5 .1-.8s.1-.5 .1-.8c0-11-2.1-21.5-5.1-31.6l-21.2 21.2c-3.1 3.1-8.1 3.1-11.3 0s-3.1-8.1 0-11.2l26.4-26.5c-10-20.7-26.1-38-46.4-49.2c17 27.1 11 62.8-14 82.6c14.1 14.6 19.1 35.9 13.1 55.2c-5.9 19.4-22 34.1-41.9 38.3l-1.4-34.3 12.6 8.6c.6 .4 1.5 .6 2.3 .6c1.5 0 2.7-.8 3.5-2s.6-2.8-.1-4L260 225.4l18-3.6c1.8-.4 3.1-2.1 3.1-4s-1.4-3.5-3.1-3.9l-18-3.7 8.5-14.3c.8-1.2 .9-2.9 .1-4.1s-2-2-3.5-2l-.1 0c-.7 .1-1.5 .3-2.1 .7l-14.1 9.6L244 87.9c-.1-2.2-1.9-3.9-4-3.9s-3.9 1.6-4 3.9l-4.6 110.8-12-8.1c-1.5-1.1-3.6-.9-5 .4s-1.6 3.4-.8 5l8.6 14.3-18 3.7c-1.8 .4-3.1 2-3.1 3.9s1.4 3.6 3.1 4l18 3.8-8.6 14.2c-.2 .6-.5 1.4-.5 2c0 1.1 .5 2.1 1.2 3c.8 .6 1.8 1 2.8 1c.7 0 1.6-.2 2.2-.6l10.4-7.1-1.4 32.8c-19.9-4.1-36-18.9-41.9-38.3c-6-19.4-1-40.5 13.1-55.2c-25-19.9-31-55.5-14-82.6c-20.1 11.2-36.4 28.5-46.4 49.2l26.4 26.5c3.1 3.1 3.1 8.1 0 11.2s-8.1 3.1-11.2 0z\"],\n \"handcuffs\": [640, 512, [], \"e4f8\", \"M304 32c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM192 112c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm-32 16c17.7 0 32 14.3 32 32h8c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C280.3 229.6 320 286.2 320 352c0 88.4-71.6 160-160 160S0 440.4 0 352c0-65.8 39.7-122.4 96.5-146.9c-.4-1.6-.5-3.3-.5-5.1V184c0-13.3 10.7-24 24-24h8c0-17.7 14.3-32 32-32zm0 320c53 0 96-43 96-96s-43-96-96-96s-96 43-96 96s43 96 96 96zm192-96c0-25.9-5.1-50.5-14.4-73.1c16.9-32.9 44.8-59.1 78.9-73.9c-.4-1.6-.5-3.3-.5-5.1V184c0-13.3 10.7-24 24-24h8c0-17.7 14.3-32 32-32s32 14.3 32 32h8c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C600.3 229.6 640 286.2 640 352c0 88.4-71.6 160-160 160c-62 0-115.8-35.3-142.4-86.9c9.3-22.5 14.4-47.2 14.4-73.1zm224 0c0-53-43-96-96-96s-96 43-96 96s43 96 96 96s96-43 96-96zM368 64c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm80 48c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"triangle-exclamation\": [512, 512, [9888, \"exclamation-triangle\", \"warning\"], \"f071\", \"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z\"],\n \"database\": [448, 512, [], \"f1c0\", \"M448 80v48c0 44.2-100.3 80-224 80S0 172.2 0 128V80C0 35.8 100.3 0 224 0S448 35.8 448 80zM393.2 214.7c20.8-7.4 39.9-16.9 54.8-28.6V288c0 44.2-100.3 80-224 80S0 332.2 0 288V186.1c14.9 11.8 34 21.2 54.8 28.6C99.7 230.7 159.5 240 224 240s124.3-9.3 169.2-25.3zM0 346.1c14.9 11.8 34 21.2 54.8 28.6C99.7 390.7 159.5 400 224 400s124.3-9.3 169.2-25.3c20.8-7.4 39.9-16.9 54.8-28.6V432c0 44.2-100.3 80-224 80S0 476.2 0 432V346.1z\"],\n \"share\": [512, 512, [\"arrow-turn-right\", \"mail-forward\"], \"f064\", \"M307 34.8c-11.5 5.1-19 16.6-19 29.2v64H176C78.8 128 0 206.8 0 304C0 417.3 81.5 467.9 100.2 478.1c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-7.5-4.3-14.4-9.8-19.5C108.8 431.9 96 414.4 96 384c0-53 43-96 96-96h96v64c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144c-9.4-8.5-22.9-10.6-34.4-5.4z\"],\n \"bottle-droplet\": [256, 512, [], \"e4c4\", \"M64 0C50.7 0 40 10.7 40 24s10.7 24 24 24c4.4 0 8 3.6 8 8v64.9c0 12.2-7.2 23.1-17.2 30.1C21.7 174.1 0 212.5 0 256V448c0 35.3 28.7 64 64 64H192c35.3 0 64-28.7 64-64V256c0-43.5-21.7-81.9-54.8-105c-10-7-17.2-17.9-17.2-30.1V56c0-4.4 3.6-8 8-8c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0 0 0 0H72l0 0 0 0L64 0zm64 382c-26.5 0-48-20.1-48-45c0-16.8 22.1-48.1 36.3-66.4c6-7.8 17.5-7.8 23.5 0C153.9 288.9 176 320.2 176 337c0 24.9-21.5 45-48 45z\"],\n \"mask-face\": [640, 512, [], \"e1d7\", \"M320 64c-27.2 0-53.8 8-76.4 23.1l-37.1 24.8c-15.8 10.5-34.3 16.1-53.3 16.1H144 128 56c-30.9 0-56 25.1-56 56v85c0 55.1 37.5 103.1 90.9 116.4l108 27C233.8 435 275.4 448 320 448s86.2-13 121.1-35.5l108-27C602.5 372.1 640 324.1 640 269V184c0-30.9-25.1-56-56-56H512 496h-9.2c-19 0-37.5-5.6-53.3-16.1L396.4 87.1C373.8 72 347.2 64 320 64zM132.3 346.3l-29.8-7.4C70.5 330.9 48 302.1 48 269V184c0-4.4 3.6-8 8-8H96v48c0 45.1 13.4 87.2 36.3 122.3zm405.1-7.4l-29.8 7.4c23-35.2 36.3-77.2 36.3-122.3V176h40c4.4 0 8 3.6 8 8v85c0 33-22.5 61.8-54.5 69.9zM192 208c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm16 48H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 80c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"],\n \"hill-rockslide\": [576, 512, [], \"e508\", \"M252.4 103.8l27 48c2.8 5 8.2 8.2 13.9 8.2l53.3 0c5.8 0 11.1-3.1 13.9-8.2l27-48c2.7-4.9 2.7-10.8 0-15.7l-27-48c-2.8-5-8.2-8.2-13.9-8.2H293.4c-5.8 0-11.1 3.1-13.9 8.2l-27 48c-2.7 4.9-2.7 10.8 0 15.7zM68.3 87C43.1 61.8 0 79.7 0 115.3V432c0 44.2 35.8 80 80 80H396.7c35.6 0 53.5-43.1 28.3-68.3L68.3 87zM504.2 403.6c4.9 2.7 10.8 2.7 15.7 0l48-27c5-2.8 8.2-8.2 8.2-13.9V309.4c0-5.8-3.1-11.1-8.2-13.9l-48-27c-4.9-2.7-10.8-2.7-15.7 0l-48 27c-5 2.8-8.2 8.2-8.2 13.9v53.3c0 5.8 3.1 11.1 8.2 13.9l48 27zM192 64c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM384 288c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"right-left\": [512, 512, [\"exchange-alt\"], \"f362\", \"M32 96l320 0V32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l96 96c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-96 96c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V160L32 160c-17.7 0-32-14.3-32-32s14.3-32 32-32zM480 352c17.7 0 32 14.3 32 32s-14.3 32-32 32H160v64c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-96-96c-6-6-9.4-14.1-9.4-22.6s3.4-16.6 9.4-22.6l96-96c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 64H480z\"],\n \"paper-plane\": [512, 512, [61913], \"f1d8\", \"M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z\"],\n \"road-circle-exclamation\": [640, 512, [], \"e565\", \"M213.2 32H288V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32h74.8c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32v64H86.6C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM496 512c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm0-48c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"],\n \"dungeon\": [512, 512, [], \"f6d9\", \"M336.6 156.5c1.3 1.1 2.7 2.2 3.9 3.3c9.3 8.2 23 10.5 33.4 3.6l67.6-45.1c11.4-7.6 14.2-23.2 5.1-33.4C430 66.6 410.9 50.6 389.7 37.6c-11.9-7.3-26.9-1.4-32.1 11.6l-30.5 76.2c-4.5 11.1 .2 23.6 9.5 31.2zM328 36.8c5.1-12.8-1.6-27.4-15-30.5C294.7 2.2 275.6 0 256 0s-38.7 2.2-57 6.4C185.5 9.4 178.8 24 184 36.8l30.3 75.8c4.5 11.3 16.8 17.2 29 16c4.2-.4 8.4-.6 12.7-.6s8.6 .2 12.7 .6c12.1 1.2 24.4-4.7 29-16L328 36.8zM65.5 85c-9.1 10.2-6.3 25.8 5.1 33.4l67.6 45.1c10.3 6.9 24.1 4.6 33.4-3.6c1.3-1.1 2.6-2.3 4-3.3c9.3-7.5 13.9-20.1 9.5-31.2L154.4 49.2c-5.2-12.9-20.3-18.8-32.1-11.6C101.1 50.6 82 66.6 65.5 85zm314 137.1c.9 3.3 1.7 6.6 2.3 10c2.5 13 13 23.9 26.2 23.9h80c13.3 0 24.1-10.8 22.9-24c-2.5-27.2-9.3-53.2-19.7-77.3c-5.5-12.9-21.4-16.6-33.1-8.9l-68.6 45.7c-9.8 6.5-13.2 19.2-10 30.5zM53.9 145.8c-11.6-7.8-27.6-4-33.1 8.9C10.4 178.8 3.6 204.8 1.1 232c-1.2 13.2 9.6 24 22.9 24h80c13.3 0 23.8-10.8 26.2-23.9c.6-3.4 1.4-6.7 2.3-10c3.1-11.4-.2-24-10-30.5L53.9 145.8zM104 288H24c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V312c0-13.3-10.7-24-24-24zm304 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V312c0-13.3-10.7-24-24-24H408zM24 416c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V440c0-13.3-10.7-24-24-24H24zm384 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V440c0-13.3-10.7-24-24-24H408zM272 192c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V192zm-64 32c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V224zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V224z\"],\n \"align-right\": [448, 512, [], \"f038\", \"M448 64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"],\n \"money-bill-1-wave\": [576, 512, [\"money-bill-wave-alt\"], \"f53b\", \"M0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM128 416H64V352c35.3 0 64 28.7 64 64zM64 224V160h64c0 35.3-28.7 64-64 64zM448 352c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM384 256c0 61.9-43 112-96 112s-96-50.1-96-112s43-112 96-112s96 50.1 96 112zM252 208c0 9.7 6.9 17.7 16 19.6V276h-4c-11 0-20 9-20 20s9 20 20 20h24 24c11 0 20-9 20-20s-9-20-20-20h-4V208c0-11-9-20-20-20H272c-11 0-20 9-20 20z\"],\n \"life-ring\": [512, 512, [], \"f1cd\", \"M367.2 412.5C335.9 434.9 297.5 448 256 448s-79.9-13.1-111.2-35.5l58-58c15.8 8.6 34 13.5 53.3 13.5s37.4-4.9 53.3-13.5l58 58zm91 .5c33.7-43.3 53.8-97.8 53.8-157s-20.1-113.6-53.8-157l12.4-12.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L413 53.8C369.6 20.1 315.2 0 256 0S142.4 20.1 99 53.8L86.6 41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L53.8 99C20.1 142.4 0 196.8 0 256s20.1 113.6 53.8 157L41.4 425.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L99 458.2c43.3 33.7 97.8 53.8 157 53.8s113.6-20.1 157-53.8l12.4 12.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L458.2 413zm-45.7-45.7l-58-58c8.6-15.8 13.5-34 13.5-53.3s-4.9-37.4-13.5-53.3l58-58C434.9 176.1 448 214.5 448 256s-13.1 79.9-35.5 111.2zM367.2 99.5l-58 58c-15.8-8.6-34-13.5-53.3-13.5s-37.4 4.9-53.3 13.5l-58-58C176.1 77.1 214.5 64 256 64s79.9 13.1 111.2 35.5zM157.5 309.3l-58 58C77.1 335.9 64 297.5 64 256s13.1-79.9 35.5-111.2l58 58c-8.6 15.8-13.5 34-13.5 53.3s4.9 37.4 13.5 53.3zM304 256c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48z\"],\n \"hands\": [512, 512, [\"sign-language\", \"signing\"], \"f2a7\", \"M154.9 162c.3 .7 .7 1.5 1.1 2.2l17.8 30.9c11.1-12.6 27.4-19.8 44.4-19.1l-20.7-35.8c-6.6-11.5-21.3-15.4-32.8-8.8c-10.8 6.2-14.9 19.5-9.9 30.6zm173.6 47C399.7 231.7 448 297.8 448 372.5c0 1.5 0 3-.1 4.5c39.7-25.6 64.1-69.7 64.1-117.4V136c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 81.7L347.8 16.5C341.2 5 326.5 1.1 315.1 7.7s-15.4 21.3-8.8 32.8l64 110.9c2.2 3.8 .9 8.7-2.9 10.9s-8.7 .9-10.9-2.9l-80-138.6C269.8 9.3 255.1 5.4 243.6 12s-15.4 21.3-8.8 32.8l80 138.6c2.2 3.8 .9 8.7-2.9 10.9s-8.7 .9-10.9-2.9L237 80.5c-6.6-11.5-21.3-15.4-32.8-8.8s-15.4 21.3-8.8 32.8l44 76.2L328.5 209zM64 488c0 12.4 9.4 22.6 21.5 23.9c.8 .1 1.6 .1 2.5 .1H288.7 296c66.3 0 120-53.7 120-120c0-1.2 0-2.4-.1-3.6c0-1.2 .1-2.5 .1-3.7c0-68-44-128.2-108.9-148.9l-83.9-26.7c-12.6-4-26.1 3-30.1 15.6s3 26.1 15.6 30.1L262.6 272H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H184c4.4 0 8 3.6 8 8s-3.6 8-8 8H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H184c4.4 0 8 3.6 8 8s-3.6 8-8 8H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H184c4.4 0 8 3.6 8 8s-3.6 8-8 8H88c-13.3 0-24 10.7-24 24z\"],\n \"calendar-day\": [448, 512, [], \"f783\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm80 64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80z\"],\n \"water-ladder\": [576, 512, [\"ladder-water\", \"swimming-pool\"], \"f5c5\", \"M128 127.7C128 74.9 170.9 32 223.7 32c48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8c-17.5 0-31.7 14.2-31.7 31.7V224H384V127.7C384 74.9 426.9 32 479.7 32c48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8c-17.5 0-31.7 14.2-31.7 31.7V361c-1.6 1-3.3 2-4.8 3.1c-18 12.4-40.1 20.3-59.2 20.3h0V288H192v96.5c-19 0-41.2-7.9-59.1-20.3c-1.6-1.1-3.2-2.2-4.9-3.1V127.7zM306.5 389.9C329 405.4 356.5 416 384 416c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 469.7 417 480 384 480c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 405.2 165.1 416 192 416c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"],\n \"arrows-up-down\": [320, 512, [\"arrows-v\"], \"f07d\", \"M182.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L128 109.3V402.7L86.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96z\"],\n \"face-grimace\": [512, 512, [128556, \"grimace\"], \"f57f\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zm96-112h-8V360l55.3 0c-3.8 22.7-23.6 40-47.3 40zm47.3-56L344 344V304h8c23.8 0 43.5 17.3 47.3 40zM328 344H264V304h64v40zm0 56H264V360h64v40zm-80-96v40l-64 0V304h64zm0 56v40H184V360l64 0zm-80-16H112.7c3.8-22.7 23.6-40 47.3-40h8v40zm0 56h-8c-23.8 0-43.5-17.3-47.3-40H168v40zm40.4-192c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm128 32c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"wheelchair-move\": [448, 512, [\"wheelchair-alt\"], \"e2ce\", \"M416 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM204.5 121.3c-5.4-2.5-11.7-1.9-16.4 1.7l-40.9 30.7c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l40.9-30.7c23.7-17.8 55.3-21 82.1-8.4l90.4 42.5c29.1 13.7 36.8 51.6 15.2 75.5L299.1 224h97.4c30.3 0 53 27.7 47.1 57.4L415.4 422.3c-3.5 17.3-20.3 28.6-37.7 25.1s-28.6-20.3-25.1-37.7L377 288H306.7c8.6 19.6 13.3 41.2 13.3 64c0 88.4-71.6 160-160 160S0 440.4 0 352s71.6-160 160-160c11.1 0 22 1.1 32.4 3.3l54.2-54.2-42.1-19.8zM160 448c53 0 96-43 96-96s-43-96-96-96s-96 43-96 96s43 96 96 96z\"],\n \"turn-down\": [384, 512, [10549, \"level-down-alt\"], \"f3be\", \"M178.3 506.3L40.3 368.3C35 363 32 355.8 32 348.3C32 332.7 44.7 320 60.3 320H144V112c0-8.8-7.2-16-16-16H32C14.3 96 0 81.7 0 64V32C0 14.3 14.3 0 32 0h96c61.9 0 112 50.1 112 112V320h83.7c15.6 0 28.3 12.7 28.3 28.3c0 7.5-3 14.7-8.3 20L205.7 506.3C202 510 197.1 512 192 512s-10-2-13.7-5.7z\"],\n \"person-walking-arrow-right\": [640, 512, [], \"e552\", \"M208 96c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224H384c-17.7 0-32 14.3-32 32s14.3 32 32 32H530.7l-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80z\"],\n \"square-envelope\": [448, 512, [\"envelope-square\"], \"f199\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM218 271.7L64.2 172.4C66 156.4 79.5 144 96 144H352c16.5 0 30 12.4 31.8 28.4L230 271.7c-1.8 1.2-3.9 1.8-6 1.8s-4.2-.6-6-1.8zm29.4 26.9L384 210.4V336c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V210.4l136.6 88.2c7 4.5 15.1 6.9 23.4 6.9s16.4-2.4 23.4-6.9z\"],\n \"dice\": [640, 512, [127922], \"f522\", \"M252.3 11.7c-15.6-15.6-40.9-15.6-56.6 0l-184 184c-15.6 15.6-15.6 40.9 0 56.6l184 184c15.6 15.6 40.9 15.6 56.6 0l184-184c15.6-15.6 15.6-40.9 0-56.6l-184-184zM248 224c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24zM96 248c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm128 80c13.3 0 24 10.7 24 24s-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24zm128-80c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zM224 72c13.3 0 24 10.7 24 24s-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24zm96 392c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H472.5c13.4 26.9 8.8 60.5-13.6 82.9L320 413.8V464zm160-88c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z\"],\n \"bowling-ball\": [512, 512, [], \"f436\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM240 144c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zm32 64c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zm-128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"brain\": [512, 512, [129504], \"f5dc\", \"M184 0c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56c-28.9 0-52.7-21.9-55.7-50.1c-5.2 1.4-10.7 2.1-16.3 2.1c-35.3 0-64-28.7-64-64c0-7.4 1.3-14.6 3.6-21.2C21.4 367.4 0 338.2 0 304c0-31.9 18.7-59.5 45.8-72.3C37.1 220.8 32 207 32 192c0-30.7 21.6-56.3 50.4-62.6C80.8 123.9 80 118 80 112c0-29.9 20.6-55.1 48.3-62.1C131.3 21.9 155.1 0 184 0zM328 0c28.9 0 52.6 21.9 55.7 49.9c27.8 7 48.3 32.1 48.3 62.1c0 6-.8 11.9-2.4 17.4c28.8 6.2 50.4 31.9 50.4 62.6c0 15-5.1 28.8-13.8 39.7C493.3 244.5 512 272.1 512 304c0 34.2-21.4 63.4-51.6 74.8c2.3 6.6 3.6 13.8 3.6 21.2c0 35.3-28.7 64-64 64c-5.6 0-11.1-.7-16.3-2.1c-3 28.2-26.8 50.1-55.7 50.1c-30.9 0-56-25.1-56-56V56c0-30.9 25.1-56 56-56z\"],\n \"bandage\": [640, 512, [129657, \"band-aid\"], \"f462\", \"M480 416h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H480V416zM448 96H192V416H448V96zM64 96C28.7 96 0 124.7 0 160V352c0 35.3 28.7 64 64 64h96V96H64zM296 208c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24zm72 24c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm-72 72c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24zm72 24c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z\"],\n \"calendar-minus\": [448, 512, [], \"f272\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zM312 376c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-13.3 0-24 10.7-24 24s10.7 24 24 24H312z\"],\n \"circle-xmark\": [512, 512, [61532, \"times-circle\", \"xmark-circle\"], \"f057\", \"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"],\n \"gifts\": [640, 512, [], \"f79c\", \"M200.6 32C205 19.5 198.5 5.8 186 1.4S159.8 3.5 155.4 16L144.7 46.2l-9.9-29.8C130.6 3.8 117-3 104.4 1.2S85 19 89.2 31.6l8.3 25-27.4-20c-10.7-7.8-25.7-5.4-33.5 5.3s-5.4 25.7 5.3 33.5L70.2 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H200.6c-5.4-9.4-8.6-20.3-8.6-32V256c0-29.9 20.5-55 48.2-62c1.8-31 17.1-58.2 40.1-76.1C271.7 104.7 256.9 96 240 96H217.8l28.3-20.6c10.7-7.8 13.1-22.8 5.3-33.5s-22.8-13.1-33.5-5.3L192.5 55.1 200.6 32zM363.5 185.5L393.1 224H344c-13.3 0-24-10.7-24-24c0-13.1 10.8-24 24.2-24c7.6 0 14.7 3.5 19.3 9.5zM272 200c0 8.4 1.4 16.5 4.1 24H272c-26.5 0-48 21.5-48 48v80H416V256h32v96H640V272c0-26.5-21.5-48-48-48h-4.1c2.7-7.5 4.1-15.6 4.1-24c0-39.9-32.5-72-72.2-72c-22.4 0-43.6 10.4-57.3 28.2L432 195.8l-30.5-39.6c-13.7-17.8-35-28.2-57.3-28.2c-39.7 0-72.2 32.1-72.2 72zM224 464c0 26.5 21.5 48 48 48H416V384H224v80zm224 48H592c26.5 0 48-21.5 48-48V384H448V512zm96-312c0 13.3-10.7 24-24 24H470.9l29.6-38.5c4.6-5.9 11.7-9.5 19.3-9.5c13.4 0 24.2 10.9 24.2 24z\"],\n \"hotel\": [512, 512, [127976], \"f594\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V448c-17.7 0-32 14.3-32 32s14.3 32 32 32H208V448h96v64H480c17.7 0 32-14.3 32-32s-14.3-32-32-32V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V112zM368 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM96 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V208zm144-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V208zm-3 152.2c3.3 12.8-7.8 23.8-21 23.8H184c-13.3 0-24.3-10.9-21-23.8c10.6-41.5 48.2-72.2 93-72.2s82.5 30.7 93 72.2z\"],\n \"earth-asia\": [512, 512, [127759, \"globe-asia\"], \"f57e\", \"M51.7 295.1l31.7 6.3c7.9 1.6 16-.9 21.7-6.6l15.4-15.4c11.6-11.6 31.1-8.4 38.4 6.2l9.3 18.5c4.8 9.6 14.6 15.7 25.4 15.7c15.2 0 26.1-14.6 21.7-29.2l-6-19.9c-4.6-15.4 6.9-30.9 23-30.9h2.3c13.4 0 25.9-6.7 33.3-17.8l10.7-16.1c5.6-8.5 5.3-19.6-.8-27.7l-16.1-21.5c-10.3-13.7-3.3-33.5 13.4-37.7l17-4.3c7.5-1.9 13.6-7.2 16.5-14.4l16.4-40.9C303.4 52.1 280.2 48 256 48C141.1 48 48 141.1 48 256c0 13.4 1.3 26.5 3.7 39.1zm407.7 4.6c-3-.3-6-.1-9 .8l-15.8 4.4c-6.7 1.9-13.8-.9-17.5-6.7l-2-3.1c-6-9.4-16.4-15.1-27.6-15.1s-21.6 5.7-27.6 15.1l-6.1 9.5c-1.4 2.2-3.4 4.1-5.7 5.3L312 330.1c-18.1 10.1-25.5 32.4-17 51.3l5.5 12.4c8.6 19.2 30.7 28.5 50.5 21.1l2.6-1c10-3.7 21.3-2.2 29.9 4.1l1.5 1.1c37.2-29.5 64.1-71.4 74.4-119.5zM512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM144.5 348.1c-2.1 8.6 3.1 17.3 11.6 19.4l32 8c8.6 2.1 17.3-3.1 19.4-11.6s-3.1-17.3-11.6-19.4l-32-8c-8.6-2.1-17.3 3.1-19.4 11.6zm92-20c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6l8-32c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6l-8 32zM343.2 113.7c-7.9-4-17.5-.7-21.5 7.2l-16 32c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l16-32c4-7.9 .7-17.5-7.2-21.5z\"],\n \"id-card-clip\": [576, 512, [\"id-card-alt\"], \"f47f\", \"M256 0h64c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM64 64H192v48c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64zM176 437.3c0 5.9 4.8 10.7 10.7 10.7H389.3c5.9 0 10.7-4.8 10.7-10.7c0-29.5-23.9-53.3-53.3-53.3H229.3c-29.5 0-53.3 23.9-53.3 53.3zM288 352c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64z\"],\n \"magnifying-glass-plus\": [512, 512, [\"search-plus\"], \"f00e\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"],\n \"thumbs-up\": [512, 512, [128077, 61575], \"f164\", \"M313.4 32.9c26 5.2 42.9 30.5 37.7 56.5l-2.3 11.4c-5.3 26.7-15.1 52.1-28.8 75.2H464c26.5 0 48 21.5 48 48c0 25.3-19.5 46-44.3 47.9c7.7 8.5 12.3 19.8 12.3 32.1c0 23.4-16.8 42.9-38.9 47.1c4.4 7.2 6.9 15.8 6.9 24.9c0 21.3-13.9 39.4-33.1 45.6c.7 3.3 1.1 6.8 1.1 10.4c0 26.5-21.5 48-48 48H294.5c-19 0-37.5-5.6-53.3-16.1l-38.5-25.7C176 420.4 160 390.4 160 358.3V320 272 247.1c0-29.2 13.3-56.7 36-75l7.4-5.9c26.5-21.2 44.6-51 51.2-84.2l2.3-11.4c5.2-26 30.5-42.9 56.5-37.7zM32 192H96c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32z\"],\n \"user-clock\": [640, 512, [], \"f4fd\", \"M224 256c-70.7 0-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128s-57.3 128-128 128zm-45.7 48h91.4c20.6 0 40.4 3.5 58.8 9.9C323 331 320 349.1 320 368c0 59.5 29.5 112.1 74.8 144H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM640 368c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM496 288c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z\"],\n \"hand-dots\": [512, 512, [\"allergies\"], \"f461\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V336c0 1.5 0 3.1 .1 4.6L67.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L124.8 448c43.1 41.1 100.4 64 160 64H304c97.2 0 176-78.8 176-176V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V32zM272 336c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16zm48 48c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16zm80-48c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16zM352 448c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16zm-80-16c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16zm-80-16c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16z\"],\n \"file-invoice\": [384, 512, [], \"f570\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM80 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 96H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm0 32v64H288V256H96zM240 416h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"],\n \"window-minimize\": [512, 512, [128469], \"f2d1\", \"M32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"],\n \"mug-saucer\": [640, 512, [\"coffee\"], \"f0f4\", \"M96 64c0-17.7 14.3-32 32-32H448h64c70.7 0 128 57.3 128 128s-57.3 128-128 128H480c0 53-43 96-96 96H192c-53 0-96-43-96-96V64zM480 224h32c35.3 0 64-28.7 64-64s-28.7-64-64-64H480V224zM32 416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"],\n \"brush\": [384, 512, [], \"f55d\", \"M192 64L160 0H128L96 64 64 0H48C21.5 0 0 21.5 0 48V256H384V48c0-26.5-21.5-48-48-48H224L192 64zM0 288v32c0 35.3 28.7 64 64 64h64v64c0 35.3 28.7 64 64 64s64-28.7 64-64V384h64c35.3 0 64-28.7 64-64V288H0zM192 464c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16s-7.2 16-16 16z\"],\n \"mask\": [576, 512, [], \"f6fa\", \"M288 64C64 64 0 160 0 272S80 448 176 448h8.4c24.2 0 46.4-13.7 57.2-35.4l23.2-46.3c4.4-8.8 13.3-14.3 23.2-14.3s18.8 5.5 23.2 14.3l23.2 46.3c10.8 21.7 33 35.4 57.2 35.4H400c96 0 176-64 176-176s-64-208-288-208zM224 256c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zm192 64c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64z\"],\n \"magnifying-glass-minus\": [512, 512, [\"search-minus\"], \"f010\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z\"],\n \"ruler-vertical\": [256, 512, [], \"f548\", \"M0 48C0 21.5 21.5 0 48 0H208c26.5 0 48 21.5 48 48V96H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48z\"],\n \"user-large\": [512, 512, [\"user-alt\"], \"f406\", \"M256 288c79.5 0 144-64.5 144-144S335.5 0 256 0S112 64.5 112 144s64.5 144 144 144zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7H481.3c17 0 30.7-13.8 30.7-30.7C512 392.2 439.8 320 350.7 320H161.3z\"],\n \"train-tram\": [448, 512, [128650], \"e5b4\", \"M86.8 48c-12.2 0-23.6 5.5-31.2 15L42.7 79C34.5 89.3 19.4 91 9 82.7S-3 59.4 5.3 49L18 33C34.7 12.2 60 0 86.8 0H361.2c26.7 0 52 12.2 68.7 33l12.8 16c8.3 10.4 6.6 25.5-3.7 33.7s-25.5 6.6-33.7-3.7L392.5 63c-7.6-9.5-19.1-15-31.2-15H248V96h40c53 0 96 43 96 96V352c0 30.6-14.3 57.8-36.6 75.4l65.5 65.5c7.1 7.1 2.1 19.1-7.9 19.1H365.3c-8.5 0-16.6-3.4-22.6-9.4L288 448H160l-54.6 54.6c-6 6-14.1 9.4-22.6 9.4H43c-10 0-15-12.1-7.9-19.1l65.5-65.5C78.3 409.8 64 382.6 64 352V192c0-53 43-96 96-96h40V48H86.8zM160 160c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H160zm32 192c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm96 32c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z\"],\n \"user-nurse\": [448, 512, [], \"f82f\", \"M96 128V70.2c0-13.3 8.3-25.3 20.8-30l96-36c7.2-2.7 15.2-2.7 22.5 0l96 36c12.5 4.7 20.8 16.6 20.8 30V128h-.3c.2 2.6 .3 5.3 .3 8v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V136c0-2.7 .1-5.4 .3-8H96zm48 48c0 44.2 35.8 80 80 80s80-35.8 80-80V160H144v16zM129.1 323.2l83.2 88.4c6.3 6.7 17 6.7 23.3 0l83.2-88.4c73.7 14.9 129.1 80 129.1 158.1c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-78.1 55.5-143.2 129.1-158.1zM208 48V64H192c-4.4 0-8 3.6-8 8V88c0 4.4 3.6 8 8 8h16v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V96h16c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8H240V48c0-4.4-3.6-8-8-8H216c-4.4 0-8 3.6-8 8z\"],\n \"syringe\": [512, 512, [128137], \"f48e\", \"M441 7l32 32 32 32c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15L417.9 128l55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-72-72L295 73c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l55 55L422.1 56 407 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM210.3 155.7l61.1-61.1c.3 .3 .6 .7 1 1l16 16 56 56 56 56 16 16c.3 .3 .6 .6 1 1l-191 191c-10.5 10.5-24.7 16.4-39.6 16.4H97.9L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57V325.3c0-14.9 5.9-29.1 16.4-39.6l43.3-43.3 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57z\"],\n \"cloud-sun\": [640, 512, [9925], \"f6c4\", \"M122.4 1.2C127.6-.9 133.4-.2 137.9 3l70.3 50.3L278.5 3c4.5-3.2 10.3-3.9 15.4-1.8s8.8 6.7 9.7 12.2l14.1 85.3L403 112.8c5.4 .9 10.1 4.6 12.2 9.7s1.4 10.9-1.8 15.4l-38.8 54.3c-2.2-.1-4.3-.2-6.5-.2c-23.2 0-45 6.2-63.8 17c.1-12.5-2.2-25.3-7.3-37.6c-20.3-49-76.4-72.2-125.4-52s-72.2 76.4-52 125.4c18.3 44.3 66 67.5 111.1 56.6c-36.3 18.2-62.8 53.3-69.1 94.9l-23.6 16.9c-4.5 3.2-10.3 3.9-15.4 1.8s-8.8-6.7-9.7-12.2L98.7 317.7 13.4 303.6c-5.5-.9-10.1-4.6-12.2-9.7S-.2 282.9 3 278.5l50.3-70.3L3 137.9c-3.2-4.5-3.9-10.3-1.8-15.4s6.7-8.8 12.2-9.7L98.7 98.7l14.1-85.3c.9-5.5 4.6-10.1 9.7-12.2zM149 232.7c-13.5-32.7 2-70.1 34.6-83.6s70.1 2 83.6 34.6s-2 70.1-34.6 83.6s-70.1-2-83.6-34.6zM639.9 431.9c0 44.2-35.8 80-80 80H288c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"],\n \"stopwatch-20\": [448, 512, [], \"e06f\", \"M176 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h16V98.4C92.3 113.8 16 200 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-41.8-12.3-80.7-33.5-113.2l24.1-24.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L355.7 143c-28.1-23-62.2-38.8-99.7-44.6V64h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H176zM288 204c28.7 0 52 23.3 52 52v96c0 28.7-23.3 52-52 52s-52-23.3-52-52V256c0-28.7 23.3-52 52-52zm-12 52v96c0 6.6 5.4 12 12 12s12-5.4 12-12V256c0-6.6-5.4-12-12-12s-12 5.4-12 12zM159.5 244c-5.4 0-10.2 3.5-11.9 8.6l-.6 1.7c-3.5 10.5-14.8 16.1-25.3 12.6s-16.1-14.8-12.6-25.3l.6-1.7c7.2-21.5 27.2-35.9 49.8-35.9c29 0 52.5 23.5 52.5 52.5v2.2c0 13.4-4.9 26.4-13.8 36.4l-39 43.9c-6.2 7-10 15.7-10.9 24.9H192c11 0 20 9 20 20s-9 20-20 20H128c-11 0-20-9-20-20V368.3c0-20.6 7.5-40.4 21.2-55.8l39-43.9c2.4-2.7 3.7-6.2 3.7-9.8v-2.2c0-6.9-5.6-12.5-12.5-12.5z\"],\n \"square-full\": [512, 512, [128997, 128998, 128999, 129000, 129001, 129002, 129003, 11035, 11036], \"f45c\", \"M0 0H512V512H0V0z\"],\n \"magnet\": [448, 512, [129522], \"f076\", \"M0 160v96C0 379.7 100.3 480 224 480s224-100.3 224-224V160H320v96c0 53-43 96-96 96s-96-43-96-96V160H0zm0-32H128V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64zm320 0H448V64c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32v64z\"],\n \"jar\": [320, 512, [], \"e516\", \"M32 32C32 14.3 46.3 0 64 0H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H64C46.3 64 32 49.7 32 32zM0 160c0-35.3 28.7-64 64-64H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zm96 64c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H96z\"],\n \"note-sticky\": [448, 512, [62026, \"sticky-note\"], \"f249\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H288V368c0-26.5 21.5-48 48-48H448V96c0-35.3-28.7-64-64-64H64zM448 352H402.7 336c-8.8 0-16 7.2-16 16v66.7V480l32-32 64-64 32-32z\"],\n \"bug-slash\": [640, 512, [], \"e490\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L477.4 348.9c1.7-9.4 2.6-19 2.6-28.9h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H479.7c-1.1-14.1-5-27.5-11.1-39.5c.7-.6 1.4-1.2 2.1-1.9l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-.7 .7-1.3 1.4-1.9 2.1C409.2 164.1 393.1 160 376 160H264c-8.3 0-16.3 1-24 2.8L38.8 5.1zM320 0c-53 0-96 43-96 96v3.6c0 15.7 12.7 28.4 28.4 28.4H387.6c15.7 0 28.4-12.7 28.4-28.4V96c0-53-43-96-96-96zM160.3 256H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c0 24.6 5.5 47.8 15.4 68.6c-2.2 1.3-4.2 2.9-6 4.8l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l63.1-63.1c24.5 21.8 55.8 36.2 90.3 39.6V335.5L166.7 227.3c-3.4 9-5.6 18.7-6.4 28.7zM336 479.2c36.6-3.6 69.7-19.6 94.8-43.8L336 360.7V479.2z\"],\n \"arrow-up-from-water-pump\": [576, 512, [], \"e4b6\", \"M112 0C85.5 0 64 21.5 64 48V256H48c-26.5 0-48 21.5-48 48v96c0 8 2 15.6 5.4 22.2c3.8-1.7 7.8-3.1 12-4.1c13.1-3.1 26.7-9.8 37.3-18.6c22.2-18.7 54.3-20.1 78.1-3.4c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c4.2 1 8.2 2.4 12 4.1C574 415.6 576 408 576 400V304c0-26.5-21.5-48-48-48H480l0-146.7 25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 109.3 416 256H288V48c0-26.5-21.5-48-48-48H112zM306.5 421.9c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1z\"],\n \"bone\": [576, 512, [129460], \"f5d7\", \"M153.7 144.8c6.9 16.3 20.6 31.2 38.3 31.2H384c17.7 0 31.4-14.9 38.3-31.2C434.4 116.1 462.9 96 496 96c44.2 0 80 35.8 80 80c0 30.4-17 56.9-42 70.4c-3.6 1.9-6 5.5-6 9.6s2.4 7.7 6 9.6c25 13.5 42 40 42 70.4c0 44.2-35.8 80-80 80c-33.1 0-61.6-20.1-73.7-48.8C415.4 350.9 401.7 336 384 336H192c-17.7 0-31.4 14.9-38.3 31.2C141.6 395.9 113.1 416 80 416c-44.2 0-80-35.8-80-80c0-30.4 17-56.9 42-70.4c3.6-1.9 6-5.5 6-9.6s-2.4-7.7-6-9.6C17 232.9 0 206.4 0 176c0-44.2 35.8-80 80-80c33.1 0 61.6 20.1 73.7 48.8z\"],\n \"user-injured\": [448, 512, [], \"f728\", \"M240 80H342.7c-7.9-19.5-20.4-36.5-36.2-49.9L240 80zm37.7-68.2C261.3 4.2 243.2 0 224 0c-53.7 0-99.7 33.1-118.7 80h81.4l91-68.2zM224 256c70.7 0 128-57.3 128-128c0-5.4-.3-10.8-1-16H97c-.7 5.2-1 10.6-1 16c0 70.7 57.3 128 128 128zM124 312.4c-9.7 3.1-19.1 7-28 11.7V512H243.7L181.5 408.2 124 312.4zm33-7.2L204.3 384H272c44.2 0 80 35.8 80 80c0 18-6 34.6-16 48h82.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3c-7.2 0-14.3 .4-21.3 1.3zM0 482.3C0 498.7 13.3 512 29.7 512H64V345.4C24.9 378.1 0 427.3 0 482.3zM320 464c0-26.5-21.5-48-48-48H223.5l57.1 95.2C303 507.2 320 487.6 320 464z\"],\n \"face-sad-tear\": [512, 512, [128546, \"sad-tear\"], \"f5b4\", \"M0 256C0 397.4 114.6 512 256 512s256-114.6 256-256S397.4 0 256 0S0 114.6 0 256zm240 80c0-8.8 7.2-16 16-16c45 0 85.6 20.5 115.7 53.1c6 6.5 5.6 16.6-.9 22.6s-16.6 5.6-22.6-.9c-25-27.1-57.4-42.9-92.3-42.9c-8.8 0-16-7.2-16-16zm-80 80c-26.5 0-48-21-48-47c0-20 28.6-60.4 41.6-77.7c3.2-4.4 9.6-4.4 12.8 0C179.6 308.6 208 349 208 369c0 26-21.5 47-48 47zM303.6 208c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm-128 32c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"plane\": [576, 512, [], \"f072\", \"M482.3 192c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64l-116.6 0L265.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6L112 320 68.8 377.6c-3 4-7.8 6.4-12.8 6.4l-42 0c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L32 256 .5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-7.8 6.3-14 14-14l42 0c5 0 9.8 2.4 12.8 6.4L112 192l102.9 0-49-171.6C162.9 10.2 170.6 0 181.2 0l56.2 0c11.5 0 22.1 6.2 27.8 16.1L365.7 192l116.6 0z\"],\n \"tent-arrows-down\": [576, 512, [], \"e581\", \"M209.8 111.9c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36L136 24c0-13.3-10.7-24-24-24S88 10.7 88 24l0 122.1-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zm352 0c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V146.1l-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zM307.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S86.7 512 96 512H288V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"],\n \"exclamation\": [128, 512, [10069, 10071, 61738], \"21\", \"M96 64c0-17.7-14.3-32-32-32S32 46.3 32 64V320c0 17.7 14.3 32 32 32s32-14.3 32-32V64zM64 480c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40z\"],\n \"arrows-spin\": [448, 512, [], \"e4bb\", \"M224 96c38.4 0 73.7 13.5 101.3 36.1l-32.6 32.6c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H416c8.8 0 16-7.2 16-16V64c0-6.5-3.9-12.3-9.9-14.8s-12.9-1.1-17.4 3.5l-34 34C331.4 52.6 280.1 32 224 32c-10.9 0-21.5 .8-32 2.3V99.2c10.3-2.1 21-3.2 32-3.2zM100.1 154.7l32.6 32.6c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8V64c0-8.8-7.2-16-16-16H32c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l34 34C20.6 148.6 0 199.9 0 256c0 10.9 .8 21.5 2.3 32H67.2c-2.1-10.3-3.2-21-3.2-32c0-38.4 13.5-73.7 36.1-101.3zM445.7 224H380.8c2.1 10.3 3.2 21 3.2 32c0 38.4-13.5 73.7-36.1 101.3l-32.6-32.6c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8V448c0 8.8 7.2 16 16 16H416c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-34-34C427.4 363.4 448 312.1 448 256c0-10.9-.8-21.5-2.3-32zM224 416c-38.4 0-73.7-13.5-101.3-36.1l32.6-32.6c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H32c-8.8 0-16 7.2-16 16l0 112c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l34-34C116.6 459.4 167.9 480 224 480c10.9 0 21.5-.8 32-2.3V412.8c-10.3 2.1-21 3.2-32 3.2z\"],\n \"print\": [512, 512, [128424, 128438, 9113], \"f02f\", \"M128 0C92.7 0 64 28.7 64 64v96h64V64H354.7L384 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0H128zM384 352v32 64H128V384 368 352H384zm64 32h32c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v96c0 17.7 14.3 32 32 32H64v64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384zm-16-88c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z\"],\n \"turkish-lira-sign\": [448, 512, [\"try\", \"turkish-lira\"], \"e2bb\", \"M128 32c17.7 0 32 14.3 32 32V99.3L279.2 65.2c17-4.9 34.7 5 39.6 22s-5 34.7-22 39.6L160 165.9v29.4l119.2-34.1c17-4.9 34.7 5 39.6 22s-5 34.7-22 39.6L160 261.9V416h63.8c68.2 0 124.4-53.5 127.8-121.6l.4-8c.9-17.7 15.9-31.2 33.6-30.4s31.2 15.9 30.4 33.6l-.4 8C410.5 399.8 326.1 480 223.8 480H128c-17.7 0-32-14.3-32-32V280.1l-23.2 6.6c-17 4.9-34.7-5-39.6-22s5-34.7 22-39.6L96 213.6V184.1l-23.2 6.6c-17 4.9-34.7-5-39.6-22s5-34.7 22-39.6L96 117.6V64c0-17.7 14.3-32 32-32z\"],\n \"dollar-sign\": [320, 512, [128178, 61781, \"dollar\", \"usd\"], \"24\", \"M160 0c17.7 0 32 14.3 32 32V67.7c1.6 .2 3.1 .4 4.7 .7c10.6 1.6 42.1 6.7 55.1 10c17.1 4.3 27.5 21.7 23.2 38.9s-21.7 27.5-38.9 23.2c-9.3-2.4-37.6-7-48.9-8.7c-32.1-4.8-59.6-2.4-78.5 4.9c-18.3 7-25.9 16.9-27.9 28c-1.9 10.7-.5 16.8 1.3 20.6c1.9 4 5.6 8.5 12.9 13.4c16.2 10.8 41.1 17.9 73.3 26.7l2.8 .8c28.4 7.7 63.2 17.2 89 34.3c14.1 9.4 27.3 22.1 35.5 39.7c8.3 17.8 10.1 37.8 6.3 59.1c-6.9 38-33.1 63.4-65.6 76.7c-13.7 5.6-28.6 9.2-44.4 11V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.1c-.4-.1-.9-.1-1.3-.2l-.2 0 0 0c-24.4-3.8-64.5-14.3-91.5-26.3c-16.2-7.2-23.4-26.1-16.2-42.2s26.1-23.4 42.2-16.2c20.9 9.3 55.3 18.4 75.2 21.6c31.9 4.7 58.2 2 76-5.3c16.9-6.9 24.6-16.9 26.8-28.9c1.9-10.7 .5-16.8-1.3-20.6c-1.9-4-5.6-8.5-12.9-13.4c-16.2-10.8-41.1-17.9-73.3-26.7l-2.8-.8c-28.4-7.7-63.2-17.2-89-34.3c-14.1-9.4-27.3-22.1-35.5-39.7c-8.3-17.8-10.1-37.8-6.3-59.1C25 114.1 53 89.3 86 76.7c13-5 27.2-8.2 42-10V32c0-17.7 14.3-32 32-32z\"],\n \"x\": [384, 512, [120], \"58\", \"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z\"],\n \"magnifying-glass-dollar\": [512, 512, [\"search-dollar\"], \"f688\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM228 104c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104z\"],\n \"users-gear\": [640, 512, [\"users-cog\"], \"f509\", \"M144 160c44.2 0 80-35.8 80-80s-35.8-80-80-80S64 35.8 64 80s35.8 80 80 80zm368 0c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80zM0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-26.6-23.5-43.3-57.8-43.3-96c0-7.6 .7-15 1.9-22.3c-13.6-6.3-28.7-9.7-44.6-9.7H106.7C47.8 192 0 239.8 0 298.7zM320 320c24 0 45.9-8.8 62.7-23.3c2.5-3.7 5.2-7.3 8-10.7c2.7-3.3 5.7-6.1 9-8.3C410 262.3 416 243.9 416 224c0-53-43-96-96-96s-96 43-96 96s43 96 96 96zm65.4 60.2c-10.3-5.9-18.1-16.2-20.8-28.2H261.3C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H455.2c-2.1-5.2-3.2-10.9-3.2-16.4v-3c-1.3-.7-2.7-1.5-4-2.3l-2.6 1.5c-16.8 9.7-40.5 8-54.7-9.7c-4.5-5.6-8.6-11.5-12.4-17.6l-.1-.2-.1-.2-2.4-4.1-.1-.2-.1-.2c-3.4-6.2-6.4-12.6-9-19.3c-8.2-21.2 2.2-42.6 19-52.3l2.7-1.5c0-.8 0-1.5 0-2.3s0-1.5 0-2.3l-2.7-1.5zM533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 17.4-3.5 33.9-9.7 49c2.5 .9 4.9 2 7.1 3.3l2.6 1.5c1.3-.8 2.6-1.6 4-2.3v-3c0-19.4 13.3-39.1 35.8-42.6c7.9-1.2 16-1.9 24.2-1.9s16.3 .6 24.2 1.9c22.5 3.5 35.8 23.2 35.8 42.6v3c1.3 .7 2.7 1.5 4 2.3l2.6-1.5c16.8-9.7 40.5-8 54.7 9.7c2.3 2.8 4.5 5.8 6.6 8.7c-2.1-57.1-49-102.7-106.6-102.7zm91.3 163.9c6.3-3.6 9.5-11.1 6.8-18c-2.1-5.5-4.6-10.8-7.4-15.9l-2.3-4c-3.1-5.1-6.5-9.9-10.2-14.5c-4.6-5.7-12.7-6.7-19-3L574.4 311c-8.9-7.6-19.1-13.6-30.4-17.6v-21c0-7.3-4.9-13.8-12.1-14.9c-6.5-1-13.1-1.5-19.9-1.5s-13.4 .5-19.9 1.5c-7.2 1.1-12.1 7.6-12.1 14.9v21c-11.2 4-21.5 10-30.4 17.6l-18.2-10.5c-6.3-3.6-14.4-2.6-19 3c-3.7 4.6-7.1 9.5-10.2 14.6l-2.3 3.9c-2.8 5.1-5.3 10.4-7.4 15.9c-2.6 6.8 .5 14.3 6.8 17.9l18.2 10.5c-1 5.7-1.6 11.6-1.6 17.6s.6 11.9 1.6 17.5l-18.2 10.5c-6.3 3.6-9.5 11.1-6.8 17.9c2.1 5.5 4.6 10.7 7.4 15.8l2.4 4.1c3 5.1 6.4 9.9 10.1 14.5c4.6 5.7 12.7 6.7 19 3L449.6 457c8.9 7.6 19.2 13.6 30.4 17.6v21c0 7.3 4.9 13.8 12.1 14.9c6.5 1 13.1 1.5 19.9 1.5s13.4-.5 19.9-1.5c7.2-1.1 12.1-7.6 12.1-14.9v-21c11.2-4 21.5-10 30.4-17.6l18.2 10.5c6.3 3.6 14.4 2.6 19-3c3.7-4.6 7.1-9.4 10.1-14.5l2.4-4.2c2.8-5.1 5.3-10.3 7.4-15.8c2.6-6.8-.5-14.3-6.8-17.9l-18.2-10.5c1-5.7 1.6-11.6 1.6-17.5s-.6-11.9-1.6-17.6l18.2-10.5zM552 384c0 22.1-17.9 40-40 40s-40-17.9-40-40s17.9-40 40-40s40 17.9 40 40z\"],\n \"person-military-pointing\": [576, 512, [], \"e54a\", \"M246.9 14.1C234 15.2 224 26 224 39c0 13.8 11.2 25 25 25H400c8.8 0 16-7.2 16-16V17.4C416 8 408 .7 398.7 1.4L246.9 14.1zM240 112c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H241.6c-1 5.2-1.6 10.5-1.6 16zM72 224c-22.1 0-40 17.9-40 40s17.9 40 40 40H224v89.4L386.8 230.5c-13.3-4.3-27.3-6.5-41.6-6.5H240 72zm345.7 20.9L246.6 416H416V369.7l53.6 90.6c11.2 19 35.8 25.3 54.8 14.1s25.3-35.8 14.1-54.8L462.3 290.8c-11.2-18.9-26.6-34.5-44.6-45.9zM224 448v32c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V448H224z\"],\n \"building-columns\": [512, 512, [\"bank\", \"institution\", \"museum\", \"university\"], \"f19c\", \"M243.4 2.6l-224 96c-14 6-21.8 21-18.7 35.8S16.8 160 32 160v8c0 13.3 10.7 24 24 24H456c13.3 0 24-10.7 24-24v-8c15.2 0 28.3-10.7 31.3-25.6s-4.8-29.9-18.7-35.8l-224-96c-8.1-3.4-17.2-3.4-25.2 0zM128 224H64V420.3c-.6 .3-1.2 .7-1.8 1.1l-48 32c-11.7 7.8-17 22.4-12.9 35.9S17.9 512 32 512H480c14.1 0 26.5-9.2 30.6-22.7s-1.1-28.1-12.9-35.9l-48-32c-.6-.4-1.2-.7-1.8-1.1V224H384V416H344V224H280V416H232V224H168V416H128V224zm128-96c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\"],\n \"umbrella\": [640, 512, [], \"f0e9\", \"M320 0c17.7 0 32 14.3 32 32V49.7C483.8 63.4 589.7 161 605.9 285.9c2 15.6-17.3 24.4-27.8 12.7C564.1 283 536.8 272 512 272c-38.7 0-71 27.5-78.4 64.1c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9C391 299.5 358.7 272 320 272s-71 27.5-78.4 64.1c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9C199 299.5 166.7 272 128 272c-24.8 0-52.1 11-66.1 26.7c-10.5 11.7-29.8 2.9-27.8-12.7C50.3 161 156.2 63.4 288 49.7V32c0-17.7 14.3-32 32-32zm0 304c12.3 0 23.5 4.6 32 12.2V430.6c0 45-36.5 81.4-81.4 81.4c-30.8 0-59-17.4-72.8-45l-2.3-4.7c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l2.3 4.7c3 5.9 9 9.6 15.6 9.6c9.6 0 17.4-7.8 17.4-17.4V316.2c8.5-7.6 19.7-12.2 32-12.2z\"],\n \"trowel\": [512, 512, [], \"e589\", \"M343.9 213.4L245.3 312l65.4 65.4c7.9 7.9 11.1 19.4 8.4 30.3s-10.8 19.6-21.5 22.9l-256 80c-11.4 3.5-23.8 .5-32.2-7.9S-2.1 481.8 1.5 470.5l80-256c3.3-10.7 12-18.9 22.9-21.5s22.4 .5 30.3 8.4L200 266.7l98.6-98.6c-14.3-14.6-14.2-38 .3-52.5l95.4-95.4c26.9-26.9 70.5-26.9 97.5 0s26.9 70.5 0 97.5l-95.4 95.4c-14.5 14.5-37.9 14.6-52.5 .3z\"],\n \"d\": [384, 512, [100], \"44\", \"M0 64C0 46.3 14.3 32 32 32H160c123.7 0 224 100.3 224 224s-100.3 224-224 224H32c-17.7 0-32-14.3-32-32V64zM64 96V416h96c88.4 0 160-71.6 160-160s-71.6-160-160-160H64z\"],\n \"stapler\": [640, 512, [], \"e5af\", \"M640 299.3V304 432c0 26.5-21.5 48-48 48H512 448 64c-17.7 0-32-14.3-32-32s14.3-32 32-32H448V368H96c-17.7 0-32-14.3-32-32V219.4L33.8 214C14.2 210.5 0 193.5 0 173.7c0-8.9 2.9-17.5 8.2-24.6l35.6-47.5C76.7 57.8 128.2 32 182.9 32c27 0 53.6 6.3 77.8 18.4L586.9 213.5C619.5 229.7 640 263 640 299.3zM448 304V288L128 230.9V304H448z\"],\n \"masks-theater\": [640, 512, [127917, \"theater-masks\"], \"f630\", \"M399.3 509.7c-58.2-8.8-108.2-72.8-137.6-119.7c-20-31.9-25.1-70.3-19.6-107.7L266.3 118c1.4-9.8 5.1-19.2 12.9-25.2c20.2-15.6 72.4-41.5 185.1-24.5s155.2 57.4 170 78.3c5.7 8 6.5 18.1 5.1 27.9L615.2 338.8c-5.5 37.3-21.5 72.6-49.8 97.2c-41.7 36.1-108 82.5-166.1 73.7zm17.1-277.7c.1-.5 .2-1.1 .3-1.6c3.2-21.8-11.6-42-33.1-45.3s-41.5 11.8-44.7 33.5c-.1 .5-.1 1.1-.2 1.6c-.6 5.4 5.2 8.4 10.3 6.7c9-3 18.8-3.9 28.7-2.4s19.1 5.3 26.8 10.8c4.4 3.1 10.8 2 11.8-3.3zm112.6 22.2c4.4 3.1 10.8 2 11.8-3.3c.1-.5 .2-1.1 .3-1.6c3.2-21.8-11.6-42-33.1-45.3s-41.5 11.8-44.7 33.5c-.1 .5-.1 1.1-.2 1.6c-.6 5.4 5.2 8.4 10.3 6.7c9-3 18.8-3.9 28.7-2.4s19.1 5.3 26.8 10.8zm-11.5 85.2c-28.8 12.8-61.4 17.8-94.9 12.8s-63.2-19.5-87-40.3c-6.3-5.5-16.2-1.7-15.2 6.7c5.9 48.5 43 89.1 93 96.7s97.2-20.2 116.8-64.9c3.4-7.7-5-14.3-12.6-10.9zM240.7 446.9c-58.2 8.8-124.5-37.5-166.1-73.7c-28.3-24.5-44.3-59.8-49.8-97.2L.6 111.8C-.8 102 0 91.9 5.7 83.9C20.5 63 63 22.7 175.7 5.6s164.9 8.9 185.1 24.5c.9 .7 1.7 1.4 2.4 2.1c-52.8 4.8-85.1 21-103.6 35.3c-17 13.1-23 32-25 45.9L215.3 244.7c-2.6 .1-5.2 .4-7.9 .8c-35.2 5.3-61.8 32.7-68.2 66.3c-1.6 8.2 8.3 12.2 14.8 7c15.6-12.4 34.1-21.3 54.7-25.4c-3 38.4 4 78.7 25.9 113.6c6.9 11 15 23.1 24.2 35.4c-5.9 2.1-11.9 3.6-18 4.5zM174.1 157c-1-5.3-7.4-6.4-11.8-3.3c-7.7 5.5-16.8 9.3-26.8 10.8s-19.8 .6-28.7-2.4c-5.1-1.7-10.9 1.3-10.3 6.7c.1 .5 .1 1.1 .2 1.6c3.2 21.8 23.2 36.8 44.7 33.5s36.3-23.5 33.1-45.3c-.1-.5-.2-1.1-.3-1.6z\"],\n \"kip-sign\": [384, 512, [], \"e1c4\", \"M340.8 88.3c13.4-11.5 15-31.7 3.5-45.1s-31.7-15-45.1-3.5L128 186.4V64c0-17.7-14.3-32-32-32S64 46.3 64 64V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V325.6L299.2 472.3c13.4 11.5 33.6 9.9 45.1-3.5s9.9-33.6-3.5-45.1L182.5 288H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H182.5L340.8 88.3z\"],\n \"hand-point-left\": [512, 512, [], \"f0a5\", \"M32 96C14.3 96 0 110.3 0 128s14.3 32 32 32l208 0V96L32 96zM192 288c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm-64-64c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zm96 160c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H224zm88-96l-.6 0c5.4 9.4 8.6 20.3 8.6 32c0 13.2-4 25.4-10.8 35.6c24.9 8.7 42.8 32.5 42.8 60.4c0 11.7-3.1 22.6-8.6 32H352c88.4 0 160-71.6 160-160V226.3c0-42.4-16.9-83.1-46.9-113.1l-11.6-11.6C429.5 77.5 396.9 64 363 64l-27 0c-35.3 0-64 28.7-64 64v88c0 22.1 17.9 40 40 40s40-17.9 40-40V160c0-8.8 7.2-16 16-16s16 7.2 16 16v56c0 39.8-32.2 72-72 72z\"],\n \"handshake-simple\": [640, 512, [129309, \"handshake-alt\"], \"f4c6\", \"M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L550.2 352H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H516h-4-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48H48c-26.5 0-48 21.5-48 48V304c0 26.5 21.5 48 48 48H156.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123z\"],\n \"jet-fighter\": [640, 512, [\"fighter-jet\"], \"f0fb\", \"M160 24c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H280L384 192H500.4c7.7 0 15.3 1.4 22.5 4.1L625 234.4c9 3.4 15 12 15 21.6s-6 18.2-15 21.6L522.9 315.9c-7.2 2.7-14.8 4.1-22.5 4.1H384L280 464h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V320H160l-54.6 54.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32V288c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32H82.7c8.5 0 16.6 3.4 22.6 9.4L160 192h32V48h-8c-13.3 0-24-10.7-24-24zM80 240c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"],\n \"square-share-nodes\": [448, 512, [\"share-alt-square\"], \"f1e1\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM384 160c0 35.3-28.7 64-64 64c-15.4 0-29.5-5.4-40.6-14.5L194.1 256l85.3 46.5c11-9.1 25.2-14.5 40.6-14.5c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-2.5 .1-4.9 .4-7.3L174.5 300c-11.7 12.3-28.2 20-46.5 20c-35.3 0-64-28.7-64-64s28.7-64 64-64c18.3 0 34.8 7.7 46.5 20l81.9-44.7c-.3-2.4-.4-4.9-.4-7.3c0-35.3 28.7-64 64-64s64 28.7 64 64z\"],\n \"barcode\": [512, 512, [], \"f02a\", \"M24 32C10.7 32 0 42.7 0 56V456c0 13.3 10.7 24 24 24H40c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H24zm88 0c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16zm72 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H184zm96 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H280zM448 56V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H472c-13.3 0-24 10.7-24 24zm-64-8V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"],\n \"plus-minus\": [384, 512, [], \"e43c\", \"M224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V144H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H160V320c0 17.7 14.3 32 32 32s32-14.3 32-32V208H336c17.7 0 32-14.3 32-32s-14.3-32-32-32H224V32zM0 480c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z\"],\n \"video\": [576, 512, [\"video-camera\"], \"f03d\", \"M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2V384c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64L416 337.1V320 192 174.9l14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z\"],\n \"graduation-cap\": [640, 512, [127891, \"mortar-board\"], \"f19d\", \"M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9v28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5V291.9c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z\"],\n \"hand-holding-medical\": [576, 512, [], \"e05c\", \"M224 24V80H168c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h56v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176h56c13.3 0 24-10.7 24-24V104c0-13.3-10.7-24-24-24H320V24c0-13.3-10.7-24-24-24H248c-13.3 0-24 10.7-24 24zM559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-367-8.2l.9 0 0 0c-.3 0-.6 0-.9 0z\"],\n \"person-circle-check\": [576, 512, [], \"e53e\", \"M208 48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48zM152 352V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zm424 16c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zm-76.7-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"],\n \"turn-up\": [384, 512, [10548, \"level-up-alt\"], \"f3bf\", \"M178.3 5.7L40.3 143.7C35 149 32 156.2 32 163.7C32 179.3 44.7 192 60.3 192H144V400c0 8.8-7.2 16-16 16H32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h96c61.9 0 112-50.1 112-112V192h83.7c15.6 0 28.3-12.7 28.3-28.3c0-7.5-3-14.7-8.3-20L205.7 5.7C202 2 197.1 0 192 0s-10 2-13.7 5.7z\"]\n };\n\n bunker(function () {\n defineIcons('fas', icons);\n defineIcons('fa-solid', icons);\n });\n\n}());\n(function () {\n 'use strict';\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n }\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n }\n\n function _wrapRegExp() {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, void 0, groups);\n };\n\n var _super = RegExp.prototype,\n _groups = new WeakMap();\n\n function BabelRegExp(re, flags, groups) {\n var _this = new RegExp(re, flags);\n\n return _groups.set(_this, groups || _groups.get(re)), _setPrototypeOf(_this, BabelRegExp.prototype);\n }\n\n function buildGroups(result, re) {\n var g = _groups.get(re);\n\n return Object.keys(g).reduce(function (groups, name) {\n return groups[name] = result[g[name]], groups;\n }, Object.create(null));\n }\n\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n\n return result && (result.groups = buildGroups(result, this)), result;\n }, BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (\"string\" == typeof substitution) {\n var groups = _groups.get(this);\n\n return _super[Symbol.replace].call(this, str, substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return \"$\" + groups[name];\n }));\n }\n\n if (\"function\" == typeof substitution) {\n var _this = this;\n\n return _super[Symbol.replace].call(this, str, function () {\n var args = arguments;\n return \"object\" != typeof args[args.length - 1] && (args = [].slice.call(args)).push(buildGroups(args, _this)), substitution.apply(this, args);\n });\n }\n\n return _super[Symbol.replace].call(this, str, substitution);\n }, _wrapRegExp.apply(this, arguments);\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n\n function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var noop = function noop() {};\n\n var _WINDOW = {};\n var _DOCUMENT = {};\n var _MUTATION_OBSERVER = null;\n var _PERFORMANCE = {\n mark: noop,\n measure: noop\n };\n\n try {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n } catch (e) {}\n\n var _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n var WINDOW = _WINDOW;\n var DOCUMENT = _DOCUMENT;\n var MUTATION_OBSERVER = _MUTATION_OBSERVER;\n var PERFORMANCE = _PERFORMANCE;\n var IS_BROWSER = !!WINDOW.document;\n var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\n var IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\n var _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5;\n\n var NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\n var UNITS_IN_GRID = 16;\n var DEFAULT_CSS_PREFIX = 'fa';\n var DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\n var DATA_FA_I2SVG = 'data-fa-i2svg';\n var DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\n var DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\n var DATA_PREFIX = 'data-prefix';\n var DATA_ICON = 'data-icon';\n var HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\n var MUTATION_APPROACH_ASYNC = 'async';\n var TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\n var PRODUCTION = function () {\n try {\n return \"production\" === 'production';\n } catch (e) {\n return false;\n }\n }();\n var FAMILY_CLASSIC = 'classic';\n var FAMILY_SHARP = 'sharp';\n var FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];\n\n function familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get: function get(target, prop) {\n return prop in target ? target[prop] : target[FAMILY_CLASSIC];\n }\n });\n }\n var PREFIX_TO_STYLE = familyProxy((_familyProxy = {}, _defineProperty(_familyProxy, FAMILY_CLASSIC, {\n 'fa': 'solid',\n 'fas': 'solid',\n 'fa-solid': 'solid',\n 'far': 'regular',\n 'fa-regular': 'regular',\n 'fal': 'light',\n 'fa-light': 'light',\n 'fat': 'thin',\n 'fa-thin': 'thin',\n 'fad': 'duotone',\n 'fa-duotone': 'duotone',\n 'fab': 'brands',\n 'fa-brands': 'brands',\n 'fak': 'kit',\n 'fa-kit': 'kit'\n }), _defineProperty(_familyProxy, FAMILY_SHARP, {\n 'fa': 'solid',\n 'fass': 'solid',\n 'fa-solid': 'solid'\n }), _familyProxy));\n var STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'thin': 'fat',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n }), _defineProperty(_familyProxy2, FAMILY_SHARP, {\n 'solid': 'fass'\n }), _familyProxy2));\n var PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, {\n 'fab': 'fa-brands',\n 'fad': 'fa-duotone',\n 'fak': 'fa-kit',\n 'fal': 'fa-light',\n 'far': 'fa-regular',\n 'fas': 'fa-solid',\n 'fat': 'fa-thin'\n }), _defineProperty(_familyProxy3, FAMILY_SHARP, {\n 'fass': 'fa-solid'\n }), _familyProxy3));\n var LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, {\n 'fa-brands': 'fab',\n 'fa-duotone': 'fad',\n 'fa-kit': 'fak',\n 'fa-light': 'fal',\n 'fa-regular': 'far',\n 'fa-solid': 'fas',\n 'fa-thin': 'fat'\n }), _defineProperty(_familyProxy4, FAMILY_SHARP, {\n 'fa-solid': 'fass'\n }), _familyProxy4));\n var ICON_SELECTION_SYNTAX_PATTERN = /fa(s|r|l|t|d|b|k|ss)?[\\-\\ ]/; // eslint-disable-line no-useless-escape\n\n var LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\n var FONT_FAMILY_PATTERN = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp|Kit)?.*/i; // TODO: this needs to support fass\n // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\n var FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal',\n '100': 'fat'\n }), _defineProperty(_familyProxy5, FAMILY_SHARP, {\n '900': 'fass'\n }), _familyProxy5));\n var oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n var oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\n var ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\n var DUOTONE_CLASSES = {\n GROUP: 'duotone-group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n };\n var prefixes = new Set();\n Object.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes));\n Object.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes));\n var RESERVED_CLASSES = [].concat(FAMILIES, _toConsumableArray(prefixes), ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', 'beat', 'border', 'fade', 'beat-fade', 'bounce', 'flip-both', 'flip-horizontal', 'flip-vertical', 'flip', 'fw', 'inverse', 'layers-counter', 'layers-text', 'layers', 'li', 'pull-left', 'pull-right', 'pulse', 'rotate-180', 'rotate-270', 'rotate-90', 'rotate-by', 'shake', 'spin-pulse', 'spin-reverse', 'spin', 'stack-1x', 'stack-2x', 'stack', 'ul', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY]).concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n })).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n }));\n\n var initial = WINDOW.FontAwesomeConfig || {};\n\n function getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n }\n\n function coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n }\n\n if (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n }\n\n var _default = {\n styleDefault: 'solid',\n familyDefault: 'classic',\n cssPrefix: DEFAULT_CSS_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n }; // familyPrefix is deprecated but we must still support it if present\n\n if (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n }\n\n var _config = _objectSpread2(_objectSpread2({}, _default), initial);\n\n if (!_config.autoReplaceSvg) _config.observeMutations = false;\n var config = {};\n Object.keys(_default).forEach(function (key) {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function set(val) {\n _config[key] = val;\n\n _onChangeCb.forEach(function (cb) {\n return cb(config);\n });\n },\n get: function get() {\n return _config[key];\n }\n });\n }); // familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\n\n Object.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function set(val) {\n _config.cssPrefix = val;\n\n _onChangeCb.forEach(function (cb) {\n return cb(config);\n });\n },\n get: function get() {\n return _config.cssPrefix;\n }\n });\n WINDOW.FontAwesomeConfig = config;\n var _onChangeCb = [];\n function onChange(cb) {\n _onChangeCb.push(cb);\n\n return function () {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n }\n\n var d = UNITS_IN_GRID;\n var meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n };\n function bunker(fn) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n fn.apply(void 0, args);\n } catch (e) {\n if (!PRODUCTION) {\n throw e;\n }\n }\n }\n function insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n }\n var idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n function nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n }\n function toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n }\n function classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n }\n function htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n }\n function joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n }\n function joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n }, '');\n }\n function transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n }\n function transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n }\n function transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n }\n\n var baseStyles = \":host,:root{--fa-font-solid:normal 900 1em/1 \\\"Font Awesome 6 Solid\\\";--fa-font-regular:normal 400 1em/1 \\\"Font Awesome 6 Regular\\\";--fa-font-light:normal 300 1em/1 \\\"Font Awesome 6 Light\\\";--fa-font-thin:normal 100 1em/1 \\\"Font Awesome 6 Thin\\\";--fa-font-duotone:normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";--fa-font-sharp-solid:normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";--fa-font-brands:normal 400 1em/1 \\\"Font Awesome 6 Brands\\\"}svg:not(:host).svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714285705em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width,1.25em)}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-counter-scale,.25));transform:scale(var(--fa-counter-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top left;transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.0833333337em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.0714285718em;vertical-align:.0535714295em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.0416666682em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width,2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.08em);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}100%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}100%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}100%,40%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}100%,40%{-webkit-transform:rotate(0);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;z-index:var(--fa-stack-z-index,auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-sr-only,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fa-sr-only-focusable:not(:focus),.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fa-duotone.fa-inverse,.fad.fa-inverse{color:var(--fa-inverse,#fff)}\";\n\n function css() {\n var dcp = DEFAULT_CSS_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.cssPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dcp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n }\n\n var _cssInserted = false;\n\n function ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n }\n\n var InjectCSS = {\n mixout: function mixout() {\n return {\n dom: {\n css: css,\n insertCss: ensureCss\n }\n };\n },\n hooks: function hooks() {\n return {\n beforeDOMElementCreation: function beforeDOMElementCreation() {\n ensureCss();\n },\n beforeI2svg: function beforeI2svg() {\n ensureCss();\n }\n };\n }\n };\n\n var w = WINDOW || {};\n if (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\n if (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\n if (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\n if (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\n var namespace = w[NAMESPACE_IDENTIFIER];\n\n var functions = [];\n\n var listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n };\n\n var loaded = false;\n\n if (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n }\n\n function domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n }\n\n function toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n }\n\n function iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n }\n\n /**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\n var bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n };\n\n /**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\n var reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n };\n\n /**\n * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens \n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n function ucs2decode(string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n\n return output;\n }\n\n function toHex(unicode) {\n var decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n }\n function codePointAt(string, index) {\n var size = string.length;\n var first = string.charCodeAt(index);\n var second;\n\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return first;\n }\n\n function normalizeIcons(icons) {\n return Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n }\n\n function defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = normalizeIcons(icons);\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n }\n\n var duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"((?:(?!\")[\\s\\S])+)\".*path d=\"((?:(?!\")[\\s\\S])+)\"/, {\n d1: 1,\n d2: 2\n }), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\".*path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n }), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2\n })];\n\n var _LONG_STYLE, _PREFIXES, _PREFIXES_FOR_FAMILY;\n var styles = namespace.styles,\n shims = namespace.shims;\n var LONG_STYLE = (_LONG_STYLE = {}, _defineProperty(_LONG_STYLE, FAMILY_CLASSIC, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_LONG_STYLE, FAMILY_SHARP, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _LONG_STYLE);\n var _defaultUsablePrefix = null;\n var _byUnicode = {};\n var _byLigature = {};\n var _byOldName = {};\n var _byOldUnicode = {};\n var _byAlias = {};\n var PREFIXES = (_PREFIXES = {}, _defineProperty(_PREFIXES, FAMILY_CLASSIC, Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES, FAMILY_SHARP, Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP])), _PREFIXES);\n\n function isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n }\n\n function getIconName(cssPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n }\n var build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'number';\n });\n aliases.forEach(function (alias) {\n acc[alias.toString(16)] = iconName;\n });\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n acc[iconName] = iconName;\n\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'string';\n });\n aliases.forEach(function (alias) {\n acc[alias] = iconName;\n });\n }\n\n return acc;\n });\n _byAlias = lookup(function (acc, icon, iconName) {\n var aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(function (alias) {\n acc[alias] = iconName;\n });\n return acc;\n }); // If we have a Kit, we can't determine if regular is available since we\n // could be auto-fetching it. We'll have to assume that it is available.\n\n var hasRegular = 'far' in styles || config.autoFetchSvg;\n var shimLookups = reduce(shims, function (acc, shim) {\n var maybeNameMaybeUnicode = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix: prefix,\n iconName: iconName\n };\n }\n\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix: prefix,\n iconName: iconName\n };\n }\n\n return acc;\n }, {\n names: {},\n unicodes: {}\n });\n _byOldName = shimLookups.names;\n _byOldUnicode = shimLookups.unicodes;\n _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {\n family: config.familyDefault\n });\n };\n onChange(function (c) {\n _defaultUsablePrefix = getCanonicalPrefix(c.styleDefault, {\n family: config.familyDefault\n });\n });\n build();\n function byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n }\n function byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n }\n function byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n }\n function byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n }\n function byOldUnicode(unicode) {\n var oldUnicode = _byOldUnicode[unicode];\n var newUnicode = byUnicode('fas', unicode);\n return oldUnicode || (newUnicode ? {\n prefix: 'fas',\n iconName: newUnicode\n } : null) || {\n prefix: null,\n iconName: null\n };\n }\n function getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n }\n var emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n };\n function getCanonicalPrefix(styleOrPrefix) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$family = params.family,\n family = _params$family === void 0 ? FAMILY_CLASSIC : _params$family;\n var style = PREFIX_TO_STYLE[family][styleOrPrefix];\n var prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n var defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n return prefix || defined || null;\n }\n var PREFIXES_FOR_FAMILY = (_PREFIXES_FOR_FAMILY = {}, _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_CLASSIC, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_SHARP, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _PREFIXES_FOR_FAMILY);\n function getCanonicalIcon(values) {\n var _famProps;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$skipLookups = params.skipLookups,\n skipLookups = _params$skipLookups === void 0 ? false : _params$skipLookups;\n var famProps = (_famProps = {}, _defineProperty(_famProps, FAMILY_CLASSIC, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_CLASSIC)), _defineProperty(_famProps, FAMILY_SHARP, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_SHARP)), _famProps);\n var givenPrefix = null;\n var family = FAMILY_CLASSIC;\n\n if (values.includes(famProps[FAMILY_CLASSIC]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_CLASSIC].includes(v);\n })) {\n family = FAMILY_CLASSIC;\n }\n\n if (values.includes(famProps[FAMILY_SHARP]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_SHARP].includes(v);\n })) {\n family = FAMILY_SHARP;\n }\n\n var canonical = values.reduce(function (acc, cls) {\n var iconName = getIconName(config.cssPrefix, cls);\n\n if (styles[cls]) {\n cls = LONG_STYLE[family].includes(cls) ? LONG_STYLE_TO_PREFIX[family][cls] : cls;\n givenPrefix = cls;\n acc.prefix = cls;\n } else if (PREFIXES[family].indexOf(cls) > -1) {\n givenPrefix = cls;\n acc.prefix = getCanonicalPrefix(cls, {\n family: family\n });\n } else if (iconName) {\n acc.iconName = iconName;\n } else if (cls !== config.replacementClass && cls !== famProps[FAMILY_CLASSIC] && cls !== famProps[FAMILY_SHARP]) {\n acc.rest.push(cls);\n }\n\n if (!skipLookups && acc.prefix && acc.iconName) {\n var shim = givenPrefix === 'fa' ? byOldName(acc.iconName) : {};\n var aliasIconName = byAlias(acc.prefix, acc.iconName);\n\n if (shim.prefix) {\n givenPrefix = null;\n }\n\n acc.iconName = shim.iconName || aliasIconName || acc.iconName;\n acc.prefix = shim.prefix || acc.prefix;\n\n if (acc.prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {\n // Allow a fallback from the regular style to solid if regular is not available\n // but only if we aren't auto-fetching SVGs\n acc.prefix = 'fas';\n }\n }\n\n return acc;\n }, emptyCanonicalIcon());\n\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n\n if (values.includes('fa-duotone') || values.includes('fad')) {\n canonical.prefix = 'fad';\n }\n\n if (!canonical.prefix && family === FAMILY_SHARP && (styles['fass'] || config.autoFetchSvg)) {\n canonical.prefix = 'fass';\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n\n if (canonical.prefix === 'fa' || givenPrefix === 'fa') {\n // The fa prefix is not canonical. So if it has made it through until this point\n // we will shift it to the correct prefix.\n canonical.prefix = getDefaultUsablePrefix() || 'fas';\n }\n\n return canonical;\n }\n\n var Library = /*#__PURE__*/function () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread2(_objectSpread2({}, _this.definitions[key] || {}), additions[key]);\n defineIcons(key, additions[key]); // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n\n var longPrefix = PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n var aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n\n if (aliases.length > 0) {\n aliases.forEach(function (alias) {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n }();\n\n var _plugins = [];\n var _hooks = {};\n var providers = {};\n var defaultProviderKeys = Object.keys(providers);\n function registerPlugins(nextPlugins, _ref) {\n var obj = _ref.mixoutsTo;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(function (k) {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n\n _plugins.forEach(function (plugin) {\n var mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(function (tk) {\n if (typeof mixout[tk] === 'function') {\n obj[tk] = mixout[tk];\n }\n\n if (_typeof(mixout[tk]) === 'object') {\n Object.keys(mixout[tk]).forEach(function (sk) {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n\n obj[tk][sk] = mixout[tk][sk];\n });\n }\n });\n\n if (plugin.hooks) {\n var hooks = plugin.hooks();\n Object.keys(hooks).forEach(function (hook) {\n if (!_hooks[hook]) {\n _hooks[hook] = [];\n }\n\n _hooks[hook].push(hooks[hook]);\n });\n }\n\n if (plugin.provides) {\n plugin.provides(providers);\n }\n });\n\n return obj;\n }\n function chainHooks(hook, accumulator) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var hookFns = _hooks[hook] || [];\n hookFns.forEach(function (hookFn) {\n accumulator = hookFn.apply(null, [accumulator].concat(args)); // eslint-disable-line no-useless-call\n });\n return accumulator;\n }\n function callHooks(hook) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var hookFns = _hooks[hook] || [];\n hookFns.forEach(function (hookFn) {\n hookFn.apply(null, args);\n });\n return undefined;\n }\n function callProvided() {\n var hook = arguments[0];\n var args = Array.prototype.slice.call(arguments, 1);\n return providers[hook] ? providers[hook].apply(null, args) : undefined;\n }\n\n function findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\n\n var iconName = iconLookup.iconName;\n var prefix = iconLookup.prefix || getDefaultUsablePrefix();\n if (!iconName) return;\n iconName = byAlias(prefix, iconName) || iconName;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n }\n var library = new Library();\n var noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n };\n var dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n callHooks('beforeI2svg', params);\n callProvided('pseudoElements2svg', params);\n return callProvided('i2svg', params);\n } else {\n return Promise.reject('Operation requires a DOM of some kind.');\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n };\n var parse = {\n icon: function icon(_icon) {\n if (_icon === null) {\n return null;\n }\n\n if (_typeof(_icon) === 'object' && _icon.prefix && _icon.iconName) {\n return {\n prefix: _icon.prefix,\n iconName: byAlias(_icon.prefix, _icon.iconName) || _icon.iconName\n };\n }\n\n if (Array.isArray(_icon) && _icon.length === 2) {\n var iconName = _icon[1].indexOf('fa-') === 0 ? _icon[1].slice(3) : _icon[1];\n var prefix = getCanonicalPrefix(_icon[0]);\n return {\n prefix: prefix,\n iconName: byAlias(prefix, iconName) || iconName\n };\n }\n\n if (typeof _icon === 'string' && (_icon.indexOf(\"\".concat(config.cssPrefix, \"-\")) > -1 || _icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {\n var canonicalIcon = getCanonicalIcon(_icon.split(' '), {\n skipLookups: true\n });\n return {\n prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),\n iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName\n };\n }\n\n if (typeof _icon === 'string') {\n var _prefix = getDefaultUsablePrefix();\n\n return {\n prefix: _prefix,\n iconName: byAlias(_prefix, _icon) || _icon\n };\n }\n }\n };\n var api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n parse: parse,\n library: library,\n findIconDefinition: findIconDefinition,\n toHtml: toHtml\n };\n\n var autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n };\n\n function bootstrap(plugins) {\n if (IS_BROWSER) {\n if (!WINDOW.FontAwesome) {\n WINDOW.FontAwesome = api;\n }\n\n domready(function () {\n autoReplace();\n callHooks('bootstrap');\n });\n }\n\n namespace.hooks = _objectSpread2(_objectSpread2({}, namespace.hooks), {}, {\n addPack: function addPack(prefix, icons) {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), icons);\n build();\n autoReplace();\n },\n addPacks: function addPacks(packs) {\n packs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n prefix = _ref2[0],\n icons = _ref2[1];\n\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), icons);\n });\n build();\n autoReplace();\n },\n addShims: function addShims(shims) {\n var _namespace$shims;\n\n (_namespace$shims = namespace.shims).push.apply(_namespace$shims, _toConsumableArray(shims));\n\n build();\n autoReplace();\n }\n });\n }\n\n function domVariants(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n }\n\n function asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread2(_objectSpread2({}, styles), {}, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n }\n\n function asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.cssPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {\n id: id\n }),\n children: children\n }]\n }];\n }\n\n function makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\n\n var args = _objectSpread2(_objectSpread2({}, content), {}, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n },\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n }\n function makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread2({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n }\n function makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n }\n\n var styles$1 = namespace.styles;\n function asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n }\n var missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n };\n\n function maybeNotifyMissing(iconName, prefix) {\n if (!PRODUCTION && !config.showMissingIcons && iconName) {\n console.error(\"Icon with name \\\"\".concat(iconName, \"\\\" and prefix \\\"\").concat(prefix, \"\\\" is missing.\"));\n }\n }\n\n function findIcon(iconName, prefix) {\n var givenPrefix = prefix;\n\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n\n return new Promise(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: callProvided('missingIconAbstract') || {}\n };\n\n if (givenPrefix === 'fa') {\n var shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\n\n if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {\n var icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n maybeNotifyMissing(iconName, prefix);\n resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n }));\n });\n }\n\n var noop$1 = function noop() {};\n\n var p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n };\n var preamble = \"FA \\\"6.2.1\\\"\";\n\n var begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n };\n\n var end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n };\n\n var perf = {\n begin: begin,\n end: end\n };\n\n var noop$2 = function noop() {};\n\n function isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n }\n\n function hasPrefixAndIcon(node) {\n var prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n var icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n return prefix && icon;\n }\n\n function hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n }\n\n function getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n }\n\n function createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n }\n\n function createElement(tag) {\n return DOCUMENT.createElement(tag);\n }\n\n function convertSVG(abstractObj) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$ceFn = params.ceFn,\n ceFn = _params$ceFn === void 0 ? abstractObj.tag === 'svg' ? createElementNS : createElement : _params$ceFn;\n\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n\n var tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n var children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn: ceFn\n }));\n });\n return tag;\n }\n\n function nodeAsComment(node) {\n var comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n\n return comment;\n }\n\n var mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n\n if (node.parentNode) {\n mutation[1].forEach(function (abstract) {\n node.parentNode.insertBefore(convertSVG(abstract), node);\n });\n\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n var comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete abstract[0].attributes.id;\n\n if (abstract[0].attributes.class) {\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n };\n\n function performOperationSync(op) {\n op();\n }\n\n function perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n }\n var disabled = false;\n function disableObservation() {\n disabled = true;\n }\n function enableObservation() {\n disabled = false;\n }\n var mo = null;\n function observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var _options$treeCallback = options.treeCallback,\n treeCallback = _options$treeCallback === void 0 ? noop$2 : _options$treeCallback,\n _options$nodeCallback = options.nodeCallback,\n nodeCallback = _options$nodeCallback === void 0 ? noop$2 : _options$nodeCallback,\n _options$pseudoElemen = options.pseudoElementsCallback,\n pseudoElementsCallback = _options$pseudoElemen === void 0 ? noop$2 : _options$pseudoElemen,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n var defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);\n if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);\n } else if (hasBeenReplaced(mutationRecord.target)) {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n }\n function disconnect() {\n if (!mo) return;\n mo.disconnect();\n }\n\n function styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n }\n\n function classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.iconName && val.prefix) {\n return val;\n }\n\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\n\n return val;\n }\n\n function attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n }\n\n function blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n }\n function parseMeta(node) {\n var parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraAttributes = attributesParser(node);\n var pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n var extraStyles = parser.styleParser ? styleParser(node) : [];\n return _objectSpread2({\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: meaninglessTransform,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n symbol: false,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n }, pluginMeta);\n }\n\n var styles$2 = namespace.styles;\n\n function generateMutation(node) {\n var nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return callProvided('generateLayersText', node, nodeMeta);\n } else {\n return callProvided('generateSvgReplacementMutation', node, nodeMeta);\n }\n }\n\n var knownPrefixes = new Set();\n FAMILIES.map(function (family) {\n knownPrefixes.add(\"fa-\".concat(family));\n });\n Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC]).map(knownPrefixes.add.bind(knownPrefixes));\n Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP]).map(knownPrefixes.add.bind(knownPrefixes));\n knownPrefixes = _toConsumableArray(knownPrefixes);\n\n function onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? knownPrefixes : FAMILIES.map(function (f) {\n return \"fa-\".concat(f);\n }).concat(Object.keys(styles$2));\n\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e.name === 'MissingIcon') {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new Promise(function (resolve, reject) {\n Promise.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function (e) {\n mark();\n reject(e);\n });\n });\n }\n\n function onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n }\n\n function resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask: mask\n }));\n };\n }\n\n var render = function render(iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return domVariants(_objectSpread2({\n type: 'icon'\n }, iconDefinition), function () {\n callHooks('beforeDOMElementCreation', {\n iconDefinition: iconDefinition,\n params: params\n });\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n };\n var ReplaceElements = {\n mixout: function mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n hooks: function hooks() {\n return {\n mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n return onTree(node, callback);\n };\n\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new Promise(function (resolve, reject) {\n Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({\n found: false,\n width: 512,\n height: 512,\n icon: {}\n })]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n\n providers$$1.generateAbstractIcon = function (_ref3) {\n var children = _ref3.children,\n attributes = _ref3.attributes,\n main = _ref3.main,\n transform = _ref3.transform,\n styles = _ref3.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var nextChild;\n\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main: main,\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n\n children.push(nextChild || main.icon);\n return {\n children: children,\n attributes: attributes\n };\n };\n }\n };\n\n var Layers = {\n mixout: function mixout() {\n return {\n layer: function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes;\n return domVariants({\n type: 'layer'\n }, function () {\n callHooks('beforeDOMElementCreation', {\n assembler: assembler,\n params: params\n });\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.cssPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n }\n };\n }\n };\n\n var LayersCounter = {\n mixout: function mixout() {\n return {\n counter: function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n return domVariants({\n type: 'counter',\n content: content\n }, function () {\n callHooks('beforeDOMElementCreation', {\n content: content,\n params: params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n }\n };\n }\n };\n\n var LayersText = {\n mixout: function mixout() {\n return {\n text: function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n return domVariants({\n type: 'text',\n content: content\n }, function () {\n callHooks('beforeDOMElementCreation', {\n content: content,\n params: params\n });\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return Promise.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n };\n }\n };\n\n var CLEAN_CONTENT_PATTERN = new RegExp(\"\\\"\", 'ug');\n var SECONDARY_UNICODE_RANGE = [1105920, 1112319];\n function hexValueFromContent(content) {\n var cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n var codePoint = codePointAt(cleaned, 0);\n var isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n var isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n }\n\n function replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var family = ~['Sharp'].indexOf(fontFamily[2]) ? FAMILY_SHARP : FAMILY_CLASSIC;\n var prefix = ~['Solid', 'Regular', 'Light', 'Thin', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[family][fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[family][fontWeight];\n\n var _hexValueFromContent = hexValueFromContent(_content),\n hexValue = _hexValueFromContent.value,\n isSecondary = _hexValueFromContent.isSecondary;\n\n var isV4 = fontFamily[0].startsWith('FontAwesome');\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName;\n\n if (isV4) {\n var iconName4 = byOldUnicode(hexValue);\n\n if (iconName4.iconName && iconName4.prefix) {\n iconName = iconName4.iconName;\n prefix = iconName4.prefix;\n }\n } // Only convert the pseudo element in this ::before/::after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n\n if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === '::before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n }\n\n function replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n }\n\n function processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n }\n\n function searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n }\n\n var PseudoElements = {\n hooks: function hooks() {\n return {\n mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.pseudoElements2svg = function (params) {\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n };\n\n var _unwatched = false;\n var MutationObserver$1 = {\n mixout: function mixout() {\n return {\n dom: {\n unwatch: function unwatch() {\n disableObservation();\n _unwatched = true;\n }\n }\n };\n },\n hooks: function hooks() {\n return {\n bootstrap: function bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n noAuto: function noAuto() {\n disconnect();\n },\n watch: function watch(params) {\n var observeMutationsRoot = params.observeMutationsRoot;\n\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot: observeMutationsRoot\n }));\n }\n }\n };\n }\n };\n\n var parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n };\n var PowerTransforms = {\n mixout: function mixout() {\n return {\n parse: {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n }\n };\n },\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var transformString = node.getAttribute('data-fa-transform');\n\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n\n return accumulator;\n }\n };\n },\n provides: function provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n var main = _ref.main,\n transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n var operations = {\n outer: outer,\n inner: inner,\n path: path\n };\n return {\n tag: 'g',\n attributes: _objectSpread2({}, operations.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread2({}, operations.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)\n }]\n }]\n };\n };\n }\n };\n\n var ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n };\n\n function fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n }\n\n function deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n }\n\n var Masks = {\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var maskData = node.getAttribute('data-fa-mask');\n var mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(function (i) {\n return i.trim();\n }));\n\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\n\n accumulator.mask = mask;\n accumulator.maskId = node.getAttribute('data-fa-mask-id');\n return accumulator;\n }\n };\n },\n provides: function provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.inner),\n children: [fillBlack(_objectSpread2({\n tag: mainPath.tag,\n attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread2({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n };\n }\n };\n\n var MissingIconIndicator = {\n provides: function provides(providers) {\n var reduceMotion = false;\n\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n\n providers.missingIconAbstract = function () {\n var gChildren = [];\n var FILL = {\n fill: 'currentColor'\n };\n var ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n }; // Ring\n\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n });\n\n var OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\n\n var dot = {\n tag: 'circle',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: []\n };\n\n if (!reduceMotion) {\n dot.children.push({\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;1;1;0;1;'\n })\n });\n }\n\n gChildren.push(dot);\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: reduceMotion ? [] : [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;0;0;0;1;'\n })\n }]\n });\n\n if (!reduceMotion) {\n // Exclamation\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '0;0;1;1;0;0;'\n })\n }]\n });\n }\n\n return {\n tag: 'g',\n attributes: {\n 'class': 'missing'\n },\n children: gChildren\n };\n };\n }\n };\n\n var SvgSymbols = {\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var symbolData = node.getAttribute('data-fa-symbol');\n var symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n };\n }\n };\n\n var plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\n registerPlugins(plugins, {\n mixoutsTo: api\n });\n bunker(bootstrap);\n\n}());\n","/*\nStimulus 3.2.1\nCopyright © 2022 Basecamp, LLC\n */\nclass EventListener {\n constructor(eventTarget, eventName, eventOptions) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.eventOptions = eventOptions;\n this.unorderedBindings = new Set();\n }\n connect() {\n this.eventTarget.addEventListener(this.eventName, this, this.eventOptions);\n }\n disconnect() {\n this.eventTarget.removeEventListener(this.eventName, this, this.eventOptions);\n }\n bindingConnected(binding) {\n this.unorderedBindings.add(binding);\n }\n bindingDisconnected(binding) {\n this.unorderedBindings.delete(binding);\n }\n handleEvent(event) {\n const extendedEvent = extendEvent(event);\n for (const binding of this.bindings) {\n if (extendedEvent.immediatePropagationStopped) {\n break;\n }\n else {\n binding.handleEvent(extendedEvent);\n }\n }\n }\n hasBindings() {\n return this.unorderedBindings.size > 0;\n }\n get bindings() {\n return Array.from(this.unorderedBindings).sort((left, right) => {\n const leftIndex = left.index, rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n }\n}\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n }\n else {\n const { stopImmediatePropagation } = event;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n stopImmediatePropagation() {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation.call(this);\n },\n });\n }\n}\n\nclass Dispatcher {\n constructor(application) {\n this.application = application;\n this.eventListenerMaps = new Map();\n this.started = false;\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach((eventListener) => eventListener.connect());\n }\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach((eventListener) => eventListener.disconnect());\n }\n }\n get eventListeners() {\n return Array.from(this.eventListenerMaps.values()).reduce((listeners, map) => listeners.concat(Array.from(map.values())), []);\n }\n bindingConnected(binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n }\n bindingDisconnected(binding, clearEventListeners = false) {\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n if (clearEventListeners)\n this.clearEventListenersForBinding(binding);\n }\n handleError(error, message, detail = {}) {\n this.application.handleError(error, `Error ${message}`, detail);\n }\n clearEventListenersForBinding(binding) {\n const eventListener = this.fetchEventListenerForBinding(binding);\n if (!eventListener.hasBindings()) {\n eventListener.disconnect();\n this.removeMappedEventListenerFor(binding);\n }\n }\n removeMappedEventListenerFor(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n eventListenerMap.delete(cacheKey);\n if (eventListenerMap.size == 0)\n this.eventListenerMaps.delete(eventTarget);\n }\n fetchEventListenerForBinding(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n return this.fetchEventListener(eventTarget, eventName, eventOptions);\n }\n fetchEventListener(eventTarget, eventName, eventOptions) {\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n let eventListener = eventListenerMap.get(cacheKey);\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName, eventOptions);\n eventListenerMap.set(cacheKey, eventListener);\n }\n return eventListener;\n }\n createEventListener(eventTarget, eventName, eventOptions) {\n const eventListener = new EventListener(eventTarget, eventName, eventOptions);\n if (this.started) {\n eventListener.connect();\n }\n return eventListener;\n }\n fetchEventListenerMapForEventTarget(eventTarget) {\n let eventListenerMap = this.eventListenerMaps.get(eventTarget);\n if (!eventListenerMap) {\n eventListenerMap = new Map();\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n return eventListenerMap;\n }\n cacheKey(eventName, eventOptions) {\n const parts = [eventName];\n Object.keys(eventOptions)\n .sort()\n .forEach((key) => {\n parts.push(`${eventOptions[key] ? \"\" : \"!\"}${key}`);\n });\n return parts.join(\":\");\n }\n}\n\nconst defaultActionDescriptorFilters = {\n stop({ event, value }) {\n if (value)\n event.stopPropagation();\n return true;\n },\n prevent({ event, value }) {\n if (value)\n event.preventDefault();\n return true;\n },\n self({ event, value, element }) {\n if (value) {\n return element === event.target;\n }\n else {\n return true;\n }\n },\n};\nconst descriptorPattern = /^(?:(.+?)(?:\\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;\nfunction parseActionDescriptorString(descriptorString) {\n const source = descriptorString.trim();\n const matches = source.match(descriptorPattern) || [];\n let eventName = matches[1];\n let keyFilter = matches[2];\n if (keyFilter && ![\"keydown\", \"keyup\", \"keypress\"].includes(eventName)) {\n eventName += `.${keyFilter}`;\n keyFilter = \"\";\n }\n return {\n eventTarget: parseEventTarget(matches[3]),\n eventName,\n eventOptions: matches[6] ? parseEventOptions(matches[6]) : {},\n identifier: matches[4],\n methodName: matches[5],\n keyFilter,\n };\n}\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n }\n else if (eventTargetName == \"document\") {\n return document;\n }\n}\nfunction parseEventOptions(eventOptions) {\n return eventOptions\n .split(\":\")\n .reduce((options, token) => Object.assign(options, { [token.replace(/^!/, \"\")]: !/^!/.test(token) }), {});\n}\nfunction stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n }\n else if (eventTarget == document) {\n return \"document\";\n }\n}\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, (_, char) => char.toUpperCase());\n}\nfunction namespaceCamelize(value) {\n return camelize(value.replace(/--/g, \"-\").replace(/__/g, \"_\"));\n}\nfunction capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, (_, char) => `-${char.toLowerCase()}`);\n}\nfunction tokenize(value) {\n return value.match(/[^\\s]+/g) || [];\n}\n\nclass Action {\n constructor(element, index, descriptor, schema) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.eventOptions = descriptor.eventOptions || {};\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n this.keyFilter = descriptor.keyFilter || \"\";\n this.schema = schema;\n }\n static forToken(token, schema) {\n return new this(token.element, token.index, parseActionDescriptorString(token.content), schema);\n }\n toString() {\n const eventFilter = this.keyFilter ? `.${this.keyFilter}` : \"\";\n const eventTarget = this.eventTargetName ? `@${this.eventTargetName}` : \"\";\n return `${this.eventName}${eventFilter}${eventTarget}->${this.identifier}#${this.methodName}`;\n }\n isFilterTarget(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filteres = this.keyFilter.split(\"+\");\n const modifiers = [\"meta\", \"ctrl\", \"alt\", \"shift\"];\n const [meta, ctrl, alt, shift] = modifiers.map((modifier) => filteres.includes(modifier));\n if (event.metaKey !== meta || event.ctrlKey !== ctrl || event.altKey !== alt || event.shiftKey !== shift) {\n return true;\n }\n const standardFilter = filteres.filter((key) => !modifiers.includes(key))[0];\n if (!standardFilter) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(this.keyMappings, standardFilter)) {\n error(`contains unknown key filter: ${this.keyFilter}`);\n }\n return this.keyMappings[standardFilter].toLowerCase() !== event.key.toLowerCase();\n }\n get params() {\n const params = {};\n const pattern = new RegExp(`^data-${this.identifier}-(.+)-param$`, \"i\");\n for (const { name, value } of Array.from(this.element.attributes)) {\n const match = name.match(pattern);\n const key = match && match[1];\n if (key) {\n params[camelize(key)] = typecast(value);\n }\n }\n return params;\n }\n get eventTargetName() {\n return stringifyEventTarget(this.eventTarget);\n }\n get keyMappings() {\n return this.schema.keyMappings;\n }\n}\nconst defaultEventNames = {\n a: () => \"click\",\n button: () => \"click\",\n form: () => \"submit\",\n details: () => \"toggle\",\n input: (e) => (e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"input\"),\n select: () => \"change\",\n textarea: () => \"input\",\n};\nfunction getDefaultEventNameForElement(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\nfunction error(message) {\n throw new Error(message);\n}\nfunction typecast(value) {\n try {\n return JSON.parse(value);\n }\n catch (o_O) {\n return value;\n }\n}\n\nclass Binding {\n constructor(context, action) {\n this.context = context;\n this.action = action;\n }\n get index() {\n return this.action.index;\n }\n get eventTarget() {\n return this.action.eventTarget;\n }\n get eventOptions() {\n return this.action.eventOptions;\n }\n get identifier() {\n return this.context.identifier;\n }\n handleEvent(event) {\n if (this.willBeInvokedByEvent(event) && this.applyEventModifiers(event)) {\n this.invokeWithEvent(event);\n }\n }\n get eventName() {\n return this.action.eventName;\n }\n get method() {\n const method = this.controller[this.methodName];\n if (typeof method == \"function\") {\n return method;\n }\n throw new Error(`Action \"${this.action}\" references undefined method \"${this.methodName}\"`);\n }\n applyEventModifiers(event) {\n const { element } = this.action;\n const { actionDescriptorFilters } = this.context.application;\n let passes = true;\n for (const [name, value] of Object.entries(this.eventOptions)) {\n if (name in actionDescriptorFilters) {\n const filter = actionDescriptorFilters[name];\n passes = passes && filter({ name, value, event, element });\n }\n else {\n continue;\n }\n }\n return passes;\n }\n invokeWithEvent(event) {\n const { target, currentTarget } = event;\n try {\n const { params } = this.action;\n const actionEvent = Object.assign(event, { params });\n this.method.call(this.controller, actionEvent);\n this.context.logDebugActivity(this.methodName, { event, target, currentTarget, action: this.methodName });\n }\n catch (error) {\n const { identifier, controller, element, index } = this;\n const detail = { identifier, controller, element, index, event };\n this.context.handleError(error, `invoking action \"${this.action}\"`, detail);\n }\n }\n willBeInvokedByEvent(event) {\n const eventTarget = event.target;\n if (event instanceof KeyboardEvent && this.action.isFilterTarget(event)) {\n return false;\n }\n if (this.element === eventTarget) {\n return true;\n }\n else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n }\n else {\n return this.scope.containsElement(this.action.element);\n }\n }\n get controller() {\n return this.context.controller;\n }\n get methodName() {\n return this.action.methodName;\n }\n get element() {\n return this.scope.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nclass ElementObserver {\n constructor(element, delegate) {\n this.mutationObserverInit = { attributes: true, childList: true, subtree: true };\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.refresh();\n }\n }\n pause(callback) {\n if (this.started) {\n this.mutationObserver.disconnect();\n this.started = false;\n }\n callback();\n if (!this.started) {\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.started = true;\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n const matches = new Set(this.matchElementsInTree());\n for (const element of Array.from(this.elements)) {\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n for (const element of Array.from(matches)) {\n this.addElement(element);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n }\n else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n }\n processAttributeChange(node, attributeName) {\n const element = node;\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n }\n else {\n this.removeElement(element);\n }\n }\n else if (this.matchElement(element)) {\n this.addElement(element);\n }\n }\n processRemovedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n }\n processAddedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n }\n matchElement(element) {\n return this.delegate.matchElement(element);\n }\n matchElementsInTree(tree = this.element) {\n return this.delegate.matchElementsInTree(tree);\n }\n processTree(tree, processor) {\n for (const element of this.matchElementsInTree(tree)) {\n processor.call(this, element);\n }\n }\n elementFromNode(node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n }\n elementIsActive(element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n }\n else {\n return this.element.contains(element);\n }\n }\n addElement(element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n }\n removeElement(element) {\n if (this.elements.has(element)) {\n this.elements.delete(element);\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n }\n}\n\nclass AttributeObserver {\n constructor(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n get element() {\n return this.elementObserver.element;\n }\n get selector() {\n return `[${this.attributeName}]`;\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get started() {\n return this.elementObserver.started;\n }\n matchElement(element) {\n return element.hasAttribute(this.attributeName);\n }\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n }\n elementMatched(element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n }\n elementUnmatched(element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n }\n elementAttributeChanged(element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n }\n}\n\nfunction add(map, key, value) {\n fetch(map, key).add(value);\n}\nfunction del(map, key, value) {\n fetch(map, key).delete(value);\n prune(map, key);\n}\nfunction fetch(map, key) {\n let values = map.get(key);\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n return values;\n}\nfunction prune(map, key) {\n const values = map.get(key);\n if (values != null && values.size == 0) {\n map.delete(key);\n }\n}\n\nclass Multimap {\n constructor() {\n this.valuesByKey = new Map();\n }\n get keys() {\n return Array.from(this.valuesByKey.keys());\n }\n get values() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((values, set) => values.concat(Array.from(set)), []);\n }\n get size() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((size, set) => size + set.size, 0);\n }\n add(key, value) {\n add(this.valuesByKey, key, value);\n }\n delete(key, value) {\n del(this.valuesByKey, key, value);\n }\n has(key, value) {\n const values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n }\n hasKey(key) {\n return this.valuesByKey.has(key);\n }\n hasValue(value) {\n const sets = Array.from(this.valuesByKey.values());\n return sets.some((set) => set.has(value));\n }\n getValuesForKey(key) {\n const values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n }\n getKeysForValue(value) {\n return Array.from(this.valuesByKey)\n .filter(([_key, values]) => values.has(value))\n .map(([key, _values]) => key);\n }\n}\n\nclass IndexedMultimap extends Multimap {\n constructor() {\n super();\n this.keysByValue = new Map();\n }\n get values() {\n return Array.from(this.keysByValue.keys());\n }\n add(key, value) {\n super.add(key, value);\n add(this.keysByValue, value, key);\n }\n delete(key, value) {\n super.delete(key, value);\n del(this.keysByValue, value, key);\n }\n hasValue(value) {\n return this.keysByValue.has(value);\n }\n getKeysForValue(value) {\n const set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n }\n}\n\nclass SelectorObserver {\n constructor(element, selector, delegate, details = {}) {\n this.selector = selector;\n this.details = details;\n this.elementObserver = new ElementObserver(element, this);\n this.delegate = delegate;\n this.matchesByElement = new Multimap();\n }\n get started() {\n return this.elementObserver.started;\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get element() {\n return this.elementObserver.element;\n }\n matchElement(element) {\n const matches = element.matches(this.selector);\n if (this.delegate.selectorMatchElement) {\n return matches && this.delegate.selectorMatchElement(element, this.details);\n }\n return matches;\n }\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector)).filter((match) => this.matchElement(match));\n return match.concat(matches);\n }\n elementMatched(element) {\n this.selectorMatched(element);\n }\n elementUnmatched(element) {\n this.selectorUnmatched(element);\n }\n elementAttributeChanged(element, _attributeName) {\n const matches = this.matchElement(element);\n const matchedBefore = this.matchesByElement.has(this.selector, element);\n if (!matches && matchedBefore) {\n this.selectorUnmatched(element);\n }\n }\n selectorMatched(element) {\n if (this.delegate.selectorMatched) {\n this.delegate.selectorMatched(element, this.selector, this.details);\n this.matchesByElement.add(this.selector, element);\n }\n }\n selectorUnmatched(element) {\n this.delegate.selectorUnmatched(element, this.selector, this.details);\n this.matchesByElement.delete(this.selector, element);\n }\n}\n\nclass StringMapObserver {\n constructor(element, delegate) {\n this.element = element;\n this.delegate = delegate;\n this.started = false;\n this.stringMap = new Map();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, { attributes: true, attributeOldValue: true });\n this.refresh();\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n for (const attributeName of this.knownAttributeNames) {\n this.refreshAttribute(attributeName, null);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n const attributeName = mutation.attributeName;\n if (attributeName) {\n this.refreshAttribute(attributeName, mutation.oldValue);\n }\n }\n refreshAttribute(attributeName, oldValue) {\n const key = this.delegate.getStringMapKeyForAttribute(attributeName);\n if (key != null) {\n if (!this.stringMap.has(attributeName)) {\n this.stringMapKeyAdded(key, attributeName);\n }\n const value = this.element.getAttribute(attributeName);\n if (this.stringMap.get(attributeName) != value) {\n this.stringMapValueChanged(value, key, oldValue);\n }\n if (value == null) {\n const oldValue = this.stringMap.get(attributeName);\n this.stringMap.delete(attributeName);\n if (oldValue)\n this.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n else {\n this.stringMap.set(attributeName, value);\n }\n }\n }\n stringMapKeyAdded(key, attributeName) {\n if (this.delegate.stringMapKeyAdded) {\n this.delegate.stringMapKeyAdded(key, attributeName);\n }\n }\n stringMapValueChanged(value, key, oldValue) {\n if (this.delegate.stringMapValueChanged) {\n this.delegate.stringMapValueChanged(value, key, oldValue);\n }\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n if (this.delegate.stringMapKeyRemoved) {\n this.delegate.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n }\n get knownAttributeNames() {\n return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)));\n }\n get currentAttributeNames() {\n return Array.from(this.element.attributes).map((attribute) => attribute.name);\n }\n get recordedAttributeNames() {\n return Array.from(this.stringMap.keys());\n }\n}\n\nclass TokenListObserver {\n constructor(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap();\n }\n get started() {\n return this.attributeObserver.started;\n }\n start() {\n this.attributeObserver.start();\n }\n pause(callback) {\n this.attributeObserver.pause(callback);\n }\n stop() {\n this.attributeObserver.stop();\n }\n refresh() {\n this.attributeObserver.refresh();\n }\n get element() {\n return this.attributeObserver.element;\n }\n get attributeName() {\n return this.attributeObserver.attributeName;\n }\n elementMatchedAttribute(element) {\n this.tokensMatched(this.readTokensForElement(element));\n }\n elementAttributeValueChanged(element) {\n const [unmatchedTokens, matchedTokens] = this.refreshTokensForElement(element);\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n }\n elementUnmatchedAttribute(element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n }\n tokensMatched(tokens) {\n tokens.forEach((token) => this.tokenMatched(token));\n }\n tokensUnmatched(tokens) {\n tokens.forEach((token) => this.tokenUnmatched(token));\n }\n tokenMatched(token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n }\n tokenUnmatched(token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement.delete(token.element, token);\n }\n refreshTokensForElement(element) {\n const previousTokens = this.tokensByElement.getValuesForKey(element);\n const currentTokens = this.readTokensForElement(element);\n const firstDifferingIndex = zip(previousTokens, currentTokens).findIndex(([previousToken, currentToken]) => !tokensAreEqual(previousToken, currentToken));\n if (firstDifferingIndex == -1) {\n return [[], []];\n }\n else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n }\n readTokensForElement(element) {\n const attributeName = this.attributeName;\n const tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n }\n}\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString\n .trim()\n .split(/\\s+/)\n .filter((content) => content.length)\n .map((content, index) => ({ element, attributeName, content, index }));\n}\nfunction zip(left, right) {\n const length = Math.max(left.length, right.length);\n return Array.from({ length }, (_, index) => [left[index], right[index]]);\n}\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}\n\nclass ValueListObserver {\n constructor(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap();\n this.valuesByTokenByElement = new WeakMap();\n }\n get started() {\n return this.tokenListObserver.started;\n }\n start() {\n this.tokenListObserver.start();\n }\n stop() {\n this.tokenListObserver.stop();\n }\n refresh() {\n this.tokenListObserver.refresh();\n }\n get element() {\n return this.tokenListObserver.element;\n }\n get attributeName() {\n return this.tokenListObserver.attributeName;\n }\n tokenMatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n }\n tokenUnmatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).delete(token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n }\n fetchParseResultForToken(token) {\n let parseResult = this.parseResultsByToken.get(token);\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n return parseResult;\n }\n fetchValuesByTokenForElement(element) {\n let valuesByToken = this.valuesByTokenByElement.get(element);\n if (!valuesByToken) {\n valuesByToken = new Map();\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n return valuesByToken;\n }\n parseToken(token) {\n try {\n const value = this.delegate.parseValueForToken(token);\n return { value };\n }\n catch (error) {\n return { error };\n }\n }\n}\n\nclass BindingObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map();\n }\n start() {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n }\n stop() {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n }\n get element() {\n return this.context.element;\n }\n get identifier() {\n return this.context.identifier;\n }\n get actionAttribute() {\n return this.schema.actionAttribute;\n }\n get schema() {\n return this.context.schema;\n }\n get bindings() {\n return Array.from(this.bindingsByAction.values());\n }\n connectAction(action) {\n const binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n }\n disconnectAction(action) {\n const binding = this.bindingsByAction.get(action);\n if (binding) {\n this.bindingsByAction.delete(action);\n this.delegate.bindingDisconnected(binding);\n }\n }\n disconnectAllActions() {\n this.bindings.forEach((binding) => this.delegate.bindingDisconnected(binding, true));\n this.bindingsByAction.clear();\n }\n parseValueForToken(token) {\n const action = Action.forToken(token, this.schema);\n if (action.identifier == this.identifier) {\n return action;\n }\n }\n elementMatchedValue(element, action) {\n this.connectAction(action);\n }\n elementUnmatchedValue(element, action) {\n this.disconnectAction(action);\n }\n}\n\nclass ValueObserver {\n constructor(context, receiver) {\n this.context = context;\n this.receiver = receiver;\n this.stringMapObserver = new StringMapObserver(this.element, this);\n this.valueDescriptorMap = this.controller.valueDescriptorMap;\n }\n start() {\n this.stringMapObserver.start();\n this.invokeChangedCallbacksForDefaultValues();\n }\n stop() {\n this.stringMapObserver.stop();\n }\n get element() {\n return this.context.element;\n }\n get controller() {\n return this.context.controller;\n }\n getStringMapKeyForAttribute(attributeName) {\n if (attributeName in this.valueDescriptorMap) {\n return this.valueDescriptorMap[attributeName].name;\n }\n }\n stringMapKeyAdded(key, attributeName) {\n const descriptor = this.valueDescriptorMap[attributeName];\n if (!this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), descriptor.writer(descriptor.defaultValue));\n }\n }\n stringMapValueChanged(value, name, oldValue) {\n const descriptor = this.valueDescriptorNameMap[name];\n if (value === null)\n return;\n if (oldValue === null) {\n oldValue = descriptor.writer(descriptor.defaultValue);\n }\n this.invokeChangedCallback(name, value, oldValue);\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n const descriptor = this.valueDescriptorNameMap[key];\n if (this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), oldValue);\n }\n else {\n this.invokeChangedCallback(key, descriptor.writer(descriptor.defaultValue), oldValue);\n }\n }\n invokeChangedCallbacksForDefaultValues() {\n for (const { key, name, defaultValue, writer } of this.valueDescriptors) {\n if (defaultValue != undefined && !this.controller.data.has(key)) {\n this.invokeChangedCallback(name, writer(defaultValue), undefined);\n }\n }\n }\n invokeChangedCallback(name, rawValue, rawOldValue) {\n const changedMethodName = `${name}Changed`;\n const changedMethod = this.receiver[changedMethodName];\n if (typeof changedMethod == \"function\") {\n const descriptor = this.valueDescriptorNameMap[name];\n try {\n const value = descriptor.reader(rawValue);\n let oldValue = rawOldValue;\n if (rawOldValue) {\n oldValue = descriptor.reader(rawOldValue);\n }\n changedMethod.call(this.receiver, value, oldValue);\n }\n catch (error) {\n if (error instanceof TypeError) {\n error.message = `Stimulus Value \"${this.context.identifier}.${descriptor.name}\" - ${error.message}`;\n }\n throw error;\n }\n }\n }\n get valueDescriptors() {\n const { valueDescriptorMap } = this;\n return Object.keys(valueDescriptorMap).map((key) => valueDescriptorMap[key]);\n }\n get valueDescriptorNameMap() {\n const descriptors = {};\n Object.keys(this.valueDescriptorMap).forEach((key) => {\n const descriptor = this.valueDescriptorMap[key];\n descriptors[descriptor.name] = descriptor;\n });\n return descriptors;\n }\n hasValue(attributeName) {\n const descriptor = this.valueDescriptorNameMap[attributeName];\n const hasMethodName = `has${capitalize(descriptor.name)}`;\n return this.receiver[hasMethodName];\n }\n}\n\nclass TargetObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.targetsByName = new Multimap();\n }\n start() {\n if (!this.tokenListObserver) {\n this.tokenListObserver = new TokenListObserver(this.element, this.attributeName, this);\n this.tokenListObserver.start();\n }\n }\n stop() {\n if (this.tokenListObserver) {\n this.disconnectAllTargets();\n this.tokenListObserver.stop();\n delete this.tokenListObserver;\n }\n }\n tokenMatched({ element, content: name }) {\n if (this.scope.containsElement(element)) {\n this.connectTarget(element, name);\n }\n }\n tokenUnmatched({ element, content: name }) {\n this.disconnectTarget(element, name);\n }\n connectTarget(element, name) {\n var _a;\n if (!this.targetsByName.has(name, element)) {\n this.targetsByName.add(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetConnected(element, name));\n }\n }\n disconnectTarget(element, name) {\n var _a;\n if (this.targetsByName.has(name, element)) {\n this.targetsByName.delete(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetDisconnected(element, name));\n }\n }\n disconnectAllTargets() {\n for (const name of this.targetsByName.keys) {\n for (const element of this.targetsByName.getValuesForKey(name)) {\n this.disconnectTarget(element, name);\n }\n }\n }\n get attributeName() {\n return `data-${this.context.identifier}-target`;\n }\n get element() {\n return this.context.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nfunction readInheritableStaticArrayValues(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce((values, constructor) => {\n getOwnStaticArrayValues(constructor, propertyName).forEach((name) => values.add(name));\n return values;\n }, new Set()));\n}\nfunction readInheritableStaticObjectPairs(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce((pairs, constructor) => {\n pairs.push(...getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\nfunction getAncestorsForConstructor(constructor) {\n const ancestors = [];\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n return ancestors.reverse();\n}\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n const definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n const definition = constructor[propertyName];\n return definition ? Object.keys(definition).map((key) => [key, definition[key]]) : [];\n}\n\nclass OutletObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.outletsByName = new Multimap();\n this.outletElementsByName = new Multimap();\n this.selectorObserverMap = new Map();\n }\n start() {\n if (this.selectorObserverMap.size === 0) {\n this.outletDefinitions.forEach((outletName) => {\n const selector = this.selector(outletName);\n const details = { outletName };\n if (selector) {\n this.selectorObserverMap.set(outletName, new SelectorObserver(document.body, selector, this, details));\n }\n });\n this.selectorObserverMap.forEach((observer) => observer.start());\n }\n this.dependentContexts.forEach((context) => context.refresh());\n }\n stop() {\n if (this.selectorObserverMap.size > 0) {\n this.disconnectAllOutlets();\n this.selectorObserverMap.forEach((observer) => observer.stop());\n this.selectorObserverMap.clear();\n }\n }\n refresh() {\n this.selectorObserverMap.forEach((observer) => observer.refresh());\n }\n selectorMatched(element, _selector, { outletName }) {\n const outlet = this.getOutlet(element, outletName);\n if (outlet) {\n this.connectOutlet(outlet, element, outletName);\n }\n }\n selectorUnmatched(element, _selector, { outletName }) {\n const outlet = this.getOutletFromMap(element, outletName);\n if (outlet) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n selectorMatchElement(element, { outletName }) {\n return (this.hasOutlet(element, outletName) &&\n element.matches(`[${this.context.application.schema.controllerAttribute}~=${outletName}]`));\n }\n connectOutlet(outlet, element, outletName) {\n var _a;\n if (!this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.add(outletName, outlet);\n this.outletElementsByName.add(outletName, element);\n (_a = this.selectorObserverMap.get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletConnected(outlet, element, outletName));\n }\n }\n disconnectOutlet(outlet, element, outletName) {\n var _a;\n if (this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.delete(outletName, outlet);\n this.outletElementsByName.delete(outletName, element);\n (_a = this.selectorObserverMap\n .get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletDisconnected(outlet, element, outletName));\n }\n }\n disconnectAllOutlets() {\n for (const outletName of this.outletElementsByName.keys) {\n for (const element of this.outletElementsByName.getValuesForKey(outletName)) {\n for (const outlet of this.outletsByName.getValuesForKey(outletName)) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n }\n }\n selector(outletName) {\n return this.scope.outlets.getSelectorForOutletName(outletName);\n }\n get outletDependencies() {\n const dependencies = new Multimap();\n this.router.modules.forEach((module) => {\n const constructor = module.definition.controllerConstructor;\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n outlets.forEach((outlet) => dependencies.add(outlet, module.identifier));\n });\n return dependencies;\n }\n get outletDefinitions() {\n return this.outletDependencies.getKeysForValue(this.identifier);\n }\n get dependentControllerIdentifiers() {\n return this.outletDependencies.getValuesForKey(this.identifier);\n }\n get dependentContexts() {\n const identifiers = this.dependentControllerIdentifiers;\n return this.router.contexts.filter((context) => identifiers.includes(context.identifier));\n }\n hasOutlet(element, outletName) {\n return !!this.getOutlet(element, outletName) || !!this.getOutletFromMap(element, outletName);\n }\n getOutlet(element, outletName) {\n return this.application.getControllerForElementAndIdentifier(element, outletName);\n }\n getOutletFromMap(element, outletName) {\n return this.outletsByName.getValuesForKey(outletName).find((outlet) => outlet.element === element);\n }\n get scope() {\n return this.context.scope;\n }\n get identifier() {\n return this.context.identifier;\n }\n get application() {\n return this.context.application;\n }\n get router() {\n return this.application.router;\n }\n}\n\nclass Context {\n constructor(module, scope) {\n this.logDebugActivity = (functionName, detail = {}) => {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.logDebugActivity(this.identifier, functionName, detail);\n };\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n this.valueObserver = new ValueObserver(this, this.controller);\n this.targetObserver = new TargetObserver(this, this);\n this.outletObserver = new OutletObserver(this, this);\n try {\n this.controller.initialize();\n this.logDebugActivity(\"initialize\");\n }\n catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n connect() {\n this.bindingObserver.start();\n this.valueObserver.start();\n this.targetObserver.start();\n this.outletObserver.start();\n try {\n this.controller.connect();\n this.logDebugActivity(\"connect\");\n }\n catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n }\n refresh() {\n this.outletObserver.refresh();\n }\n disconnect() {\n try {\n this.controller.disconnect();\n this.logDebugActivity(\"disconnect\");\n }\n catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n this.outletObserver.stop();\n this.targetObserver.stop();\n this.valueObserver.stop();\n this.bindingObserver.stop();\n }\n get application() {\n return this.module.application;\n }\n get identifier() {\n return this.module.identifier;\n }\n get schema() {\n return this.application.schema;\n }\n get dispatcher() {\n return this.application.dispatcher;\n }\n get element() {\n return this.scope.element;\n }\n get parentElement() {\n return this.element.parentElement;\n }\n handleError(error, message, detail = {}) {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.handleError(error, `Error ${message}`, detail);\n }\n targetConnected(element, name) {\n this.invokeControllerMethod(`${name}TargetConnected`, element);\n }\n targetDisconnected(element, name) {\n this.invokeControllerMethod(`${name}TargetDisconnected`, element);\n }\n outletConnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletConnected`, outlet, element);\n }\n outletDisconnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletDisconnected`, outlet, element);\n }\n invokeControllerMethod(methodName, ...args) {\n const controller = this.controller;\n if (typeof controller[methodName] == \"function\") {\n controller[methodName](...args);\n }\n }\n}\n\nfunction bless(constructor) {\n return shadow(constructor, getBlessedProperties(constructor));\n}\nfunction shadow(constructor, properties) {\n const shadowConstructor = extend(constructor);\n const shadowProperties = getShadowProperties(constructor.prototype, properties);\n Object.defineProperties(shadowConstructor.prototype, shadowProperties);\n return shadowConstructor;\n}\nfunction getBlessedProperties(constructor) {\n const blessings = readInheritableStaticArrayValues(constructor, \"blessings\");\n return blessings.reduce((blessedProperties, blessing) => {\n const properties = blessing(constructor);\n for (const key in properties) {\n const descriptor = blessedProperties[key] || {};\n blessedProperties[key] = Object.assign(descriptor, properties[key]);\n }\n return blessedProperties;\n }, {});\n}\nfunction getShadowProperties(prototype, properties) {\n return getOwnKeys(properties).reduce((shadowProperties, key) => {\n const descriptor = getShadowedDescriptor(prototype, properties, key);\n if (descriptor) {\n Object.assign(shadowProperties, { [key]: descriptor });\n }\n return shadowProperties;\n }, {});\n}\nfunction getShadowedDescriptor(prototype, properties, key) {\n const shadowingDescriptor = Object.getOwnPropertyDescriptor(prototype, key);\n const shadowedByValue = shadowingDescriptor && \"value\" in shadowingDescriptor;\n if (!shadowedByValue) {\n const descriptor = Object.getOwnPropertyDescriptor(properties, key).value;\n if (shadowingDescriptor) {\n descriptor.get = shadowingDescriptor.get || descriptor.get;\n descriptor.set = shadowingDescriptor.set || descriptor.set;\n }\n return descriptor;\n }\n}\nconst getOwnKeys = (() => {\n if (typeof Object.getOwnPropertySymbols == \"function\") {\n return (object) => [...Object.getOwnPropertyNames(object), ...Object.getOwnPropertySymbols(object)];\n }\n else {\n return Object.getOwnPropertyNames;\n }\n})();\nconst extend = (() => {\n function extendWithReflect(constructor) {\n function extended() {\n return Reflect.construct(constructor, arguments, new.target);\n }\n extended.prototype = Object.create(constructor.prototype, {\n constructor: { value: extended },\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n function testReflectExtension() {\n const a = function () {\n this.a.call(this);\n };\n const b = extendWithReflect(a);\n b.prototype.a = function () { };\n return new b();\n }\n try {\n testReflectExtension();\n return extendWithReflect;\n }\n catch (error) {\n return (constructor) => class extended extends constructor {\n };\n }\n})();\n\nfunction blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: bless(definition.controllerConstructor),\n };\n}\n\nclass Module {\n constructor(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap();\n this.connectedContexts = new Set();\n }\n get identifier() {\n return this.definition.identifier;\n }\n get controllerConstructor() {\n return this.definition.controllerConstructor;\n }\n get contexts() {\n return Array.from(this.connectedContexts);\n }\n connectContextForScope(scope) {\n const context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n }\n disconnectContextForScope(scope) {\n const context = this.contextsByScope.get(scope);\n if (context) {\n this.connectedContexts.delete(context);\n context.disconnect();\n }\n }\n fetchContextForScope(scope) {\n let context = this.contextsByScope.get(scope);\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n return context;\n }\n}\n\nclass ClassMap {\n constructor(scope) {\n this.scope = scope;\n }\n has(name) {\n return this.data.has(this.getDataKey(name));\n }\n get(name) {\n return this.getAll(name)[0];\n }\n getAll(name) {\n const tokenString = this.data.get(this.getDataKey(name)) || \"\";\n return tokenize(tokenString);\n }\n getAttributeName(name) {\n return this.data.getAttributeNameForKey(this.getDataKey(name));\n }\n getDataKey(name) {\n return `${name}-class`;\n }\n get data() {\n return this.scope.data;\n }\n}\n\nclass DataMap {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.getAttribute(name);\n }\n set(key, value) {\n const name = this.getAttributeNameForKey(key);\n this.element.setAttribute(name, value);\n return this.get(key);\n }\n has(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.hasAttribute(name);\n }\n delete(key) {\n if (this.has(key)) {\n const name = this.getAttributeNameForKey(key);\n this.element.removeAttribute(name);\n return true;\n }\n else {\n return false;\n }\n }\n getAttributeNameForKey(key) {\n return `data-${this.identifier}-${dasherize(key)}`;\n }\n}\n\nclass Guide {\n constructor(logger) {\n this.warnedKeysByObject = new WeakMap();\n this.logger = logger;\n }\n warn(object, key, message) {\n let warnedKeys = this.warnedKeysByObject.get(object);\n if (!warnedKeys) {\n warnedKeys = new Set();\n this.warnedKeysByObject.set(object, warnedKeys);\n }\n if (!warnedKeys.has(key)) {\n warnedKeys.add(key);\n this.logger.warn(message, object);\n }\n }\n}\n\nfunction attributeValueContainsToken(attributeName, token) {\n return `[${attributeName}~=\"${token}\"]`;\n}\n\nclass TargetSet {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(targetName) {\n return this.find(targetName) != null;\n }\n find(...targetNames) {\n return targetNames.reduce((target, targetName) => target || this.findTarget(targetName) || this.findLegacyTarget(targetName), undefined);\n }\n findAll(...targetNames) {\n return targetNames.reduce((targets, targetName) => [\n ...targets,\n ...this.findAllTargets(targetName),\n ...this.findAllLegacyTargets(targetName),\n ], []);\n }\n findTarget(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findElement(selector);\n }\n findAllTargets(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findAllElements(selector);\n }\n getSelectorForTargetName(targetName) {\n const attributeName = this.schema.targetAttributeForScope(this.identifier);\n return attributeValueContainsToken(attributeName, targetName);\n }\n findLegacyTarget(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.deprecate(this.scope.findElement(selector), targetName);\n }\n findAllLegacyTargets(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.scope.findAllElements(selector).map((element) => this.deprecate(element, targetName));\n }\n getLegacySelectorForTargetName(targetName) {\n const targetDescriptor = `${this.identifier}.${targetName}`;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n }\n deprecate(element, targetName) {\n if (element) {\n const { identifier } = this;\n const attributeName = this.schema.targetAttribute;\n const revisedAttributeName = this.schema.targetAttributeForScope(identifier);\n this.guide.warn(element, `target:${targetName}`, `Please replace ${attributeName}=\"${identifier}.${targetName}\" with ${revisedAttributeName}=\"${targetName}\". ` +\n `The ${attributeName} attribute is deprecated and will be removed in a future version of Stimulus.`);\n }\n return element;\n }\n get guide() {\n return this.scope.guide;\n }\n}\n\nclass OutletSet {\n constructor(scope, controllerElement) {\n this.scope = scope;\n this.controllerElement = controllerElement;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(outletName) {\n return this.find(outletName) != null;\n }\n find(...outletNames) {\n return outletNames.reduce((outlet, outletName) => outlet || this.findOutlet(outletName), undefined);\n }\n findAll(...outletNames) {\n return outletNames.reduce((outlets, outletName) => [...outlets, ...this.findAllOutlets(outletName)], []);\n }\n getSelectorForOutletName(outletName) {\n const attributeName = this.schema.outletAttributeForScope(this.identifier, outletName);\n return this.controllerElement.getAttribute(attributeName);\n }\n findOutlet(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n if (selector)\n return this.findElement(selector, outletName);\n }\n findAllOutlets(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n return selector ? this.findAllElements(selector, outletName) : [];\n }\n findElement(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName))[0];\n }\n findAllElements(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName));\n }\n matchesElement(element, selector, outletName) {\n const controllerAttribute = element.getAttribute(this.scope.schema.controllerAttribute) || \"\";\n return element.matches(selector) && controllerAttribute.split(\" \").includes(outletName);\n }\n}\n\nclass Scope {\n constructor(schema, element, identifier, logger) {\n this.targets = new TargetSet(this);\n this.classes = new ClassMap(this);\n this.data = new DataMap(this);\n this.containsElement = (element) => {\n return element.closest(this.controllerSelector) === this.element;\n };\n this.schema = schema;\n this.element = element;\n this.identifier = identifier;\n this.guide = new Guide(logger);\n this.outlets = new OutletSet(this.documentScope, element);\n }\n findElement(selector) {\n return this.element.matches(selector) ? this.element : this.queryElements(selector).find(this.containsElement);\n }\n findAllElements(selector) {\n return [\n ...(this.element.matches(selector) ? [this.element] : []),\n ...this.queryElements(selector).filter(this.containsElement),\n ];\n }\n queryElements(selector) {\n return Array.from(this.element.querySelectorAll(selector));\n }\n get controllerSelector() {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n }\n get isDocumentScope() {\n return this.element === document.documentElement;\n }\n get documentScope() {\n return this.isDocumentScope\n ? this\n : new Scope(this.schema, document.documentElement, this.identifier, this.guide.logger);\n }\n}\n\nclass ScopeObserver {\n constructor(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap();\n this.scopeReferenceCounts = new WeakMap();\n }\n start() {\n this.valueListObserver.start();\n }\n stop() {\n this.valueListObserver.stop();\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n parseValueForToken(token) {\n const { element, content: identifier } = token;\n const scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n let scope = scopesByIdentifier.get(identifier);\n if (!scope) {\n scope = this.delegate.createScopeForElementAndIdentifier(element, identifier);\n scopesByIdentifier.set(identifier, scope);\n }\n return scope;\n }\n elementMatchedValue(element, value) {\n const referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n }\n elementUnmatchedValue(element, value) {\n const referenceCount = this.scopeReferenceCounts.get(value);\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n }\n fetchScopesByIdentifierForElement(element) {\n let scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map();\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n return scopesByIdentifier;\n }\n}\n\nclass Router {\n constructor(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap();\n this.modulesByIdentifier = new Map();\n }\n get element() {\n return this.application.element;\n }\n get schema() {\n return this.application.schema;\n }\n get logger() {\n return this.application.logger;\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n get modules() {\n return Array.from(this.modulesByIdentifier.values());\n }\n get contexts() {\n return this.modules.reduce((contexts, module) => contexts.concat(module.contexts), []);\n }\n start() {\n this.scopeObserver.start();\n }\n stop() {\n this.scopeObserver.stop();\n }\n loadDefinition(definition) {\n this.unloadIdentifier(definition.identifier);\n const module = new Module(this.application, definition);\n this.connectModule(module);\n const afterLoad = definition.controllerConstructor.afterLoad;\n if (afterLoad) {\n afterLoad(definition.identifier, this.application);\n }\n }\n unloadIdentifier(identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n this.disconnectModule(module);\n }\n }\n getContextForElementAndIdentifier(element, identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n return module.contexts.find((context) => context.element == element);\n }\n }\n handleError(error, message, detail) {\n this.application.handleError(error, message, detail);\n }\n createScopeForElementAndIdentifier(element, identifier) {\n return new Scope(this.schema, element, identifier, this.logger);\n }\n scopeConnected(scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.connectContextForScope(scope);\n }\n }\n scopeDisconnected(scope) {\n this.scopesByIdentifier.delete(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.disconnectContextForScope(scope);\n }\n }\n connectModule(module) {\n this.modulesByIdentifier.set(module.identifier, module);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.connectContextForScope(scope));\n }\n disconnectModule(module) {\n this.modulesByIdentifier.delete(module.identifier);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.disconnectContextForScope(scope));\n }\n}\n\nconst defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\",\n targetAttributeForScope: (identifier) => `data-${identifier}-target`,\n outletAttributeForScope: (identifier, outlet) => `data-${identifier}-${outlet}-outlet`,\n keyMappings: Object.assign(Object.assign({ enter: \"Enter\", tab: \"Tab\", esc: \"Escape\", space: \" \", up: \"ArrowUp\", down: \"ArrowDown\", left: \"ArrowLeft\", right: \"ArrowRight\", home: \"Home\", end: \"End\" }, objectFromEntries(\"abcdefghijklmnopqrstuvwxyz\".split(\"\").map((c) => [c, c]))), objectFromEntries(\"0123456789\".split(\"\").map((n) => [n, n]))),\n};\nfunction objectFromEntries(array) {\n return array.reduce((memo, [k, v]) => (Object.assign(Object.assign({}, memo), { [k]: v })), {});\n}\n\nclass Application {\n constructor(element = document.documentElement, schema = defaultSchema) {\n this.logger = console;\n this.debug = false;\n this.logDebugActivity = (identifier, functionName, detail = {}) => {\n if (this.debug) {\n this.logFormattedMessage(identifier, functionName, detail);\n }\n };\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n this.actionDescriptorFilters = Object.assign({}, defaultActionDescriptorFilters);\n }\n static start(element, schema) {\n const application = new this(element, schema);\n application.start();\n return application;\n }\n async start() {\n await domReady();\n this.logDebugActivity(\"application\", \"starting\");\n this.dispatcher.start();\n this.router.start();\n this.logDebugActivity(\"application\", \"start\");\n }\n stop() {\n this.logDebugActivity(\"application\", \"stopping\");\n this.dispatcher.stop();\n this.router.stop();\n this.logDebugActivity(\"application\", \"stop\");\n }\n register(identifier, controllerConstructor) {\n this.load({ identifier, controllerConstructor });\n }\n registerActionOption(name, filter) {\n this.actionDescriptorFilters[name] = filter;\n }\n load(head, ...rest) {\n const definitions = Array.isArray(head) ? head : [head, ...rest];\n definitions.forEach((definition) => {\n if (definition.controllerConstructor.shouldLoad) {\n this.router.loadDefinition(definition);\n }\n });\n }\n unload(head, ...rest) {\n const identifiers = Array.isArray(head) ? head : [head, ...rest];\n identifiers.forEach((identifier) => this.router.unloadIdentifier(identifier));\n }\n get controllers() {\n return this.router.contexts.map((context) => context.controller);\n }\n getControllerForElementAndIdentifier(element, identifier) {\n const context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n }\n handleError(error, message, detail) {\n var _a;\n this.logger.error(`%s\\n\\n%o\\n\\n%o`, message, error, detail);\n (_a = window.onerror) === null || _a === void 0 ? void 0 : _a.call(window, message, \"\", 0, 0, error);\n }\n logFormattedMessage(identifier, functionName, detail = {}) {\n detail = Object.assign({ application: this }, detail);\n this.logger.groupCollapsed(`${identifier} #${functionName}`);\n this.logger.log(\"details:\", Object.assign({}, detail));\n this.logger.groupEnd();\n }\n}\nfunction domReady() {\n return new Promise((resolve) => {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", () => resolve());\n }\n else {\n resolve();\n }\n });\n}\n\nfunction ClassPropertiesBlessing(constructor) {\n const classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce((properties, classDefinition) => {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\nfunction propertiesForClassDefinition(key) {\n return {\n [`${key}Class`]: {\n get() {\n const { classes } = this;\n if (classes.has(key)) {\n return classes.get(key);\n }\n else {\n const attribute = classes.getAttributeName(key);\n throw new Error(`Missing attribute \"${attribute}\"`);\n }\n },\n },\n [`${key}Classes`]: {\n get() {\n return this.classes.getAll(key);\n },\n },\n [`has${capitalize(key)}Class`]: {\n get() {\n return this.classes.has(key);\n },\n },\n };\n}\n\nfunction OutletPropertiesBlessing(constructor) {\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n return outlets.reduce((properties, outletDefinition) => {\n return Object.assign(properties, propertiesForOutletDefinition(outletDefinition));\n }, {});\n}\nfunction propertiesForOutletDefinition(name) {\n const camelizedName = namespaceCamelize(name);\n return {\n [`${camelizedName}Outlet`]: {\n get() {\n const outlet = this.outlets.find(name);\n if (outlet) {\n const outletController = this.application.getControllerForElementAndIdentifier(outlet, name);\n if (outletController) {\n return outletController;\n }\n else {\n throw new Error(`Missing \"data-controller=${name}\" attribute on outlet element for \"${this.identifier}\" controller`);\n }\n }\n throw new Error(`Missing outlet element \"${name}\" for \"${this.identifier}\" controller`);\n },\n },\n [`${camelizedName}Outlets`]: {\n get() {\n const outlets = this.outlets.findAll(name);\n if (outlets.length > 0) {\n return outlets\n .map((outlet) => {\n const controller = this.application.getControllerForElementAndIdentifier(outlet, name);\n if (controller) {\n return controller;\n }\n else {\n console.warn(`The provided outlet element is missing the outlet controller \"${name}\" for \"${this.identifier}\"`, outlet);\n }\n })\n .filter((controller) => controller);\n }\n return [];\n },\n },\n [`${camelizedName}OutletElement`]: {\n get() {\n const outlet = this.outlets.find(name);\n if (outlet) {\n return outlet;\n }\n else {\n throw new Error(`Missing outlet element \"${name}\" for \"${this.identifier}\" controller`);\n }\n },\n },\n [`${camelizedName}OutletElements`]: {\n get() {\n return this.outlets.findAll(name);\n },\n },\n [`has${capitalize(camelizedName)}Outlet`]: {\n get() {\n return this.outlets.has(name);\n },\n },\n };\n}\n\nfunction TargetPropertiesBlessing(constructor) {\n const targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce((properties, targetDefinition) => {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\nfunction propertiesForTargetDefinition(name) {\n return {\n [`${name}Target`]: {\n get() {\n const target = this.targets.find(name);\n if (target) {\n return target;\n }\n else {\n throw new Error(`Missing target element \"${name}\" for \"${this.identifier}\" controller`);\n }\n },\n },\n [`${name}Targets`]: {\n get() {\n return this.targets.findAll(name);\n },\n },\n [`has${capitalize(name)}Target`]: {\n get() {\n return this.targets.has(name);\n },\n },\n };\n}\n\nfunction ValuePropertiesBlessing(constructor) {\n const valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n const propertyDescriptorMap = {\n valueDescriptorMap: {\n get() {\n return valueDefinitionPairs.reduce((result, valueDefinitionPair) => {\n const valueDescriptor = parseValueDefinitionPair(valueDefinitionPair, this.identifier);\n const attributeName = this.data.getAttributeNameForKey(valueDescriptor.key);\n return Object.assign(result, { [attributeName]: valueDescriptor });\n }, {});\n },\n },\n };\n return valueDefinitionPairs.reduce((properties, valueDefinitionPair) => {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\nfunction propertiesForValueDefinitionPair(valueDefinitionPair, controller) {\n const definition = parseValueDefinitionPair(valueDefinitionPair, controller);\n const { key, name, reader: read, writer: write } = definition;\n return {\n [name]: {\n get() {\n const value = this.data.get(key);\n if (value !== null) {\n return read(value);\n }\n else {\n return definition.defaultValue;\n }\n },\n set(value) {\n if (value === undefined) {\n this.data.delete(key);\n }\n else {\n this.data.set(key, write(value));\n }\n },\n },\n [`has${capitalize(name)}`]: {\n get() {\n return this.data.has(key) || definition.hasCustomDefaultValue;\n },\n },\n };\n}\nfunction parseValueDefinitionPair([token, typeDefinition], controller) {\n return valueDescriptorForTokenAndTypeDefinition({\n controller,\n token,\n typeDefinition,\n });\n}\nfunction parseValueTypeConstant(constant) {\n switch (constant) {\n case Array:\n return \"array\";\n case Boolean:\n return \"boolean\";\n case Number:\n return \"number\";\n case Object:\n return \"object\";\n case String:\n return \"string\";\n }\n}\nfunction parseValueTypeDefault(defaultValue) {\n switch (typeof defaultValue) {\n case \"boolean\":\n return \"boolean\";\n case \"number\":\n return \"number\";\n case \"string\":\n return \"string\";\n }\n if (Array.isArray(defaultValue))\n return \"array\";\n if (Object.prototype.toString.call(defaultValue) === \"[object Object]\")\n return \"object\";\n}\nfunction parseValueTypeObject(payload) {\n const typeFromObject = parseValueTypeConstant(payload.typeObject.type);\n if (!typeFromObject)\n return;\n const defaultValueType = parseValueTypeDefault(payload.typeObject.default);\n if (typeFromObject !== defaultValueType) {\n const propertyPath = payload.controller ? `${payload.controller}.${payload.token}` : payload.token;\n throw new Error(`The specified default value for the Stimulus Value \"${propertyPath}\" must match the defined type \"${typeFromObject}\". The provided default value of \"${payload.typeObject.default}\" is of type \"${defaultValueType}\".`);\n }\n return typeFromObject;\n}\nfunction parseValueTypeDefinition(payload) {\n const typeFromObject = parseValueTypeObject({\n controller: payload.controller,\n token: payload.token,\n typeObject: payload.typeDefinition,\n });\n const typeFromDefaultValue = parseValueTypeDefault(payload.typeDefinition);\n const typeFromConstant = parseValueTypeConstant(payload.typeDefinition);\n const type = typeFromObject || typeFromDefaultValue || typeFromConstant;\n if (type)\n return type;\n const propertyPath = payload.controller ? `${payload.controller}.${payload.typeDefinition}` : payload.token;\n throw new Error(`Unknown value type \"${propertyPath}\" for \"${payload.token}\" value`);\n}\nfunction defaultValueForDefinition(typeDefinition) {\n const constant = parseValueTypeConstant(typeDefinition);\n if (constant)\n return defaultValuesByType[constant];\n const defaultValue = typeDefinition.default;\n if (defaultValue !== undefined)\n return defaultValue;\n return typeDefinition;\n}\nfunction valueDescriptorForTokenAndTypeDefinition(payload) {\n const key = `${dasherize(payload.token)}-value`;\n const type = parseValueTypeDefinition(payload);\n return {\n type,\n key,\n name: camelize(key),\n get defaultValue() {\n return defaultValueForDefinition(payload.typeDefinition);\n },\n get hasCustomDefaultValue() {\n return parseValueTypeDefault(payload.typeDefinition) !== undefined;\n },\n reader: readers[type],\n writer: writers[type] || writers.default,\n };\n}\nconst defaultValuesByType = {\n get array() {\n return [];\n },\n boolean: false,\n number: 0,\n get object() {\n return {};\n },\n string: \"\",\n};\nconst readers = {\n array(value) {\n const array = JSON.parse(value);\n if (!Array.isArray(array)) {\n throw new TypeError(`expected value of type \"array\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(array)}\"`);\n }\n return array;\n },\n boolean(value) {\n return !(value == \"0\" || String(value).toLowerCase() == \"false\");\n },\n number(value) {\n return Number(value);\n },\n object(value) {\n const object = JSON.parse(value);\n if (object === null || typeof object != \"object\" || Array.isArray(object)) {\n throw new TypeError(`expected value of type \"object\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(object)}\"`);\n }\n return object;\n },\n string(value) {\n return value;\n },\n};\nconst writers = {\n default: writeString,\n array: writeJSON,\n object: writeJSON,\n};\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\nfunction writeString(value) {\n return `${value}`;\n}\n\nclass Controller {\n constructor(context) {\n this.context = context;\n }\n static get shouldLoad() {\n return true;\n }\n static afterLoad(_identifier, _application) {\n return;\n }\n get application() {\n return this.context.application;\n }\n get scope() {\n return this.context.scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get targets() {\n return this.scope.targets;\n }\n get outlets() {\n return this.scope.outlets;\n }\n get classes() {\n return this.scope.classes;\n }\n get data() {\n return this.scope.data;\n }\n initialize() {\n }\n connect() {\n }\n disconnect() {\n }\n dispatch(eventName, { target = this.element, detail = {}, prefix = this.identifier, bubbles = true, cancelable = true } = {}) {\n const type = prefix ? `${prefix}:${eventName}` : eventName;\n const event = new CustomEvent(type, { detail, bubbles, cancelable });\n target.dispatchEvent(event);\n return event;\n }\n}\nController.blessings = [\n ClassPropertiesBlessing,\n TargetPropertiesBlessing,\n ValuePropertiesBlessing,\n OutletPropertiesBlessing,\n];\nController.targets = [];\nController.outlets = [];\nController.values = {};\n\nexport { Application, AttributeObserver, Context, Controller, ElementObserver, IndexedMultimap, Multimap, SelectorObserver, StringMapObserver, TokenListObserver, ValueListObserver, add, defaultSchema, del, fetch, prune };\n","(function(global, factory) {\n typeof exports === \"object\" && typeof module !== \"undefined\" ? factory(exports) : typeof define === \"function\" && define.amd ? define([ \"exports\" ], factory) : factory(global.ActiveStorage = {});\n})(this, function(exports) {\n \"use strict\";\n function createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n }\n var sparkMd5 = createCommonjsModule(function(module, exports) {\n (function(factory) {\n {\n module.exports = factory();\n }\n })(function(undefined) {\n var hex_chr = [ \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\" ];\n function md5cycle(x, k) {\n var a = x[0], b = x[1], c = x[2], d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n function md5blk(s) {\n var md5blks = [], i;\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n function md5blk_array(a) {\n var md5blks = [], i;\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n function md51(s) {\n var n = s.length, state = [ 1732584193, -271733879, -1732584194, 271733878 ], i, length, tail, tmp, lo, hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function md51_array(a) {\n var n = a.length, state = [ 1732584193, -271733879, -1732584194, 271733878 ], i, length, tail, tmp, lo, hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function rhex(n) {\n var s = \"\", j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];\n }\n return s;\n }\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join(\"\");\n }\n if (hex(md51(\"hello\")) !== \"5d41402abc4b2a76b9719d911017c592\") ;\n if (typeof ArrayBuffer !== \"undefined\" && !ArrayBuffer.prototype.slice) {\n (function() {\n function clamp(val, length) {\n val = val | 0 || 0;\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n return Math.min(val, length);\n }\n ArrayBuffer.prototype.slice = function(from, to) {\n var length = this.byteLength, begin = clamp(from, length), end = length, num, target, targetArray, sourceArray;\n if (to !== undefined) {\n end = clamp(to, length);\n }\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n return str;\n }\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length, buff = new ArrayBuffer(length), arr = new Uint8Array(buff), i;\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n return returnUInt8Array ? arr : buff;\n }\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n function hexToBinaryString(hex) {\n var bytes = [], length = hex.length, x;\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n return String.fromCharCode.apply(String, bytes);\n }\n function SparkMD5() {\n this.reset();\n }\n SparkMD5.prototype.append = function(str) {\n this.appendBinary(toUtf8(str));\n return this;\n };\n SparkMD5.prototype.appendBinary = function(contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length, i;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n SparkMD5.prototype.end = function(raw) {\n var buff = this._buff, length = buff.length, i, tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.prototype.reset = function() {\n this._buff = \"\";\n this._length = 0;\n this._hash = [ 1732584193, -271733879, -1732584194, 271733878 ];\n return this;\n };\n SparkMD5.prototype.getState = function() {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash\n };\n };\n SparkMD5.prototype.setState = function(state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n SparkMD5.prototype.destroy = function() {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n SparkMD5.prototype._finish = function(tail, length) {\n var i = length, tmp, lo, hi;\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n SparkMD5.hash = function(str, raw) {\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n SparkMD5.hashBinary = function(content, raw) {\n var hash = md51(content), ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n SparkMD5.ArrayBuffer = function() {\n this.reset();\n };\n SparkMD5.ArrayBuffer.prototype.append = function(arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true), length = buff.length, i;\n this._length += arr.byteLength;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.end = function(raw) {\n var buff = this._buff, length = buff.length, tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], i, ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.ArrayBuffer.prototype.reset = function() {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [ 1732584193, -271733879, -1732584194, 271733878 ];\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.getState = function() {\n var state = SparkMD5.prototype.getState.call(this);\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n SparkMD5.ArrayBuffer.prototype.setState = function(state) {\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n SparkMD5.ArrayBuffer.hash = function(arr, raw) {\n var hash = md51_array(new Uint8Array(arr)), ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n return SparkMD5;\n });\n });\n var classCallCheck = function(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n var createClass = function() {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;\n var FileChecksum = function() {\n createClass(FileChecksum, null, [ {\n key: \"create\",\n value: function create(file, callback) {\n var instance = new FileChecksum(file);\n instance.create(callback);\n }\n } ]);\n function FileChecksum(file) {\n classCallCheck(this, FileChecksum);\n this.file = file;\n this.chunkSize = 2097152;\n this.chunkCount = Math.ceil(this.file.size / this.chunkSize);\n this.chunkIndex = 0;\n }\n createClass(FileChecksum, [ {\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n this.callback = callback;\n this.md5Buffer = new sparkMd5.ArrayBuffer();\n this.fileReader = new FileReader();\n this.fileReader.addEventListener(\"load\", function(event) {\n return _this.fileReaderDidLoad(event);\n });\n this.fileReader.addEventListener(\"error\", function(event) {\n return _this.fileReaderDidError(event);\n });\n this.readNextChunk();\n }\n }, {\n key: \"fileReaderDidLoad\",\n value: function fileReaderDidLoad(event) {\n this.md5Buffer.append(event.target.result);\n if (!this.readNextChunk()) {\n var binaryDigest = this.md5Buffer.end(true);\n var base64digest = btoa(binaryDigest);\n this.callback(null, base64digest);\n }\n }\n }, {\n key: \"fileReaderDidError\",\n value: function fileReaderDidError(event) {\n this.callback(\"Error reading \" + this.file.name);\n }\n }, {\n key: \"readNextChunk\",\n value: function readNextChunk() {\n if (this.chunkIndex < this.chunkCount || this.chunkIndex == 0 && this.chunkCount == 0) {\n var start = this.chunkIndex * this.chunkSize;\n var end = Math.min(start + this.chunkSize, this.file.size);\n var bytes = fileSlice.call(this.file, start, end);\n this.fileReader.readAsArrayBuffer(bytes);\n this.chunkIndex++;\n return true;\n } else {\n return false;\n }\n }\n } ]);\n return FileChecksum;\n }();\n function getMetaValue(name) {\n var element = findElement(document.head, 'meta[name=\"' + name + '\"]');\n if (element) {\n return element.getAttribute(\"content\");\n }\n }\n function findElements(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n var elements = root.querySelectorAll(selector);\n return toArray$1(elements);\n }\n function findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n return root.querySelector(selector);\n }\n function dispatchEvent(element, type) {\n var eventInit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var disabled = element.disabled;\n var bubbles = eventInit.bubbles, cancelable = eventInit.cancelable, detail = eventInit.detail;\n var event = document.createEvent(\"Event\");\n event.initEvent(type, bubbles || true, cancelable || true);\n event.detail = detail || {};\n try {\n element.disabled = false;\n element.dispatchEvent(event);\n } finally {\n element.disabled = disabled;\n }\n return event;\n }\n function toArray$1(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n }\n var BlobRecord = function() {\n function BlobRecord(file, checksum, url) {\n var _this = this;\n classCallCheck(this, BlobRecord);\n this.file = file;\n this.attributes = {\n filename: file.name,\n content_type: file.type || \"application/octet-stream\",\n byte_size: file.size,\n checksum: checksum\n };\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"POST\", url, true);\n this.xhr.responseType = \"json\";\n this.xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n this.xhr.setRequestHeader(\"Accept\", \"application/json\");\n this.xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n var csrfToken = getMetaValue(\"csrf-token\");\n if (csrfToken != undefined) {\n this.xhr.setRequestHeader(\"X-CSRF-Token\", csrfToken);\n }\n this.xhr.addEventListener(\"load\", function(event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function(event) {\n return _this.requestDidError(event);\n });\n }\n createClass(BlobRecord, [ {\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(JSON.stringify({\n blob: this.attributes\n }));\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n if (this.status >= 200 && this.status < 300) {\n var response = this.response;\n var direct_upload = response.direct_upload;\n delete response.direct_upload;\n this.attributes = response;\n this.directUploadData = direct_upload;\n this.callback(null, this.toJSON());\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error creating Blob for \"' + this.file.name + '\". Status: ' + this.status);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var result = {};\n for (var key in this.attributes) {\n result[key] = this.attributes[key];\n }\n return result;\n }\n }, {\n key: \"status\",\n get: function get$$1() {\n return this.xhr.status;\n }\n }, {\n key: \"response\",\n get: function get$$1() {\n var _xhr = this.xhr, responseType = _xhr.responseType, response = _xhr.response;\n if (responseType == \"json\") {\n return response;\n } else {\n return JSON.parse(response);\n }\n }\n } ]);\n return BlobRecord;\n }();\n var BlobUpload = function() {\n function BlobUpload(blob) {\n var _this = this;\n classCallCheck(this, BlobUpload);\n this.blob = blob;\n this.file = blob.file;\n var _blob$directUploadDat = blob.directUploadData, url = _blob$directUploadDat.url, headers = _blob$directUploadDat.headers;\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"PUT\", url, true);\n this.xhr.responseType = \"text\";\n for (var key in headers) {\n this.xhr.setRequestHeader(key, headers[key]);\n }\n this.xhr.addEventListener(\"load\", function(event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function(event) {\n return _this.requestDidError(event);\n });\n }\n createClass(BlobUpload, [ {\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(this.file.slice());\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n var _xhr = this.xhr, status = _xhr.status, response = _xhr.response;\n if (status >= 200 && status < 300) {\n this.callback(null, response);\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error storing \"' + this.file.name + '\". Status: ' + this.xhr.status);\n }\n } ]);\n return BlobUpload;\n }();\n var id = 0;\n var DirectUpload = function() {\n function DirectUpload(file, url, delegate) {\n classCallCheck(this, DirectUpload);\n this.id = ++id;\n this.file = file;\n this.url = url;\n this.delegate = delegate;\n }\n createClass(DirectUpload, [ {\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n FileChecksum.create(this.file, function(error, checksum) {\n if (error) {\n callback(error);\n return;\n }\n var blob = new BlobRecord(_this.file, checksum, _this.url);\n notify(_this.delegate, \"directUploadWillCreateBlobWithXHR\", blob.xhr);\n blob.create(function(error) {\n if (error) {\n callback(error);\n } else {\n var upload = new BlobUpload(blob);\n notify(_this.delegate, \"directUploadWillStoreFileWithXHR\", upload.xhr);\n upload.create(function(error) {\n if (error) {\n callback(error);\n } else {\n callback(null, blob.toJSON());\n }\n });\n }\n });\n });\n }\n } ]);\n return DirectUpload;\n }();\n function notify(object, methodName) {\n if (object && typeof object[methodName] == \"function\") {\n for (var _len = arguments.length, messages = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n messages[_key - 2] = arguments[_key];\n }\n return object[methodName].apply(object, messages);\n }\n }\n var DirectUploadController = function() {\n function DirectUploadController(input, file) {\n classCallCheck(this, DirectUploadController);\n this.input = input;\n this.file = file;\n this.directUpload = new DirectUpload(this.file, this.url, this);\n this.dispatch(\"initialize\");\n }\n createClass(DirectUploadController, [ {\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n var hiddenInput = document.createElement(\"input\");\n hiddenInput.type = \"hidden\";\n hiddenInput.name = this.input.name;\n this.input.insertAdjacentElement(\"beforebegin\", hiddenInput);\n this.dispatch(\"start\");\n this.directUpload.create(function(error, attributes) {\n if (error) {\n hiddenInput.parentNode.removeChild(hiddenInput);\n _this.dispatchError(error);\n } else {\n hiddenInput.value = attributes.signed_id;\n }\n _this.dispatch(\"end\");\n callback(error);\n });\n }\n }, {\n key: \"uploadRequestDidProgress\",\n value: function uploadRequestDidProgress(event) {\n var progress = event.loaded / event.total * 100;\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n detail.file = this.file;\n detail.id = this.directUpload.id;\n return dispatchEvent(this.input, \"direct-upload:\" + name, {\n detail: detail\n });\n }\n }, {\n key: \"dispatchError\",\n value: function dispatchError(error) {\n var event = this.dispatch(\"error\", {\n error: error\n });\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n }, {\n key: \"directUploadWillCreateBlobWithXHR\",\n value: function directUploadWillCreateBlobWithXHR(xhr) {\n this.dispatch(\"before-blob-request\", {\n xhr: xhr\n });\n }\n }, {\n key: \"directUploadWillStoreFileWithXHR\",\n value: function directUploadWillStoreFileWithXHR(xhr) {\n var _this2 = this;\n this.dispatch(\"before-storage-request\", {\n xhr: xhr\n });\n xhr.upload.addEventListener(\"progress\", function(event) {\n return _this2.uploadRequestDidProgress(event);\n });\n }\n }, {\n key: \"url\",\n get: function get$$1() {\n return this.input.getAttribute(\"data-direct-upload-url\");\n }\n } ]);\n return DirectUploadController;\n }();\n var inputSelector = \"input[type=file][data-direct-upload-url]:not([disabled])\";\n var DirectUploadsController = function() {\n function DirectUploadsController(form) {\n classCallCheck(this, DirectUploadsController);\n this.form = form;\n this.inputs = findElements(form, inputSelector).filter(function(input) {\n return input.files.length;\n });\n }\n createClass(DirectUploadsController, [ {\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n var controllers = this.createDirectUploadControllers();\n var startNextController = function startNextController() {\n var controller = controllers.shift();\n if (controller) {\n controller.start(function(error) {\n if (error) {\n callback(error);\n _this.dispatch(\"end\");\n } else {\n startNextController();\n }\n });\n } else {\n callback();\n _this.dispatch(\"end\");\n }\n };\n this.dispatch(\"start\");\n startNextController();\n }\n }, {\n key: \"createDirectUploadControllers\",\n value: function createDirectUploadControllers() {\n var controllers = [];\n this.inputs.forEach(function(input) {\n toArray$1(input.files).forEach(function(file) {\n var controller = new DirectUploadController(input, file);\n controllers.push(controller);\n });\n });\n return controllers;\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return dispatchEvent(this.form, \"direct-uploads:\" + name, {\n detail: detail\n });\n }\n } ]);\n return DirectUploadsController;\n }();\n var processingAttribute = \"data-direct-uploads-processing\";\n var submitButtonsByForm = new WeakMap();\n var started = false;\n function start() {\n if (!started) {\n started = true;\n document.addEventListener(\"click\", didClick, true);\n document.addEventListener(\"submit\", didSubmitForm);\n document.addEventListener(\"ajax:before\", didSubmitRemoteElement);\n }\n }\n function didClick(event) {\n var target = event.target;\n if ((target.tagName == \"INPUT\" || target.tagName == \"BUTTON\") && target.type == \"submit\" && target.form) {\n submitButtonsByForm.set(target.form, target);\n }\n }\n function didSubmitForm(event) {\n handleFormSubmissionEvent(event);\n }\n function didSubmitRemoteElement(event) {\n if (event.target.tagName == \"FORM\") {\n handleFormSubmissionEvent(event);\n }\n }\n function handleFormSubmissionEvent(event) {\n var form = event.target;\n if (form.hasAttribute(processingAttribute)) {\n event.preventDefault();\n return;\n }\n var controller = new DirectUploadsController(form);\n var inputs = controller.inputs;\n if (inputs.length) {\n event.preventDefault();\n form.setAttribute(processingAttribute, \"\");\n inputs.forEach(disable);\n controller.start(function(error) {\n form.removeAttribute(processingAttribute);\n if (error) {\n inputs.forEach(enable);\n } else {\n submitForm(form);\n }\n });\n }\n }\n function submitForm(form) {\n var button = submitButtonsByForm.get(form) || findElement(form, \"input[type=submit], button[type=submit]\");\n if (button) {\n var _button = button, disabled = _button.disabled;\n button.disabled = false;\n button.focus();\n button.click();\n button.disabled = disabled;\n } else {\n button = document.createElement(\"input\");\n button.type = \"submit\";\n button.style.display = \"none\";\n form.appendChild(button);\n button.click();\n form.removeChild(button);\n }\n submitButtonsByForm.delete(form);\n }\n function disable(input) {\n input.disabled = true;\n }\n function enable(input) {\n input.disabled = false;\n }\n function autostart() {\n if (window.ActiveStorage) {\n start();\n }\n }\n setTimeout(autostart, 1);\n exports.start = start;\n exports.DirectUpload = DirectUpload;\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n});\n","/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/main/actionview/app/assets/javascripts\nReleased under the MIT license\n */;\n\n(function() {\n var context = this;\n\n (function() {\n (function() {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form:not([data-turbo=true])',\n formInputClickSelector: 'form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n\n }).call(this);\n }).call(context);\n\n var Rails = context.Rails;\n\n (function() {\n (function() {\n var nonce;\n\n nonce = null;\n\n Rails.loadCSPNonce = function() {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function() {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n\n }).call(this);\n (function() {\n var expando, m;\n\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function(element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function(element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function(element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n return element[expando][key] = value;\n };\n\n Rails.$ = function(selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n\n }).call(this);\n (function() {\n var $, csrfParam, csrfToken;\n\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function() {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function() {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function(xhr) {\n var token;\n token = csrfToken();\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function() {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n if ((token != null) && (param != null)) {\n return $('form input[name=\"' + param + '\"]').forEach(function(input) {\n return input.value = token;\n });\n }\n };\n\n }).call(this);\n (function() {\n var CustomEvent, fire, matches, preventDefault;\n\n matches = Rails.matches;\n\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n CustomEvent.prototype.preventDefault = function() {\n var result;\n result = preventDefault.call(this);\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function() {\n return true;\n }\n });\n }\n return result;\n };\n }\n\n fire = Rails.fire = function(obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function(e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function(element, selector, eventType, handler) {\n return element.addEventListener(eventType, function(e) {\n var target;\n target = e.target;\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n\n }).call(this);\n (function() {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function(options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function() {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n if ((options.beforeSend != null) && !options.beforeSend(xhr, options)) {\n return false;\n }\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n options.accept = AcceptHeaders[options.dataType];\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n return options;\n };\n\n createXHR = function(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n CSRFProtection(xhr);\n }\n xhr.withCredentials = !!options.withCredentials;\n xhr.onreadystatechange = function() {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n return xhr;\n };\n\n processResponse = function(response, type) {\n var parser, script;\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n return response;\n };\n\n Rails.href = function(element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function(url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n try {\n urlAnchor.href = url;\n return !(((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host) || (originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host));\n } catch (error) {\n e = error;\n return true;\n }\n };\n\n }).call(this);\n (function() {\n var matches, toArray;\n\n matches = Rails.matches;\n\n toArray = function(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function(element, additionalParam) {\n var inputs, params;\n inputs = [element];\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n params = [];\n inputs.forEach(function(input) {\n if (!input.name || input.disabled) {\n return;\n }\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function(option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n if (additionalParam) {\n params.push(additionalParam);\n }\n return params.map(function(param) {\n if (param.name != null) {\n return (encodeURIComponent(param.name)) + \"=\" + (encodeURIComponent(param.value));\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function(form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function(el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n\n }).call(this);\n (function() {\n var allowAction, fire, stopEverything;\n\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function(e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function(message, element) {\n return confirm(message);\n };\n\n allowAction = function(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n if (!message) {\n return true;\n }\n answer = false;\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n callback = fire(element, 'confirm:complete', [answer]);\n }\n return answer && callback;\n };\n\n }).call(this);\n (function() {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function(e) {\n var element;\n element = this;\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function(e) {\n var element;\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n element = e.target;\n } else {\n element = e;\n }\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function(e) {\n var element;\n element = e instanceof Event ? e.target : e;\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function(element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function(element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n setData(element, 'ujs:enable-with', null);\n }\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n\n }).call(this);\n (function() {\n var stopEverything;\n\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function(e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n if (!method) {\n return;\n }\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n if ((csrfParam != null) && (csrfToken != null) && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n\n }).call(this);\n (function() {\n var ajax, fire, getData, isCrossDomain, isRemote, matches, serializeElement, setData, stopEverything,\n slice = [].slice;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function(element) {\n var value;\n value = element.getAttribute('data-remote');\n return (value != null) && value !== 'false';\n };\n\n Rails.handleRemote = function(e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n if (!isRemote(element)) {\n return true;\n }\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: (withCredentials != null) && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function(e) {\n var button, form;\n button = this;\n form = button.form;\n if (!form) {\n return;\n }\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function(e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = (e.button != null) && e.button !== 0;\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n\n }).call(this);\n (function() {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if ((typeof jQuery !== \"undefined\" && jQuery !== null) && (jQuery.ajax != null)) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function(options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function() {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n window.addEventListener('pageshow', function() {\n $(Rails.formEnableSelector).forEach(function(el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function(el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function(e) {\n return setTimeout((function() {\n return disableElement(e);\n }), 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n\n }).call(this);\n }).call(this);\n\n if (typeof module === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { IllegalArgumentException, InvertedLuminanceSource, LuminanceSource, } from '@zxing/library';\n/**/\nvar HTMLCanvasElementLuminanceSource = /** @class */ (function (_super) {\n __extends(HTMLCanvasElementLuminanceSource, _super);\n function HTMLCanvasElementLuminanceSource(canvas) {\n var _this = _super.call(this, canvas.width, canvas.height) || this;\n _this.canvas = canvas;\n _this.tempCanvasElement = null;\n _this.buffer = HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData(canvas);\n return _this;\n }\n HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData = function (canvas) {\n var canvasCtx = canvas.getContext('2d');\n if (!canvasCtx) {\n throw new Error('Couldn\\'t get canvas context.');\n }\n var imageData = canvasCtx.getImageData(0, 0, canvas.width, canvas.height);\n return HTMLCanvasElementLuminanceSource.toGrayscaleBuffer(imageData.data, canvas.width, canvas.height);\n };\n HTMLCanvasElementLuminanceSource.toGrayscaleBuffer = function (imageBuffer, width, height) {\n var grayscaleBuffer = new Uint8ClampedArray(width * height);\n for (var i = 0, j = 0, length_1 = imageBuffer.length; i < length_1; i += 4, j++) {\n var gray = void 0;\n var alpha = imageBuffer[i + 3];\n // The color of fully-transparent pixels is irrelevant. They are often, technically, fully-transparent\n // black (0 alpha, and then 0 RGB). They are often used, of course as the \"white\" area in a\n // barcode image. Force any such pixel to be white:\n if (alpha === 0) {\n gray = 0xFF;\n }\n else {\n var pixelR = imageBuffer[i];\n var pixelG = imageBuffer[i + 1];\n var pixelB = imageBuffer[i + 2];\n // .299R + 0.587G + 0.114B (YUV/YIQ for PAL and NTSC),\n // (306*R) >> 10 is approximately equal to R*0.299, and so on.\n // 0x200 >> 10 is 0.5, it implements rounding.\n // tslint:disable-next-line:no-bitwise\n gray = (306 * pixelR + 601 * pixelG + 117 * pixelB + 0x200) >> 10;\n }\n grayscaleBuffer[j] = gray;\n }\n return grayscaleBuffer;\n };\n HTMLCanvasElementLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n var width = this.getWidth();\n var start = y * width;\n if (row === null) {\n row = this.buffer.slice(start, start + width);\n }\n else {\n if (row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n // The underlying raster of image consists of bytes with the luminance values\n // TODO: can avoid set/slice?\n row.set(this.buffer.slice(start, start + width));\n }\n return row;\n };\n HTMLCanvasElementLuminanceSource.prototype.getMatrix = function () {\n return this.buffer;\n };\n HTMLCanvasElementLuminanceSource.prototype.isCropSupported = function () {\n return true;\n };\n HTMLCanvasElementLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n _super.prototype.crop.call(this, left, top, width, height);\n return this;\n };\n /**\n * This is always true, since the image is a gray-scale image.\n *\n * @return true\n */\n HTMLCanvasElementLuminanceSource.prototype.isRotateSupported = function () {\n return true;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotateCounterClockwise = function () {\n this.rotate(-90);\n return this;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotateCounterClockwise45 = function () {\n this.rotate(-45);\n return this;\n };\n HTMLCanvasElementLuminanceSource.prototype.invert = function () {\n return new InvertedLuminanceSource(this);\n };\n HTMLCanvasElementLuminanceSource.prototype.getTempCanvasElement = function () {\n if (null === this.tempCanvasElement) {\n var tempCanvasElement = this.canvas.ownerDocument.createElement('canvas');\n tempCanvasElement.width = this.canvas.width;\n tempCanvasElement.height = this.canvas.height;\n this.tempCanvasElement = tempCanvasElement;\n }\n return this.tempCanvasElement;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotate = function (angle) {\n var tempCanvasElement = this.getTempCanvasElement();\n if (!tempCanvasElement) {\n throw new Error('Could not create a Canvas element.');\n }\n var angleRadians = angle * HTMLCanvasElementLuminanceSource.DEGREE_TO_RADIANS;\n // Calculate and set new dimensions for temp canvas\n var width = this.canvas.width;\n var height = this.canvas.height;\n var newWidth = Math.ceil(Math.abs(Math.cos(angleRadians)) * width + Math.abs(Math.sin(angleRadians)) * height);\n var newHeight = Math.ceil(Math.abs(Math.sin(angleRadians)) * width + Math.abs(Math.cos(angleRadians)) * height);\n tempCanvasElement.width = newWidth;\n tempCanvasElement.height = newHeight;\n var tempContext = tempCanvasElement.getContext('2d');\n if (!tempContext) {\n throw new Error('Could not create a Canvas Context element.');\n }\n // Draw at center of temp canvas to prevent clipping of image data\n tempContext.translate(newWidth / 2, newHeight / 2);\n tempContext.rotate(angleRadians);\n tempContext.drawImage(this.canvas, width / -2, height / -2);\n this.buffer = HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData(tempCanvasElement);\n return this;\n };\n HTMLCanvasElementLuminanceSource.DEGREE_TO_RADIANS = Math.PI / 180;\n return HTMLCanvasElementLuminanceSource;\n}(LuminanceSource));\nexport { HTMLCanvasElementLuminanceSource };\n//# sourceMappingURL=HTMLCanvasElementLuminanceSource.js.map","/**\n * If navigator is present.\n */\nexport function hasNavigator() {\n return typeof navigator !== 'undefined';\n}\n/**\n * If mediaDevices under navigator is supported.\n */\nfunction isMediaDevicesSupported() {\n return hasNavigator() && !!navigator.mediaDevices;\n}\n/**\n * If enumerateDevices under navigator is supported.\n */\nexport function canEnumerateDevices() {\n return !!(isMediaDevicesSupported() && navigator.mediaDevices.enumerateDevices);\n}\n//# sourceMappingURL=navigator-utils.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport { ArgumentException, BinaryBitmap, ChecksumException, DecodeHintType, FormatException, HybridBinarizer, NotFoundException, } from '@zxing/library';\nimport { HTMLCanvasElementLuminanceSource } from '../common/HTMLCanvasElementLuminanceSource';\nimport { canEnumerateDevices, hasNavigator } from '../common/navigator-utils';\nvar defaultOptions = {\n delayBetweenScanAttempts: 500,\n delayBetweenScanSuccess: 500,\n tryPlayVideoTimeout: 5000,\n};\n/**\n * Base class for browser code reader.\n */\nvar BrowserCodeReader = /** @class */ (function () {\n /**\n * Creates an instance of BrowserCodeReader.\n * @param {Reader} reader The reader instance to decode the barcode\n * @param hints Holds the hints the user sets for the Reader.\n */\n function BrowserCodeReader(reader, hints, options) {\n if (hints === void 0) { hints = new Map(); }\n if (options === void 0) { options = {}; }\n this.reader = reader;\n this.hints = hints;\n this.options = __assign(__assign({}, defaultOptions), options);\n }\n Object.defineProperty(BrowserCodeReader.prototype, \"possibleFormats\", {\n /**\n * Allows to change the possible formats the decoder should\n * search for while scanning some image. Useful for changing\n * the possible formats during BrowserCodeReader::scan.\n */\n set: function (formats) {\n this.hints.set(DecodeHintType.POSSIBLE_FORMATS, formats);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Defines what the videoElement src will be.\n *\n * @param videoElement\n * @param stream The stream to be added as a source.\n */\n BrowserCodeReader.addVideoSource = function (videoElement, stream) {\n // Older browsers may not have `srcObject`\n try {\n // @note Throws Exception if interrupted by a new loaded request\n videoElement.srcObject = stream;\n }\n catch (err) {\n console.error(\"got interrupted by new loading request\");\n }\n };\n /**\n * Enables or disables the torch in a media stream.\n *\n * @experimental This doesn't work across all browsers and is still a Draft.\n */\n BrowserCodeReader.mediaStreamSetTorch = function (track, onOff) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, track.applyConstraints({\n advanced: [{\n fillLightMode: onOff ? 'flash' : 'off',\n torch: onOff ? true : false,\n }],\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Checks if the stream has torch support.\n */\n BrowserCodeReader.mediaStreamIsTorchCompatible = function (params) {\n var e_1, _a;\n var tracks = params.getVideoTracks();\n try {\n for (var tracks_1 = __values(tracks), tracks_1_1 = tracks_1.next(); !tracks_1_1.done; tracks_1_1 = tracks_1.next()) {\n var track = tracks_1_1.value;\n if (BrowserCodeReader.mediaStreamIsTorchCompatibleTrack(track)) {\n return true;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (tracks_1_1 && !tracks_1_1.done && (_a = tracks_1.return)) _a.call(tracks_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return false;\n };\n /**\n *\n * @param track The media stream track that will be checked for compatibility.\n */\n BrowserCodeReader.mediaStreamIsTorchCompatibleTrack = function (track) {\n try {\n var capabilities = track.getCapabilities();\n return 'torch' in capabilities;\n }\n catch (err) {\n // some browsers may not be compatible with ImageCapture\n // so we are ignoring this for now.\n // tslint:disable-next-line:no-console\n console.error(err);\n // tslint:disable-next-line:no-console\n console.warn('Your browser may be not fully compatible with WebRTC and/or ImageCapture specs. Torch will not be available.');\n return false;\n }\n };\n /**\n * Checks if the given video element is currently playing.\n */\n BrowserCodeReader.isVideoPlaying = function (video) {\n return video.currentTime > 0 && !video.paused && video.readyState > 2;\n };\n /**\n * Searches and validates a media element.\n */\n BrowserCodeReader.getMediaElement = function (mediaElementId, type) {\n var mediaElement = document.getElementById(mediaElementId);\n if (!mediaElement) {\n throw new ArgumentException(\"element with id '\".concat(mediaElementId, \"' not found\"));\n }\n if (mediaElement.nodeName.toLowerCase() !== type.toLowerCase()) {\n throw new ArgumentException(\"element with id '\".concat(mediaElementId, \"' must be an \").concat(type, \" element\"));\n }\n return mediaElement;\n };\n /**\n * Receives a source and makes sure to return a Video Element from it or fail.\n */\n BrowserCodeReader.createVideoElement = function (videoThingy) {\n if (videoThingy instanceof HTMLVideoElement) {\n return videoThingy;\n }\n if (typeof videoThingy === 'string') {\n return BrowserCodeReader.getMediaElement(videoThingy, 'video');\n }\n if (!videoThingy && typeof document !== 'undefined') {\n var videoElement = document.createElement('video');\n videoElement.width = 200;\n videoElement.height = 200;\n return videoElement;\n }\n throw new Error('Couldn\\'t get videoElement from videoSource!');\n };\n /**\n * Receives a source and makes sure to return an Image Element from it or fail.\n */\n BrowserCodeReader.prepareImageElement = function (imageSource) {\n if (imageSource instanceof HTMLImageElement) {\n return imageSource;\n }\n if (typeof imageSource === 'string') {\n return BrowserCodeReader.getMediaElement(imageSource, 'img');\n }\n if (typeof imageSource === 'undefined') {\n var imageElement = document.createElement('img');\n imageElement.width = 200;\n imageElement.height = 200;\n return imageElement;\n }\n throw new Error('Couldn\\'t get imageElement from imageSource!');\n };\n /**\n * Sets a HTMLVideoElement for scanning or creates a new one.\n *\n * @param videoElem The HTMLVideoElement to be set.\n */\n BrowserCodeReader.prepareVideoElement = function (videoElem) {\n var videoElement = BrowserCodeReader.createVideoElement(videoElem);\n // @todo the following lines should not always be done this way, should conditionally\n // change according were we created the element or not\n // Needed for iOS 11\n videoElement.setAttribute('autoplay', 'true');\n videoElement.setAttribute('muted', 'true');\n videoElement.setAttribute('playsinline', 'true');\n return videoElement;\n };\n /**\n * Checks if and HTML image is loaded.\n */\n BrowserCodeReader.isImageLoaded = function (img) {\n // During the onload event, IE correctly identifies any images that\n // weren't downloaded as not complete. Others should too. Gecko-based\n // browsers act like NS4 in that they report this incorrectly.\n if (!img.complete) {\n return false;\n }\n // However, they do have two very useful properties: naturalWidth and\n // naturalHeight. These give the true size of the image. If it failed\n // to load, either of these should be zero.\n if (img.naturalWidth === 0) {\n return false;\n }\n // No other way of checking: assume it’s ok.\n return true;\n };\n /**\n * Creates a binaryBitmap based in a canvas.\n *\n * @param canvas HTML canvas element containing the image source draw.\n */\n BrowserCodeReader.createBinaryBitmapFromCanvas = function (canvas) {\n var luminanceSource = new HTMLCanvasElementLuminanceSource(canvas);\n var hybridBinarizer = new HybridBinarizer(luminanceSource);\n return new BinaryBitmap(hybridBinarizer);\n };\n /**\n * Overwriting this allows you to manipulate the snapshot image in anyway you want before decode.\n */\n BrowserCodeReader.drawImageOnCanvas = function (canvasElementContext, srcElement) {\n canvasElementContext.drawImage(srcElement, 0, 0);\n };\n BrowserCodeReader.getMediaElementDimensions = function (mediaElement) {\n if (mediaElement instanceof HTMLVideoElement) {\n return {\n height: mediaElement.videoHeight,\n width: mediaElement.videoWidth,\n };\n }\n if (mediaElement instanceof HTMLImageElement) {\n return {\n height: mediaElement.naturalHeight || mediaElement.height,\n width: mediaElement.naturalWidth || mediaElement.width,\n };\n }\n throw new Error('Couldn\\'t find the Source\\'s dimensions!');\n };\n /**\n * 🖌 Prepares the canvas for capture and scan frames.\n */\n BrowserCodeReader.createCaptureCanvas = function (mediaElement) {\n if (!mediaElement) {\n throw new ArgumentException('Cannot create a capture canvas without a media element.');\n }\n if (typeof document === 'undefined') {\n throw new Error('The page \"Document\" is undefined, make sure you\\'re running in a browser.');\n }\n var canvasElement = document.createElement('canvas');\n var _a = BrowserCodeReader.getMediaElementDimensions(mediaElement), width = _a.width, height = _a.height;\n canvasElement.style.width = width + 'px';\n canvasElement.style.height = height + 'px';\n canvasElement.width = width;\n canvasElement.height = height;\n return canvasElement;\n };\n /**\n * Just tries to play the video and logs any errors.\n * The play call is only made is the video is not already playing.\n */\n BrowserCodeReader.tryPlayVideo = function (videoElement) {\n return __awaiter(this, void 0, void 0, function () {\n var error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (videoElement === null || videoElement === void 0 ? void 0 : videoElement.ended) {\n // tslint:disable-next-line:no-console\n console.error('Trying to play video that has ended.');\n return [2 /*return*/, false];\n }\n if (BrowserCodeReader.isVideoPlaying(videoElement)) {\n // tslint:disable-next-line:no-console\n console.warn('Trying to play video that is already playing.');\n return [2 /*return*/, true];\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, videoElement.play()];\n case 2:\n _a.sent();\n return [2 /*return*/, true];\n case 3:\n error_1 = _a.sent();\n // tslint:disable-next-line:no-console\n console.warn('It was not possible to play the video.', error_1);\n return [2 /*return*/, false];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Creates a canvas and draws the current image frame from the media element on it.\n *\n * @param mediaElement HTML media element to extract an image frame from.\n */\n BrowserCodeReader.createCanvasFromMediaElement = function (mediaElement) {\n var canvas = BrowserCodeReader.createCaptureCanvas(mediaElement);\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n throw new Error('Couldn\\'t find Canvas 2D Context.');\n }\n BrowserCodeReader.drawImageOnCanvas(ctx, mediaElement);\n return canvas;\n };\n /**\n * Creates a binaryBitmap based in some image source.\n *\n * @param mediaElement HTML element containing drawable image source.\n */\n BrowserCodeReader.createBinaryBitmapFromMediaElem = function (mediaElement) {\n var canvas = BrowserCodeReader.createCanvasFromMediaElement(mediaElement);\n return BrowserCodeReader.createBinaryBitmapFromCanvas(canvas);\n };\n BrowserCodeReader.destroyImageElement = function (imageElement) {\n imageElement.src = '';\n imageElement.removeAttribute('src');\n imageElement = undefined;\n };\n /**\n * Lists all the available video input devices.\n */\n BrowserCodeReader.listVideoInputDevices = function () {\n return __awaiter(this, void 0, void 0, function () {\n var devices, videoDevices, devices_1, devices_1_1, device, kind, deviceId, label, groupId, videoDevice;\n var e_2, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!hasNavigator()) {\n throw new Error('Can\\'t enumerate devices, navigator is not present.');\n }\n if (!canEnumerateDevices()) {\n throw new Error('Can\\'t enumerate devices, method not supported.');\n }\n return [4 /*yield*/, navigator.mediaDevices.enumerateDevices()];\n case 1:\n devices = _b.sent();\n videoDevices = [];\n try {\n for (devices_1 = __values(devices), devices_1_1 = devices_1.next(); !devices_1_1.done; devices_1_1 = devices_1.next()) {\n device = devices_1_1.value;\n kind = device.kind === 'video' ? 'videoinput' : device.kind;\n if (kind !== 'videoinput') {\n continue;\n }\n deviceId = device.deviceId || device.id;\n label = device.label || \"Video device \".concat(videoDevices.length + 1);\n groupId = device.groupId;\n videoDevice = { deviceId: deviceId, label: label, kind: kind, groupId: groupId };\n videoDevices.push(videoDevice);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (devices_1_1 && !devices_1_1.done && (_a = devices_1.return)) _a.call(devices_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return [2 /*return*/, videoDevices];\n }\n });\n });\n };\n /**\n * Let's you find a device using it's Id.\n */\n BrowserCodeReader.findDeviceById = function (deviceId) {\n return __awaiter(this, void 0, void 0, function () {\n var devices;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, BrowserCodeReader.listVideoInputDevices()];\n case 1:\n devices = _a.sent();\n if (!devices) {\n return [2 /*return*/];\n }\n return [2 /*return*/, devices.find(function (x) { return x.deviceId === deviceId; })];\n }\n });\n });\n };\n /**\n * Unbinds a HTML video src property.\n */\n BrowserCodeReader.cleanVideoSource = function (videoElement) {\n if (!videoElement) {\n return;\n }\n // forgets about that element 😢\n try {\n videoElement.srcObject = null;\n }\n catch (err) {\n videoElement.src = '';\n }\n if (videoElement) {\n videoElement.removeAttribute('src');\n }\n };\n /**\n * Stops all media streams that are created.\n */\n BrowserCodeReader.releaseAllStreams = function () {\n if (BrowserCodeReader.streamTracker.length !== 0) {\n // tslint:disable-next-line:no-console\n BrowserCodeReader.streamTracker.forEach(function (mediaStream) {\n mediaStream.getTracks().forEach(function (track) { return track.stop(); });\n });\n }\n BrowserCodeReader.streamTracker = [];\n };\n /**\n * Waits for a video to load and then hits play on it.\n * To accomplish that, it binds listeners and callbacks to the video element.\n *\n * @param element The video element.\n * @param callbackFn Callback invoked when the video is played.\n */\n BrowserCodeReader.playVideoOnLoadAsync = function (element, timeout) {\n return __awaiter(this, void 0, void 0, function () {\n var isPlaying;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, BrowserCodeReader.tryPlayVideo(element)];\n case 1:\n isPlaying = _a.sent();\n if (isPlaying) {\n return [2 /*return*/, true];\n }\n return [2 /*return*/, new Promise(function (resolve, reject) {\n // waits 3 seconds or rejects.\n var timeoutId = setTimeout(function () {\n if (BrowserCodeReader.isVideoPlaying(element)) {\n // if video is playing then we had success, just ignore\n return;\n }\n reject(false);\n element.removeEventListener('canplay', videoCanPlayListener);\n }, timeout);\n /**\n * Should contain the current registered listener for video loaded-metadata,\n * used to unregister that listener when needed.\n */\n var videoCanPlayListener = function () {\n BrowserCodeReader.tryPlayVideo(element).then(function (hasPlayed) {\n clearTimeout(timeoutId);\n element.removeEventListener('canplay', videoCanPlayListener);\n resolve(hasPlayed);\n });\n };\n // both should be unregistered after called\n element.addEventListener('canplay', videoCanPlayListener);\n })];\n }\n });\n });\n };\n /**\n * Sets the new stream and request a new decoding-with-delay.\n *\n * @param stream The stream to be shown in the video element.\n * @param decodeFn A callback for the decode method.\n */\n BrowserCodeReader.attachStreamToVideo = function (stream, preview, previewPlayTimeout) {\n if (previewPlayTimeout === void 0) { previewPlayTimeout = 5000; }\n return __awaiter(this, void 0, void 0, function () {\n var videoElement;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n videoElement = BrowserCodeReader.prepareVideoElement(preview);\n BrowserCodeReader.addVideoSource(videoElement, stream);\n return [4 /*yield*/, BrowserCodeReader.playVideoOnLoadAsync(videoElement, previewPlayTimeout)];\n case 1:\n _a.sent();\n return [2 /*return*/, videoElement];\n }\n });\n });\n };\n /**\n * Returns a Promise that resolves when the given image element loads.\n */\n BrowserCodeReader._waitImageLoad = function (element) {\n return new Promise(function (resolve, reject) {\n var timeout = 10000;\n // waits 10 seconds or rejects.\n var timeoutId = setTimeout(function () {\n if (BrowserCodeReader.isImageLoaded(element)) {\n // if video is playing then we had success, just ignore\n return;\n }\n // removes the listener\n element.removeEventListener('load', imageLoadedListener);\n // rejects the load\n reject();\n }, timeout);\n var imageLoadedListener = function () {\n clearTimeout(timeoutId);\n // removes the listener\n element.removeEventListener('load', imageLoadedListener);\n // resolves the load\n resolve();\n };\n element.addEventListener('load', imageLoadedListener);\n });\n };\n /**\n * Checks if the `callbackFn` is defined, otherwise throws.\n */\n BrowserCodeReader.checkCallbackFnOrThrow = function (callbackFn) {\n if (!callbackFn) {\n throw new ArgumentException('`callbackFn` is a required parameter, you cannot capture results without it.');\n }\n };\n /**\n * Standard method to dispose a media stream object.\n */\n BrowserCodeReader.disposeMediaStream = function (stream) {\n stream.getVideoTracks().forEach(function (x) { return x.stop(); });\n stream = undefined;\n };\n /**\n * Gets the BinaryBitmap for ya! (and decodes it)\n */\n BrowserCodeReader.prototype.decode = function (element) {\n // get binary bitmap for decode function\n var canvas = BrowserCodeReader.createCanvasFromMediaElement(element);\n return this.decodeFromCanvas(canvas);\n };\n /**\n * Call the encapsulated readers decode\n */\n BrowserCodeReader.prototype.decodeBitmap = function (binaryBitmap) {\n return this.reader.decode(binaryBitmap, this.hints);\n };\n /**\n * Decodes some barcode from a canvas!\n */\n BrowserCodeReader.prototype.decodeFromCanvas = function (canvas) {\n var binaryBitmap = BrowserCodeReader.createBinaryBitmapFromCanvas(canvas);\n return this.decodeBitmap(binaryBitmap);\n };\n /**\n * Decodes something from an image HTML element.\n */\n BrowserCodeReader.prototype.decodeFromImageElement = function (source) {\n return __awaiter(this, void 0, void 0, function () {\n var element;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!source) {\n throw new ArgumentException('An image element must be provided.');\n }\n element = BrowserCodeReader.prepareImageElement(source);\n return [4 /*yield*/, this._decodeOnLoadImage(element)];\n case 1: \n // onLoad will remove it's callback once done\n // we do not need to dispose or destroy the image\n // since it came from the user\n return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Decodes an image from a URL.\n */\n BrowserCodeReader.prototype.decodeFromImageUrl = function (url) {\n return __awaiter(this, void 0, void 0, function () {\n var element;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n element = BrowserCodeReader.prepareImageElement();\n // loads the image.\n element.src = url;\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 3, 4]);\n return [4 /*yield*/, this.decodeFromImageElement(element)];\n case 2: \n // it waits the task so we can destroy the created image after\n return [2 /*return*/, _a.sent()];\n case 3:\n // we created this element, so we destroy it\n BrowserCodeReader.destroyImageElement(element);\n return [7 /*endfinally*/];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Continuously tries to decode the barcode from a stream obtained from the given constraints\n * while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [previewElem] the video element in page where to show the video while\n * decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in\n * which case no video will be shown.\n */\n BrowserCodeReader.prototype.decodeFromConstraints = function (constraints, previewElem, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var stream, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n BrowserCodeReader.checkCallbackFnOrThrow(callbackFn);\n return [4 /*yield*/, this.getUserMedia(constraints)];\n case 1:\n stream = _a.sent();\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, this.decodeFromStream(stream, previewElem, callbackFn)];\n case 3: return [2 /*return*/, _a.sent()];\n case 4:\n error_2 = _a.sent();\n BrowserCodeReader.disposeMediaStream(stream);\n throw error_2;\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given constraints\n * while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [preview] the video element in page where to show the video\n * while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined,\n * in which case no video will be shown.\n */\n BrowserCodeReader.prototype.decodeFromStream = function (stream, preview, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var timeout, video, finalizeCallback, originalControls, videoTracks, controls, isTorchAvailable, torchTrack_1, switchTorch_1, stop_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n BrowserCodeReader.checkCallbackFnOrThrow(callbackFn);\n timeout = this.options.tryPlayVideoTimeout;\n return [4 /*yield*/, BrowserCodeReader.attachStreamToVideo(stream, preview, timeout)];\n case 1:\n video = _a.sent();\n finalizeCallback = function () {\n // stops video tracks and releases the stream reference\n BrowserCodeReader.disposeMediaStream(stream);\n // this video was just a preview, so in order\n // to release the stream we gotta stop showing\n // it (the stream) in the video element\n BrowserCodeReader.cleanVideoSource(video);\n };\n originalControls = this.scan(video, callbackFn, finalizeCallback);\n videoTracks = stream.getVideoTracks();\n controls = __assign(__assign({}, originalControls), { stop: function () {\n originalControls.stop();\n }, streamVideoConstraintsApply: function (constraints, trackFilter) {\n return __awaiter(this, void 0, void 0, function () {\n var tracks, tracks_2, tracks_2_1, track, e_3_1;\n var e_3, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n tracks = trackFilter ? videoTracks.filter(trackFilter) : videoTracks;\n _b.label = 1;\n case 1:\n _b.trys.push([1, 6, 7, 8]);\n tracks_2 = __values(tracks), tracks_2_1 = tracks_2.next();\n _b.label = 2;\n case 2:\n if (!!tracks_2_1.done) return [3 /*break*/, 5];\n track = tracks_2_1.value;\n return [4 /*yield*/, track.applyConstraints(constraints)];\n case 3:\n _b.sent();\n _b.label = 4;\n case 4:\n tracks_2_1 = tracks_2.next();\n return [3 /*break*/, 2];\n case 5: return [3 /*break*/, 8];\n case 6:\n e_3_1 = _b.sent();\n e_3 = { error: e_3_1 };\n return [3 /*break*/, 8];\n case 7:\n try {\n if (tracks_2_1 && !tracks_2_1.done && (_a = tracks_2.return)) _a.call(tracks_2);\n }\n finally { if (e_3) throw e_3.error; }\n return [7 /*endfinally*/];\n case 8: return [2 /*return*/];\n }\n });\n });\n }, streamVideoConstraintsGet: function (trackFilter) {\n return videoTracks.find(trackFilter).getConstraints();\n }, streamVideoSettingsGet: function (trackFilter) {\n return videoTracks.find(trackFilter).getSettings();\n }, streamVideoCapabilitiesGet: function (trackFilter) {\n return videoTracks.find(trackFilter).getCapabilities();\n } });\n isTorchAvailable = BrowserCodeReader.mediaStreamIsTorchCompatible(stream);\n if (isTorchAvailable) {\n torchTrack_1 = videoTracks === null || videoTracks === void 0 ? void 0 : videoTracks.find(function (t) { return BrowserCodeReader.mediaStreamIsTorchCompatibleTrack(t); });\n switchTorch_1 = function (onOff) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, BrowserCodeReader.mediaStreamSetTorch(torchTrack_1, onOff)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); };\n controls.switchTorch = switchTorch_1;\n stop_1 = function () {\n originalControls.stop();\n switchTorch_1(false);\n };\n controls.stop = stop_1;\n }\n return [2 /*return*/, controls];\n }\n });\n });\n };\n /**\n * Continuously tries to decode the barcode from the device specified by device while showing\n * the video in the specified video element.\n *\n * @param {string|null} [deviceId] the id of one of the devices obtained after calling\n * getVideoInputDevices. Can be undefined, in this case it will decode from one of the\n * available devices, preferring the main camera (environment facing) if available.\n * @param {string|HTMLVideoElement|null} [video] the video element in page where to show the video\n * while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined,\n * in which case no video will be shown.\n */\n BrowserCodeReader.prototype.decodeFromVideoDevice = function (deviceId, previewElem, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var videoConstraints, constraints;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n BrowserCodeReader.checkCallbackFnOrThrow(callbackFn);\n if (!deviceId) {\n videoConstraints = { facingMode: 'environment' };\n }\n else {\n videoConstraints = { deviceId: { exact: deviceId } };\n }\n constraints = { video: videoConstraints };\n return [4 /*yield*/, this.decodeFromConstraints(constraints, previewElem, callbackFn)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Decodes something from an image HTML element.\n */\n BrowserCodeReader.prototype.decodeFromVideoElement = function (source, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var element, timeout;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n BrowserCodeReader.checkCallbackFnOrThrow(callbackFn);\n if (!source) {\n throw new ArgumentException('A video element must be provided.');\n }\n element = BrowserCodeReader.prepareVideoElement(source);\n timeout = this.options.tryPlayVideoTimeout;\n // plays the video\n return [4 /*yield*/, BrowserCodeReader.playVideoOnLoadAsync(element, timeout)];\n case 1:\n // plays the video\n _a.sent();\n // starts decoding after played the video\n return [2 /*return*/, this.scan(element, callbackFn)];\n }\n });\n });\n };\n /**\n * Decodes a video from a URL until it ends.\n */\n BrowserCodeReader.prototype.decodeFromVideoUrl = function (url, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var element, finalizeCallback, timeout, controls;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n BrowserCodeReader.checkCallbackFnOrThrow(callbackFn);\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n element = BrowserCodeReader.prepareVideoElement();\n // starts loading the video\n element.src = url;\n finalizeCallback = function () {\n // dispose created video element\n BrowserCodeReader.cleanVideoSource(element);\n };\n timeout = this.options.tryPlayVideoTimeout;\n // plays the video\n return [4 /*yield*/, BrowserCodeReader.playVideoOnLoadAsync(element, timeout)];\n case 1:\n // plays the video\n _a.sent();\n controls = this.scan(element, callbackFn, finalizeCallback);\n return [2 /*return*/, controls];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given\n * constraints while showing the video in the specified video element.\n *\n * @param constraints the media stream constraints to get s valid media stream to decode from\n * @param videoSource the video element in page where to show the video while decoding.\n * Can be either an element id or directly an HTMLVideoElement. Can be undefined,\n * in which case no video will be shown.\n * The decoding result.\n */\n BrowserCodeReader.prototype.decodeOnceFromConstraints = function (constraints, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n var stream;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getUserMedia(constraints)];\n case 1:\n stream = _a.sent();\n return [4 /*yield*/, this.decodeOnceFromStream(stream, videoSource)];\n case 2: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given\n * constraints while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [video] the video element in page where to show the video while decoding.\n * Can be either an element id or directly an HTMLVideoElement. Can be undefined,\n * in which case no video will be shown.\n */\n BrowserCodeReader.prototype.decodeOnceFromStream = function (stream, preview) {\n return __awaiter(this, void 0, void 0, function () {\n var receivedPreview, video, result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n receivedPreview = Boolean(preview);\n return [4 /*yield*/, BrowserCodeReader.attachStreamToVideo(stream, preview)];\n case 1:\n video = _a.sent();\n _a.label = 2;\n case 2:\n _a.trys.push([2, , 4, 5]);\n return [4 /*yield*/, this.scanOneResult(video)];\n case 3:\n result = _a.sent();\n return [2 /*return*/, result];\n case 4:\n if (!receivedPreview) {\n BrowserCodeReader.cleanVideoSource(video);\n }\n return [7 /*endfinally*/];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from the device specified by deviceId\n * while showing the video in the specified video element.\n *\n * @param deviceId the id of one of the devices obtained after calling getVideoInputDevices.\n * Can be undefined, in this case it will decode from one of the available devices,\n * preferring the main camera (environment facing) if available.\n * @param videoSource the video element in page where to show the video while decoding.\n * Can be either an element id or directly an HTMLVideoElement. Can be undefined,\n * in which case no video will be shown.\n */\n BrowserCodeReader.prototype.decodeOnceFromVideoDevice = function (deviceId, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n var videoConstraints, constraints;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!deviceId) {\n videoConstraints = { facingMode: 'environment' };\n }\n else {\n videoConstraints = { deviceId: { exact: deviceId } };\n }\n constraints = { video: videoConstraints };\n return [4 /*yield*/, this.decodeOnceFromConstraints(constraints, videoSource)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Decodes something from an image HTML element.\n */\n BrowserCodeReader.prototype.decodeOnceFromVideoElement = function (source) {\n return __awaiter(this, void 0, void 0, function () {\n var element, timeout;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!source) {\n throw new ArgumentException('A video element must be provided.');\n }\n element = BrowserCodeReader.prepareVideoElement(source);\n timeout = this.options.tryPlayVideoTimeout;\n // plays the video\n return [4 /*yield*/, BrowserCodeReader.playVideoOnLoadAsync(element, timeout)];\n case 1:\n // plays the video\n _a.sent();\n return [4 /*yield*/, this.scanOneResult(element)];\n case 2: \n // starts decoding after played the video\n return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Decodes a video from a URL.\n */\n BrowserCodeReader.prototype.decodeOnceFromVideoUrl = function (url) {\n return __awaiter(this, void 0, void 0, function () {\n var element, task;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n element = BrowserCodeReader.prepareVideoElement();\n // starts loading the video\n element.src = url;\n task = this.decodeOnceFromVideoElement(element);\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 3, 4]);\n return [4 /*yield*/, task];\n case 2: \n // it waits the task so we can destroy the created image after\n return [2 /*return*/, _a.sent()];\n case 3:\n // we created this element, so we destroy it\n BrowserCodeReader.cleanVideoSource(element);\n return [7 /*endfinally*/];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Tries to decode from the video input until it finds some value.\n */\n BrowserCodeReader.prototype.scanOneResult = function (element, retryIfNotFound, retryIfChecksumError, retryIfFormatError) {\n var _this = this;\n if (retryIfNotFound === void 0) { retryIfNotFound = true; }\n if (retryIfChecksumError === void 0) { retryIfChecksumError = true; }\n if (retryIfFormatError === void 0) { retryIfFormatError = true; }\n return new Promise(function (resolve, reject) {\n // reuses the scan API, but returns at the first successful result\n _this.scan(element, function (result, error, controls) {\n if (result) {\n // good result, returning\n resolve(result);\n controls.stop();\n return;\n }\n if (error) {\n // checks if it should retry\n if (error instanceof NotFoundException && retryIfNotFound) {\n return;\n }\n if (error instanceof ChecksumException && retryIfChecksumError) {\n return;\n }\n if (error instanceof FormatException && retryIfFormatError) {\n return;\n }\n // not re-trying\n controls.stop(); // stops scan loop\n reject(error); // returns the error\n }\n });\n });\n };\n /**\n * Continuously decodes from video input.\n *\n * @param element HTML element to scan/decode from. It will not be disposed or destroyed.\n * @param callbackFn Called after every scan attempt, being it successful or errored.\n * @param finalizeCallback Called after scan process reaches the end or stop is called.\n */\n BrowserCodeReader.prototype.scan = function (element, callbackFn, finalizeCallback) {\n var _this = this;\n BrowserCodeReader.checkCallbackFnOrThrow(callbackFn);\n /**\n * The HTML canvas element, used to draw the video or image's frame for decoding.\n */\n var captureCanvas = BrowserCodeReader.createCaptureCanvas(element);\n /**\n * The HTML canvas element context.\n */\n var captureCanvasContext = captureCanvas.getContext('2d');\n // cannot proceed w/o this\n if (!captureCanvasContext) {\n throw new Error('Couldn\\'t create canvas for visual element scan.');\n }\n var disposeCanvas = function () {\n captureCanvasContext = undefined;\n captureCanvas = undefined;\n };\n var stopScan = false;\n var lastTimeoutId;\n // can be called to break the scan loop\n var stop = function () {\n stopScan = true;\n clearTimeout(lastTimeoutId);\n disposeCanvas();\n if (finalizeCallback) {\n finalizeCallback();\n }\n };\n // created for extensibility\n var controls = { stop: stop };\n // this async loop allows infinite (or almost? maybe) scans\n var loop = function () {\n if (stopScan) {\n // no need to clear timeouts as none was create yet in this scope.\n return;\n }\n try {\n BrowserCodeReader.drawImageOnCanvas(captureCanvasContext, element);\n var result = _this.decodeFromCanvas(captureCanvas);\n callbackFn(result, undefined, controls);\n lastTimeoutId = setTimeout(loop, _this.options.delayBetweenScanSuccess);\n }\n catch (error) {\n callbackFn(undefined, error, controls);\n var isChecksumError = error instanceof ChecksumException;\n var isFormatError = error instanceof FormatException;\n var isNotFound = error instanceof NotFoundException;\n if (isChecksumError || isFormatError || isNotFound) {\n // trying again\n lastTimeoutId = setTimeout(loop, _this.options.delayBetweenScanAttempts);\n return;\n }\n // not trying again\n disposeCanvas();\n if (finalizeCallback) {\n finalizeCallback(error);\n }\n }\n };\n // starts the async loop\n loop();\n return controls;\n };\n /**\n * Waits for the image to load and then tries to decode it.\n */\n BrowserCodeReader.prototype._decodeOnLoadImage = function (element) {\n return __awaiter(this, void 0, void 0, function () {\n var isImageLoaded;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isImageLoaded = BrowserCodeReader.isImageLoaded(element);\n if (!!isImageLoaded) return [3 /*break*/, 2];\n return [4 /*yield*/, BrowserCodeReader._waitImageLoad(element)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/, this.decode(element)];\n }\n });\n });\n };\n /**\n * Get MediaStream from browser to be used.\n * @param constraints constraints the media stream constraints to get s valid media stream to decode from.\n * @private For private use.\n */\n BrowserCodeReader.prototype.getUserMedia = function (constraints) {\n return __awaiter(this, void 0, void 0, function () {\n var stream;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, navigator.mediaDevices.getUserMedia(constraints)];\n case 1:\n stream = _a.sent();\n BrowserCodeReader.streamTracker.push(stream);\n return [2 /*return*/, stream];\n }\n });\n });\n };\n /**\n * Keeps track to created media streams.\n * @private there is no need this array to be accessible from outside.\n */\n BrowserCodeReader.streamTracker = [];\n return BrowserCodeReader;\n}());\nexport { BrowserCodeReader };\n//# sourceMappingURL=BrowserCodeReader.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { AztecCodeReader } from '@zxing/library';\nimport { BrowserCodeReader } from './BrowserCodeReader';\n/**\n * Aztec Code reader to use from browser.\n *\n * @class BrowserAztecCodeReader\n * @extends {BrowserCodeReader}\n */\nvar BrowserAztecCodeReader = /** @class */ (function (_super) {\n __extends(BrowserAztecCodeReader, _super);\n /**\n * Creates an instance of BrowserAztecCodeReader.\n */\n function BrowserAztecCodeReader(hints, options) {\n return _super.call(this, new AztecCodeReader(), hints, options) || this;\n }\n return BrowserAztecCodeReader;\n}(BrowserCodeReader));\nexport { BrowserAztecCodeReader };\n//# sourceMappingURL=BrowserAztecCodeReader.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { MultiFormatOneDReader } from '@zxing/library';\nimport { BrowserCodeReader } from './BrowserCodeReader';\n/**\n * Reader to be used for any One Dimension type barcode.\n */\nvar BrowserMultiFormatOneDReader = /** @class */ (function (_super) {\n __extends(BrowserMultiFormatOneDReader, _super);\n /**\n * Creates an instance of BrowserBarcodeReader.\n * @param {Map} hints?\n * @param options\n */\n function BrowserMultiFormatOneDReader(hints, options) {\n return _super.call(this, new MultiFormatOneDReader(hints), hints, options) || this;\n }\n return BrowserMultiFormatOneDReader;\n}(BrowserCodeReader));\nexport { BrowserMultiFormatOneDReader };\n//# sourceMappingURL=BrowserMultiFormatOneDReader.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { DataMatrixReader } from '@zxing/library';\nimport { BrowserCodeReader } from './BrowserCodeReader';\n/**\n * QR Code reader to use from browser.\n */\nvar BrowserDatamatrixCodeReader = /** @class */ (function (_super) {\n __extends(BrowserDatamatrixCodeReader, _super);\n /**\n * Creates an instance of BrowserQRCodeReader.\n */\n function BrowserDatamatrixCodeReader(hints, options) {\n return _super.call(this, new DataMatrixReader(), hints, options) || this;\n }\n return BrowserDatamatrixCodeReader;\n}(BrowserCodeReader));\nexport { BrowserDatamatrixCodeReader };\n//# sourceMappingURL=BrowserDatamatrixCodeReader.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { DecodeHintType, MultiFormatReader, } from '@zxing/library';\nimport { BrowserCodeReader } from './BrowserCodeReader';\nvar BrowserMultiFormatReader = /** @class */ (function (_super) {\n __extends(BrowserMultiFormatReader, _super);\n function BrowserMultiFormatReader(hints, options) {\n var _this = this;\n var reader = new MultiFormatReader();\n reader.setHints(hints);\n _this = _super.call(this, reader, hints, options) || this;\n _this.reader = reader;\n return _this;\n }\n Object.defineProperty(BrowserMultiFormatReader.prototype, \"possibleFormats\", {\n set: function (formats) {\n this.hints.set(DecodeHintType.POSSIBLE_FORMATS, formats);\n this.reader.setHints(this.hints);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Overwrite decodeBitmap to call decodeWithState, which will pay\n * attention to the hints set in the constructor function\n */\n BrowserMultiFormatReader.prototype.decodeBitmap = function (binaryBitmap) {\n return this.reader.decodeWithState(binaryBitmap);\n };\n /**\n * Allows to change hints in runtime.\n */\n BrowserMultiFormatReader.prototype.setHints = function (hints) {\n this.hints = hints;\n this.reader.setHints(this.hints);\n };\n return BrowserMultiFormatReader;\n}(BrowserCodeReader));\nexport { BrowserMultiFormatReader };\n//# sourceMappingURL=BrowserMultiFormatReader.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { PDF417Reader } from '@zxing/library';\nimport { BrowserCodeReader } from './BrowserCodeReader';\n/**\n * QR Code reader to use from browser.\n */\nvar BrowserPDF417Reader = /** @class */ (function (_super) {\n __extends(BrowserPDF417Reader, _super);\n /**\n * Creates an instance of BrowserPDF417Reader.\n */\n function BrowserPDF417Reader(hints, options) {\n return _super.call(this, new PDF417Reader(), hints, options) || this;\n }\n return BrowserPDF417Reader;\n}(BrowserCodeReader));\nexport { BrowserPDF417Reader };\n//# sourceMappingURL=BrowserPDF417Reader.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { QRCodeReader } from '@zxing/library';\nimport { BrowserCodeReader } from './BrowserCodeReader';\n/**\n * QR Code reader to use from browser.\n */\nvar BrowserQRCodeReader = /** @class */ (function (_super) {\n __extends(BrowserQRCodeReader, _super);\n /**\n * Creates an instance of BrowserQRCodeReader.\n */\n function BrowserQRCodeReader(hints, options) {\n return _super.call(this, new QRCodeReader(), hints, options) || this;\n }\n return BrowserQRCodeReader;\n}(BrowserCodeReader));\nexport { BrowserQRCodeReader };\n//# sourceMappingURL=BrowserQRCodeReader.js.map","import { EncodeHintType, IllegalArgumentException, IllegalStateException, QRCodeDecoderErrorCorrectionLevel, QRCodeEncoder, } from '@zxing/library';\nvar svgNs = 'http://www.w3.org/2000/svg';\n/**/\nvar BrowserCodeSvgWriter = /** @class */ (function () {\n /**\n * Constructs. 😉\n */\n function BrowserCodeSvgWriter(containerElement) {\n if (typeof containerElement === 'string') {\n var container = document.getElementById(containerElement);\n if (!container) {\n throw new Error(\"Could not find a Container element with '\".concat(containerElement, \"'.\"));\n }\n this.containerElement = container;\n }\n else {\n this.containerElement = containerElement;\n }\n }\n /**\n * Writes the QR code to a SVG and renders it in the container.\n */\n BrowserCodeSvgWriter.prototype.write = function (contents, width, height, hints) {\n if (contents.length === 0) {\n throw new IllegalArgumentException('Found empty contents');\n }\n if (width < 0 || height < 0) {\n throw new IllegalArgumentException('Requested dimensions are too small: ' + width + 'x' + height);\n }\n var quietZone = hints && hints.get(EncodeHintType.MARGIN) !== undefined\n ? Number.parseInt(hints.get(EncodeHintType.MARGIN).toString(), 10)\n : BrowserCodeSvgWriter.QUIET_ZONE_SIZE;\n var code = this.encode(hints, contents);\n return this.renderResult(code, width, height, quietZone);\n };\n /**\n * Creates a SVG element.\n */\n BrowserCodeSvgWriter.prototype.createSVGElement = function (w, h) {\n var el = document.createElementNS(BrowserCodeSvgWriter.SVG_NS, 'svg');\n el.setAttributeNS(svgNs, 'width', h.toString());\n el.setAttributeNS(svgNs, 'height', w.toString());\n return el;\n };\n /**\n * Creates a SVG rect.\n */\n BrowserCodeSvgWriter.prototype.createSvgPathPlaceholderElement = function (w, h) {\n var el = document.createElementNS(BrowserCodeSvgWriter.SVG_NS, 'path');\n el.setAttributeNS(svgNs, 'd', \"M0 0h\".concat(w, \"v\").concat(h, \"H0z\"));\n el.setAttributeNS(svgNs, 'fill', 'none');\n return el;\n };\n /**\n * Creates a SVG rect.\n */\n BrowserCodeSvgWriter.prototype.createSvgRectElement = function (x, y, w, h) {\n var el = document.createElementNS(BrowserCodeSvgWriter.SVG_NS, 'rect');\n el.setAttributeNS(svgNs, 'x', x.toString());\n el.setAttributeNS(svgNs, 'y', y.toString());\n el.setAttributeNS(svgNs, 'height', w.toString());\n el.setAttributeNS(svgNs, 'width', h.toString());\n el.setAttributeNS(svgNs, 'fill', '#000000');\n return el;\n };\n /**\n * Encodes the content to a Barcode type.\n */\n BrowserCodeSvgWriter.prototype.encode = function (hints, contents) {\n var errorCorrectionLevel = QRCodeDecoderErrorCorrectionLevel.L;\n if (hints && hints.get(EncodeHintType.ERROR_CORRECTION) !== undefined) {\n var correctionStr = hints.get(EncodeHintType.ERROR_CORRECTION).toString();\n errorCorrectionLevel = QRCodeDecoderErrorCorrectionLevel.fromString(correctionStr);\n }\n var code = QRCodeEncoder.encode(contents, errorCorrectionLevel, hints);\n return code;\n };\n /**\n * Renders the SVG in the container.\n *\n * @note the input matrix uses 0 == white, 1 == black. The output matrix\n * uses 0 == black, 255 == white (i.e. an 8 bit greyscale bitmap).\n */\n BrowserCodeSvgWriter.prototype.renderResult = function (code, width /*int*/, height /*int*/, quietZone /*int*/) {\n // if (this.format && format != this.format) {\n // throw new IllegalArgumentException(\"Can only encode QR_CODE, but got \" + format)\n // }\n var input = code.getMatrix();\n if (input === null) {\n throw new IllegalStateException();\n }\n var inputWidth = input.getWidth();\n var inputHeight = input.getHeight();\n var qrWidth = inputWidth + (quietZone * 2);\n var qrHeight = inputHeight + (quietZone * 2);\n var outputWidth = Math.max(width, qrWidth);\n var outputHeight = Math.max(height, qrHeight);\n var multiple = Math.min(Math.floor(outputWidth / qrWidth), Math.floor(outputHeight / qrHeight));\n // Padding includes both the quiet zone and the extra white pixels to accommodate the requested\n // dimensions. For example, if input is 25x25 the QR will be 33x33 including the quiet zone.\n // If the requested size is 200x160, the multiple will be 4, for a QR of 132x132. These will\n // handle all the padding from 100x100 (the actual QR) up to 200x160.\n var leftPadding = Math.floor((outputWidth - (inputWidth * multiple)) / 2);\n var topPadding = Math.floor((outputHeight - (inputHeight * multiple)) / 2);\n var svgElement = this.createSVGElement(outputWidth, outputHeight);\n var placeholder = this.createSvgPathPlaceholderElement(width, height);\n svgElement.appendChild(placeholder);\n this.containerElement.appendChild(svgElement);\n // 2D loop\n for (var inputY = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (var inputX = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY) === 1) {\n var svgRectElement = this.createSvgRectElement(outputX, outputY, multiple, multiple);\n svgElement.appendChild(svgRectElement);\n }\n }\n }\n return svgElement;\n };\n /**\n * Default quiet zone in pixels.\n */\n BrowserCodeSvgWriter.QUIET_ZONE_SIZE = 4;\n /**\n * SVG markup NameSpace\n */\n BrowserCodeSvgWriter.SVG_NS = 'http://www.w3.org/2000/svg';\n return BrowserCodeSvgWriter;\n}());\nexport { BrowserCodeSvgWriter };\n//# sourceMappingURL=BrowserCodeSvgWriter.js.map","import { EncodeHintType, IllegalArgumentException, IllegalStateException, QRCodeDecoderErrorCorrectionLevel, QRCodeEncoder, } from '@zxing/library';\nvar svgNs = 'http://www.w3.org/2000/svg';\n/**/\nvar BrowserQRCodeSvgWriter = /** @class */ (function () {\n function BrowserQRCodeSvgWriter() {\n }\n /**\n * Writes and renders a QRCode SVG element.\n *\n * @param contents\n * @param width\n * @param height\n * @param hints\n */\n BrowserQRCodeSvgWriter.prototype.write = function (contents, width, height, hints) {\n if (contents.length === 0) {\n throw new IllegalArgumentException('Found empty contents');\n }\n // if (format != BarcodeFormat.QR_CODE) {\n // throw new IllegalArgumentException(\"Can only encode QR_CODE, but got \" + format)\n // }\n if (width < 0 || height < 0) {\n throw new IllegalArgumentException('Requested dimensions are too small: ' + width + 'x' + height);\n }\n var errorCorrectionLevel = QRCodeDecoderErrorCorrectionLevel.L;\n var quietZone = BrowserQRCodeSvgWriter.QUIET_ZONE_SIZE;\n if (hints) {\n if (undefined !== hints.get(EncodeHintType.ERROR_CORRECTION)) {\n var correctionStr = hints.get(EncodeHintType.ERROR_CORRECTION).toString();\n errorCorrectionLevel = QRCodeDecoderErrorCorrectionLevel.fromString(correctionStr);\n }\n if (undefined !== hints.get(EncodeHintType.MARGIN)) {\n quietZone = Number.parseInt(hints.get(EncodeHintType.MARGIN).toString(), 10);\n }\n }\n var code = QRCodeEncoder.encode(contents, errorCorrectionLevel, hints);\n return this.renderResult(code, width, height, quietZone);\n };\n /**\n * Renders the result and then appends it to the DOM.\n */\n BrowserQRCodeSvgWriter.prototype.writeToDom = function (containerElement, contents, width, height, hints) {\n if (typeof containerElement === 'string') {\n var targetEl = document.querySelector(containerElement);\n if (!targetEl) {\n throw new Error('Could no find the target HTML element.');\n }\n containerElement = targetEl;\n }\n var svgElement = this.write(contents, width, height, hints);\n if (containerElement instanceof HTMLElement) {\n containerElement.appendChild(svgElement);\n }\n };\n /**\n * Note that the input matrix uses 0 == white, 1 == black.\n * The output matrix uses 0 == black, 255 == white (i.e. an 8 bit greyscale bitmap).\n */\n BrowserQRCodeSvgWriter.prototype.renderResult = function (code, width /*int*/, height /*int*/, quietZone /*int*/) {\n var input = code.getMatrix();\n if (input === null) {\n throw new IllegalStateException();\n }\n var inputWidth = input.getWidth();\n var inputHeight = input.getHeight();\n var qrWidth = inputWidth + (quietZone * 2);\n var qrHeight = inputHeight + (quietZone * 2);\n var outputWidth = Math.max(width, qrWidth);\n var outputHeight = Math.max(height, qrHeight);\n var multiple = Math.min(Math.floor(outputWidth / qrWidth), Math.floor(outputHeight / qrHeight));\n // Padding includes both the quiet zone and the extra white pixels to accommodate the requested\n // dimensions. For example, if input is 25x25 the QR will be 33x33 including the quiet zone.\n // If the requested size is 200x160, the multiple will be 4, for a QR of 132x132. These will\n // handle all the padding from 100x100 (the actual QR) up to 200x160.\n var leftPadding = Math.floor((outputWidth - (inputWidth * multiple)) / 2);\n var topPadding = Math.floor((outputHeight - (inputHeight * multiple)) / 2);\n var svgElement = this.createSVGElement(outputWidth, outputHeight);\n for (var inputY = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (var inputX = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY) === 1) {\n var svgRectElement = this.createSvgRectElement(outputX, outputY, multiple, multiple);\n svgElement.appendChild(svgRectElement);\n }\n }\n }\n return svgElement;\n };\n /**\n * Creates a SVG element.\n *\n * @param w SVG's width attribute\n * @param h SVG's height attribute\n */\n BrowserQRCodeSvgWriter.prototype.createSVGElement = function (w, h) {\n var svgElement = document.createElementNS(svgNs, 'svg');\n var width = w.toString();\n var height = h.toString();\n svgElement.setAttribute('height', height);\n svgElement.setAttribute('width', width);\n svgElement.setAttribute('viewBox', \"0 0 \" + width + \" \" + height);\n return svgElement;\n };\n /**\n * Creates a SVG rect element.\n *\n * @param x Element's x coordinate\n * @param y Element's y coordinate\n * @param w Element's width attribute\n * @param h Element's height attribute\n */\n BrowserQRCodeSvgWriter.prototype.createSvgRectElement = function (x, y, w, h) {\n var rect = document.createElementNS(svgNs, 'rect');\n rect.setAttribute('x', x.toString());\n rect.setAttribute('y', y.toString());\n rect.setAttribute('height', w.toString());\n rect.setAttribute('width', h.toString());\n rect.setAttribute('fill', '#000000');\n return rect;\n };\n BrowserQRCodeSvgWriter.QUIET_ZONE_SIZE = 4;\n return BrowserQRCodeSvgWriter;\n}());\nexport { BrowserQRCodeSvgWriter };\n//# sourceMappingURL=BrowserQRCodeSvgWriter.js.map","function fixProto(target, prototype) {\n var setPrototypeOf = Object.setPrototypeOf;\n setPrototypeOf ? setPrototypeOf(target, prototype) : target.__proto__ = prototype;\n}\nfunction fixStack(target, fn) {\n if (fn === void 0) {\n fn = target.constructor;\n }\n\n var captureStackTrace = Error.captureStackTrace;\n captureStackTrace && captureStackTrace(target, fn);\n}\n\nvar __extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar CustomError = function (_super) {\n __extends(CustomError, _super);\n\n function CustomError(message, options) {\n var _newTarget = this.constructor;\n\n var _this = _super.call(this, message, options) || this;\n\n Object.defineProperty(_this, 'name', {\n value: _newTarget.name,\n enumerable: false,\n configurable: true\n });\n fixProto(_this, _newTarget.prototype);\n fixStack(_this);\n return _this;\n }\n\n return CustomError;\n}(Error);\n\nvar __spreadArray = undefined && undefined.__spreadArray || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nfunction customErrorFactory(fn, parent) {\n if (parent === void 0) {\n parent = Error;\n }\n\n function CustomError() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n if (!(this instanceof CustomError)) return new (CustomError.bind.apply(CustomError, __spreadArray([void 0], args, false)))();\n parent.apply(this, args);\n Object.defineProperty(this, 'name', {\n value: fn.name || parent.name,\n enumerable: false,\n configurable: true\n });\n fn.apply(this, args);\n fixStack(this, CustomError);\n }\n\n return Object.defineProperties(CustomError, {\n prototype: {\n value: Object.create(parent.prototype, {\n constructor: {\n value: CustomError,\n writable: true,\n configurable: true\n }\n })\n }\n });\n}\n\nexport { CustomError, customErrorFactory };\n//# sourceMappingURL=custom-error.mjs.map\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { CustomError } from 'ts-custom-error';\n/**\n * Custom Error class of type Exception.\n */\nvar Exception = /** @class */ (function (_super) {\n __extends(Exception, _super);\n /**\n * Allows Exception to be constructed directly\n * with some message and prototype definition.\n */\n function Exception(message) {\n if (message === void 0) { message = undefined; }\n var _this = _super.call(this, message) || this;\n _this.message = message;\n return _this;\n }\n Exception.prototype.getKind = function () {\n var ex = this.constructor;\n return ex.kind;\n };\n /**\n * It's typed as string so it can be extended and overriden.\n */\n Exception.kind = 'Exception';\n return Exception;\n}(CustomError));\nexport default Exception;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing {*/\n/**\n * Encapsulates a type of hint that a caller may pass to a barcode reader to help it\n * more quickly or accurately decode it. It is up to implementations to decide what,\n * if anything, to do with the information that is supplied.\n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n * @see Reader#decode(BinaryBitmap,java.util.Map)\n */\nvar DecodeHintType;\n(function (DecodeHintType) {\n /**\n * Unspecified, application-specific hint. Maps to an unspecified {@link Object}.\n */\n DecodeHintType[DecodeHintType[\"OTHER\"] = 0] = \"OTHER\"; /*(Object.class)*/\n /**\n * Image is a pure monochrome image of a barcode. Doesn't matter what it maps to;\n * use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"PURE_BARCODE\"] = 1] = \"PURE_BARCODE\"; /*(Void.class)*/\n /**\n * Image is known to be of one of a few possible formats.\n * Maps to a {@link List} of {@link BarcodeFormat}s.\n */\n DecodeHintType[DecodeHintType[\"POSSIBLE_FORMATS\"] = 2] = \"POSSIBLE_FORMATS\"; /*(List.class)*/\n /**\n * Spend more time to try to find a barcode; optimize for accuracy, not speed.\n * Doesn't matter what it maps to; use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"TRY_HARDER\"] = 3] = \"TRY_HARDER\"; /*(Void.class)*/\n /**\n * Specifies what character encoding to use when decoding, where applicable (type String)\n */\n DecodeHintType[DecodeHintType[\"CHARACTER_SET\"] = 4] = \"CHARACTER_SET\"; /*(String.class)*/\n /**\n * Allowed lengths of encoded data -- reject anything else. Maps to an {@code Int32Array}.\n */\n DecodeHintType[DecodeHintType[\"ALLOWED_LENGTHS\"] = 5] = \"ALLOWED_LENGTHS\"; /*(Int32Array.class)*/\n /**\n * Assume Code 39 codes employ a check digit. Doesn't matter what it maps to;\n * use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"ASSUME_CODE_39_CHECK_DIGIT\"] = 6] = \"ASSUME_CODE_39_CHECK_DIGIT\"; /*(Void.class)*/\n /**\n * Assume the barcode is being processed as a GS1 barcode, and modify behavior as needed.\n * For example this affects FNC1 handling for Code 128 (aka GS1-128). Doesn't matter what it maps to;\n * use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"ASSUME_GS1\"] = 7] = \"ASSUME_GS1\"; /*(Void.class)*/\n /**\n * If true, return the start and end digits in a Codabar barcode instead of stripping them. They\n * are alpha, whereas the rest are numeric. By default, they are stripped, but this causes them\n * to not be. Doesn't matter what it maps to; use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"RETURN_CODABAR_START_END\"] = 8] = \"RETURN_CODABAR_START_END\"; /*(Void.class)*/\n /**\n * The caller needs to be notified via callback when a possible {@link ResultPoint}\n * is found. Maps to a {@link ResultPointCallback}.\n */\n DecodeHintType[DecodeHintType[\"NEED_RESULT_POINT_CALLBACK\"] = 9] = \"NEED_RESULT_POINT_CALLBACK\"; /*(ResultPointCallback.class)*/\n /**\n * Allowed extension lengths for EAN or UPC barcodes. Other formats will ignore this.\n * Maps to an {@code Int32Array} of the allowed extension lengths, for example [2], [5], or [2, 5].\n * If it is optional to have an extension, do not set this hint. If this is set,\n * and a UPC or EAN barcode is found but an extension is not, then no result will be returned\n * at all.\n */\n DecodeHintType[DecodeHintType[\"ALLOWED_EAN_EXTENSIONS\"] = 10] = \"ALLOWED_EAN_EXTENSIONS\"; /*(Int32Array.class)*/\n // End of enumeration values.\n /**\n * Data type the hint is expecting.\n * Among the possible values the {@link Void} stands out as being used for\n * hints that do not expect a value to be supplied (flag hints). Such hints\n * will possibly have their value ignored, or replaced by a\n * {@link Boolean#TRUE}. Hint suppliers should probably use\n * {@link Boolean#TRUE} as directed by the actual hint documentation.\n */\n // private valueType: Class\n // DecodeHintType(valueType: Class) {\n // this.valueType = valueType\n // }\n // public getValueType(): Class {\n // return valueType\n // }\n})(DecodeHintType || (DecodeHintType = {}));\nexport default DecodeHintType;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ArgumentException = /** @class */ (function (_super) {\n __extends(ArgumentException, _super);\n function ArgumentException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArgumentException.kind = 'ArgumentException';\n return ArgumentException;\n}(Exception));\nexport default ArgumentException;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar IllegalArgumentException = /** @class */ (function (_super) {\n __extends(IllegalArgumentException, _super);\n function IllegalArgumentException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n IllegalArgumentException.kind = 'IllegalArgumentException';\n return IllegalArgumentException;\n}(Exception));\nexport default IllegalArgumentException;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport IllegalArgumentException from './IllegalArgumentException';\nvar BinaryBitmap = /** @class */ (function () {\n function BinaryBitmap(binarizer) {\n this.binarizer = binarizer;\n if (binarizer === null) {\n throw new IllegalArgumentException('Binarizer must be non-null.');\n }\n }\n /**\n * @return The width of the bitmap.\n */\n BinaryBitmap.prototype.getWidth = function () {\n return this.binarizer.getWidth();\n };\n /**\n * @return The height of the bitmap.\n */\n BinaryBitmap.prototype.getHeight = function () {\n return this.binarizer.getHeight();\n };\n /**\n * Converts one row of luminance data to 1 bit data. May actually do the conversion, or return\n * cached data. Callers should assume this method is expensive and call it as seldom as possible.\n * This method is intended for decoding 1D barcodes and may choose to apply sharpening.\n *\n * @param y The row to fetch, which must be in [0, bitmap height)\n * @param row An optional preallocated array. If null or too small, it will be ignored.\n * If used, the Binarizer will call BitArray.clear(). Always use the returned object.\n * @return The array of bits for this row (true means black).\n * @throws NotFoundException if row can't be binarized\n */\n BinaryBitmap.prototype.getBlackRow = function (y /*int*/, row) {\n return this.binarizer.getBlackRow(y, row);\n };\n /**\n * Converts a 2D array of luminance data to 1 bit. As above, assume this method is expensive\n * and do not call it repeatedly. This method is intended for decoding 2D barcodes and may or\n * may not apply sharpening. Therefore, a row from this matrix may not be identical to one\n * fetched using getBlackRow(), so don't mix and match between them.\n *\n * @return The 2D array of bits for the image (true means black).\n * @throws NotFoundException if image can't be binarized to make a matrix\n */\n BinaryBitmap.prototype.getBlackMatrix = function () {\n // The matrix is created on demand the first time it is requested, then cached. There are two\n // reasons for this:\n // 1. This work will never be done if the caller only installs 1D Reader objects, or if a\n // 1D Reader finds a barcode before the 2D Readers run.\n // 2. This work will only be done once even if the caller installs multiple 2D Readers.\n if (this.matrix === null || this.matrix === undefined) {\n this.matrix = this.binarizer.getBlackMatrix();\n }\n return this.matrix;\n };\n /**\n * @return Whether this bitmap can be cropped.\n */\n BinaryBitmap.prototype.isCropSupported = function () {\n return this.binarizer.getLuminanceSource().isCropSupported();\n };\n /**\n * Returns a new object with cropped image data. Implementations may keep a reference to the\n * original data rather than a copy. Only callable if isCropSupported() is true.\n *\n * @param left The left coordinate, which must be in [0,getWidth())\n * @param top The top coordinate, which must be in [0,getHeight())\n * @param width The width of the rectangle to crop.\n * @param height The height of the rectangle to crop.\n * @return A cropped version of this object.\n */\n BinaryBitmap.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n var newSource = this.binarizer.getLuminanceSource().crop(left, top, width, height);\n return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n };\n /**\n * @return Whether this bitmap supports counter-clockwise rotation.\n */\n BinaryBitmap.prototype.isRotateSupported = function () {\n return this.binarizer.getLuminanceSource().isRotateSupported();\n };\n /**\n * Returns a new object with rotated image data by 90 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n BinaryBitmap.prototype.rotateCounterClockwise = function () {\n var newSource = this.binarizer.getLuminanceSource().rotateCounterClockwise();\n return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n };\n /**\n * Returns a new object with rotated image data by 45 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n BinaryBitmap.prototype.rotateCounterClockwise45 = function () {\n var newSource = this.binarizer.getLuminanceSource().rotateCounterClockwise45();\n return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n };\n /*@Override*/\n BinaryBitmap.prototype.toString = function () {\n try {\n return this.getBlackMatrix().toString();\n }\n catch (e /*: NotFoundException*/) {\n return '';\n }\n };\n return BinaryBitmap;\n}());\nexport default BinaryBitmap;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ChecksumException = /** @class */ (function (_super) {\n __extends(ChecksumException, _super);\n function ChecksumException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ChecksumException.getChecksumInstance = function () {\n return new ChecksumException();\n };\n ChecksumException.kind = 'ChecksumException';\n return ChecksumException;\n}(Exception));\nexport default ChecksumException;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * This class hierarchy provides a set of methods to convert luminance data to 1 bit data.\n * It allows the algorithm to vary polymorphically, for example allowing a very expensive\n * thresholding technique for servers and a fast one for mobile. It also permits the implementation\n * to vary, e.g. a JNI version for Android and a Java fallback version for other platforms.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar Binarizer = /** @class */ (function () {\n function Binarizer(source) {\n this.source = source;\n }\n Binarizer.prototype.getLuminanceSource = function () {\n return this.source;\n };\n Binarizer.prototype.getWidth = function () {\n return this.source.getWidth();\n };\n Binarizer.prototype.getHeight = function () {\n return this.source.getHeight();\n };\n return Binarizer;\n}());\nexport default Binarizer;\n","var System = /** @class */ (function () {\n function System() {\n }\n // public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)\n /**\n * Makes a copy of a array.\n */\n System.arraycopy = function (src, srcPos, dest, destPos, length) {\n // TODO: better use split or set?\n while (length--) {\n dest[destPos++] = src[srcPos++];\n }\n };\n /**\n * Returns the current time in milliseconds.\n */\n System.currentTimeMillis = function () {\n return Date.now();\n };\n return System;\n}());\nexport default System;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar IndexOutOfBoundsException = /** @class */ (function (_super) {\n __extends(IndexOutOfBoundsException, _super);\n function IndexOutOfBoundsException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n IndexOutOfBoundsException.kind = 'IndexOutOfBoundsException';\n return IndexOutOfBoundsException;\n}(Exception));\nexport default IndexOutOfBoundsException;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport IndexOutOfBoundsException from './IndexOutOfBoundsException';\n/**\n * Custom Error class of type Exception.\n */\nvar ArrayIndexOutOfBoundsException = /** @class */ (function (_super) {\n __extends(ArrayIndexOutOfBoundsException, _super);\n function ArrayIndexOutOfBoundsException(index, message) {\n if (index === void 0) { index = undefined; }\n if (message === void 0) { message = undefined; }\n var _this = _super.call(this, message) || this;\n _this.index = index;\n _this.message = message;\n return _this;\n }\n ArrayIndexOutOfBoundsException.kind = 'ArrayIndexOutOfBoundsException';\n return ArrayIndexOutOfBoundsException;\n}(IndexOutOfBoundsException));\nexport default ArrayIndexOutOfBoundsException;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport System from './System';\nimport IllegalArgumentException from '../IllegalArgumentException';\nimport ArrayIndexOutOfBoundsException from '../ArrayIndexOutOfBoundsException';\nvar Arrays = /** @class */ (function () {\n function Arrays() {\n }\n /**\n * Assigns the specified int value to each element of the specified array\n * of ints.\n *\n * @param a the array to be filled\n * @param val the value to be stored in all elements of the array\n */\n Arrays.fill = function (a, val) {\n for (var i = 0, len = a.length; i < len; i++)\n a[i] = val;\n };\n /**\n * Assigns the specified int value to each element of the specified\n * range of the specified array of ints. The range to be filled\n * extends from index {@code fromIndex}, inclusive, to index\n * {@code toIndex}, exclusive. (If {@code fromIndex==toIndex}, the\n * range to be filled is empty.)\n *\n * @param a the array to be filled\n * @param fromIndex the index of the first element (inclusive) to be\n * filled with the specified value\n * @param toIndex the index of the last element (exclusive) to be\n * filled with the specified value\n * @param val the value to be stored in all elements of the array\n * @throws IllegalArgumentException if {@code fromIndex > toIndex}\n * @throws ArrayIndexOutOfBoundsException if {@code fromIndex < 0} or\n * {@code toIndex > a.length}\n */\n Arrays.fillWithin = function (a, fromIndex, toIndex, val) {\n Arrays.rangeCheck(a.length, fromIndex, toIndex);\n for (var i = fromIndex; i < toIndex; i++)\n a[i] = val;\n };\n /**\n * Checks that {@code fromIndex} and {@code toIndex} are in\n * the range and throws an exception if they aren't.\n */\n Arrays.rangeCheck = function (arrayLength, fromIndex, toIndex) {\n if (fromIndex > toIndex) {\n throw new IllegalArgumentException('fromIndex(' + fromIndex + ') > toIndex(' + toIndex + ')');\n }\n if (fromIndex < 0) {\n throw new ArrayIndexOutOfBoundsException(fromIndex);\n }\n if (toIndex > arrayLength) {\n throw new ArrayIndexOutOfBoundsException(toIndex);\n }\n };\n Arrays.asList = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args;\n };\n Arrays.create = function (rows, cols, value) {\n var arr = Array.from({ length: rows });\n return arr.map(function (x) { return Array.from({ length: cols }).fill(value); });\n };\n Arrays.createInt32Array = function (rows, cols, value) {\n var arr = Array.from({ length: rows });\n return arr.map(function (x) { return Int32Array.from({ length: cols }).fill(value); });\n };\n Arrays.equals = function (first, second) {\n if (!first) {\n return false;\n }\n if (!second) {\n return false;\n }\n if (!first.length) {\n return false;\n }\n if (!second.length) {\n return false;\n }\n if (first.length !== second.length) {\n return false;\n }\n for (var i = 0, length_1 = first.length; i < length_1; i++) {\n if (first[i] !== second[i]) {\n return false;\n }\n }\n return true;\n };\n Arrays.hashCode = function (a) {\n var e_1, _a;\n if (a === null) {\n return 0;\n }\n var result = 1;\n try {\n for (var a_1 = __values(a), a_1_1 = a_1.next(); !a_1_1.done; a_1_1 = a_1.next()) {\n var element = a_1_1.value;\n result = 31 * result + element;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (a_1_1 && !a_1_1.done && (_a = a_1.return)) _a.call(a_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return result;\n };\n Arrays.fillUint8Array = function (a, value) {\n for (var i = 0; i !== a.length; i++) {\n a[i] = value;\n }\n };\n Arrays.copyOf = function (original, newLength) {\n return original.slice(0, newLength);\n };\n Arrays.copyOfUint8Array = function (original, newLength) {\n if (original.length <= newLength) {\n var newArray = new Uint8Array(newLength);\n newArray.set(original);\n return newArray;\n }\n return original.slice(0, newLength);\n };\n Arrays.copyOfRange = function (original, from, to) {\n var newLength = to - from;\n var copy = new Int32Array(newLength);\n System.arraycopy(original, from, copy, 0, newLength);\n return copy;\n };\n /*\n * Returns the index of of the element in a sorted array or (-n-1) where n is the insertion point\n * for the new element.\n * Parameters:\n * ar - A sorted array\n * el - An element to search for\n * comparator - A comparator function. The function takes two arguments: (a, b) and returns:\n * a negative number if a is less than b;\n * 0 if a is equal to b;\n * a positive number of a is greater than b.\n * The array may contain duplicate elements. If there are more than one equal elements in the array,\n * the returned value can be the index of any one of the equal elements.\n *\n * http://jsfiddle.net/aryzhov/pkfst550/\n */\n Arrays.binarySearch = function (ar, el, comparator) {\n if (undefined === comparator) {\n comparator = Arrays.numberComparator;\n }\n var m = 0;\n var n = ar.length - 1;\n while (m <= n) {\n var k = (n + m) >> 1;\n var cmp = comparator(el, ar[k]);\n if (cmp > 0) {\n m = k + 1;\n }\n else if (cmp < 0) {\n n = k - 1;\n }\n else {\n return k;\n }\n }\n return -m - 1;\n };\n Arrays.numberComparator = function (a, b) {\n return a - b;\n };\n return Arrays;\n}());\nexport default Arrays;\n","/**\n * Ponyfill for Java's Integer class.\n */\nvar Integer = /** @class */ (function () {\n function Integer() {\n }\n Integer.numberOfTrailingZeros = function (i) {\n var y;\n if (i === 0)\n return 32;\n var n = 31;\n y = i << 16;\n if (y !== 0) {\n n -= 16;\n i = y;\n }\n y = i << 8;\n if (y !== 0) {\n n -= 8;\n i = y;\n }\n y = i << 4;\n if (y !== 0) {\n n -= 4;\n i = y;\n }\n y = i << 2;\n if (y !== 0) {\n n -= 2;\n i = y;\n }\n return n - ((i << 1) >>> 31);\n };\n Integer.numberOfLeadingZeros = function (i) {\n // HD, Figure 5-6\n if (i === 0) {\n return 32;\n }\n var n = 1;\n if (i >>> 16 === 0) {\n n += 16;\n i <<= 16;\n }\n if (i >>> 24 === 0) {\n n += 8;\n i <<= 8;\n }\n if (i >>> 28 === 0) {\n n += 4;\n i <<= 4;\n }\n if (i >>> 30 === 0) {\n n += 2;\n i <<= 2;\n }\n n -= i >>> 31;\n return n;\n };\n Integer.toHexString = function (i) {\n return i.toString(16);\n };\n Integer.toBinaryString = function (intNumber) {\n return String(parseInt(String(intNumber), 2));\n };\n // Returns the number of one-bits in the two's complement binary representation of the specified int value. This function is sometimes referred to as the population count.\n // Returns:\n // the number of one-bits in the two's complement binary representation of the specified int value.\n Integer.bitCount = function (i) {\n // HD, Figure 5-2\n i = i - ((i >>> 1) & 0x55555555);\n i = (i & 0x33333333) + ((i >>> 2) & 0x33333333);\n i = (i + (i >>> 4)) & 0x0f0f0f0f;\n i = i + (i >>> 8);\n i = i + (i >>> 16);\n return i & 0x3f;\n };\n Integer.truncDivision = function (dividend, divisor) {\n return Math.trunc(dividend / divisor);\n };\n /**\n * Converts A string to an integer.\n * @param s A string to convert into a number.\n * @param radix A value between 2 and 36 that specifies the base of the number in numString. If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. All other strings are considered decimal.\n */\n Integer.parseInt = function (num, radix) {\n if (radix === void 0) { radix = undefined; }\n return parseInt(num, radix);\n };\n Integer.MIN_VALUE_32_BITS = -2147483648;\n Integer.MAX_VALUE = Number.MAX_SAFE_INTEGER;\n return Integer;\n}());\nexport default Integer;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common {*/\n/*import java.util.Arrays;*/\nimport IllegalArgumentException from '../IllegalArgumentException';\nimport Arrays from '../util/Arrays';\nimport Integer from '../util/Integer';\nimport System from '../util/System';\n/**\n *

A simple, fast array of bits, represented compactly by an array of ints internally.

\n *\n * @author Sean Owen\n */\nvar BitArray /*implements Cloneable*/ = /** @class */ (function () {\n // public constructor() {\n // this.size = 0\n // this.bits = new Int32Array(1)\n // }\n // public constructor(size?: number /*int*/) {\n // if (undefined === size) {\n // this.size = 0\n // } else {\n // this.size = size\n // }\n // this.bits = this.makeArray(size)\n // }\n // For testing only\n function BitArray(size /*int*/, bits) {\n if (undefined === size) {\n this.size = 0;\n this.bits = new Int32Array(1);\n }\n else {\n this.size = size;\n if (undefined === bits || null === bits) {\n this.bits = BitArray.makeArray(size);\n }\n else {\n this.bits = bits;\n }\n }\n }\n BitArray.prototype.getSize = function () {\n return this.size;\n };\n BitArray.prototype.getSizeInBytes = function () {\n return Math.floor((this.size + 7) / 8);\n };\n BitArray.prototype.ensureCapacity = function (size /*int*/) {\n if (size > this.bits.length * 32) {\n var newBits = BitArray.makeArray(size);\n System.arraycopy(this.bits, 0, newBits, 0, this.bits.length);\n this.bits = newBits;\n }\n };\n /**\n * @param i bit to get\n * @return true iff bit i is set\n */\n BitArray.prototype.get = function (i /*int*/) {\n return (this.bits[Math.floor(i / 32)] & (1 << (i & 0x1F))) !== 0;\n };\n /**\n * Sets bit i.\n *\n * @param i bit to set\n */\n BitArray.prototype.set = function (i /*int*/) {\n this.bits[Math.floor(i / 32)] |= 1 << (i & 0x1F);\n };\n /**\n * Flips bit i.\n *\n * @param i bit to set\n */\n BitArray.prototype.flip = function (i /*int*/) {\n this.bits[Math.floor(i / 32)] ^= 1 << (i & 0x1F);\n };\n /**\n * @param from first bit to check\n * @return index of first bit that is set, starting from the given index, or size if none are set\n * at or beyond this given index\n * @see #getNextUnset(int)\n */\n BitArray.prototype.getNextSet = function (from /*int*/) {\n var size = this.size;\n if (from >= size) {\n return size;\n }\n var bits = this.bits;\n var bitsOffset = Math.floor(from / 32);\n var currentBits = bits[bitsOffset];\n // mask off lesser bits first\n currentBits &= ~((1 << (from & 0x1F)) - 1);\n var length = bits.length;\n while (currentBits === 0) {\n if (++bitsOffset === length) {\n return size;\n }\n currentBits = bits[bitsOffset];\n }\n var result = (bitsOffset * 32) + Integer.numberOfTrailingZeros(currentBits);\n return result > size ? size : result;\n };\n /**\n * @param from index to start looking for unset bit\n * @return index of next unset bit, or {@code size} if none are unset until the end\n * @see #getNextSet(int)\n */\n BitArray.prototype.getNextUnset = function (from /*int*/) {\n var size = this.size;\n if (from >= size) {\n return size;\n }\n var bits = this.bits;\n var bitsOffset = Math.floor(from / 32);\n var currentBits = ~bits[bitsOffset];\n // mask off lesser bits first\n currentBits &= ~((1 << (from & 0x1F)) - 1);\n var length = bits.length;\n while (currentBits === 0) {\n if (++bitsOffset === length) {\n return size;\n }\n currentBits = ~bits[bitsOffset];\n }\n var result = (bitsOffset * 32) + Integer.numberOfTrailingZeros(currentBits);\n return result > size ? size : result;\n };\n /**\n * Sets a block of 32 bits, starting at bit i.\n *\n * @param i first bit to set\n * @param newBits the new value of the next 32 bits. Note again that the least-significant bit\n * corresponds to bit i, the next-least-significant to i+1, and so on.\n */\n BitArray.prototype.setBulk = function (i /*int*/, newBits /*int*/) {\n this.bits[Math.floor(i / 32)] = newBits;\n };\n /**\n * Sets a range of bits.\n *\n * @param start start of range, inclusive.\n * @param end end of range, exclusive\n */\n BitArray.prototype.setRange = function (start /*int*/, end /*int*/) {\n if (end < start || start < 0 || end > this.size) {\n throw new IllegalArgumentException();\n }\n if (end === start) {\n return;\n }\n end--; // will be easier to treat this as the last actually set bit -- inclusive\n var firstInt = Math.floor(start / 32);\n var lastInt = Math.floor(end / 32);\n var bits = this.bits;\n for (var i = firstInt; i <= lastInt; i++) {\n var firstBit = i > firstInt ? 0 : start & 0x1F;\n var lastBit = i < lastInt ? 31 : end & 0x1F;\n // Ones from firstBit to lastBit, inclusive\n var mask = (2 << lastBit) - (1 << firstBit);\n bits[i] |= mask;\n }\n };\n /**\n * Clears all bits (sets to false).\n */\n BitArray.prototype.clear = function () {\n var max = this.bits.length;\n var bits = this.bits;\n for (var i = 0; i < max; i++) {\n bits[i] = 0;\n }\n };\n /**\n * Efficient method to check if a range of bits is set, or not set.\n *\n * @param start start of range, inclusive.\n * @param end end of range, exclusive\n * @param value if true, checks that bits in range are set, otherwise checks that they are not set\n * @return true iff all bits are set or not set in range, according to value argument\n * @throws IllegalArgumentException if end is less than start or the range is not contained in the array\n */\n BitArray.prototype.isRange = function (start /*int*/, end /*int*/, value) {\n if (end < start || start < 0 || end > this.size) {\n throw new IllegalArgumentException();\n }\n if (end === start) {\n return true; // empty range matches\n }\n end--; // will be easier to treat this as the last actually set bit -- inclusive\n var firstInt = Math.floor(start / 32);\n var lastInt = Math.floor(end / 32);\n var bits = this.bits;\n for (var i = firstInt; i <= lastInt; i++) {\n var firstBit = i > firstInt ? 0 : start & 0x1F;\n var lastBit = i < lastInt ? 31 : end & 0x1F;\n // Ones from firstBit to lastBit, inclusive\n var mask = (2 << lastBit) - (1 << firstBit) & 0xFFFFFFFF;\n // TYPESCRIPTPORT: & 0xFFFFFFFF added to discard anything after 32 bits, as ES has 53 bits\n // Return false if we're looking for 1s and the masked bits[i] isn't all 1s (is: that,\n // equals the mask, or we're looking for 0s and the masked portion is not all 0s\n if ((bits[i] & mask) !== (value ? mask : 0)) {\n return false;\n }\n }\n return true;\n };\n BitArray.prototype.appendBit = function (bit) {\n this.ensureCapacity(this.size + 1);\n if (bit) {\n this.bits[Math.floor(this.size / 32)] |= 1 << (this.size & 0x1F);\n }\n this.size++;\n };\n /**\n * Appends the least-significant bits, from value, in order from most-significant to\n * least-significant. For example, appending 6 bits from 0x000001E will append the bits\n * 0, 1, 1, 1, 1, 0 in that order.\n *\n * @param value {@code int} containing bits to append\n * @param numBits bits from value to append\n */\n BitArray.prototype.appendBits = function (value /*int*/, numBits /*int*/) {\n if (numBits < 0 || numBits > 32) {\n throw new IllegalArgumentException('Num bits must be between 0 and 32');\n }\n this.ensureCapacity(this.size + numBits);\n // const appendBit = this.appendBit;\n for (var numBitsLeft = numBits; numBitsLeft > 0; numBitsLeft--) {\n this.appendBit(((value >> (numBitsLeft - 1)) & 0x01) === 1);\n }\n };\n BitArray.prototype.appendBitArray = function (other) {\n var otherSize = other.size;\n this.ensureCapacity(this.size + otherSize);\n // const appendBit = this.appendBit;\n for (var i = 0; i < otherSize; i++) {\n this.appendBit(other.get(i));\n }\n };\n BitArray.prototype.xor = function (other) {\n if (this.size !== other.size) {\n throw new IllegalArgumentException('Sizes don\\'t match');\n }\n var bits = this.bits;\n for (var i = 0, length_1 = bits.length; i < length_1; i++) {\n // The last int could be incomplete (i.e. not have 32 bits in\n // it) but there is no problem since 0 XOR 0 == 0.\n bits[i] ^= other.bits[i];\n }\n };\n /**\n *\n * @param bitOffset first bit to start writing\n * @param array array to write into. Bytes are written most-significant byte first. This is the opposite\n * of the internal representation, which is exposed by {@link #getBitArray()}\n * @param offset position in array to start writing\n * @param numBytes how many bytes to write\n */\n BitArray.prototype.toBytes = function (bitOffset /*int*/, array, offset /*int*/, numBytes /*int*/) {\n for (var i = 0; i < numBytes; i++) {\n var theByte = 0;\n for (var j = 0; j < 8; j++) {\n if (this.get(bitOffset)) {\n theByte |= 1 << (7 - j);\n }\n bitOffset++;\n }\n array[offset + i] = /*(byte)*/ theByte;\n }\n };\n /**\n * @return underlying array of ints. The first element holds the first 32 bits, and the least\n * significant bit is bit 0.\n */\n BitArray.prototype.getBitArray = function () {\n return this.bits;\n };\n /**\n * Reverses all bits in the array.\n */\n BitArray.prototype.reverse = function () {\n var newBits = new Int32Array(this.bits.length);\n // reverse all int's first\n var len = Math.floor((this.size - 1) / 32);\n var oldBitsLen = len + 1;\n var bits = this.bits;\n for (var i = 0; i < oldBitsLen; i++) {\n var x = bits[i];\n x = ((x >> 1) & 0x55555555) | ((x & 0x55555555) << 1);\n x = ((x >> 2) & 0x33333333) | ((x & 0x33333333) << 2);\n x = ((x >> 4) & 0x0f0f0f0f) | ((x & 0x0f0f0f0f) << 4);\n x = ((x >> 8) & 0x00ff00ff) | ((x & 0x00ff00ff) << 8);\n x = ((x >> 16) & 0x0000ffff) | ((x & 0x0000ffff) << 16);\n newBits[len - i] = /*(int)*/ x;\n }\n // now correct the int's if the bit size isn't a multiple of 32\n if (this.size !== oldBitsLen * 32) {\n var leftOffset = oldBitsLen * 32 - this.size;\n var currentInt = newBits[0] >>> leftOffset;\n for (var i = 1; i < oldBitsLen; i++) {\n var nextInt = newBits[i];\n currentInt |= nextInt << (32 - leftOffset);\n newBits[i - 1] = currentInt;\n currentInt = nextInt >>> leftOffset;\n }\n newBits[oldBitsLen - 1] = currentInt;\n }\n this.bits = newBits;\n };\n BitArray.makeArray = function (size /*int*/) {\n return new Int32Array(Math.floor((size + 31) / 32));\n };\n /*@Override*/\n BitArray.prototype.equals = function (o) {\n if (!(o instanceof BitArray)) {\n return false;\n }\n var other = o;\n return this.size === other.size && Arrays.equals(this.bits, other.bits);\n };\n /*@Override*/\n BitArray.prototype.hashCode = function () {\n return 31 * this.size + Arrays.hashCode(this.bits);\n };\n /*@Override*/\n BitArray.prototype.toString = function () {\n var result = '';\n for (var i = 0, size = this.size; i < size; i++) {\n if ((i & 0x07) === 0) {\n result += ' ';\n }\n result += this.get(i) ? 'X' : '.';\n }\n return result;\n };\n /*@Override*/\n BitArray.prototype.clone = function () {\n return new BitArray(this.size, this.bits.slice());\n };\n /**\n * converts to boolean array.\n */\n BitArray.prototype.toArray = function () {\n var result = [];\n for (var i = 0, size = this.size; i < size; i++) {\n result.push(this.get(i));\n }\n return result;\n };\n return BitArray;\n}());\nexport default BitArray;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.common {*/\nimport FormatException from '../FormatException';\n/*import java.util.HashMap;*/\n/*import java.util.Map;*/\nexport var CharacterSetValueIdentifiers;\n(function (CharacterSetValueIdentifiers) {\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp437\"] = 0] = \"Cp437\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_1\"] = 1] = \"ISO8859_1\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_2\"] = 2] = \"ISO8859_2\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_3\"] = 3] = \"ISO8859_3\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_4\"] = 4] = \"ISO8859_4\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_5\"] = 5] = \"ISO8859_5\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_6\"] = 6] = \"ISO8859_6\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_7\"] = 7] = \"ISO8859_7\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_8\"] = 8] = \"ISO8859_8\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_9\"] = 9] = \"ISO8859_9\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_10\"] = 10] = \"ISO8859_10\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_11\"] = 11] = \"ISO8859_11\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_13\"] = 12] = \"ISO8859_13\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_14\"] = 13] = \"ISO8859_14\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_15\"] = 14] = \"ISO8859_15\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_16\"] = 15] = \"ISO8859_16\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"SJIS\"] = 16] = \"SJIS\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1250\"] = 17] = \"Cp1250\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1251\"] = 18] = \"Cp1251\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1252\"] = 19] = \"Cp1252\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1256\"] = 20] = \"Cp1256\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"UnicodeBigUnmarked\"] = 21] = \"UnicodeBigUnmarked\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"UTF8\"] = 22] = \"UTF8\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ASCII\"] = 23] = \"ASCII\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Big5\"] = 24] = \"Big5\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"GB18030\"] = 25] = \"GB18030\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"EUC_KR\"] = 26] = \"EUC_KR\";\n})(CharacterSetValueIdentifiers || (CharacterSetValueIdentifiers = {}));\n/**\n * Encapsulates a Character Set ECI, according to \"Extended Channel Interpretations\" 5.3.1.1\n * of ISO 18004.\n *\n * @author Sean Owen\n */\nvar CharacterSetECI = /** @class */ (function () {\n function CharacterSetECI(valueIdentifier, valuesParam, name) {\n var e_1, _a;\n var otherEncodingNames = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n otherEncodingNames[_i - 3] = arguments[_i];\n }\n this.valueIdentifier = valueIdentifier;\n this.name = name;\n if (typeof valuesParam === 'number') {\n this.values = Int32Array.from([valuesParam]);\n }\n else {\n this.values = valuesParam;\n }\n this.otherEncodingNames = otherEncodingNames;\n CharacterSetECI.VALUE_IDENTIFIER_TO_ECI.set(valueIdentifier, this);\n CharacterSetECI.NAME_TO_ECI.set(name, this);\n var values = this.values;\n for (var i = 0, length_1 = values.length; i !== length_1; i++) {\n var v = values[i];\n CharacterSetECI.VALUES_TO_ECI.set(v, this);\n }\n try {\n for (var otherEncodingNames_1 = __values(otherEncodingNames), otherEncodingNames_1_1 = otherEncodingNames_1.next(); !otherEncodingNames_1_1.done; otherEncodingNames_1_1 = otherEncodingNames_1.next()) {\n var otherName = otherEncodingNames_1_1.value;\n CharacterSetECI.NAME_TO_ECI.set(otherName, this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (otherEncodingNames_1_1 && !otherEncodingNames_1_1.done && (_a = otherEncodingNames_1.return)) _a.call(otherEncodingNames_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n // CharacterSetECI(value: number /*int*/) {\n // this(new Int32Array {value})\n // }\n // CharacterSetECI(value: number /*int*/, String... otherEncodingNames) {\n // this.values = new Int32Array {value}\n // this.otherEncodingNames = otherEncodingNames\n // }\n // CharacterSetECI(values: Int32Array, String... otherEncodingNames) {\n // this.values = values\n // this.otherEncodingNames = otherEncodingNames\n // }\n CharacterSetECI.prototype.getValueIdentifier = function () {\n return this.valueIdentifier;\n };\n CharacterSetECI.prototype.getName = function () {\n return this.name;\n };\n CharacterSetECI.prototype.getValue = function () {\n return this.values[0];\n };\n /**\n * @param value character set ECI value\n * @return {@code CharacterSetECI} representing ECI of given value, or null if it is legal but\n * unsupported\n * @throws FormatException if ECI value is invalid\n */\n CharacterSetECI.getCharacterSetECIByValue = function (value /*int*/) {\n if (value < 0 || value >= 900) {\n throw new FormatException('incorect value');\n }\n var characterSet = CharacterSetECI.VALUES_TO_ECI.get(value);\n if (undefined === characterSet) {\n throw new FormatException('incorect value');\n }\n return characterSet;\n };\n /**\n * @param name character set ECI encoding name\n * @return CharacterSetECI representing ECI for character encoding, or null if it is legal\n * but unsupported\n */\n CharacterSetECI.getCharacterSetECIByName = function (name) {\n var characterSet = CharacterSetECI.NAME_TO_ECI.get(name);\n if (undefined === characterSet) {\n throw new FormatException('incorect value');\n }\n return characterSet;\n };\n CharacterSetECI.prototype.equals = function (o) {\n if (!(o instanceof CharacterSetECI)) {\n return false;\n }\n var other = o;\n return this.getName() === other.getName();\n };\n CharacterSetECI.VALUE_IDENTIFIER_TO_ECI = new Map();\n CharacterSetECI.VALUES_TO_ECI = new Map();\n CharacterSetECI.NAME_TO_ECI = new Map();\n // Enum name is a Java encoding valid for java.lang and java.io\n // TYPESCRIPTPORT: changed the main label for ISO as the TextEncoder did not recognized them in the form from java\n // (eg ISO8859_1 must be ISO88591 or ISO8859-1 or ISO-8859-1)\n // later on: well, except 16 wich does not work with ISO885916 so used ISO-8859-1 form for default\n CharacterSetECI.Cp437 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp437, Int32Array.from([0, 2]), 'Cp437');\n CharacterSetECI.ISO8859_1 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_1, Int32Array.from([1, 3]), 'ISO-8859-1', 'ISO88591', 'ISO8859_1');\n CharacterSetECI.ISO8859_2 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_2, 4, 'ISO-8859-2', 'ISO88592', 'ISO8859_2');\n CharacterSetECI.ISO8859_3 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_3, 5, 'ISO-8859-3', 'ISO88593', 'ISO8859_3');\n CharacterSetECI.ISO8859_4 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_4, 6, 'ISO-8859-4', 'ISO88594', 'ISO8859_4');\n CharacterSetECI.ISO8859_5 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_5, 7, 'ISO-8859-5', 'ISO88595', 'ISO8859_5');\n CharacterSetECI.ISO8859_6 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_6, 8, 'ISO-8859-6', 'ISO88596', 'ISO8859_6');\n CharacterSetECI.ISO8859_7 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_7, 9, 'ISO-8859-7', 'ISO88597', 'ISO8859_7');\n CharacterSetECI.ISO8859_8 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_8, 10, 'ISO-8859-8', 'ISO88598', 'ISO8859_8');\n CharacterSetECI.ISO8859_9 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_9, 11, 'ISO-8859-9', 'ISO88599', 'ISO8859_9');\n CharacterSetECI.ISO8859_10 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_10, 12, 'ISO-8859-10', 'ISO885910', 'ISO8859_10');\n CharacterSetECI.ISO8859_11 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_11, 13, 'ISO-8859-11', 'ISO885911', 'ISO8859_11');\n CharacterSetECI.ISO8859_13 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_13, 15, 'ISO-8859-13', 'ISO885913', 'ISO8859_13');\n CharacterSetECI.ISO8859_14 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_14, 16, 'ISO-8859-14', 'ISO885914', 'ISO8859_14');\n CharacterSetECI.ISO8859_15 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_15, 17, 'ISO-8859-15', 'ISO885915', 'ISO8859_15');\n CharacterSetECI.ISO8859_16 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_16, 18, 'ISO-8859-16', 'ISO885916', 'ISO8859_16');\n CharacterSetECI.SJIS = new CharacterSetECI(CharacterSetValueIdentifiers.SJIS, 20, 'SJIS', 'Shift_JIS');\n CharacterSetECI.Cp1250 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1250, 21, 'Cp1250', 'windows-1250');\n CharacterSetECI.Cp1251 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1251, 22, 'Cp1251', 'windows-1251');\n CharacterSetECI.Cp1252 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1252, 23, 'Cp1252', 'windows-1252');\n CharacterSetECI.Cp1256 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1256, 24, 'Cp1256', 'windows-1256');\n CharacterSetECI.UnicodeBigUnmarked = new CharacterSetECI(CharacterSetValueIdentifiers.UnicodeBigUnmarked, 25, 'UnicodeBigUnmarked', 'UTF-16BE', 'UnicodeBig');\n CharacterSetECI.UTF8 = new CharacterSetECI(CharacterSetValueIdentifiers.UTF8, 26, 'UTF8', 'UTF-8');\n CharacterSetECI.ASCII = new CharacterSetECI(CharacterSetValueIdentifiers.ASCII, Int32Array.from([27, 170]), 'ASCII', 'US-ASCII');\n CharacterSetECI.Big5 = new CharacterSetECI(CharacterSetValueIdentifiers.Big5, 28, 'Big5');\n CharacterSetECI.GB18030 = new CharacterSetECI(CharacterSetValueIdentifiers.GB18030, 29, 'GB18030', 'GB2312', 'EUC_CN', 'GBK');\n CharacterSetECI.EUC_KR = new CharacterSetECI(CharacterSetValueIdentifiers.EUC_KR, 30, 'EUC_KR', 'EUC-KR');\n return CharacterSetECI;\n}());\nexport default CharacterSetECI;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar FormatException = /** @class */ (function (_super) {\n __extends(FormatException, _super);\n function FormatException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FormatException.getFormatInstance = function () {\n return new FormatException();\n };\n FormatException.kind = 'FormatException';\n return FormatException;\n}(Exception));\nexport default FormatException;\n","/*\n * Direct port to TypeScript of ZXing by Adrian Toșcă\n */\n/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing {*/\n/**\n * Enumerates barcode formats known to this package. Please keep alphabetized.\n *\n * @author Sean Owen\n */\nvar BarcodeFormat;\n(function (BarcodeFormat) {\n /** Aztec 2D barcode format. */\n BarcodeFormat[BarcodeFormat[\"AZTEC\"] = 0] = \"AZTEC\";\n /** CODABAR 1D format. */\n BarcodeFormat[BarcodeFormat[\"CODABAR\"] = 1] = \"CODABAR\";\n /** Code 39 1D format. */\n BarcodeFormat[BarcodeFormat[\"CODE_39\"] = 2] = \"CODE_39\";\n /** Code 93 1D format. */\n BarcodeFormat[BarcodeFormat[\"CODE_93\"] = 3] = \"CODE_93\";\n /** Code 128 1D format. */\n BarcodeFormat[BarcodeFormat[\"CODE_128\"] = 4] = \"CODE_128\";\n /** Data Matrix 2D barcode format. */\n BarcodeFormat[BarcodeFormat[\"DATA_MATRIX\"] = 5] = \"DATA_MATRIX\";\n /** EAN-8 1D format. */\n BarcodeFormat[BarcodeFormat[\"EAN_8\"] = 6] = \"EAN_8\";\n /** EAN-13 1D format. */\n BarcodeFormat[BarcodeFormat[\"EAN_13\"] = 7] = \"EAN_13\";\n /** ITF (Interleaved Two of Five) 1D format. */\n BarcodeFormat[BarcodeFormat[\"ITF\"] = 8] = \"ITF\";\n /** MaxiCode 2D barcode format. */\n BarcodeFormat[BarcodeFormat[\"MAXICODE\"] = 9] = \"MAXICODE\";\n /** PDF417 format. */\n BarcodeFormat[BarcodeFormat[\"PDF_417\"] = 10] = \"PDF_417\";\n /** QR Code 2D barcode format. */\n BarcodeFormat[BarcodeFormat[\"QR_CODE\"] = 11] = \"QR_CODE\";\n /** RSS 14 */\n BarcodeFormat[BarcodeFormat[\"RSS_14\"] = 12] = \"RSS_14\";\n /** RSS EXPANDED */\n BarcodeFormat[BarcodeFormat[\"RSS_EXPANDED\"] = 13] = \"RSS_EXPANDED\";\n /** UPC-A 1D format. */\n BarcodeFormat[BarcodeFormat[\"UPC_A\"] = 14] = \"UPC_A\";\n /** UPC-E 1D format. */\n BarcodeFormat[BarcodeFormat[\"UPC_E\"] = 15] = \"UPC_E\";\n /** UPC/EAN extension format. Not a stand-alone format. */\n BarcodeFormat[BarcodeFormat[\"UPC_EAN_EXTENSION\"] = 16] = \"UPC_EAN_EXTENSION\";\n})(BarcodeFormat || (BarcodeFormat = {}));\nexport default BarcodeFormat;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar UnsupportedOperationException = /** @class */ (function (_super) {\n __extends(UnsupportedOperationException, _super);\n function UnsupportedOperationException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n UnsupportedOperationException.kind = 'UnsupportedOperationException';\n return UnsupportedOperationException;\n}(Exception));\nexport default UnsupportedOperationException;\n","import UnsupportedOperationException from '../UnsupportedOperationException';\nimport CharacterSetECI from '../common/CharacterSetECI';\n/**\n * Responsible for en/decoding strings.\n */\nvar StringEncoding = /** @class */ (function () {\n function StringEncoding() {\n }\n /**\n * Decodes some Uint8Array to a string format.\n */\n StringEncoding.decode = function (bytes, encoding) {\n var encodingName = this.encodingName(encoding);\n if (this.customDecoder) {\n return this.customDecoder(bytes, encodingName);\n }\n // Increases browser support.\n if (typeof TextDecoder === 'undefined' || this.shouldDecodeOnFallback(encodingName)) {\n return this.decodeFallback(bytes, encodingName);\n }\n return new TextDecoder(encodingName).decode(bytes);\n };\n /**\n * Checks if the decoding method should use the fallback for decoding\n * once Node TextDecoder doesn't support all encoding formats.\n *\n * @param encodingName\n */\n StringEncoding.shouldDecodeOnFallback = function (encodingName) {\n return !StringEncoding.isBrowser() && encodingName === 'ISO-8859-1';\n };\n /**\n * Encodes some string into a Uint8Array.\n */\n StringEncoding.encode = function (s, encoding) {\n var encodingName = this.encodingName(encoding);\n if (this.customEncoder) {\n return this.customEncoder(s, encodingName);\n }\n // Increases browser support.\n if (typeof TextEncoder === 'undefined') {\n return this.encodeFallback(s);\n }\n // TextEncoder only encodes to UTF8 by default as specified by encoding.spec.whatwg.org\n return new TextEncoder().encode(s);\n };\n StringEncoding.isBrowser = function () {\n return (typeof window !== 'undefined' && {}.toString.call(window) === '[object Window]');\n };\n /**\n * Returns the string value from some encoding character set.\n */\n StringEncoding.encodingName = function (encoding) {\n return typeof encoding === 'string'\n ? encoding\n : encoding.getName();\n };\n /**\n * Returns character set from some encoding character set.\n */\n StringEncoding.encodingCharacterSet = function (encoding) {\n if (encoding instanceof CharacterSetECI) {\n return encoding;\n }\n return CharacterSetECI.getCharacterSetECIByName(encoding);\n };\n /**\n * Runs a fallback for the native decoding funcion.\n */\n StringEncoding.decodeFallback = function (bytes, encoding) {\n var characterSet = this.encodingCharacterSet(encoding);\n if (StringEncoding.isDecodeFallbackSupported(characterSet)) {\n var s = '';\n for (var i = 0, length_1 = bytes.length; i < length_1; i++) {\n var h = bytes[i].toString(16);\n if (h.length < 2) {\n h = '0' + h;\n }\n s += '%' + h;\n }\n return decodeURIComponent(s);\n }\n if (characterSet.equals(CharacterSetECI.UnicodeBigUnmarked)) {\n return String.fromCharCode.apply(null, new Uint16Array(bytes.buffer));\n }\n throw new UnsupportedOperationException(\"Encoding \" + this.encodingName(encoding) + \" not supported by fallback.\");\n };\n StringEncoding.isDecodeFallbackSupported = function (characterSet) {\n return characterSet.equals(CharacterSetECI.UTF8) ||\n characterSet.equals(CharacterSetECI.ISO8859_1) ||\n characterSet.equals(CharacterSetECI.ASCII);\n };\n /**\n * Runs a fallback for the native encoding funcion.\n *\n * @see https://stackoverflow.com/a/17192845/4367683\n */\n StringEncoding.encodeFallback = function (s) {\n var encodedURIstring = btoa(unescape(encodeURIComponent(s)));\n var charList = encodedURIstring.split('');\n var uintArray = [];\n for (var i = 0; i < charList.length; i++) {\n uintArray.push(charList[i].charCodeAt(0));\n }\n return new Uint8Array(uintArray);\n };\n return StringEncoding;\n}());\nexport default StringEncoding;\n","/*\n * Copyright (C) 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common {*/\n/*import java.nio.charset.Charset;*/\n/*import java.util.Map;*/\nimport DecodeHintType from '../DecodeHintType';\nimport CharacterSetECI from './CharacterSetECI';\nimport StringEncoding from '../util/StringEncoding';\n/**\n * Common string-related functions.\n *\n * @author Sean Owen\n * @author Alex Dupre\n */\nvar StringUtils = /** @class */ (function () {\n function StringUtils() {\n }\n // SHIFT_JIS.equalsIgnoreCase(PLATFORM_DEFAULT_ENCODING) ||\n // EUC_JP.equalsIgnoreCase(PLATFORM_DEFAULT_ENCODING);\n StringUtils.castAsNonUtf8Char = function (code, encoding) {\n if (encoding === void 0) { encoding = null; }\n // ISO 8859-1 is the Java default as UTF-8 is JavaScripts\n // you can see this method as a Java version of String.fromCharCode\n var e = encoding ? encoding.getName() : this.ISO88591;\n // use passed format (fromCharCode will return UTF8 encoding)\n return StringEncoding.decode(new Uint8Array([code]), e);\n };\n /**\n * @param bytes bytes encoding a string, whose encoding should be guessed\n * @param hints decode hints if applicable\n * @return name of guessed encoding; at the moment will only guess one of:\n * {@link #SHIFT_JIS}, {@link #UTF8}, {@link #ISO88591}, or the platform\n * default encoding if none of these can possibly be correct\n */\n StringUtils.guessEncoding = function (bytes, hints) {\n if (hints !== null && hints !== undefined && undefined !== hints.get(DecodeHintType.CHARACTER_SET)) {\n return hints.get(DecodeHintType.CHARACTER_SET).toString();\n }\n // For now, merely tries to distinguish ISO-8859-1, UTF-8 and Shift_JIS,\n // which should be by far the most common encodings.\n var length = bytes.length;\n var canBeISO88591 = true;\n var canBeShiftJIS = true;\n var canBeUTF8 = true;\n var utf8BytesLeft = 0;\n // int utf8LowChars = 0\n var utf2BytesChars = 0;\n var utf3BytesChars = 0;\n var utf4BytesChars = 0;\n var sjisBytesLeft = 0;\n // int sjisLowChars = 0\n var sjisKatakanaChars = 0;\n // int sjisDoubleBytesChars = 0\n var sjisCurKatakanaWordLength = 0;\n var sjisCurDoubleBytesWordLength = 0;\n var sjisMaxKatakanaWordLength = 0;\n var sjisMaxDoubleBytesWordLength = 0;\n // int isoLowChars = 0\n // int isoHighChars = 0\n var isoHighOther = 0;\n var utf8bom = bytes.length > 3 &&\n bytes[0] === /*(byte) */ 0xEF &&\n bytes[1] === /*(byte) */ 0xBB &&\n bytes[2] === /*(byte) */ 0xBF;\n for (var i = 0; i < length && (canBeISO88591 || canBeShiftJIS || canBeUTF8); i++) {\n var value = bytes[i] & 0xFF;\n // UTF-8 stuff\n if (canBeUTF8) {\n if (utf8BytesLeft > 0) {\n if ((value & 0x80) === 0) {\n canBeUTF8 = false;\n }\n else {\n utf8BytesLeft--;\n }\n }\n else if ((value & 0x80) !== 0) {\n if ((value & 0x40) === 0) {\n canBeUTF8 = false;\n }\n else {\n utf8BytesLeft++;\n if ((value & 0x20) === 0) {\n utf2BytesChars++;\n }\n else {\n utf8BytesLeft++;\n if ((value & 0x10) === 0) {\n utf3BytesChars++;\n }\n else {\n utf8BytesLeft++;\n if ((value & 0x08) === 0) {\n utf4BytesChars++;\n }\n else {\n canBeUTF8 = false;\n }\n }\n }\n }\n } // else {\n // utf8LowChars++\n // }\n }\n // ISO-8859-1 stuff\n if (canBeISO88591) {\n if (value > 0x7F && value < 0xA0) {\n canBeISO88591 = false;\n }\n else if (value > 0x9F) {\n if (value < 0xC0 || value === 0xD7 || value === 0xF7) {\n isoHighOther++;\n } // else {\n // isoHighChars++\n // }\n } // else {\n // isoLowChars++\n // }\n }\n // Shift_JIS stuff\n if (canBeShiftJIS) {\n if (sjisBytesLeft > 0) {\n if (value < 0x40 || value === 0x7F || value > 0xFC) {\n canBeShiftJIS = false;\n }\n else {\n sjisBytesLeft--;\n }\n }\n else if (value === 0x80 || value === 0xA0 || value > 0xEF) {\n canBeShiftJIS = false;\n }\n else if (value > 0xA0 && value < 0xE0) {\n sjisKatakanaChars++;\n sjisCurDoubleBytesWordLength = 0;\n sjisCurKatakanaWordLength++;\n if (sjisCurKatakanaWordLength > sjisMaxKatakanaWordLength) {\n sjisMaxKatakanaWordLength = sjisCurKatakanaWordLength;\n }\n }\n else if (value > 0x7F) {\n sjisBytesLeft++;\n // sjisDoubleBytesChars++\n sjisCurKatakanaWordLength = 0;\n sjisCurDoubleBytesWordLength++;\n if (sjisCurDoubleBytesWordLength > sjisMaxDoubleBytesWordLength) {\n sjisMaxDoubleBytesWordLength = sjisCurDoubleBytesWordLength;\n }\n }\n else {\n // sjisLowChars++\n sjisCurKatakanaWordLength = 0;\n sjisCurDoubleBytesWordLength = 0;\n }\n }\n }\n if (canBeUTF8 && utf8BytesLeft > 0) {\n canBeUTF8 = false;\n }\n if (canBeShiftJIS && sjisBytesLeft > 0) {\n canBeShiftJIS = false;\n }\n // Easy -- if there is BOM or at least 1 valid not-single byte character (and no evidence it can't be UTF-8), done\n if (canBeUTF8 && (utf8bom || utf2BytesChars + utf3BytesChars + utf4BytesChars > 0)) {\n return StringUtils.UTF8;\n }\n // Easy -- if assuming Shift_JIS or at least 3 valid consecutive not-ascii characters (and no evidence it can't be), done\n if (canBeShiftJIS && (StringUtils.ASSUME_SHIFT_JIS || sjisMaxKatakanaWordLength >= 3 || sjisMaxDoubleBytesWordLength >= 3)) {\n return StringUtils.SHIFT_JIS;\n }\n // Distinguishing Shift_JIS and ISO-8859-1 can be a little tough for short words. The crude heuristic is:\n // - If we saw\n // - only two consecutive katakana chars in the whole text, or\n // - at least 10% of bytes that could be \"upper\" not-alphanumeric Latin1,\n // - then we conclude Shift_JIS, else ISO-8859-1\n if (canBeISO88591 && canBeShiftJIS) {\n return (sjisMaxKatakanaWordLength === 2 && sjisKatakanaChars === 2) || isoHighOther * 10 >= length\n ? StringUtils.SHIFT_JIS : StringUtils.ISO88591;\n }\n // Otherwise, try in order ISO-8859-1, Shift JIS, UTF-8 and fall back to default platform encoding\n if (canBeISO88591) {\n return StringUtils.ISO88591;\n }\n if (canBeShiftJIS) {\n return StringUtils.SHIFT_JIS;\n }\n if (canBeUTF8) {\n return StringUtils.UTF8;\n }\n // Otherwise, we take a wild guess with platform encoding\n return StringUtils.PLATFORM_DEFAULT_ENCODING;\n };\n /**\n *\n * @see https://stackoverflow.com/a/13439711/4367683\n *\n * @param append The new string to append.\n * @param args Argumets values to be formated.\n */\n StringUtils.format = function (append) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var i = -1;\n function callback(exp, p0, p1, p2, p3, p4) {\n if (exp === '%%')\n return '%';\n if (args[++i] === undefined)\n return undefined;\n exp = p2 ? parseInt(p2.substr(1)) : undefined;\n var base = p3 ? parseInt(p3.substr(1)) : undefined;\n var val;\n switch (p4) {\n case 's':\n val = args[i];\n break;\n case 'c':\n val = args[i][0];\n break;\n case 'f':\n val = parseFloat(args[i]).toFixed(exp);\n break;\n case 'p':\n val = parseFloat(args[i]).toPrecision(exp);\n break;\n case 'e':\n val = parseFloat(args[i]).toExponential(exp);\n break;\n case 'x':\n val = parseInt(args[i]).toString(base ? base : 16);\n break;\n case 'd':\n val = parseFloat(parseInt(args[i], base ? base : 10).toPrecision(exp)).toFixed(0);\n break;\n }\n val = typeof val === 'object' ? JSON.stringify(val) : (+val).toString(base);\n var size = parseInt(p1); /* padding size */\n var ch = p1 && (p1[0] + '') === '0' ? '0' : ' '; /* isnull? */\n while (val.length < size)\n val = p0 !== undefined ? val + ch : ch + val; /* isminus? */\n return val;\n }\n var regex = /%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;\n return append.replace(regex, callback);\n };\n /**\n *\n */\n StringUtils.getBytes = function (str, encoding) {\n return StringEncoding.encode(str, encoding);\n };\n /**\n * Returns the charcode at the specified index or at index zero.\n */\n StringUtils.getCharCode = function (str, index) {\n if (index === void 0) { index = 0; }\n return str.charCodeAt(index);\n };\n /**\n * Returns char for given charcode\n */\n StringUtils.getCharAt = function (charCode) {\n return String.fromCharCode(charCode);\n };\n StringUtils.SHIFT_JIS = CharacterSetECI.SJIS.getName(); // \"SJIS\"\n StringUtils.GB2312 = 'GB2312';\n StringUtils.ISO88591 = CharacterSetECI.ISO8859_1.getName(); // \"ISO8859_1\"\n StringUtils.EUC_JP = 'EUC_JP';\n StringUtils.UTF8 = CharacterSetECI.UTF8.getName(); // \"UTF8\"\n StringUtils.PLATFORM_DEFAULT_ENCODING = StringUtils.UTF8; // \"UTF8\"//Charset.defaultCharset().name()\n StringUtils.ASSUME_SHIFT_JIS = false;\n return StringUtils;\n}());\nexport default StringUtils;\n","import StringUtils from '../common/StringUtils';\nvar StringBuilder = /** @class */ (function () {\n function StringBuilder(value) {\n if (value === void 0) { value = ''; }\n this.value = value;\n }\n StringBuilder.prototype.enableDecoding = function (encoding) {\n this.encoding = encoding;\n return this;\n };\n StringBuilder.prototype.append = function (s) {\n if (typeof s === 'string') {\n this.value += s.toString();\n }\n else if (this.encoding) {\n // use passed format (fromCharCode will return UTF8 encoding)\n this.value += StringUtils.castAsNonUtf8Char(s, this.encoding);\n }\n else {\n // correctly converts from UTF-8, but not other encodings\n this.value += String.fromCharCode(s);\n }\n return this;\n };\n StringBuilder.prototype.appendChars = function (str, offset, len) {\n for (var i = offset; offset < offset + len; i++) {\n this.append(str[i]);\n }\n return this;\n };\n StringBuilder.prototype.length = function () {\n return this.value.length;\n };\n StringBuilder.prototype.charAt = function (n) {\n return this.value.charAt(n);\n };\n StringBuilder.prototype.deleteCharAt = function (n) {\n this.value = this.value.substr(0, n) + this.value.substring(n + 1);\n };\n StringBuilder.prototype.setCharAt = function (n, c) {\n this.value = this.value.substr(0, n) + c + this.value.substr(n + 1);\n };\n StringBuilder.prototype.substring = function (start, end) {\n return this.value.substring(start, end);\n };\n /**\n * @note helper method for RSS Expanded\n */\n StringBuilder.prototype.setLengthToZero = function () {\n this.value = '';\n };\n StringBuilder.prototype.toString = function () {\n return this.value;\n };\n StringBuilder.prototype.insert = function (n, c) {\n this.value = this.value.substring(0, n) + c + this.value.substring(n);\n };\n return StringBuilder;\n}());\nexport default StringBuilder;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common {*/\n/*import java.util.Arrays;*/\nimport BitArray from './BitArray';\nimport System from '../util/System';\nimport Arrays from '../util/Arrays';\nimport StringBuilder from '../util/StringBuilder';\nimport IllegalArgumentException from '../IllegalArgumentException';\n/**\n *

Represents a 2D matrix of bits. In function arguments below, and throughout the common\n * module, x is the column position, and y is the row position. The ordering is always x, y.\n * The origin is at the top-left.

\n *\n *

Internally the bits are represented in a 1-D array of 32-bit ints. However, each row begins\n * with a new int. This is done intentionally so that we can copy out a row into a BitArray very\n * efficiently.

\n *\n *

The ordering of bits is row-major. Within each int, the least significant bits are used first,\n * meaning they represent lower x values. This is compatible with BitArray's implementation.

\n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar BitMatrix /*implements Cloneable*/ = /** @class */ (function () {\n /**\n * Creates an empty square {@link BitMatrix}.\n *\n * @param dimension height and width\n */\n // public constructor(dimension: number /*int*/) {\n // this(dimension, dimension)\n // }\n /**\n * Creates an empty {@link BitMatrix}.\n *\n * @param width bit matrix width\n * @param height bit matrix height\n */\n // public constructor(width: number /*int*/, height: number /*int*/) {\n // if (width < 1 || height < 1) {\n // throw new IllegalArgumentException(\"Both dimensions must be greater than 0\")\n // }\n // this.width = width\n // this.height = height\n // this.rowSize = (width + 31) / 32\n // bits = new int[rowSize * height];\n // }\n function BitMatrix(width /*int*/, height /*int*/, rowSize /*int*/, bits) {\n this.width = width;\n this.height = height;\n this.rowSize = rowSize;\n this.bits = bits;\n if (undefined === height || null === height) {\n height = width;\n }\n this.height = height;\n if (width < 1 || height < 1) {\n throw new IllegalArgumentException('Both dimensions must be greater than 0');\n }\n if (undefined === rowSize || null === rowSize) {\n rowSize = Math.floor((width + 31) / 32);\n }\n this.rowSize = rowSize;\n if (undefined === bits || null === bits) {\n this.bits = new Int32Array(this.rowSize * this.height);\n }\n }\n /**\n * Interprets a 2D array of booleans as a {@link BitMatrix}, where \"true\" means an \"on\" bit.\n *\n * @function parse\n * @param image bits of the image, as a row-major 2D array. Elements are arrays representing rows\n * @return {@link BitMatrix} representation of image\n */\n BitMatrix.parseFromBooleanArray = function (image) {\n var height = image.length;\n var width = image[0].length;\n var bits = new BitMatrix(width, height);\n for (var i = 0; i < height; i++) {\n var imageI = image[i];\n for (var j = 0; j < width; j++) {\n if (imageI[j]) {\n bits.set(j, i);\n }\n }\n }\n return bits;\n };\n /**\n *\n * @function parse\n * @param stringRepresentation\n * @param setString\n * @param unsetString\n */\n BitMatrix.parseFromString = function (stringRepresentation, setString, unsetString) {\n if (stringRepresentation === null) {\n throw new IllegalArgumentException('stringRepresentation cannot be null');\n }\n var bits = new Array(stringRepresentation.length);\n var bitsPos = 0;\n var rowStartPos = 0;\n var rowLength = -1;\n var nRows = 0;\n var pos = 0;\n while (pos < stringRepresentation.length) {\n if (stringRepresentation.charAt(pos) === '\\n' ||\n stringRepresentation.charAt(pos) === '\\r') {\n if (bitsPos > rowStartPos) {\n if (rowLength === -1) {\n rowLength = bitsPos - rowStartPos;\n }\n else if (bitsPos - rowStartPos !== rowLength) {\n throw new IllegalArgumentException('row lengths do not match');\n }\n rowStartPos = bitsPos;\n nRows++;\n }\n pos++;\n }\n else if (stringRepresentation.substring(pos, pos + setString.length) === setString) {\n pos += setString.length;\n bits[bitsPos] = true;\n bitsPos++;\n }\n else if (stringRepresentation.substring(pos, pos + unsetString.length) === unsetString) {\n pos += unsetString.length;\n bits[bitsPos] = false;\n bitsPos++;\n }\n else {\n throw new IllegalArgumentException('illegal character encountered: ' + stringRepresentation.substring(pos));\n }\n }\n // no EOL at end?\n if (bitsPos > rowStartPos) {\n if (rowLength === -1) {\n rowLength = bitsPos - rowStartPos;\n }\n else if (bitsPos - rowStartPos !== rowLength) {\n throw new IllegalArgumentException('row lengths do not match');\n }\n nRows++;\n }\n var matrix = new BitMatrix(rowLength, nRows);\n for (var i = 0; i < bitsPos; i++) {\n if (bits[i]) {\n matrix.set(Math.floor(i % rowLength), Math.floor(i / rowLength));\n }\n }\n return matrix;\n };\n /**\n *

Gets the requested bit, where true means black.

\n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n * @return value of given bit in matrix\n */\n BitMatrix.prototype.get = function (x /*int*/, y /*int*/) {\n var offset = y * this.rowSize + Math.floor(x / 32);\n return ((this.bits[offset] >>> (x & 0x1f)) & 1) !== 0;\n };\n /**\n *

Sets the given bit to true.

\n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n */\n BitMatrix.prototype.set = function (x /*int*/, y /*int*/) {\n var offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] |= (1 << (x & 0x1f)) & 0xFFFFFFFF;\n };\n BitMatrix.prototype.unset = function (x /*int*/, y /*int*/) {\n var offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] &= ~((1 << (x & 0x1f)) & 0xFFFFFFFF);\n };\n /**\n *

Flips the given bit.

\n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n */\n BitMatrix.prototype.flip = function (x /*int*/, y /*int*/) {\n var offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] ^= ((1 << (x & 0x1f)) & 0xFFFFFFFF);\n };\n /**\n * Exclusive-or (XOR): Flip the bit in this {@code BitMatrix} if the corresponding\n * mask bit is set.\n *\n * @param mask XOR mask\n */\n BitMatrix.prototype.xor = function (mask) {\n if (this.width !== mask.getWidth() || this.height !== mask.getHeight()\n || this.rowSize !== mask.getRowSize()) {\n throw new IllegalArgumentException('input matrix dimensions do not match');\n }\n var rowArray = new BitArray(Math.floor(this.width / 32) + 1);\n var rowSize = this.rowSize;\n var bits = this.bits;\n for (var y = 0, height = this.height; y < height; y++) {\n var offset = y * rowSize;\n var row = mask.getRow(y, rowArray).getBitArray();\n for (var x = 0; x < rowSize; x++) {\n bits[offset + x] ^= row[x];\n }\n }\n };\n /**\n * Clears all bits (sets to false).\n */\n BitMatrix.prototype.clear = function () {\n var bits = this.bits;\n var max = bits.length;\n for (var i = 0; i < max; i++) {\n bits[i] = 0;\n }\n };\n /**\n *

Sets a square region of the bit matrix to true.

\n *\n * @param left The horizontal position to begin at (inclusive)\n * @param top The vertical position to begin at (inclusive)\n * @param width The width of the region\n * @param height The height of the region\n */\n BitMatrix.prototype.setRegion = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n if (top < 0 || left < 0) {\n throw new IllegalArgumentException('Left and top must be nonnegative');\n }\n if (height < 1 || width < 1) {\n throw new IllegalArgumentException('Height and width must be at least 1');\n }\n var right = left + width;\n var bottom = top + height;\n if (bottom > this.height || right > this.width) {\n throw new IllegalArgumentException('The region must fit inside the matrix');\n }\n var rowSize = this.rowSize;\n var bits = this.bits;\n for (var y = top; y < bottom; y++) {\n var offset = y * rowSize;\n for (var x = left; x < right; x++) {\n bits[offset + Math.floor(x / 32)] |= ((1 << (x & 0x1f)) & 0xFFFFFFFF);\n }\n }\n };\n /**\n * A fast method to retrieve one row of data from the matrix as a BitArray.\n *\n * @param y The row to retrieve\n * @param row An optional caller-allocated BitArray, will be allocated if null or too small\n * @return The resulting BitArray - this reference should always be used even when passing\n * your own row\n */\n BitMatrix.prototype.getRow = function (y /*int*/, row) {\n if (row === null || row === undefined || row.getSize() < this.width) {\n row = new BitArray(this.width);\n }\n else {\n row.clear();\n }\n var rowSize = this.rowSize;\n var bits = this.bits;\n var offset = y * rowSize;\n for (var x = 0; x < rowSize; x++) {\n row.setBulk(x * 32, bits[offset + x]);\n }\n return row;\n };\n /**\n * @param y row to set\n * @param row {@link BitArray} to copy from\n */\n BitMatrix.prototype.setRow = function (y /*int*/, row) {\n System.arraycopy(row.getBitArray(), 0, this.bits, y * this.rowSize, this.rowSize);\n };\n /**\n * Modifies this {@code BitMatrix} to represent the same but rotated 180 degrees\n */\n BitMatrix.prototype.rotate180 = function () {\n var width = this.getWidth();\n var height = this.getHeight();\n var topRow = new BitArray(width);\n var bottomRow = new BitArray(width);\n for (var i = 0, length_1 = Math.floor((height + 1) / 2); i < length_1; i++) {\n topRow = this.getRow(i, topRow);\n bottomRow = this.getRow(height - 1 - i, bottomRow);\n topRow.reverse();\n bottomRow.reverse();\n this.setRow(i, bottomRow);\n this.setRow(height - 1 - i, topRow);\n }\n };\n /**\n * This is useful in detecting the enclosing rectangle of a 'pure' barcode.\n *\n * @return {@code left,top,width,height} enclosing rectangle of all 1 bits, or null if it is all white\n */\n BitMatrix.prototype.getEnclosingRectangle = function () {\n var width = this.width;\n var height = this.height;\n var rowSize = this.rowSize;\n var bits = this.bits;\n var left = width;\n var top = height;\n var right = -1;\n var bottom = -1;\n for (var y = 0; y < height; y++) {\n for (var x32 = 0; x32 < rowSize; x32++) {\n var theBits = bits[y * rowSize + x32];\n if (theBits !== 0) {\n if (y < top) {\n top = y;\n }\n if (y > bottom) {\n bottom = y;\n }\n if (x32 * 32 < left) {\n var bit = 0;\n while (((theBits << (31 - bit)) & 0xFFFFFFFF) === 0) {\n bit++;\n }\n if ((x32 * 32 + bit) < left) {\n left = x32 * 32 + bit;\n }\n }\n if (x32 * 32 + 31 > right) {\n var bit = 31;\n while ((theBits >>> bit) === 0) {\n bit--;\n }\n if ((x32 * 32 + bit) > right) {\n right = x32 * 32 + bit;\n }\n }\n }\n }\n }\n if (right < left || bottom < top) {\n return null;\n }\n return Int32Array.from([left, top, right - left + 1, bottom - top + 1]);\n };\n /**\n * This is useful in detecting a corner of a 'pure' barcode.\n *\n * @return {@code x,y} coordinate of top-left-most 1 bit, or null if it is all white\n */\n BitMatrix.prototype.getTopLeftOnBit = function () {\n var rowSize = this.rowSize;\n var bits = this.bits;\n var bitsOffset = 0;\n while (bitsOffset < bits.length && bits[bitsOffset] === 0) {\n bitsOffset++;\n }\n if (bitsOffset === bits.length) {\n return null;\n }\n var y = bitsOffset / rowSize;\n var x = (bitsOffset % rowSize) * 32;\n var theBits = bits[bitsOffset];\n var bit = 0;\n while (((theBits << (31 - bit)) & 0xFFFFFFFF) === 0) {\n bit++;\n }\n x += bit;\n return Int32Array.from([x, y]);\n };\n BitMatrix.prototype.getBottomRightOnBit = function () {\n var rowSize = this.rowSize;\n var bits = this.bits;\n var bitsOffset = bits.length - 1;\n while (bitsOffset >= 0 && bits[bitsOffset] === 0) {\n bitsOffset--;\n }\n if (bitsOffset < 0) {\n return null;\n }\n var y = Math.floor(bitsOffset / rowSize);\n var x = Math.floor(bitsOffset % rowSize) * 32;\n var theBits = bits[bitsOffset];\n var bit = 31;\n while ((theBits >>> bit) === 0) {\n bit--;\n }\n x += bit;\n return Int32Array.from([x, y]);\n };\n /**\n * @return The width of the matrix\n */\n BitMatrix.prototype.getWidth = function () {\n return this.width;\n };\n /**\n * @return The height of the matrix\n */\n BitMatrix.prototype.getHeight = function () {\n return this.height;\n };\n /**\n * @return The row size of the matrix\n */\n BitMatrix.prototype.getRowSize = function () {\n return this.rowSize;\n };\n /*@Override*/\n BitMatrix.prototype.equals = function (o) {\n if (!(o instanceof BitMatrix)) {\n return false;\n }\n var other = o;\n return this.width === other.width && this.height === other.height && this.rowSize === other.rowSize &&\n Arrays.equals(this.bits, other.bits);\n };\n /*@Override*/\n BitMatrix.prototype.hashCode = function () {\n var hash = this.width;\n hash = 31 * hash + this.width;\n hash = 31 * hash + this.height;\n hash = 31 * hash + this.rowSize;\n hash = 31 * hash + Arrays.hashCode(this.bits);\n return hash;\n };\n /**\n * @return string representation using \"X\" for set and \" \" for unset bits\n */\n /*@Override*/\n // public toString(): string {\n // return toString(\": \"X, \" \")\n // }\n /**\n * @param setString representation of a set bit\n * @param unsetString representation of an unset bit\n * @return string representation of entire matrix utilizing given strings\n */\n // public toString(setString: string = \"X \", unsetString: string = \" \"): string {\n // return this.buildToString(setString, unsetString, \"\\n\")\n // }\n /**\n * @param setString representation of a set bit\n * @param unsetString representation of an unset bit\n * @param lineSeparator newline character in string representation\n * @return string representation of entire matrix utilizing given strings and line separator\n * @deprecated call {@link #toString(String,String)} only, which uses \\n line separator always\n */\n // @Deprecated\n BitMatrix.prototype.toString = function (setString, unsetString, lineSeparator) {\n if (setString === void 0) { setString = 'X '; }\n if (unsetString === void 0) { unsetString = ' '; }\n if (lineSeparator === void 0) { lineSeparator = '\\n'; }\n return this.buildToString(setString, unsetString, lineSeparator);\n };\n BitMatrix.prototype.buildToString = function (setString, unsetString, lineSeparator) {\n var result = new StringBuilder();\n // result.append(lineSeparator);\n for (var y = 0, height = this.height; y < height; y++) {\n for (var x = 0, width = this.width; x < width; x++) {\n result.append(this.get(x, y) ? setString : unsetString);\n }\n result.append(lineSeparator);\n }\n return result.toString();\n };\n /*@Override*/\n BitMatrix.prototype.clone = function () {\n return new BitMatrix(this.width, this.height, this.rowSize, this.bits.slice());\n };\n return BitMatrix;\n}());\nexport default BitMatrix;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar NotFoundException = /** @class */ (function (_super) {\n __extends(NotFoundException, _super);\n function NotFoundException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NotFoundException.getNotFoundInstance = function () {\n return new NotFoundException();\n };\n NotFoundException.kind = 'NotFoundException';\n return NotFoundException;\n}(Exception));\nexport default NotFoundException;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.common {*/\nimport Binarizer from '../Binarizer';\nimport BitArray from './BitArray';\nimport BitMatrix from './BitMatrix';\nimport NotFoundException from '../NotFoundException';\n/**\n * This Binarizer implementation uses the old ZXing global histogram approach. It is suitable\n * for low-end mobile devices which don't have enough CPU or memory to use a local thresholding\n * algorithm. However, because it picks a global black point, it cannot handle difficult shadows\n * and gradients.\n *\n * Faster mobile devices and all desktop applications should probably use HybridBinarizer instead.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n */\nvar GlobalHistogramBinarizer = /** @class */ (function (_super) {\n __extends(GlobalHistogramBinarizer, _super);\n function GlobalHistogramBinarizer(source) {\n var _this = _super.call(this, source) || this;\n _this.luminances = GlobalHistogramBinarizer.EMPTY;\n _this.buckets = new Int32Array(GlobalHistogramBinarizer.LUMINANCE_BUCKETS);\n return _this;\n }\n // Applies simple sharpening to the row data to improve performance of the 1D Readers.\n /*@Override*/\n GlobalHistogramBinarizer.prototype.getBlackRow = function (y /*int*/, row) {\n var source = this.getLuminanceSource();\n var width = source.getWidth();\n if (row === undefined || row === null || row.getSize() < width) {\n row = new BitArray(width);\n }\n else {\n row.clear();\n }\n this.initArrays(width);\n var localLuminances = source.getRow(y, this.luminances);\n var localBuckets = this.buckets;\n for (var x = 0; x < width; x++) {\n localBuckets[(localLuminances[x] & 0xff) >> GlobalHistogramBinarizer.LUMINANCE_SHIFT]++;\n }\n var blackPoint = GlobalHistogramBinarizer.estimateBlackPoint(localBuckets);\n if (width < 3) {\n // Special case for very small images\n for (var x = 0; x < width; x++) {\n if ((localLuminances[x] & 0xff) < blackPoint) {\n row.set(x);\n }\n }\n }\n else {\n var left = localLuminances[0] & 0xff;\n var center = localLuminances[1] & 0xff;\n for (var x = 1; x < width - 1; x++) {\n var right = localLuminances[x + 1] & 0xff;\n // A simple -1 4 -1 box filter with a weight of 2.\n if (((center * 4) - left - right) / 2 < blackPoint) {\n row.set(x);\n }\n left = center;\n center = right;\n }\n }\n return row;\n };\n // Does not sharpen the data, as this call is intended to only be used by 2D Readers.\n /*@Override*/\n GlobalHistogramBinarizer.prototype.getBlackMatrix = function () {\n var source = this.getLuminanceSource();\n var width = source.getWidth();\n var height = source.getHeight();\n var matrix = new BitMatrix(width, height);\n // Quickly calculates the histogram by sampling four rows from the image. This proved to be\n // more robust on the blackbox tests than sampling a diagonal as we used to do.\n this.initArrays(width);\n var localBuckets = this.buckets;\n for (var y = 1; y < 5; y++) {\n var row = Math.floor((height * y) / 5);\n var localLuminances_1 = source.getRow(row, this.luminances);\n var right = Math.floor((width * 4) / 5);\n for (var x = Math.floor(width / 5); x < right; x++) {\n var pixel = localLuminances_1[x] & 0xff;\n localBuckets[pixel >> GlobalHistogramBinarizer.LUMINANCE_SHIFT]++;\n }\n }\n var blackPoint = GlobalHistogramBinarizer.estimateBlackPoint(localBuckets);\n // We delay reading the entire image luminance until the black point estimation succeeds.\n // Although we end up reading four rows twice, it is consistent with our motto of\n // \"fail quickly\" which is necessary for continuous scanning.\n var localLuminances = source.getMatrix();\n for (var y = 0; y < height; y++) {\n var offset = y * width;\n for (var x = 0; x < width; x++) {\n var pixel = localLuminances[offset + x] & 0xff;\n if (pixel < blackPoint) {\n matrix.set(x, y);\n }\n }\n }\n return matrix;\n };\n /*@Override*/\n GlobalHistogramBinarizer.prototype.createBinarizer = function (source) {\n return new GlobalHistogramBinarizer(source);\n };\n GlobalHistogramBinarizer.prototype.initArrays = function (luminanceSize /*int*/) {\n if (this.luminances.length < luminanceSize) {\n this.luminances = new Uint8ClampedArray(luminanceSize);\n }\n var buckets = this.buckets;\n for (var x = 0; x < GlobalHistogramBinarizer.LUMINANCE_BUCKETS; x++) {\n buckets[x] = 0;\n }\n };\n GlobalHistogramBinarizer.estimateBlackPoint = function (buckets) {\n // Find the tallest peak in the histogram.\n var numBuckets = buckets.length;\n var maxBucketCount = 0;\n var firstPeak = 0;\n var firstPeakSize = 0;\n for (var x = 0; x < numBuckets; x++) {\n if (buckets[x] > firstPeakSize) {\n firstPeak = x;\n firstPeakSize = buckets[x];\n }\n if (buckets[x] > maxBucketCount) {\n maxBucketCount = buckets[x];\n }\n }\n // Find the second-tallest peak which is somewhat far from the tallest peak.\n var secondPeak = 0;\n var secondPeakScore = 0;\n for (var x = 0; x < numBuckets; x++) {\n var distanceToBiggest = x - firstPeak;\n // Encourage more distant second peaks by multiplying by square of distance.\n var score = buckets[x] * distanceToBiggest * distanceToBiggest;\n if (score > secondPeakScore) {\n secondPeak = x;\n secondPeakScore = score;\n }\n }\n // Make sure firstPeak corresponds to the black peak.\n if (firstPeak > secondPeak) {\n var temp = firstPeak;\n firstPeak = secondPeak;\n secondPeak = temp;\n }\n // If there is too little contrast in the image to pick a meaningful black point, throw rather\n // than waste time trying to decode the image, and risk false positives.\n if (secondPeak - firstPeak <= numBuckets / 16) {\n throw new NotFoundException();\n }\n // Find a valley between them that is low and closer to the white peak.\n var bestValley = secondPeak - 1;\n var bestValleyScore = -1;\n for (var x = secondPeak - 1; x > firstPeak; x--) {\n var fromFirst = x - firstPeak;\n var score = fromFirst * fromFirst * (secondPeak - x) * (maxBucketCount - buckets[x]);\n if (score > bestValleyScore) {\n bestValley = x;\n bestValleyScore = score;\n }\n }\n return bestValley << GlobalHistogramBinarizer.LUMINANCE_SHIFT;\n };\n GlobalHistogramBinarizer.LUMINANCE_BITS = 5;\n GlobalHistogramBinarizer.LUMINANCE_SHIFT = 8 - GlobalHistogramBinarizer.LUMINANCE_BITS;\n GlobalHistogramBinarizer.LUMINANCE_BUCKETS = 1 << GlobalHistogramBinarizer.LUMINANCE_BITS;\n GlobalHistogramBinarizer.EMPTY = Uint8ClampedArray.from([0]);\n return GlobalHistogramBinarizer;\n}(Binarizer));\nexport default GlobalHistogramBinarizer;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport GlobalHistogramBinarizer from './GlobalHistogramBinarizer';\nimport BitMatrix from './BitMatrix';\n/**\n * This class implements a local thresholding algorithm, which while slower than the\n * GlobalHistogramBinarizer, is fairly efficient for what it does. It is designed for\n * high frequency images of barcodes with black data on white backgrounds. For this application,\n * it does a much better job than a global blackpoint with severe shadows and gradients.\n * However it tends to produce artifacts on lower frequency images and is therefore not\n * a good general purpose binarizer for uses outside ZXing.\n *\n * This class extends GlobalHistogramBinarizer, using the older histogram approach for 1D readers,\n * and the newer local approach for 2D readers. 1D decoding using a per-row histogram is already\n * inherently local, and only fails for horizontal gradients. We can revisit that problem later,\n * but for now it was not a win to use local blocks for 1D.\n *\n * This Binarizer is the default for the unit tests and the recommended class for library users.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar HybridBinarizer = /** @class */ (function (_super) {\n __extends(HybridBinarizer, _super);\n function HybridBinarizer(source) {\n var _this = _super.call(this, source) || this;\n _this.matrix = null;\n return _this;\n }\n /**\n * Calculates the final BitMatrix once for all requests. This could be called once from the\n * constructor instead, but there are some advantages to doing it lazily, such as making\n * profiling easier, and not doing heavy lifting when callers don't expect it.\n */\n /*@Override*/\n HybridBinarizer.prototype.getBlackMatrix = function () {\n if (this.matrix !== null) {\n return this.matrix;\n }\n var source = this.getLuminanceSource();\n var width = source.getWidth();\n var height = source.getHeight();\n if (width >= HybridBinarizer.MINIMUM_DIMENSION && height >= HybridBinarizer.MINIMUM_DIMENSION) {\n var luminances = source.getMatrix();\n var subWidth = width >> HybridBinarizer.BLOCK_SIZE_POWER;\n if ((width & HybridBinarizer.BLOCK_SIZE_MASK) !== 0) {\n subWidth++;\n }\n var subHeight = height >> HybridBinarizer.BLOCK_SIZE_POWER;\n if ((height & HybridBinarizer.BLOCK_SIZE_MASK) !== 0) {\n subHeight++;\n }\n var blackPoints = HybridBinarizer.calculateBlackPoints(luminances, subWidth, subHeight, width, height);\n var newMatrix = new BitMatrix(width, height);\n HybridBinarizer.calculateThresholdForBlock(luminances, subWidth, subHeight, width, height, blackPoints, newMatrix);\n this.matrix = newMatrix;\n }\n else {\n // If the image is too small, fall back to the global histogram approach.\n this.matrix = _super.prototype.getBlackMatrix.call(this);\n }\n return this.matrix;\n };\n /*@Override*/\n HybridBinarizer.prototype.createBinarizer = function (source) {\n return new HybridBinarizer(source);\n };\n /**\n * For each block in the image, calculate the average black point using a 5x5 grid\n * of the blocks around it. Also handles the corner cases (fractional blocks are computed based\n * on the last pixels in the row/column which are also used in the previous block).\n */\n HybridBinarizer.calculateThresholdForBlock = function (luminances, subWidth /*int*/, subHeight /*int*/, width /*int*/, height /*int*/, blackPoints, matrix) {\n var maxYOffset = height - HybridBinarizer.BLOCK_SIZE;\n var maxXOffset = width - HybridBinarizer.BLOCK_SIZE;\n for (var y = 0; y < subHeight; y++) {\n var yoffset = y << HybridBinarizer.BLOCK_SIZE_POWER;\n if (yoffset > maxYOffset) {\n yoffset = maxYOffset;\n }\n var top_1 = HybridBinarizer.cap(y, 2, subHeight - 3);\n for (var x = 0; x < subWidth; x++) {\n var xoffset = x << HybridBinarizer.BLOCK_SIZE_POWER;\n if (xoffset > maxXOffset) {\n xoffset = maxXOffset;\n }\n var left = HybridBinarizer.cap(x, 2, subWidth - 3);\n var sum = 0;\n for (var z = -2; z <= 2; z++) {\n var blackRow = blackPoints[top_1 + z];\n sum += blackRow[left - 2] + blackRow[left - 1] + blackRow[left] + blackRow[left + 1] + blackRow[left + 2];\n }\n var average = sum / 25;\n HybridBinarizer.thresholdBlock(luminances, xoffset, yoffset, average, width, matrix);\n }\n }\n };\n HybridBinarizer.cap = function (value /*int*/, min /*int*/, max /*int*/) {\n return value < min ? min : value > max ? max : value;\n };\n /**\n * Applies a single threshold to a block of pixels.\n */\n HybridBinarizer.thresholdBlock = function (luminances, xoffset /*int*/, yoffset /*int*/, threshold /*int*/, stride /*int*/, matrix) {\n for (var y = 0, offset = yoffset * stride + xoffset; y < HybridBinarizer.BLOCK_SIZE; y++, offset += stride) {\n for (var x = 0; x < HybridBinarizer.BLOCK_SIZE; x++) {\n // Comparison needs to be <= so that black == 0 pixels are black even if the threshold is 0.\n if ((luminances[offset + x] & 0xFF) <= threshold) {\n matrix.set(xoffset + x, yoffset + y);\n }\n }\n }\n };\n /**\n * Calculates a single black point for each block of pixels and saves it away.\n * See the following thread for a discussion of this algorithm:\n * http://groups.google.com/group/zxing/browse_thread/thread/d06efa2c35a7ddc0\n */\n HybridBinarizer.calculateBlackPoints = function (luminances, subWidth /*int*/, subHeight /*int*/, width /*int*/, height /*int*/) {\n var maxYOffset = height - HybridBinarizer.BLOCK_SIZE;\n var maxXOffset = width - HybridBinarizer.BLOCK_SIZE;\n // tslint:disable-next-line:whitespace\n var blackPoints = new Array(subHeight); // subWidth\n for (var y = 0; y < subHeight; y++) {\n blackPoints[y] = new Int32Array(subWidth);\n var yoffset = y << HybridBinarizer.BLOCK_SIZE_POWER;\n if (yoffset > maxYOffset) {\n yoffset = maxYOffset;\n }\n for (var x = 0; x < subWidth; x++) {\n var xoffset = x << HybridBinarizer.BLOCK_SIZE_POWER;\n if (xoffset > maxXOffset) {\n xoffset = maxXOffset;\n }\n var sum = 0;\n var min = 0xFF;\n var max = 0;\n for (var yy = 0, offset = yoffset * width + xoffset; yy < HybridBinarizer.BLOCK_SIZE; yy++, offset += width) {\n for (var xx = 0; xx < HybridBinarizer.BLOCK_SIZE; xx++) {\n var pixel = luminances[offset + xx] & 0xFF;\n sum += pixel;\n // still looking for good contrast\n if (pixel < min) {\n min = pixel;\n }\n if (pixel > max) {\n max = pixel;\n }\n }\n // short-circuit min/max tests once dynamic range is met\n if (max - min > HybridBinarizer.MIN_DYNAMIC_RANGE) {\n // finish the rest of the rows quickly\n for (yy++, offset += width; yy < HybridBinarizer.BLOCK_SIZE; yy++, offset += width) {\n for (var xx = 0; xx < HybridBinarizer.BLOCK_SIZE; xx++) {\n sum += luminances[offset + xx] & 0xFF;\n }\n }\n }\n }\n // The default estimate is the average of the values in the block.\n var average = sum >> (HybridBinarizer.BLOCK_SIZE_POWER * 2);\n if (max - min <= HybridBinarizer.MIN_DYNAMIC_RANGE) {\n // If variation within the block is low, assume this is a block with only light or only\n // dark pixels. In that case we do not want to use the average, as it would divide this\n // low contrast area into black and white pixels, essentially creating data out of noise.\n //\n // The default assumption is that the block is light/background. Since no estimate for\n // the level of dark pixels exists locally, use half the min for the block.\n average = min / 2;\n if (y > 0 && x > 0) {\n // Correct the \"white background\" assumption for blocks that have neighbors by comparing\n // the pixels in this block to the previously calculated black points. This is based on\n // the fact that dark barcode symbology is always surrounded by some amount of light\n // background for which reasonable black point estimates were made. The bp estimated at\n // the boundaries is used for the interior.\n // The (min < bp) is arbitrary but works better than other heuristics that were tried.\n var averageNeighborBlackPoint = (blackPoints[y - 1][x] + (2 * blackPoints[y][x - 1]) + blackPoints[y - 1][x - 1]) / 4;\n if (min < averageNeighborBlackPoint) {\n average = averageNeighborBlackPoint;\n }\n }\n }\n blackPoints[y][x] = average;\n }\n }\n return blackPoints;\n };\n // This class uses 5x5 blocks to compute local luminance, where each block is 8x8 pixels.\n // So this is the smallest dimension in each axis we can accept.\n HybridBinarizer.BLOCK_SIZE_POWER = 3;\n HybridBinarizer.BLOCK_SIZE = 1 << HybridBinarizer.BLOCK_SIZE_POWER; // ...0100...00\n HybridBinarizer.BLOCK_SIZE_MASK = HybridBinarizer.BLOCK_SIZE - 1; // ...0011...11\n HybridBinarizer.MINIMUM_DIMENSION = HybridBinarizer.BLOCK_SIZE * 5;\n HybridBinarizer.MIN_DYNAMIC_RANGE = 24;\n return HybridBinarizer;\n}(GlobalHistogramBinarizer));\nexport default HybridBinarizer;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport StringBuilder from './util/StringBuilder';\nimport UnsupportedOperationException from './UnsupportedOperationException';\n/*namespace com.google.zxing {*/\n/**\n * The purpose of this class hierarchy is to abstract different bitmap implementations across\n * platforms into a standard interface for requesting greyscale luminance values. The interface\n * only provides immutable methods; therefore crop and rotation create copies. This is to ensure\n * that one Reader does not modify the original luminance source and leave it in an unknown state\n * for other Readers in the chain.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar LuminanceSource = /** @class */ (function () {\n function LuminanceSource(width /*int*/, height /*int*/) {\n this.width = width;\n this.height = height;\n }\n /**\n * @return The width of the bitmap.\n */\n LuminanceSource.prototype.getWidth = function () {\n return this.width;\n };\n /**\n * @return The height of the bitmap.\n */\n LuminanceSource.prototype.getHeight = function () {\n return this.height;\n };\n /**\n * @return Whether this subclass supports cropping.\n */\n LuminanceSource.prototype.isCropSupported = function () {\n return false;\n };\n /**\n * Returns a new object with cropped image data. Implementations may keep a reference to the\n * original data rather than a copy. Only callable if isCropSupported() is true.\n *\n * @param left The left coordinate, which must be in [0,getWidth())\n * @param top The top coordinate, which must be in [0,getHeight())\n * @param width The width of the rectangle to crop.\n * @param height The height of the rectangle to crop.\n * @return A cropped version of this object.\n */\n LuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n throw new UnsupportedOperationException('This luminance source does not support cropping.');\n };\n /**\n * @return Whether this subclass supports counter-clockwise rotation.\n */\n LuminanceSource.prototype.isRotateSupported = function () {\n return false;\n };\n /**\n * Returns a new object with rotated image data by 90 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n LuminanceSource.prototype.rotateCounterClockwise = function () {\n throw new UnsupportedOperationException('This luminance source does not support rotation by 90 degrees.');\n };\n /**\n * Returns a new object with rotated image data by 45 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n LuminanceSource.prototype.rotateCounterClockwise45 = function () {\n throw new UnsupportedOperationException('This luminance source does not support rotation by 45 degrees.');\n };\n /*@Override*/\n LuminanceSource.prototype.toString = function () {\n var row = new Uint8ClampedArray(this.width);\n var result = new StringBuilder();\n for (var y = 0; y < this.height; y++) {\n var sourceRow = this.getRow(y, row);\n for (var x = 0; x < this.width; x++) {\n var luminance = sourceRow[x] & 0xFF;\n var c = void 0;\n if (luminance < 0x40) {\n c = '#';\n }\n else if (luminance < 0x80) {\n c = '+';\n }\n else if (luminance < 0xC0) {\n c = '.';\n }\n else {\n c = ' ';\n }\n result.append(c);\n }\n result.append('\\n');\n }\n return result.toString();\n };\n return LuminanceSource;\n}());\nexport default LuminanceSource;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport LuminanceSource from './LuminanceSource';\n/*namespace com.google.zxing {*/\n/**\n * A wrapper implementation of {@link LuminanceSource} which inverts the luminances it returns -- black becomes\n * white and vice versa, and each value becomes (255-value).\n *\n * @author Sean Owen\n */\nvar InvertedLuminanceSource = /** @class */ (function (_super) {\n __extends(InvertedLuminanceSource, _super);\n function InvertedLuminanceSource(delegate) {\n var _this = _super.call(this, delegate.getWidth(), delegate.getHeight()) || this;\n _this.delegate = delegate;\n return _this;\n }\n /*@Override*/\n InvertedLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n var sourceRow = this.delegate.getRow(y, row);\n var width = this.getWidth();\n for (var i = 0; i < width; i++) {\n sourceRow[i] = /*(byte)*/ (255 - (sourceRow[i] & 0xFF));\n }\n return sourceRow;\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.getMatrix = function () {\n var matrix = this.delegate.getMatrix();\n var length = this.getWidth() * this.getHeight();\n var invertedMatrix = new Uint8ClampedArray(length);\n for (var i = 0; i < length; i++) {\n invertedMatrix[i] = /*(byte)*/ (255 - (matrix[i] & 0xFF));\n }\n return invertedMatrix;\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.isCropSupported = function () {\n return this.delegate.isCropSupported();\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n return new InvertedLuminanceSource(this.delegate.crop(left, top, width, height));\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.isRotateSupported = function () {\n return this.delegate.isRotateSupported();\n };\n /**\n * @return original delegate {@link LuminanceSource} since invert undoes itself\n */\n /*@Override*/\n InvertedLuminanceSource.prototype.invert = function () {\n return this.delegate;\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.rotateCounterClockwise = function () {\n return new InvertedLuminanceSource(this.delegate.rotateCounterClockwise());\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.rotateCounterClockwise45 = function () {\n return new InvertedLuminanceSource(this.delegate.rotateCounterClockwise45());\n };\n return InvertedLuminanceSource;\n}(LuminanceSource));\nexport default InvertedLuminanceSource;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport InvertedLuminanceSource from '../core/InvertedLuminanceSource';\nimport LuminanceSource from '../core/LuminanceSource';\nimport IllegalArgumentException from '../core/IllegalArgumentException';\n/**\n * @deprecated Moving to @zxing/browser\n */\nvar HTMLCanvasElementLuminanceSource = /** @class */ (function (_super) {\n __extends(HTMLCanvasElementLuminanceSource, _super);\n function HTMLCanvasElementLuminanceSource(canvas) {\n var _this = _super.call(this, canvas.width, canvas.height) || this;\n _this.canvas = canvas;\n _this.tempCanvasElement = null;\n _this.buffer = HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData(canvas);\n return _this;\n }\n HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData = function (canvas) {\n var imageData = canvas.getContext('2d').getImageData(0, 0, canvas.width, canvas.height);\n return HTMLCanvasElementLuminanceSource.toGrayscaleBuffer(imageData.data, canvas.width, canvas.height);\n };\n HTMLCanvasElementLuminanceSource.toGrayscaleBuffer = function (imageBuffer, width, height) {\n var grayscaleBuffer = new Uint8ClampedArray(width * height);\n HTMLCanvasElementLuminanceSource.FRAME_INDEX = !HTMLCanvasElementLuminanceSource.FRAME_INDEX;\n if (HTMLCanvasElementLuminanceSource.FRAME_INDEX) {\n for (var i = 0, j = 0, length_1 = imageBuffer.length; i < length_1; i += 4, j++) {\n var gray = void 0;\n var alpha = imageBuffer[i + 3];\n // The color of fully-transparent pixels is irrelevant. They are often, technically, fully-transparent\n // black (0 alpha, and then 0 RGB). They are often used, of course as the \"white\" area in a\n // barcode image. Force any such pixel to be white:\n if (alpha === 0) {\n gray = 0xFF;\n }\n else {\n var pixelR = imageBuffer[i];\n var pixelG = imageBuffer[i + 1];\n var pixelB = imageBuffer[i + 2];\n // .299R + 0.587G + 0.114B (YUV/YIQ for PAL and NTSC),\n // (306*R) >> 10 is approximately equal to R*0.299, and so on.\n // 0x200 >> 10 is 0.5, it implements rounding.\n gray = (306 * pixelR +\n 601 * pixelG +\n 117 * pixelB +\n 0x200) >> 10;\n }\n grayscaleBuffer[j] = gray;\n }\n }\n else {\n for (var i = 0, j = 0, length_2 = imageBuffer.length; i < length_2; i += 4, j++) {\n var gray = void 0;\n var alpha = imageBuffer[i + 3];\n // The color of fully-transparent pixels is irrelevant. They are often, technically, fully-transparent\n // black (0 alpha, and then 0 RGB). They are often used, of course as the \"white\" area in a\n // barcode image. Force any such pixel to be white:\n if (alpha === 0) {\n gray = 0xFF;\n }\n else {\n var pixelR = imageBuffer[i];\n var pixelG = imageBuffer[i + 1];\n var pixelB = imageBuffer[i + 2];\n // .299R + 0.587G + 0.114B (YUV/YIQ for PAL and NTSC),\n // (306*R) >> 10 is approximately equal to R*0.299, and so on.\n // 0x200 >> 10 is 0.5, it implements rounding.\n gray = (306 * pixelR +\n 601 * pixelG +\n 117 * pixelB +\n 0x200) >> 10;\n }\n grayscaleBuffer[j] = 0xFF - gray;\n }\n }\n return grayscaleBuffer;\n };\n HTMLCanvasElementLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n var width = this.getWidth();\n var start = y * width;\n if (row === null) {\n row = this.buffer.slice(start, start + width);\n }\n else {\n if (row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n // The underlying raster of image consists of bytes with the luminance values\n // TODO: can avoid set/slice?\n row.set(this.buffer.slice(start, start + width));\n }\n return row;\n };\n HTMLCanvasElementLuminanceSource.prototype.getMatrix = function () {\n return this.buffer;\n };\n HTMLCanvasElementLuminanceSource.prototype.isCropSupported = function () {\n return true;\n };\n HTMLCanvasElementLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n _super.prototype.crop.call(this, left, top, width, height);\n return this;\n };\n /**\n * This is always true, since the image is a gray-scale image.\n *\n * @return true\n */\n HTMLCanvasElementLuminanceSource.prototype.isRotateSupported = function () {\n return true;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotateCounterClockwise = function () {\n this.rotate(-90);\n return this;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotateCounterClockwise45 = function () {\n this.rotate(-45);\n return this;\n };\n HTMLCanvasElementLuminanceSource.prototype.getTempCanvasElement = function () {\n if (null === this.tempCanvasElement) {\n var tempCanvasElement = this.canvas.ownerDocument.createElement('canvas');\n tempCanvasElement.width = this.canvas.width;\n tempCanvasElement.height = this.canvas.height;\n this.tempCanvasElement = tempCanvasElement;\n }\n return this.tempCanvasElement;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotate = function (angle) {\n var tempCanvasElement = this.getTempCanvasElement();\n var tempContext = tempCanvasElement.getContext('2d');\n var angleRadians = angle * HTMLCanvasElementLuminanceSource.DEGREE_TO_RADIANS;\n // Calculate and set new dimensions for temp canvas\n var width = this.canvas.width;\n var height = this.canvas.height;\n var newWidth = Math.ceil(Math.abs(Math.cos(angleRadians)) * width + Math.abs(Math.sin(angleRadians)) * height);\n var newHeight = Math.ceil(Math.abs(Math.sin(angleRadians)) * width + Math.abs(Math.cos(angleRadians)) * height);\n tempCanvasElement.width = newWidth;\n tempCanvasElement.height = newHeight;\n // Draw at center of temp canvas to prevent clipping of image data\n tempContext.translate(newWidth / 2, newHeight / 2);\n tempContext.rotate(angleRadians);\n tempContext.drawImage(this.canvas, width / -2, height / -2);\n this.buffer = HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData(tempCanvasElement);\n return this;\n };\n HTMLCanvasElementLuminanceSource.prototype.invert = function () {\n return new InvertedLuminanceSource(this);\n };\n HTMLCanvasElementLuminanceSource.DEGREE_TO_RADIANS = Math.PI / 180;\n HTMLCanvasElementLuminanceSource.FRAME_INDEX = true;\n return HTMLCanvasElementLuminanceSource;\n}(LuminanceSource));\nexport { HTMLCanvasElementLuminanceSource };\n","/**\n * @deprecated Moving to @zxing/browser\n *\n * Video input device metadata containing the id and label of the device if available.\n */\nvar VideoInputDevice = /** @class */ (function () {\n /**\n * Creates an instance of VideoInputDevice.\n *\n * @param {string} deviceId the video input device id\n * @param {string} label the label of the device if available\n */\n function VideoInputDevice(deviceId, label, groupId) {\n this.deviceId = deviceId;\n this.label = label;\n /** @inheritdoc */\n this.kind = 'videoinput';\n this.groupId = groupId || undefined;\n }\n /** @inheritdoc */\n VideoInputDevice.prototype.toJSON = function () {\n return {\n kind: this.kind,\n groupId: this.groupId,\n deviceId: this.deviceId,\n label: this.label,\n };\n };\n return VideoInputDevice;\n}());\nexport { VideoInputDevice };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport ArgumentException from '../core/ArgumentException';\nimport BinaryBitmap from '../core/BinaryBitmap';\nimport ChecksumException from '../core/ChecksumException';\nimport HybridBinarizer from '../core/common/HybridBinarizer';\nimport FormatException from '../core/FormatException';\nimport NotFoundException from '../core/NotFoundException';\nimport { HTMLCanvasElementLuminanceSource } from './HTMLCanvasElementLuminanceSource';\nimport { VideoInputDevice } from './VideoInputDevice';\n/**\n * @deprecated Moving to @zxing/browser\n *\n * Base class for browser code reader.\n */\nvar BrowserCodeReader = /** @class */ (function () {\n /**\n * Creates an instance of BrowserCodeReader.\n * @param {Reader} reader The reader instance to decode the barcode\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent successful decode tries\n *\n * @memberOf BrowserCodeReader\n */\n function BrowserCodeReader(reader, timeBetweenScansMillis, _hints) {\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n this.reader = reader;\n this.timeBetweenScansMillis = timeBetweenScansMillis;\n this._hints = _hints;\n /**\n * This will break the loop.\n */\n this._stopContinuousDecode = false;\n /**\n * This will break the loop.\n */\n this._stopAsyncDecode = false;\n /**\n * Delay time between decode attempts made by the scanner.\n */\n this._timeBetweenDecodingAttempts = 0;\n }\n Object.defineProperty(BrowserCodeReader.prototype, \"hasNavigator\", {\n /**\n * If navigator is present.\n */\n get: function () {\n return typeof navigator !== 'undefined';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BrowserCodeReader.prototype, \"isMediaDevicesSuported\", {\n /**\n * If mediaDevices under navigator is supported.\n */\n get: function () {\n return this.hasNavigator && !!navigator.mediaDevices;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BrowserCodeReader.prototype, \"canEnumerateDevices\", {\n /**\n * If enumerateDevices under navigator is supported.\n */\n get: function () {\n return !!(this.isMediaDevicesSuported && navigator.mediaDevices.enumerateDevices);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BrowserCodeReader.prototype, \"timeBetweenDecodingAttempts\", {\n /** Time between two decoding tries in milli seconds. */\n get: function () {\n return this._timeBetweenDecodingAttempts;\n },\n /**\n * Change the time span the decoder waits between two decoding tries.\n *\n * @param {number} millis Time between two decoding tries in milli seconds.\n */\n set: function (millis) {\n this._timeBetweenDecodingAttempts = millis < 0 ? 0 : millis;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BrowserCodeReader.prototype, \"hints\", {\n /**\n * Sets the hints.\n */\n get: function () {\n return this._hints;\n },\n /**\n * Sets the hints.\n */\n set: function (hints) {\n this._hints = hints || null;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Lists all the available video input devices.\n */\n BrowserCodeReader.prototype.listVideoInputDevices = function () {\n return __awaiter(this, void 0, void 0, function () {\n var devices, videoDevices, devices_1, devices_1_1, device, kind, deviceId, label, groupId, videoDevice;\n var e_1, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!this.hasNavigator) {\n throw new Error(\"Can't enumerate devices, navigator is not present.\");\n }\n if (!this.canEnumerateDevices) {\n throw new Error(\"Can't enumerate devices, method not supported.\");\n }\n return [4 /*yield*/, navigator.mediaDevices.enumerateDevices()];\n case 1:\n devices = _b.sent();\n videoDevices = [];\n try {\n for (devices_1 = __values(devices), devices_1_1 = devices_1.next(); !devices_1_1.done; devices_1_1 = devices_1.next()) {\n device = devices_1_1.value;\n kind = device.kind === 'video' ? 'videoinput' : device.kind;\n if (kind !== 'videoinput') {\n continue;\n }\n deviceId = device.deviceId || device.id;\n label = device.label || \"Video device \" + (videoDevices.length + 1);\n groupId = device.groupId;\n videoDevice = { deviceId: deviceId, label: label, kind: kind, groupId: groupId };\n videoDevices.push(videoDevice);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (devices_1_1 && !devices_1_1.done && (_a = devices_1.return)) _a.call(devices_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return [2 /*return*/, videoDevices];\n }\n });\n });\n };\n /**\n * Obtain the list of available devices with type 'videoinput'.\n *\n * @returns {Promise} an array of available video input devices\n *\n * @memberOf BrowserCodeReader\n *\n * @deprecated Use `listVideoInputDevices` instead.\n */\n BrowserCodeReader.prototype.getVideoInputDevices = function () {\n return __awaiter(this, void 0, void 0, function () {\n var devices;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.listVideoInputDevices()];\n case 1:\n devices = _a.sent();\n return [2 /*return*/, devices.map(function (d) { return new VideoInputDevice(d.deviceId, d.label); })];\n }\n });\n });\n };\n /**\n * Let's you find a device using it's Id.\n */\n BrowserCodeReader.prototype.findDeviceById = function (deviceId) {\n return __awaiter(this, void 0, void 0, function () {\n var devices;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.listVideoInputDevices()];\n case 1:\n devices = _a.sent();\n if (!devices) {\n return [2 /*return*/, null];\n }\n return [2 /*return*/, devices.find(function (x) { return x.deviceId === deviceId; })];\n }\n });\n });\n };\n /**\n * Decodes the barcode from the device specified by deviceId while showing the video in the specified video element.\n *\n * @param deviceId the id of one of the devices obtained after calling getVideoInputDevices. Can be undefined, in this case it will decode from one of the available devices, preffering the main camera (environment facing) if available.\n * @param video the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns The decoding result.\n *\n * @memberOf BrowserCodeReader\n *\n * @deprecated Use `decodeOnceFromVideoDevice` instead.\n */\n BrowserCodeReader.prototype.decodeFromInputVideoDevice = function (deviceId, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.decodeOnceFromVideoDevice(deviceId, videoSource)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from the device specified by deviceId while showing the video in the specified video element.\n *\n * @param deviceId the id of one of the devices obtained after calling getVideoInputDevices. Can be undefined, in this case it will decode from one of the available devices, preffering the main camera (environment facing) if available.\n * @param video the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeOnceFromVideoDevice = function (deviceId, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n var videoConstraints, constraints;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.reset();\n if (!deviceId) {\n videoConstraints = { facingMode: 'environment' };\n }\n else {\n videoConstraints = { deviceId: { exact: deviceId } };\n }\n constraints = { video: videoConstraints };\n return [4 /*yield*/, this.decodeOnceFromConstraints(constraints, videoSource)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given constraints while showing the video in the specified video element.\n *\n * @param constraints the media stream constraints to get s valid media stream to decode from\n * @param video the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeOnceFromConstraints = function (constraints, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n var stream;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, navigator.mediaDevices.getUserMedia(constraints)];\n case 1:\n stream = _a.sent();\n return [4 /*yield*/, this.decodeOnceFromStream(stream, videoSource)];\n case 2: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given constraints while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeOnceFromStream = function (stream, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n var video, result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.reset();\n return [4 /*yield*/, this.attachStreamToVideo(stream, videoSource)];\n case 1:\n video = _a.sent();\n return [4 /*yield*/, this.decodeOnce(video)];\n case 2:\n result = _a.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * Continuously decodes the barcode from the device specified by device while showing the video in the specified video element.\n *\n * @param {string|null} [deviceId] the id of one of the devices obtained after calling getVideoInputDevices. Can be undefined, in this case it will decode from one of the available devices, preffering the main camera (environment facing) if available.\n * @param {string|HTMLVideoElement|null} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise}\n *\n * @memberOf BrowserCodeReader\n *\n * @deprecated Use `decodeFromVideoDevice` instead.\n */\n BrowserCodeReader.prototype.decodeFromInputVideoDeviceContinuously = function (deviceId, videoSource, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.decodeFromVideoDevice(deviceId, videoSource, callbackFn)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Continuously tries to decode the barcode from the device specified by device while showing the video in the specified video element.\n *\n * @param {string|null} [deviceId] the id of one of the devices obtained after calling getVideoInputDevices. Can be undefined, in this case it will decode from one of the available devices, preffering the main camera (environment facing) if available.\n * @param {string|HTMLVideoElement|null} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise}\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeFromVideoDevice = function (deviceId, videoSource, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var videoConstraints, constraints;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!deviceId) {\n videoConstraints = { facingMode: 'environment' };\n }\n else {\n videoConstraints = { deviceId: { exact: deviceId } };\n }\n constraints = { video: videoConstraints };\n return [4 /*yield*/, this.decodeFromConstraints(constraints, videoSource, callbackFn)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Continuously tries to decode the barcode from a stream obtained from the given constraints while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeFromConstraints = function (constraints, videoSource, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var stream;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, navigator.mediaDevices.getUserMedia(constraints)];\n case 1:\n stream = _a.sent();\n return [4 /*yield*/, this.decodeFromStream(stream, videoSource, callbackFn)];\n case 2: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given constraints while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeFromStream = function (stream, videoSource, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var video;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.reset();\n return [4 /*yield*/, this.attachStreamToVideo(stream, videoSource)];\n case 1:\n video = _a.sent();\n return [4 /*yield*/, this.decodeContinuously(video, callbackFn)];\n case 2: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Breaks the decoding loop.\n */\n BrowserCodeReader.prototype.stopAsyncDecode = function () {\n this._stopAsyncDecode = true;\n };\n /**\n * Breaks the decoding loop.\n */\n BrowserCodeReader.prototype.stopContinuousDecode = function () {\n this._stopContinuousDecode = true;\n };\n /**\n * Sets the new stream and request a new decoding-with-delay.\n *\n * @param stream The stream to be shown in the video element.\n * @param decodeFn A callback for the decode method.\n */\n BrowserCodeReader.prototype.attachStreamToVideo = function (stream, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n var videoElement;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n videoElement = this.prepareVideoElement(videoSource);\n this.addVideoSource(videoElement, stream);\n this.videoElement = videoElement;\n this.stream = stream;\n return [4 /*yield*/, this.playVideoOnLoadAsync(videoElement)];\n case 1:\n _a.sent();\n return [2 /*return*/, videoElement];\n }\n });\n });\n };\n /**\n *\n * @param videoElement\n */\n BrowserCodeReader.prototype.playVideoOnLoadAsync = function (videoElement) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n return _this.playVideoOnLoad(videoElement, function () { return resolve(); });\n });\n };\n /**\n * Binds listeners and callbacks to the videoElement.\n *\n * @param element\n * @param callbackFn\n */\n BrowserCodeReader.prototype.playVideoOnLoad = function (element, callbackFn) {\n var _this = this;\n this.videoEndedListener = function () { return _this.stopStreams(); };\n this.videoCanPlayListener = function () { return _this.tryPlayVideo(element); };\n element.addEventListener('ended', this.videoEndedListener);\n element.addEventListener('canplay', this.videoCanPlayListener);\n element.addEventListener('playing', callbackFn);\n // if canplay was already fired, we won't know when to play, so just give it a try\n this.tryPlayVideo(element);\n };\n /**\n * Checks if the given video element is currently playing.\n */\n BrowserCodeReader.prototype.isVideoPlaying = function (video) {\n return (video.currentTime > 0 &&\n !video.paused &&\n !video.ended &&\n video.readyState > 2);\n };\n /**\n * Just tries to play the video and logs any errors.\n * The play call is only made is the video is not already playing.\n */\n BrowserCodeReader.prototype.tryPlayVideo = function (videoElement) {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (this.isVideoPlaying(videoElement)) {\n console.warn('Trying to play video that is already playing.');\n return [2 /*return*/];\n }\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 4]);\n return [4 /*yield*/, videoElement.play()];\n case 2:\n _b.sent();\n return [3 /*break*/, 4];\n case 3:\n _a = _b.sent();\n console.warn('It was not possible to play the video.');\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Searches and validates a media element.\n */\n BrowserCodeReader.prototype.getMediaElement = function (mediaElementId, type) {\n var mediaElement = document.getElementById(mediaElementId);\n if (!mediaElement) {\n throw new ArgumentException(\"element with id '\" + mediaElementId + \"' not found\");\n }\n if (mediaElement.nodeName.toLowerCase() !== type.toLowerCase()) {\n throw new ArgumentException(\"element with id '\" + mediaElementId + \"' must be an \" + type + \" element\");\n }\n return mediaElement;\n };\n /**\n * Decodes the barcode from an image.\n *\n * @param {(string|HTMLImageElement)} [source] The image element that can be either an element id or the element itself. Can be undefined in which case the decoding will be done from the imageUrl parameter.\n * @param {string} [url]\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeFromImage = function (source, url) {\n if (!source && !url) {\n throw new ArgumentException('either imageElement with a src set or an url must be provided');\n }\n if (url && !source) {\n return this.decodeFromImageUrl(url);\n }\n return this.decodeFromImageElement(source);\n };\n /**\n * Decodes the barcode from a video.\n *\n * @param {(string|HTMLImageElement)} [source] The image element that can be either an element id or the element itself. Can be undefined in which case the decoding will be done from the imageUrl parameter.\n * @param {string} [url]\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeFromVideo = function (source, url) {\n if (!source && !url) {\n throw new ArgumentException('Either an element with a src set or an URL must be provided');\n }\n if (url && !source) {\n return this.decodeFromVideoUrl(url);\n }\n return this.decodeFromVideoElement(source);\n };\n /**\n * Decodes continuously the barcode from a video.\n *\n * @param {(string|HTMLImageElement)} [source] The image element that can be either an element id or the element itself. Can be undefined in which case the decoding will be done from the imageUrl parameter.\n * @param {string} [url]\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n *\n * @experimental\n */\n BrowserCodeReader.prototype.decodeFromVideoContinuously = function (source, url, callbackFn) {\n if (undefined === source && undefined === url) {\n throw new ArgumentException('Either an element with a src set or an URL must be provided');\n }\n if (url && !source) {\n return this.decodeFromVideoUrlContinuously(url, callbackFn);\n }\n return this.decodeFromVideoElementContinuously(source, callbackFn);\n };\n /**\n * Decodes something from an image HTML element.\n */\n BrowserCodeReader.prototype.decodeFromImageElement = function (source) {\n if (!source) {\n throw new ArgumentException('An image element must be provided.');\n }\n this.reset();\n var element = this.prepareImageElement(source);\n this.imageElement = element;\n var task;\n if (this.isImageLoaded(element)) {\n task = this.decodeOnce(element, false, true);\n }\n else {\n task = this._decodeOnLoadImage(element);\n }\n return task;\n };\n /**\n * Decodes something from an image HTML element.\n */\n BrowserCodeReader.prototype.decodeFromVideoElement = function (source) {\n var element = this._decodeFromVideoElementSetup(source);\n return this._decodeOnLoadVideo(element);\n };\n /**\n * Decodes something from an image HTML element.\n */\n BrowserCodeReader.prototype.decodeFromVideoElementContinuously = function (source, callbackFn) {\n var element = this._decodeFromVideoElementSetup(source);\n return this._decodeOnLoadVideoContinuously(element, callbackFn);\n };\n /**\n * Sets up the video source so it can be decoded when loaded.\n *\n * @param source The video source element.\n */\n BrowserCodeReader.prototype._decodeFromVideoElementSetup = function (source) {\n if (!source) {\n throw new ArgumentException('A video element must be provided.');\n }\n this.reset();\n var element = this.prepareVideoElement(source);\n // defines the video element before starts decoding\n this.videoElement = element;\n return element;\n };\n /**\n * Decodes an image from a URL.\n */\n BrowserCodeReader.prototype.decodeFromImageUrl = function (url) {\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n this.reset();\n var element = this.prepareImageElement();\n this.imageElement = element;\n var decodeTask = this._decodeOnLoadImage(element);\n element.src = url;\n return decodeTask;\n };\n /**\n * Decodes an image from a URL.\n */\n BrowserCodeReader.prototype.decodeFromVideoUrl = function (url) {\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n this.reset();\n // creates a new element\n var element = this.prepareVideoElement();\n var decodeTask = this.decodeFromVideoElement(element);\n element.src = url;\n return decodeTask;\n };\n /**\n * Decodes an image from a URL.\n *\n * @experimental\n */\n BrowserCodeReader.prototype.decodeFromVideoUrlContinuously = function (url, callbackFn) {\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n this.reset();\n // creates a new element\n var element = this.prepareVideoElement();\n var decodeTask = this.decodeFromVideoElementContinuously(element, callbackFn);\n element.src = url;\n return decodeTask;\n };\n BrowserCodeReader.prototype._decodeOnLoadImage = function (element) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n _this.imageLoadedListener = function () {\n return _this.decodeOnce(element, false, true).then(resolve, reject);\n };\n element.addEventListener('load', _this.imageLoadedListener);\n });\n };\n BrowserCodeReader.prototype._decodeOnLoadVideo = function (videoElement) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: \n // plays the video\n return [4 /*yield*/, this.playVideoOnLoadAsync(videoElement)];\n case 1:\n // plays the video\n _a.sent();\n return [4 /*yield*/, this.decodeOnce(videoElement)];\n case 2: \n // starts decoding after played the video\n return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n BrowserCodeReader.prototype._decodeOnLoadVideoContinuously = function (videoElement, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: \n // plays the video\n return [4 /*yield*/, this.playVideoOnLoadAsync(videoElement)];\n case 1:\n // plays the video\n _a.sent();\n // starts decoding after played the video\n this.decodeContinuously(videoElement, callbackFn);\n return [2 /*return*/];\n }\n });\n });\n };\n BrowserCodeReader.prototype.isImageLoaded = function (img) {\n // During the onload event, IE correctly identifies any images that\n // weren’t downloaded as not complete. Others should too. Gecko-based\n // browsers act like NS4 in that they report this incorrectly.\n if (!img.complete) {\n return false;\n }\n // However, they do have two very useful properties: naturalWidth and\n // naturalHeight. These give the true size of the image. If it failed\n // to load, either of these should be zero.\n if (img.naturalWidth === 0) {\n return false;\n }\n // No other way of checking: assume it’s ok.\n return true;\n };\n BrowserCodeReader.prototype.prepareImageElement = function (imageSource) {\n var imageElement;\n if (typeof imageSource === 'undefined') {\n imageElement = document.createElement('img');\n imageElement.width = 200;\n imageElement.height = 200;\n }\n if (typeof imageSource === 'string') {\n imageElement = this.getMediaElement(imageSource, 'img');\n }\n if (imageSource instanceof HTMLImageElement) {\n imageElement = imageSource;\n }\n return imageElement;\n };\n /**\n * Sets a HTMLVideoElement for scanning or creates a new one.\n *\n * @param videoSource The HTMLVideoElement to be set.\n */\n BrowserCodeReader.prototype.prepareVideoElement = function (videoSource) {\n var videoElement;\n if (!videoSource && typeof document !== 'undefined') {\n videoElement = document.createElement('video');\n videoElement.width = 200;\n videoElement.height = 200;\n }\n if (typeof videoSource === 'string') {\n videoElement = (this.getMediaElement(videoSource, 'video'));\n }\n if (videoSource instanceof HTMLVideoElement) {\n videoElement = videoSource;\n }\n // Needed for iOS 11\n videoElement.setAttribute('autoplay', 'true');\n videoElement.setAttribute('muted', 'true');\n videoElement.setAttribute('playsinline', 'true');\n return videoElement;\n };\n /**\n * Tries to decode from the video input until it finds some value.\n */\n BrowserCodeReader.prototype.decodeOnce = function (element, retryIfNotFound, retryIfChecksumOrFormatError) {\n var _this = this;\n if (retryIfNotFound === void 0) { retryIfNotFound = true; }\n if (retryIfChecksumOrFormatError === void 0) { retryIfChecksumOrFormatError = true; }\n this._stopAsyncDecode = false;\n var loop = function (resolve, reject) {\n if (_this._stopAsyncDecode) {\n reject(new NotFoundException('Video stream has ended before any code could be detected.'));\n _this._stopAsyncDecode = undefined;\n return;\n }\n try {\n var result = _this.decode(element);\n resolve(result);\n }\n catch (e) {\n var ifNotFound = retryIfNotFound && e instanceof NotFoundException;\n var isChecksumOrFormatError = e instanceof ChecksumException || e instanceof FormatException;\n var ifChecksumOrFormat = isChecksumOrFormatError && retryIfChecksumOrFormatError;\n if (ifNotFound || ifChecksumOrFormat) {\n // trying again\n return setTimeout(loop, _this._timeBetweenDecodingAttempts, resolve, reject);\n }\n reject(e);\n }\n };\n return new Promise(function (resolve, reject) { return loop(resolve, reject); });\n };\n /**\n * Continuously decodes from video input.\n */\n BrowserCodeReader.prototype.decodeContinuously = function (element, callbackFn) {\n var _this = this;\n this._stopContinuousDecode = false;\n var loop = function () {\n if (_this._stopContinuousDecode) {\n _this._stopContinuousDecode = undefined;\n return;\n }\n try {\n var result = _this.decode(element);\n callbackFn(result, null);\n setTimeout(loop, _this.timeBetweenScansMillis);\n }\n catch (e) {\n callbackFn(null, e);\n var isChecksumOrFormatError = e instanceof ChecksumException || e instanceof FormatException;\n var isNotFound = e instanceof NotFoundException;\n if (isChecksumOrFormatError || isNotFound) {\n // trying again\n setTimeout(loop, _this._timeBetweenDecodingAttempts);\n }\n }\n };\n loop();\n };\n /**\n * Gets the BinaryBitmap for ya! (and decodes it)\n */\n BrowserCodeReader.prototype.decode = function (element) {\n // get binary bitmap for decode function\n var binaryBitmap = this.createBinaryBitmap(element);\n return this.decodeBitmap(binaryBitmap);\n };\n /**\n * Creates a binaryBitmap based in some image source.\n *\n * @param mediaElement HTML element containing drawable image source.\n */\n BrowserCodeReader.prototype.createBinaryBitmap = function (mediaElement) {\n var ctx = this.getCaptureCanvasContext(mediaElement);\n if (mediaElement instanceof HTMLVideoElement) {\n this.drawFrameOnCanvas(mediaElement);\n }\n else {\n this.drawImageOnCanvas(mediaElement);\n }\n var canvas = this.getCaptureCanvas(mediaElement);\n var luminanceSource = new HTMLCanvasElementLuminanceSource(canvas);\n var hybridBinarizer = new HybridBinarizer(luminanceSource);\n return new BinaryBitmap(hybridBinarizer);\n };\n /**\n *\n */\n BrowserCodeReader.prototype.getCaptureCanvasContext = function (mediaElement) {\n if (!this.captureCanvasContext) {\n var elem = this.getCaptureCanvas(mediaElement);\n var ctx = void 0;\n try {\n ctx = elem.getContext('2d', { willReadFrequently: true });\n }\n catch (e) {\n ctx = elem.getContext('2d');\n }\n this.captureCanvasContext = ctx;\n }\n return this.captureCanvasContext;\n };\n /**\n *\n */\n BrowserCodeReader.prototype.getCaptureCanvas = function (mediaElement) {\n if (!this.captureCanvas) {\n var elem = this.createCaptureCanvas(mediaElement);\n this.captureCanvas = elem;\n }\n return this.captureCanvas;\n };\n /**\n * Overwriting this allows you to manipulate the next frame in anyway you want before decode.\n */\n BrowserCodeReader.prototype.drawFrameOnCanvas = function (srcElement, dimensions, canvasElementContext) {\n if (dimensions === void 0) { dimensions = {\n sx: 0,\n sy: 0,\n sWidth: srcElement.videoWidth,\n sHeight: srcElement.videoHeight,\n dx: 0,\n dy: 0,\n dWidth: srcElement.videoWidth,\n dHeight: srcElement.videoHeight,\n }; }\n if (canvasElementContext === void 0) { canvasElementContext = this.captureCanvasContext; }\n canvasElementContext.drawImage(srcElement, dimensions.sx, dimensions.sy, dimensions.sWidth, dimensions.sHeight, dimensions.dx, dimensions.dy, dimensions.dWidth, dimensions.dHeight);\n };\n /**\n * Ovewriting this allows you to manipulate the snapshot image in anyway you want before decode.\n */\n BrowserCodeReader.prototype.drawImageOnCanvas = function (srcElement, dimensions, canvasElementContext) {\n if (dimensions === void 0) { dimensions = {\n sx: 0,\n sy: 0,\n sWidth: srcElement.naturalWidth,\n sHeight: srcElement.naturalHeight,\n dx: 0,\n dy: 0,\n dWidth: srcElement.naturalWidth,\n dHeight: srcElement.naturalHeight,\n }; }\n if (canvasElementContext === void 0) { canvasElementContext = this.captureCanvasContext; }\n canvasElementContext.drawImage(srcElement, dimensions.sx, dimensions.sy, dimensions.sWidth, dimensions.sHeight, dimensions.dx, dimensions.dy, dimensions.dWidth, dimensions.dHeight);\n };\n /**\n * Call the encapsulated readers decode\n */\n BrowserCodeReader.prototype.decodeBitmap = function (binaryBitmap) {\n return this.reader.decode(binaryBitmap, this._hints);\n };\n /**\n * 🖌 Prepares the canvas for capture and scan frames.\n */\n BrowserCodeReader.prototype.createCaptureCanvas = function (mediaElement) {\n if (typeof document === 'undefined') {\n this._destroyCaptureCanvas();\n return null;\n }\n var canvasElement = document.createElement('canvas');\n var width;\n var height;\n if (typeof mediaElement !== 'undefined') {\n if (mediaElement instanceof HTMLVideoElement) {\n width = mediaElement.videoWidth;\n height = mediaElement.videoHeight;\n }\n else if (mediaElement instanceof HTMLImageElement) {\n width = mediaElement.naturalWidth || mediaElement.width;\n height = mediaElement.naturalHeight || mediaElement.height;\n }\n }\n canvasElement.style.width = width + 'px';\n canvasElement.style.height = height + 'px';\n canvasElement.width = width;\n canvasElement.height = height;\n return canvasElement;\n };\n /**\n * Stops the continuous scan and cleans the stream.\n */\n BrowserCodeReader.prototype.stopStreams = function () {\n if (this.stream) {\n this.stream.getVideoTracks().forEach(function (t) { return t.stop(); });\n this.stream = undefined;\n }\n if (this._stopAsyncDecode === false) {\n this.stopAsyncDecode();\n }\n if (this._stopContinuousDecode === false) {\n this.stopContinuousDecode();\n }\n };\n /**\n * Resets the code reader to the initial state. Cancels any ongoing barcode scanning from video or camera.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.reset = function () {\n // stops the camera, preview and scan 🔴\n this.stopStreams();\n // clean and forget about HTML elements\n this._destroyVideoElement();\n this._destroyImageElement();\n this._destroyCaptureCanvas();\n };\n BrowserCodeReader.prototype._destroyVideoElement = function () {\n if (!this.videoElement) {\n return;\n }\n // first gives freedon to the element 🕊\n if (typeof this.videoEndedListener !== 'undefined') {\n this.videoElement.removeEventListener('ended', this.videoEndedListener);\n }\n if (typeof this.videoPlayingEventListener !== 'undefined') {\n this.videoElement.removeEventListener('playing', this.videoPlayingEventListener);\n }\n if (typeof this.videoCanPlayListener !== 'undefined') {\n this.videoElement.removeEventListener('loadedmetadata', this.videoCanPlayListener);\n }\n // then forgets about that element 😢\n this.cleanVideoSource(this.videoElement);\n this.videoElement = undefined;\n };\n BrowserCodeReader.prototype._destroyImageElement = function () {\n if (!this.imageElement) {\n return;\n }\n // first gives freedon to the element 🕊\n if (undefined !== this.imageLoadedListener) {\n this.imageElement.removeEventListener('load', this.imageLoadedListener);\n }\n // then forget about that element 😢\n this.imageElement.src = undefined;\n this.imageElement.removeAttribute('src');\n this.imageElement = undefined;\n };\n /**\n * Cleans canvas references 🖌\n */\n BrowserCodeReader.prototype._destroyCaptureCanvas = function () {\n // then forget about that element 😢\n this.captureCanvasContext = undefined;\n this.captureCanvas = undefined;\n };\n /**\n * Defines what the videoElement src will be.\n *\n * @param videoElement\n * @param stream\n */\n BrowserCodeReader.prototype.addVideoSource = function (videoElement, stream) {\n // Older browsers may not have `srcObject`\n try {\n // @note Throws Exception if interrupted by a new loaded request\n videoElement.srcObject = stream;\n }\n catch (err) {\n // @note Avoid using this in new browsers, as it is going away.\n // @ts-ignore\n videoElement.src = URL.createObjectURL(stream);\n }\n };\n /**\n * Unbinds a HTML video src property.\n *\n * @param videoElement\n */\n BrowserCodeReader.prototype.cleanVideoSource = function (videoElement) {\n try {\n videoElement.srcObject = null;\n }\n catch (err) {\n videoElement.src = '';\n }\n this.videoElement.removeAttribute('src');\n };\n return BrowserCodeReader;\n}());\nexport { BrowserCodeReader };\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport System from './util/System';\n/**\n *

Encapsulates the result of decoding a barcode within an image.

\n *\n * @author Sean Owen\n */\nvar Result = /** @class */ (function () {\n // public constructor(private text: string,\n // Uint8Array rawBytes,\n // ResultPoconst resultPoints: Int32Array,\n // BarcodeFormat format) {\n // this(text, rawBytes, resultPoints, format, System.currentTimeMillis())\n // }\n // public constructor(text: string,\n // Uint8Array rawBytes,\n // ResultPoconst resultPoints: Int32Array,\n // BarcodeFormat format,\n // long timestamp) {\n // this(text, rawBytes, rawBytes == null ? 0 : 8 * rawBytes.length,\n // resultPoints, format, timestamp)\n // }\n function Result(text, rawBytes, numBits, resultPoints, format, timestamp) {\n if (numBits === void 0) { numBits = rawBytes == null ? 0 : 8 * rawBytes.length; }\n if (timestamp === void 0) { timestamp = System.currentTimeMillis(); }\n this.text = text;\n this.rawBytes = rawBytes;\n this.numBits = numBits;\n this.resultPoints = resultPoints;\n this.format = format;\n this.timestamp = timestamp;\n this.text = text;\n this.rawBytes = rawBytes;\n if (undefined === numBits || null === numBits) {\n this.numBits = (rawBytes === null || rawBytes === undefined) ? 0 : 8 * rawBytes.length;\n }\n else {\n this.numBits = numBits;\n }\n this.resultPoints = resultPoints;\n this.format = format;\n this.resultMetadata = null;\n if (undefined === timestamp || null === timestamp) {\n this.timestamp = System.currentTimeMillis();\n }\n else {\n this.timestamp = timestamp;\n }\n }\n /**\n * @return raw text encoded by the barcode\n */\n Result.prototype.getText = function () {\n return this.text;\n };\n /**\n * @return raw bytes encoded by the barcode, if applicable, otherwise {@code null}\n */\n Result.prototype.getRawBytes = function () {\n return this.rawBytes;\n };\n /**\n * @return how many bits of {@link #getRawBytes()} are valid; typically 8 times its length\n * @since 3.3.0\n */\n Result.prototype.getNumBits = function () {\n return this.numBits;\n };\n /**\n * @return points related to the barcode in the image. These are typically points\n * identifying finder patterns or the corners of the barcode. The exact meaning is\n * specific to the type of barcode that was decoded.\n */\n Result.prototype.getResultPoints = function () {\n return this.resultPoints;\n };\n /**\n * @return {@link BarcodeFormat} representing the format of the barcode that was decoded\n */\n Result.prototype.getBarcodeFormat = function () {\n return this.format;\n };\n /**\n * @return {@link Map} mapping {@link ResultMetadataType} keys to values. May be\n * {@code null}. This contains optional metadata about what was detected about the barcode,\n * like orientation.\n */\n Result.prototype.getResultMetadata = function () {\n return this.resultMetadata;\n };\n Result.prototype.putMetadata = function (type, value) {\n if (this.resultMetadata === null) {\n this.resultMetadata = new Map();\n }\n this.resultMetadata.set(type, value);\n };\n Result.prototype.putAllMetadata = function (metadata) {\n if (metadata !== null) {\n if (this.resultMetadata === null) {\n this.resultMetadata = metadata;\n }\n else {\n this.resultMetadata = new Map(metadata);\n }\n }\n };\n Result.prototype.addResultPoints = function (newPoints) {\n var oldPoints = this.resultPoints;\n if (oldPoints === null) {\n this.resultPoints = newPoints;\n }\n else if (newPoints !== null && newPoints.length > 0) {\n var allPoints = new Array(oldPoints.length + newPoints.length);\n System.arraycopy(oldPoints, 0, allPoints, 0, oldPoints.length);\n System.arraycopy(newPoints, 0, allPoints, oldPoints.length, newPoints.length);\n this.resultPoints = allPoints;\n }\n };\n Result.prototype.getTimestamp = function () {\n return this.timestamp;\n };\n /*@Override*/\n Result.prototype.toString = function () {\n return this.text;\n };\n return Result;\n}());\nexport default Result;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing {*/\n/**\n * Represents some type of metadata about the result of the decoding that the decoder\n * wishes to communicate back to the caller.\n *\n * @author Sean Owen\n */\nvar ResultMetadataType;\n(function (ResultMetadataType) {\n /**\n * Unspecified, application-specific metadata. Maps to an unspecified {@link Object}.\n */\n ResultMetadataType[ResultMetadataType[\"OTHER\"] = 0] = \"OTHER\";\n /**\n * Denotes the likely approximate orientation of the barcode in the image. This value\n * is given as degrees rotated clockwise from the normal, upright orientation.\n * For example a 1D barcode which was found by reading top-to-bottom would be\n * said to have orientation \"90\". This key maps to an {@link Integer} whose\n * value is in the range [0,360).\n */\n ResultMetadataType[ResultMetadataType[\"ORIENTATION\"] = 1] = \"ORIENTATION\";\n /**\n *

2D barcode formats typically encode text, but allow for a sort of 'byte mode'\n * which is sometimes used to encode binary data. While {@link Result} makes available\n * the complete raw bytes in the barcode for these formats, it does not offer the bytes\n * from the byte segments alone.

\n *\n *

This maps to a {@link java.util.List} of byte arrays corresponding to the\n * raw bytes in the byte segments in the barcode, in order.

\n */\n ResultMetadataType[ResultMetadataType[\"BYTE_SEGMENTS\"] = 2] = \"BYTE_SEGMENTS\";\n /**\n * Error correction level used, if applicable. The value type depends on the\n * format, but is typically a String.\n */\n ResultMetadataType[ResultMetadataType[\"ERROR_CORRECTION_LEVEL\"] = 3] = \"ERROR_CORRECTION_LEVEL\";\n /**\n * For some periodicals, indicates the issue number as an {@link Integer}.\n */\n ResultMetadataType[ResultMetadataType[\"ISSUE_NUMBER\"] = 4] = \"ISSUE_NUMBER\";\n /**\n * For some products, indicates the suggested retail price in the barcode as a\n * formatted {@link String}.\n */\n ResultMetadataType[ResultMetadataType[\"SUGGESTED_PRICE\"] = 5] = \"SUGGESTED_PRICE\";\n /**\n * For some products, the possible country of manufacture as a {@link String} denoting the\n * ISO country code. Some map to multiple possible countries, like \"US/CA\".\n */\n ResultMetadataType[ResultMetadataType[\"POSSIBLE_COUNTRY\"] = 6] = \"POSSIBLE_COUNTRY\";\n /**\n * For some products, the extension text\n */\n ResultMetadataType[ResultMetadataType[\"UPC_EAN_EXTENSION\"] = 7] = \"UPC_EAN_EXTENSION\";\n /**\n * PDF417-specific metadata\n */\n ResultMetadataType[ResultMetadataType[\"PDF417_EXTRA_METADATA\"] = 8] = \"PDF417_EXTRA_METADATA\";\n /**\n * If the code format supports structured append and the current scanned code is part of one then the\n * sequence number is given with it.\n */\n ResultMetadataType[ResultMetadataType[\"STRUCTURED_APPEND_SEQUENCE\"] = 9] = \"STRUCTURED_APPEND_SEQUENCE\";\n /**\n * If the code format supports structured append and the current scanned code is part of one then the\n * parity is given with it.\n */\n ResultMetadataType[ResultMetadataType[\"STRUCTURED_APPEND_PARITY\"] = 10] = \"STRUCTURED_APPEND_PARITY\";\n})(ResultMetadataType || (ResultMetadataType = {}));\nexport default ResultMetadataType;\n","/*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport DecoderResult from '../../common/DecoderResult';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport ReedSolomonDecoder from '../../common/reedsolomon/ReedSolomonDecoder';\nimport IllegalStateException from '../../IllegalStateException';\nimport FormatException from '../../FormatException';\nimport StringUtils from '../../common/StringUtils';\nimport Integer from '../../util/Integer';\n// import java.util.Arrays;\nvar Table;\n(function (Table) {\n Table[Table[\"UPPER\"] = 0] = \"UPPER\";\n Table[Table[\"LOWER\"] = 1] = \"LOWER\";\n Table[Table[\"MIXED\"] = 2] = \"MIXED\";\n Table[Table[\"DIGIT\"] = 3] = \"DIGIT\";\n Table[Table[\"PUNCT\"] = 4] = \"PUNCT\";\n Table[Table[\"BINARY\"] = 5] = \"BINARY\";\n})(Table || (Table = {}));\n/**\n *

The main class which implements Aztec Code decoding -- as opposed to locating and extracting\n * the Aztec Code from an image.

\n *\n * @author David Olivier\n */\nvar Decoder = /** @class */ (function () {\n function Decoder() {\n }\n Decoder.prototype.decode = function (detectorResult) {\n this.ddata = detectorResult;\n var matrix = detectorResult.getBits();\n var rawbits = this.extractBits(matrix);\n var correctedBits = this.correctBits(rawbits);\n var rawBytes = Decoder.convertBoolArrayToByteArray(correctedBits);\n var result = Decoder.getEncodedData(correctedBits);\n var decoderResult = new DecoderResult(rawBytes, result, null, null);\n decoderResult.setNumBits(correctedBits.length);\n return decoderResult;\n };\n // This method is used for testing the high-level encoder\n Decoder.highLevelDecode = function (correctedBits) {\n return this.getEncodedData(correctedBits);\n };\n /**\n * Gets the string encoded in the aztec code bits\n *\n * @return the decoded string\n */\n Decoder.getEncodedData = function (correctedBits) {\n var endIndex = correctedBits.length;\n var latchTable = Table.UPPER; // table most recently latched to\n var shiftTable = Table.UPPER; // table to use for the next read\n var result = '';\n var index = 0;\n while (index < endIndex) {\n if (shiftTable === Table.BINARY) {\n if (endIndex - index < 5) {\n break;\n }\n var length_1 = Decoder.readCode(correctedBits, index, 5);\n index += 5;\n if (length_1 === 0) {\n if (endIndex - index < 11) {\n break;\n }\n length_1 = Decoder.readCode(correctedBits, index, 11) + 31;\n index += 11;\n }\n for (var charCount = 0; charCount < length_1; charCount++) {\n if (endIndex - index < 8) {\n index = endIndex; // Force outer loop to exit\n break;\n }\n var code = Decoder.readCode(correctedBits, index, 8);\n result += /*(char)*/ StringUtils.castAsNonUtf8Char(code);\n index += 8;\n }\n // Go back to whatever mode we had been in\n shiftTable = latchTable;\n }\n else {\n var size = shiftTable === Table.DIGIT ? 4 : 5;\n if (endIndex - index < size) {\n break;\n }\n var code = Decoder.readCode(correctedBits, index, size);\n index += size;\n var str = Decoder.getCharacter(shiftTable, code);\n if (str.startsWith('CTRL_')) {\n // Table changes\n // ISO/IEC 24778:2008 prescribes ending a shift sequence in the mode from which it was invoked.\n // That's including when that mode is a shift.\n // Our test case dlusbs.png for issue #642 exercises that.\n latchTable = shiftTable; // Latch the current mode, so as to return to Upper after U/S B/S\n shiftTable = Decoder.getTable(str.charAt(5));\n if (str.charAt(6) === 'L') {\n latchTable = shiftTable;\n }\n }\n else {\n result += str;\n // Go back to whatever mode we had been in\n shiftTable = latchTable;\n }\n }\n }\n return result;\n };\n /**\n * gets the table corresponding to the char passed\n */\n Decoder.getTable = function (t) {\n switch (t) {\n case 'L':\n return Table.LOWER;\n case 'P':\n return Table.PUNCT;\n case 'M':\n return Table.MIXED;\n case 'D':\n return Table.DIGIT;\n case 'B':\n return Table.BINARY;\n case 'U':\n default:\n return Table.UPPER;\n }\n };\n /**\n * Gets the character (or string) corresponding to the passed code in the given table\n *\n * @param table the table used\n * @param code the code of the character\n */\n Decoder.getCharacter = function (table, code) {\n switch (table) {\n case Table.UPPER:\n return Decoder.UPPER_TABLE[code];\n case Table.LOWER:\n return Decoder.LOWER_TABLE[code];\n case Table.MIXED:\n return Decoder.MIXED_TABLE[code];\n case Table.PUNCT:\n return Decoder.PUNCT_TABLE[code];\n case Table.DIGIT:\n return Decoder.DIGIT_TABLE[code];\n default:\n // Should not reach here.\n throw new IllegalStateException('Bad table');\n }\n };\n /**\n *

Performs RS error correction on an array of bits.

\n *\n * @return the corrected array\n * @throws FormatException if the input contains too many errors\n */\n Decoder.prototype.correctBits = function (rawbits) {\n var gf;\n var codewordSize;\n if (this.ddata.getNbLayers() <= 2) {\n codewordSize = 6;\n gf = GenericGF.AZTEC_DATA_6;\n }\n else if (this.ddata.getNbLayers() <= 8) {\n codewordSize = 8;\n gf = GenericGF.AZTEC_DATA_8;\n }\n else if (this.ddata.getNbLayers() <= 22) {\n codewordSize = 10;\n gf = GenericGF.AZTEC_DATA_10;\n }\n else {\n codewordSize = 12;\n gf = GenericGF.AZTEC_DATA_12;\n }\n var numDataCodewords = this.ddata.getNbDatablocks();\n var numCodewords = rawbits.length / codewordSize;\n if (numCodewords < numDataCodewords) {\n throw new FormatException();\n }\n var offset = rawbits.length % codewordSize;\n var dataWords = new Int32Array(numCodewords);\n for (var i = 0; i < numCodewords; i++, offset += codewordSize) {\n dataWords[i] = Decoder.readCode(rawbits, offset, codewordSize);\n }\n try {\n var rsDecoder = new ReedSolomonDecoder(gf);\n rsDecoder.decode(dataWords, numCodewords - numDataCodewords);\n }\n catch (ex) {\n throw new FormatException(ex);\n }\n // Now perform the unstuffing operation.\n // First, count how many bits are going to be thrown out as stuffing\n var mask = (1 << codewordSize) - 1;\n var stuffedBits = 0;\n for (var i = 0; i < numDataCodewords; i++) {\n var dataWord = dataWords[i];\n if (dataWord === 0 || dataWord === mask) {\n throw new FormatException();\n }\n else if (dataWord === 1 || dataWord === mask - 1) {\n stuffedBits++;\n }\n }\n // Now, actually unpack the bits and remove the stuffing\n var correctedBits = new Array(numDataCodewords * codewordSize - stuffedBits);\n var index = 0;\n for (var i = 0; i < numDataCodewords; i++) {\n var dataWord = dataWords[i];\n if (dataWord === 1 || dataWord === mask - 1) {\n // next codewordSize-1 bits are all zeros or all ones\n correctedBits.fill(dataWord > 1, index, index + codewordSize - 1);\n // Arrays.fill(correctedBits, index, index + codewordSize - 1, dataWord > 1);\n index += codewordSize - 1;\n }\n else {\n for (var bit = codewordSize - 1; bit >= 0; --bit) {\n correctedBits[index++] = (dataWord & (1 << bit)) !== 0;\n }\n }\n }\n return correctedBits;\n };\n /**\n * Gets the array of bits from an Aztec Code matrix\n *\n * @return the array of bits\n */\n Decoder.prototype.extractBits = function (matrix) {\n var compact = this.ddata.isCompact();\n var layers = this.ddata.getNbLayers();\n var baseMatrixSize = (compact ? 11 : 14) + layers * 4; // not including alignment lines\n var alignmentMap = new Int32Array(baseMatrixSize);\n var rawbits = new Array(this.totalBitsInLayer(layers, compact));\n if (compact) {\n for (var i = 0; i < alignmentMap.length; i++) {\n alignmentMap[i] = i;\n }\n }\n else {\n var matrixSize = baseMatrixSize + 1 + 2 * Integer.truncDivision((Integer.truncDivision(baseMatrixSize, 2) - 1), 15);\n var origCenter = baseMatrixSize / 2;\n var center = Integer.truncDivision(matrixSize, 2);\n for (var i = 0; i < origCenter; i++) {\n var newOffset = i + Integer.truncDivision(i, 15);\n alignmentMap[origCenter - i - 1] = center - newOffset - 1;\n alignmentMap[origCenter + i] = center + newOffset + 1;\n }\n }\n for (var i = 0, rowOffset = 0; i < layers; i++) {\n var rowSize = (layers - i) * 4 + (compact ? 9 : 12);\n // The top-left most point of this layer is (not including alignment lines)\n var low = i * 2;\n // The bottom-right most point of this layer is (not including alignment lines)\n var high = baseMatrixSize - 1 - low;\n // We pull bits from the two 2 x rowSize columns and two rowSize x 2 rows\n for (var j = 0; j < rowSize; j++) {\n var columnOffset = j * 2;\n for (var k = 0; k < 2; k++) {\n // left column\n rawbits[rowOffset + columnOffset + k] =\n matrix.get(alignmentMap[low + k], alignmentMap[low + j]);\n // bottom row\n rawbits[rowOffset + 2 * rowSize + columnOffset + k] =\n matrix.get(alignmentMap[low + j], alignmentMap[high - k]);\n // right column\n rawbits[rowOffset + 4 * rowSize + columnOffset + k] =\n matrix.get(alignmentMap[high - k], alignmentMap[high - j]);\n // top row\n rawbits[rowOffset + 6 * rowSize + columnOffset + k] =\n matrix.get(alignmentMap[high - j], alignmentMap[low + k]);\n }\n }\n rowOffset += rowSize * 8;\n }\n return rawbits;\n };\n /**\n * Reads a code of given length and at given index in an array of bits\n */\n Decoder.readCode = function (rawbits, startIndex, length) {\n var res = 0;\n for (var i = startIndex; i < startIndex + length; i++) {\n res <<= 1;\n if (rawbits[i]) {\n res |= 0x01;\n }\n }\n return res;\n };\n /**\n * Reads a code of length 8 in an array of bits, padding with zeros\n */\n Decoder.readByte = function (rawbits, startIndex) {\n var n = rawbits.length - startIndex;\n if (n >= 8) {\n return Decoder.readCode(rawbits, startIndex, 8);\n }\n return Decoder.readCode(rawbits, startIndex, n) << (8 - n);\n };\n /**\n * Packs a bit array into bytes, most significant bit first\n */\n Decoder.convertBoolArrayToByteArray = function (boolArr) {\n var byteArr = new Uint8Array((boolArr.length + 7) / 8);\n for (var i = 0; i < byteArr.length; i++) {\n byteArr[i] = Decoder.readByte(boolArr, 8 * i);\n }\n return byteArr;\n };\n Decoder.prototype.totalBitsInLayer = function (layers, compact) {\n return ((compact ? 88 : 112) + 16 * layers) * layers;\n };\n Decoder.UPPER_TABLE = [\n 'CTRL_PS', ' ', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',\n 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'CTRL_LL', 'CTRL_ML', 'CTRL_DL', 'CTRL_BS'\n ];\n Decoder.LOWER_TABLE = [\n 'CTRL_PS', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',\n 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'CTRL_US', 'CTRL_ML', 'CTRL_DL', 'CTRL_BS'\n ];\n Decoder.MIXED_TABLE = [\n // Module parse failed: Octal literal in strict mode (50:29)\n // so number string were scaped\n 'CTRL_PS', ' ', '\\\\1', '\\\\2', '\\\\3', '\\\\4', '\\\\5', '\\\\6', '\\\\7', '\\b', '\\t', '\\n',\n '\\\\13', '\\f', '\\r', '\\\\33', '\\\\34', '\\\\35', '\\\\36', '\\\\37', '@', '\\\\', '^', '_',\n '`', '|', '~', '\\\\177', 'CTRL_LL', 'CTRL_UL', 'CTRL_PL', 'CTRL_BS'\n ];\n Decoder.PUNCT_TABLE = [\n '', '\\r', '\\r\\n', '. ', ', ', ': ', '!', '\"', '#', '$', '%', '&', '\\'', '(', ')',\n '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '[', ']', '{', '}', 'CTRL_UL'\n ];\n Decoder.DIGIT_TABLE = [\n 'CTRL_PS', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ',', '.', 'CTRL_UL', 'CTRL_US'\n ];\n return Decoder;\n}());\nexport default Decoder;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common {*/\n/*import java.util.List;*/\n/**\n *

Encapsulates the result of decoding a matrix of bits. This typically\n * applies to 2D barcode formats. For now it contains the raw bytes obtained,\n * as well as a String interpretation of those bytes, if applicable.

\n *\n * @author Sean Owen\n */\nvar DecoderResult = /** @class */ (function () {\n // public constructor(rawBytes: Uint8Array,\n // text: string,\n // List byteSegments,\n // String ecLevel) {\n // this(rawBytes, text, byteSegments, ecLevel, -1, -1)\n // }\n function DecoderResult(rawBytes, text, byteSegments, ecLevel, structuredAppendSequenceNumber, structuredAppendParity) {\n if (structuredAppendSequenceNumber === void 0) { structuredAppendSequenceNumber = -1; }\n if (structuredAppendParity === void 0) { structuredAppendParity = -1; }\n this.rawBytes = rawBytes;\n this.text = text;\n this.byteSegments = byteSegments;\n this.ecLevel = ecLevel;\n this.structuredAppendSequenceNumber = structuredAppendSequenceNumber;\n this.structuredAppendParity = structuredAppendParity;\n this.numBits = (rawBytes === undefined || rawBytes === null) ? 0 : 8 * rawBytes.length;\n }\n /**\n * @return raw bytes representing the result, or {@code null} if not applicable\n */\n DecoderResult.prototype.getRawBytes = function () {\n return this.rawBytes;\n };\n /**\n * @return how many bits of {@link #getRawBytes()} are valid; typically 8 times its length\n * @since 3.3.0\n */\n DecoderResult.prototype.getNumBits = function () {\n return this.numBits;\n };\n /**\n * @param numBits overrides the number of bits that are valid in {@link #getRawBytes()}\n * @since 3.3.0\n */\n DecoderResult.prototype.setNumBits = function (numBits /*int*/) {\n this.numBits = numBits;\n };\n /**\n * @return text representation of the result\n */\n DecoderResult.prototype.getText = function () {\n return this.text;\n };\n /**\n * @return list of byte segments in the result, or {@code null} if not applicable\n */\n DecoderResult.prototype.getByteSegments = function () {\n return this.byteSegments;\n };\n /**\n * @return name of error correction level used, or {@code null} if not applicable\n */\n DecoderResult.prototype.getECLevel = function () {\n return this.ecLevel;\n };\n /**\n * @return number of errors corrected, or {@code null} if not applicable\n */\n DecoderResult.prototype.getErrorsCorrected = function () {\n return this.errorsCorrected;\n };\n DecoderResult.prototype.setErrorsCorrected = function (errorsCorrected /*Integer*/) {\n this.errorsCorrected = errorsCorrected;\n };\n /**\n * @return number of erasures corrected, or {@code null} if not applicable\n */\n DecoderResult.prototype.getErasures = function () {\n return this.erasures;\n };\n DecoderResult.prototype.setErasures = function (erasures /*Integer*/) {\n this.erasures = erasures;\n };\n /**\n * @return arbitrary additional metadata\n */\n DecoderResult.prototype.getOther = function () {\n return this.other;\n };\n DecoderResult.prototype.setOther = function (other) {\n this.other = other;\n };\n DecoderResult.prototype.hasStructuredAppend = function () {\n return this.structuredAppendParity >= 0 && this.structuredAppendSequenceNumber >= 0;\n };\n DecoderResult.prototype.getStructuredAppendParity = function () {\n return this.structuredAppendParity;\n };\n DecoderResult.prototype.getStructuredAppendSequenceNumber = function () {\n return this.structuredAppendSequenceNumber;\n };\n return DecoderResult;\n}());\nexport default DecoderResult;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n *

This class contains utility methods for performing mathematical operations over\n * the Galois Fields. Operations use a given primitive polynomial in calculations.

\n *\n *

Throughout this package, elements of the GF are represented as an {@code int}\n * for convenience and speed (but at the cost of memory).\n *

\n *\n * @author Sean Owen\n * @author David Olivier\n */\nvar AbstractGenericGF = /** @class */ (function () {\n function AbstractGenericGF() {\n }\n /**\n * @return 2 to the power of a in GF(size)\n */\n AbstractGenericGF.prototype.exp = function (a) {\n return this.expTable[a];\n };\n /**\n * @return base 2 log of a in GF(size)\n */\n AbstractGenericGF.prototype.log = function (a /*int*/) {\n if (a === 0) {\n throw new IllegalArgumentException();\n }\n return this.logTable[a];\n };\n /**\n * Implements both addition and subtraction -- they are the same in GF(size).\n *\n * @return sum/difference of a and b\n */\n AbstractGenericGF.addOrSubtract = function (a /*int*/, b /*int*/) {\n return a ^ b;\n };\n return AbstractGenericGF;\n}());\nexport default AbstractGenericGF;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common.reedsolomon {*/\nimport AbstractGenericGF from './AbstractGenericGF';\nimport System from '../../util/System';\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n *

Represents a polynomial whose coefficients are elements of a GF.\n * Instances of this class are immutable.

\n *\n *

Much credit is due to William Rucklidge since portions of this code are an indirect\n * port of his C++ Reed-Solomon implementation.

\n *\n * @author Sean Owen\n */\nvar GenericGFPoly = /** @class */ (function () {\n /**\n * @param field the {@link GenericGF} instance representing the field to use\n * to perform computations\n * @param coefficients coefficients as ints representing elements of GF(size), arranged\n * from most significant (highest-power term) coefficient to least significant\n * @throws IllegalArgumentException if argument is null or empty,\n * or if leading coefficient is 0 and this is not a\n * constant polynomial (that is, it is not the monomial \"0\")\n */\n function GenericGFPoly(field, coefficients) {\n if (coefficients.length === 0) {\n throw new IllegalArgumentException();\n }\n this.field = field;\n var coefficientsLength = coefficients.length;\n if (coefficientsLength > 1 && coefficients[0] === 0) {\n // Leading term must be non-zero for anything except the constant polynomial \"0\"\n var firstNonZero = 1;\n while (firstNonZero < coefficientsLength && coefficients[firstNonZero] === 0) {\n firstNonZero++;\n }\n if (firstNonZero === coefficientsLength) {\n this.coefficients = Int32Array.from([0]);\n }\n else {\n this.coefficients = new Int32Array(coefficientsLength - firstNonZero);\n System.arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length);\n }\n }\n else {\n this.coefficients = coefficients;\n }\n }\n GenericGFPoly.prototype.getCoefficients = function () {\n return this.coefficients;\n };\n /**\n * @return degree of this polynomial\n */\n GenericGFPoly.prototype.getDegree = function () {\n return this.coefficients.length - 1;\n };\n /**\n * @return true iff this polynomial is the monomial \"0\"\n */\n GenericGFPoly.prototype.isZero = function () {\n return this.coefficients[0] === 0;\n };\n /**\n * @return coefficient of x^degree term in this polynomial\n */\n GenericGFPoly.prototype.getCoefficient = function (degree /*int*/) {\n return this.coefficients[this.coefficients.length - 1 - degree];\n };\n /**\n * @return evaluation of this polynomial at a given point\n */\n GenericGFPoly.prototype.evaluateAt = function (a /*int*/) {\n if (a === 0) {\n // Just return the x^0 coefficient\n return this.getCoefficient(0);\n }\n var coefficients = this.coefficients;\n var result;\n if (a === 1) {\n // Just the sum of the coefficients\n result = 0;\n for (var i = 0, length_1 = coefficients.length; i !== length_1; i++) {\n var coefficient = coefficients[i];\n result = AbstractGenericGF.addOrSubtract(result, coefficient);\n }\n return result;\n }\n result = coefficients[0];\n var size = coefficients.length;\n var field = this.field;\n for (var i = 1; i < size; i++) {\n result = AbstractGenericGF.addOrSubtract(field.multiply(a, result), coefficients[i]);\n }\n return result;\n };\n GenericGFPoly.prototype.addOrSubtract = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('GenericGFPolys do not have same GenericGF field');\n }\n if (this.isZero()) {\n return other;\n }\n if (other.isZero()) {\n return this;\n }\n var smallerCoefficients = this.coefficients;\n var largerCoefficients = other.coefficients;\n if (smallerCoefficients.length > largerCoefficients.length) {\n var temp = smallerCoefficients;\n smallerCoefficients = largerCoefficients;\n largerCoefficients = temp;\n }\n var sumDiff = new Int32Array(largerCoefficients.length);\n var lengthDiff = largerCoefficients.length - smallerCoefficients.length;\n // Copy high-order terms only found in higher-degree polynomial's coefficients\n System.arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff);\n for (var i = lengthDiff; i < largerCoefficients.length; i++) {\n sumDiff[i] = AbstractGenericGF.addOrSubtract(smallerCoefficients[i - lengthDiff], largerCoefficients[i]);\n }\n return new GenericGFPoly(this.field, sumDiff);\n };\n GenericGFPoly.prototype.multiply = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('GenericGFPolys do not have same GenericGF field');\n }\n if (this.isZero() || other.isZero()) {\n return this.field.getZero();\n }\n var aCoefficients = this.coefficients;\n var aLength = aCoefficients.length;\n var bCoefficients = other.coefficients;\n var bLength = bCoefficients.length;\n var product = new Int32Array(aLength + bLength - 1);\n var field = this.field;\n for (var i = 0; i < aLength; i++) {\n var aCoeff = aCoefficients[i];\n for (var j = 0; j < bLength; j++) {\n product[i + j] = AbstractGenericGF.addOrSubtract(product[i + j], field.multiply(aCoeff, bCoefficients[j]));\n }\n }\n return new GenericGFPoly(field, product);\n };\n GenericGFPoly.prototype.multiplyScalar = function (scalar /*int*/) {\n if (scalar === 0) {\n return this.field.getZero();\n }\n if (scalar === 1) {\n return this;\n }\n var size = this.coefficients.length;\n var field = this.field;\n var product = new Int32Array(size);\n var coefficients = this.coefficients;\n for (var i = 0; i < size; i++) {\n product[i] = field.multiply(coefficients[i], scalar);\n }\n return new GenericGFPoly(field, product);\n };\n GenericGFPoly.prototype.multiplyByMonomial = function (degree /*int*/, coefficient /*int*/) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return this.field.getZero();\n }\n var coefficients = this.coefficients;\n var size = coefficients.length;\n var product = new Int32Array(size + degree);\n var field = this.field;\n for (var i = 0; i < size; i++) {\n product[i] = field.multiply(coefficients[i], coefficient);\n }\n return new GenericGFPoly(field, product);\n };\n GenericGFPoly.prototype.divide = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('GenericGFPolys do not have same GenericGF field');\n }\n if (other.isZero()) {\n throw new IllegalArgumentException('Divide by 0');\n }\n var field = this.field;\n var quotient = field.getZero();\n var remainder = this;\n var denominatorLeadingTerm = other.getCoefficient(other.getDegree());\n var inverseDenominatorLeadingTerm = field.inverse(denominatorLeadingTerm);\n while (remainder.getDegree() >= other.getDegree() && !remainder.isZero()) {\n var degreeDifference = remainder.getDegree() - other.getDegree();\n var scale = field.multiply(remainder.getCoefficient(remainder.getDegree()), inverseDenominatorLeadingTerm);\n var term = other.multiplyByMonomial(degreeDifference, scale);\n var iterationQuotient = field.buildMonomial(degreeDifference, scale);\n quotient = quotient.addOrSubtract(iterationQuotient);\n remainder = remainder.addOrSubtract(term);\n }\n return [quotient, remainder];\n };\n /*@Override*/\n GenericGFPoly.prototype.toString = function () {\n var result = '';\n for (var degree = this.getDegree(); degree >= 0; degree--) {\n var coefficient = this.getCoefficient(degree);\n if (coefficient !== 0) {\n if (coefficient < 0) {\n result += ' - ';\n coefficient = -coefficient;\n }\n else {\n if (result.length > 0) {\n result += ' + ';\n }\n }\n if (degree === 0 || coefficient !== 1) {\n var alphaPower = this.field.log(coefficient);\n if (alphaPower === 0) {\n result += '1';\n }\n else if (alphaPower === 1) {\n result += 'a';\n }\n else {\n result += 'a^';\n result += alphaPower;\n }\n }\n if (degree !== 0) {\n if (degree === 1) {\n result += 'x';\n }\n else {\n result += 'x^';\n result += degree;\n }\n }\n }\n }\n return result;\n };\n return GenericGFPoly;\n}());\nexport default GenericGFPoly;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ArithmeticException = /** @class */ (function (_super) {\n __extends(ArithmeticException, _super);\n function ArithmeticException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArithmeticException.kind = 'ArithmeticException';\n return ArithmeticException;\n}(Exception));\nexport default ArithmeticException;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.common.reedsolomon {*/\nimport GenericGFPoly from './GenericGFPoly';\nimport AbstractGenericGF from './AbstractGenericGF';\nimport Integer from '../../util/Integer';\nimport IllegalArgumentException from '../../IllegalArgumentException';\nimport ArithmeticException from '../../ArithmeticException';\n/**\n *

This class contains utility methods for performing mathematical operations over\n * the Galois Fields. Operations use a given primitive polynomial in calculations.

\n *\n *

Throughout this package, elements of the GF are represented as an {@code int}\n * for convenience and speed (but at the cost of memory).\n *

\n *\n * @author Sean Owen\n * @author David Olivier\n */\nvar GenericGF = /** @class */ (function (_super) {\n __extends(GenericGF, _super);\n /**\n * Create a representation of GF(size) using the given primitive polynomial.\n *\n * @param primitive irreducible polynomial whose coefficients are represented by\n * the bits of an int, where the least-significant bit represents the constant\n * coefficient\n * @param size the size of the field\n * @param b the factor b in the generator polynomial can be 0- or 1-based\n * (g(x) = (x+a^b)(x+a^(b+1))...(x+a^(b+2t-1))).\n * In most cases it should be 1, but for QR code it is 0.\n */\n function GenericGF(primitive /*int*/, size /*int*/, generatorBase /*int*/) {\n var _this = _super.call(this) || this;\n _this.primitive = primitive;\n _this.size = size;\n _this.generatorBase = generatorBase;\n var expTable = new Int32Array(size);\n var x = 1;\n for (var i = 0; i < size; i++) {\n expTable[i] = x;\n x *= 2; // we're assuming the generator alpha is 2\n if (x >= size) {\n x ^= primitive;\n x &= size - 1;\n }\n }\n _this.expTable = expTable;\n var logTable = new Int32Array(size);\n for (var i = 0; i < size - 1; i++) {\n logTable[expTable[i]] = i;\n }\n _this.logTable = logTable;\n // logTable[0] == 0 but this should never be used\n _this.zero = new GenericGFPoly(_this, Int32Array.from([0]));\n _this.one = new GenericGFPoly(_this, Int32Array.from([1]));\n return _this;\n }\n GenericGF.prototype.getZero = function () {\n return this.zero;\n };\n GenericGF.prototype.getOne = function () {\n return this.one;\n };\n /**\n * @return the monomial representing coefficient * x^degree\n */\n GenericGF.prototype.buildMonomial = function (degree /*int*/, coefficient /*int*/) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return this.zero;\n }\n var coefficients = new Int32Array(degree + 1);\n coefficients[0] = coefficient;\n return new GenericGFPoly(this, coefficients);\n };\n /**\n * @return multiplicative inverse of a\n */\n GenericGF.prototype.inverse = function (a /*int*/) {\n if (a === 0) {\n throw new ArithmeticException();\n }\n return this.expTable[this.size - this.logTable[a] - 1];\n };\n /**\n * @return product of a and b in GF(size)\n */\n GenericGF.prototype.multiply = function (a /*int*/, b /*int*/) {\n if (a === 0 || b === 0) {\n return 0;\n }\n return this.expTable[(this.logTable[a] + this.logTable[b]) % (this.size - 1)];\n };\n GenericGF.prototype.getSize = function () {\n return this.size;\n };\n GenericGF.prototype.getGeneratorBase = function () {\n return this.generatorBase;\n };\n /*@Override*/\n GenericGF.prototype.toString = function () {\n return ('GF(0x' + Integer.toHexString(this.primitive) + ',' + this.size + ')');\n };\n GenericGF.prototype.equals = function (o) {\n return o === this;\n };\n GenericGF.AZTEC_DATA_12 = new GenericGF(0x1069, 4096, 1); // x^12 + x^6 + x^5 + x^3 + 1\n GenericGF.AZTEC_DATA_10 = new GenericGF(0x409, 1024, 1); // x^10 + x^3 + 1\n GenericGF.AZTEC_DATA_6 = new GenericGF(0x43, 64, 1); // x^6 + x + 1\n GenericGF.AZTEC_PARAM = new GenericGF(0x13, 16, 1); // x^4 + x + 1\n GenericGF.QR_CODE_FIELD_256 = new GenericGF(0x011d, 256, 0); // x^8 + x^4 + x^3 + x^2 + 1\n GenericGF.DATA_MATRIX_FIELD_256 = new GenericGF(0x012d, 256, 1); // x^8 + x^5 + x^3 + x^2 + 1\n GenericGF.AZTEC_DATA_8 = GenericGF.DATA_MATRIX_FIELD_256;\n GenericGF.MAXICODE_FIELD_64 = GenericGF.AZTEC_DATA_6;\n return GenericGF;\n}(AbstractGenericGF));\nexport default GenericGF;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ReedSolomonException = /** @class */ (function (_super) {\n __extends(ReedSolomonException, _super);\n function ReedSolomonException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ReedSolomonException.kind = 'ReedSolomonException';\n return ReedSolomonException;\n}(Exception));\nexport default ReedSolomonException;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar IllegalStateException = /** @class */ (function (_super) {\n __extends(IllegalStateException, _super);\n function IllegalStateException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n IllegalStateException.kind = 'IllegalStateException';\n return IllegalStateException;\n}(Exception));\nexport default IllegalStateException;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common.reedsolomon {*/\nimport GenericGF from './GenericGF';\nimport GenericGFPoly from './GenericGFPoly';\nimport ReedSolomonException from '../../ReedSolomonException';\nimport IllegalStateException from '../../IllegalStateException';\n/**\n *

Implements Reed-Solomon decoding, as the name implies.

\n *\n *

The algorithm will not be explained here, but the following references were helpful\n * in creating this implementation:

\n *\n * \n *\n *

Much credit is due to William Rucklidge since portions of this code are an indirect\n * port of his C++ Reed-Solomon implementation.

\n *\n * @author Sean Owen\n * @author William Rucklidge\n * @author sanfordsquires\n */\nvar ReedSolomonDecoder = /** @class */ (function () {\n function ReedSolomonDecoder(field) {\n this.field = field;\n }\n /**\n *

Decodes given set of received codewords, which include both data and error-correction\n * codewords. Really, this means it uses Reed-Solomon to detect and correct errors, in-place,\n * in the input.

\n *\n * @param received data and error-correction codewords\n * @param twoS number of error-correction codewords available\n * @throws ReedSolomonException if decoding fails for any reason\n */\n ReedSolomonDecoder.prototype.decode = function (received, twoS /*int*/) {\n var field = this.field;\n var poly = new GenericGFPoly(field, received);\n var syndromeCoefficients = new Int32Array(twoS);\n var noError = true;\n for (var i = 0; i < twoS; i++) {\n var evalResult = poly.evaluateAt(field.exp(i + field.getGeneratorBase()));\n syndromeCoefficients[syndromeCoefficients.length - 1 - i] = evalResult;\n if (evalResult !== 0) {\n noError = false;\n }\n }\n if (noError) {\n return;\n }\n var syndrome = new GenericGFPoly(field, syndromeCoefficients);\n var sigmaOmega = this.runEuclideanAlgorithm(field.buildMonomial(twoS, 1), syndrome, twoS);\n var sigma = sigmaOmega[0];\n var omega = sigmaOmega[1];\n var errorLocations = this.findErrorLocations(sigma);\n var errorMagnitudes = this.findErrorMagnitudes(omega, errorLocations);\n for (var i = 0; i < errorLocations.length; i++) {\n var position = received.length - 1 - field.log(errorLocations[i]);\n if (position < 0) {\n throw new ReedSolomonException('Bad error location');\n }\n received[position] = GenericGF.addOrSubtract(received[position], errorMagnitudes[i]);\n }\n };\n ReedSolomonDecoder.prototype.runEuclideanAlgorithm = function (a, b, R /*int*/) {\n // Assume a's degree is >= b's\n if (a.getDegree() < b.getDegree()) {\n var temp = a;\n a = b;\n b = temp;\n }\n var field = this.field;\n var rLast = a;\n var r = b;\n var tLast = field.getZero();\n var t = field.getOne();\n // Run Euclidean algorithm until r's degree is less than R/2\n while (r.getDegree() >= (R / 2 | 0)) {\n var rLastLast = rLast;\n var tLastLast = tLast;\n rLast = r;\n tLast = t;\n // Divide rLastLast by rLast, with quotient in q and remainder in r\n if (rLast.isZero()) {\n // Oops, Euclidean algorithm already terminated?\n throw new ReedSolomonException('r_{i-1} was zero');\n }\n r = rLastLast;\n var q = field.getZero();\n var denominatorLeadingTerm = rLast.getCoefficient(rLast.getDegree());\n var dltInverse = field.inverse(denominatorLeadingTerm);\n while (r.getDegree() >= rLast.getDegree() && !r.isZero()) {\n var degreeDiff = r.getDegree() - rLast.getDegree();\n var scale = field.multiply(r.getCoefficient(r.getDegree()), dltInverse);\n q = q.addOrSubtract(field.buildMonomial(degreeDiff, scale));\n r = r.addOrSubtract(rLast.multiplyByMonomial(degreeDiff, scale));\n }\n t = q.multiply(tLast).addOrSubtract(tLastLast);\n if (r.getDegree() >= rLast.getDegree()) {\n throw new IllegalStateException('Division algorithm failed to reduce polynomial?');\n }\n }\n var sigmaTildeAtZero = t.getCoefficient(0);\n if (sigmaTildeAtZero === 0) {\n throw new ReedSolomonException('sigmaTilde(0) was zero');\n }\n var inverse = field.inverse(sigmaTildeAtZero);\n var sigma = t.multiplyScalar(inverse);\n var omega = r.multiplyScalar(inverse);\n return [sigma, omega];\n };\n ReedSolomonDecoder.prototype.findErrorLocations = function (errorLocator) {\n // This is a direct application of Chien's search\n var numErrors = errorLocator.getDegree();\n if (numErrors === 1) { // shortcut\n return Int32Array.from([errorLocator.getCoefficient(1)]);\n }\n var result = new Int32Array(numErrors);\n var e = 0;\n var field = this.field;\n for (var i = 1; i < field.getSize() && e < numErrors; i++) {\n if (errorLocator.evaluateAt(i) === 0) {\n result[e] = field.inverse(i);\n e++;\n }\n }\n if (e !== numErrors) {\n throw new ReedSolomonException('Error locator degree does not match number of roots');\n }\n return result;\n };\n ReedSolomonDecoder.prototype.findErrorMagnitudes = function (errorEvaluator, errorLocations) {\n // This is directly applying Forney's Formula\n var s = errorLocations.length;\n var result = new Int32Array(s);\n var field = this.field;\n for (var i = 0; i < s; i++) {\n var xiInverse = field.inverse(errorLocations[i]);\n var denominator = 1;\n for (var j = 0; j < s; j++) {\n if (i !== j) {\n // denominator = field.multiply(denominator,\n // GenericGF.addOrSubtract(1, field.multiply(errorLocations[j], xiInverse)))\n // Above should work but fails on some Apple and Linux JDKs due to a Hotspot bug.\n // Below is a funny-looking workaround from Steven Parkes\n var term = field.multiply(errorLocations[j], xiInverse);\n var termPlus1 = (term & 0x1) === 0 ? term | 1 : term & ~1;\n denominator = field.multiply(denominator, termPlus1);\n }\n }\n result[i] = field.multiply(errorEvaluator.evaluateAt(xiInverse), field.inverse(denominator));\n if (field.getGeneratorBase() !== 0) {\n result[i] = field.multiply(result[i], xiInverse);\n }\n }\n return result;\n };\n return ReedSolomonDecoder;\n}());\nexport default ReedSolomonDecoder;\n","/*\n * Copyright 2012 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common.detector {*/\n/**\n * General math-related and numeric utility functions.\n */\nvar MathUtils = /** @class */ (function () {\n function MathUtils() {\n }\n /**\n * Ends up being a bit faster than {@link Math#round(float)}. This merely rounds its\n * argument to the nearest int, where x.5 rounds up to x+1. Semantics of this shortcut\n * differ slightly from {@link Math#round(float)} in that half rounds down for negative\n * values. -2.5 rounds to -3, not -2. For purposes here it makes no difference.\n *\n * @param d real value to round\n * @return nearest {@code int}\n */\n MathUtils.round = function (d /*float*/) {\n if (isNaN(d))\n return 0;\n if (d <= Number.MIN_SAFE_INTEGER)\n return Number.MIN_SAFE_INTEGER;\n if (d >= Number.MAX_SAFE_INTEGER)\n return Number.MAX_SAFE_INTEGER;\n return /*(int) */ (d + (d < 0.0 ? -0.5 : 0.5)) | 0;\n };\n // TYPESCRIPTPORT: maybe remove round method and call directly Math.round, it looks like it doesn't make sense for js\n /**\n * @param aX point A x coordinate\n * @param aY point A y coordinate\n * @param bX point B x coordinate\n * @param bY point B y coordinate\n * @return Euclidean distance between points A and B\n */\n MathUtils.distance = function (aX /*float|int*/, aY /*float|int*/, bX /*float|int*/, bY /*float|int*/) {\n var xDiff = aX - bX;\n var yDiff = aY - bY;\n return /*(float) */ Math.sqrt(xDiff * xDiff + yDiff * yDiff);\n };\n /**\n * @param aX point A x coordinate\n * @param aY point A y coordinate\n * @param bX point B x coordinate\n * @param bY point B y coordinate\n * @return Euclidean distance between points A and B\n */\n // public static distance(aX: number /*int*/, aY: number /*int*/, bX: number /*int*/, bY: number /*int*/): float {\n // const xDiff = aX - bX\n // const yDiff = aY - bY\n // return (float) Math.sqrt(xDiff * xDiff + yDiff * yDiff);\n // }\n /**\n * @param array values to sum\n * @return sum of values in array\n */\n MathUtils.sum = function (array) {\n var count = 0;\n for (var i = 0, length_1 = array.length; i !== length_1; i++) {\n var a = array[i];\n count += a;\n }\n return count;\n };\n return MathUtils;\n}());\nexport default MathUtils;\n","/**\n * Ponyfill for Java's Float class.\n */\nvar Float = /** @class */ (function () {\n function Float() {\n }\n /**\n * SincTS has no difference between int and float, there's all numbers,\n * this is used only to polyfill Java code.\n */\n Float.floatToIntBits = function (f) {\n return f;\n };\n /**\n * The float max value in JS is the number max value.\n */\n Float.MAX_VALUE = Number.MAX_SAFE_INTEGER;\n return Float;\n}());\nexport default Float;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing {*/\nimport MathUtils from './common/detector/MathUtils';\nimport Float from './util/Float';\n/**\n *

Encapsulates a point of interest in an image containing a barcode. Typically, this\n * would be the location of a finder pattern or the corner of the barcode, for example.

\n *\n * @author Sean Owen\n */\nvar ResultPoint = /** @class */ (function () {\n function ResultPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n ResultPoint.prototype.getX = function () {\n return this.x;\n };\n ResultPoint.prototype.getY = function () {\n return this.y;\n };\n /*@Override*/\n ResultPoint.prototype.equals = function (other) {\n if (other instanceof ResultPoint) {\n var otherPoint = other;\n return this.x === otherPoint.x && this.y === otherPoint.y;\n }\n return false;\n };\n /*@Override*/\n ResultPoint.prototype.hashCode = function () {\n return 31 * Float.floatToIntBits(this.x) + Float.floatToIntBits(this.y);\n };\n /*@Override*/\n ResultPoint.prototype.toString = function () {\n return '(' + this.x + ',' + this.y + ')';\n };\n /**\n * Orders an array of three ResultPoints in an order [A,B,C] such that AB is less than AC\n * and BC is less than AC, and the angle between BC and BA is less than 180 degrees.\n *\n * @param patterns array of three {@code ResultPoint} to order\n */\n ResultPoint.orderBestPatterns = function (patterns) {\n // Find distances between pattern centers\n var zeroOneDistance = this.distance(patterns[0], patterns[1]);\n var oneTwoDistance = this.distance(patterns[1], patterns[2]);\n var zeroTwoDistance = this.distance(patterns[0], patterns[2]);\n var pointA;\n var pointB;\n var pointC;\n // Assume one closest to other two is B; A and C will just be guesses at first\n if (oneTwoDistance >= zeroOneDistance && oneTwoDistance >= zeroTwoDistance) {\n pointB = patterns[0];\n pointA = patterns[1];\n pointC = patterns[2];\n }\n else if (zeroTwoDistance >= oneTwoDistance && zeroTwoDistance >= zeroOneDistance) {\n pointB = patterns[1];\n pointA = patterns[0];\n pointC = patterns[2];\n }\n else {\n pointB = patterns[2];\n pointA = patterns[0];\n pointC = patterns[1];\n }\n // Use cross product to figure out whether A and C are correct or flipped.\n // This asks whether BC x BA has a positive z component, which is the arrangement\n // we want for A, B, C. If it's negative, then we've got it flipped around and\n // should swap A and C.\n if (this.crossProductZ(pointA, pointB, pointC) < 0.0) {\n var temp = pointA;\n pointA = pointC;\n pointC = temp;\n }\n patterns[0] = pointA;\n patterns[1] = pointB;\n patterns[2] = pointC;\n };\n /**\n * @param pattern1 first pattern\n * @param pattern2 second pattern\n * @return distance between two points\n */\n ResultPoint.distance = function (pattern1, pattern2) {\n return MathUtils.distance(pattern1.x, pattern1.y, pattern2.x, pattern2.y);\n };\n /**\n * Returns the z component of the cross product between vectors BC and BA.\n */\n ResultPoint.crossProductZ = function (pointA, pointB, pointC) {\n var bX = pointB.x;\n var bY = pointB.y;\n return ((pointC.x - bX) * (pointA.y - bY)) - ((pointC.y - bY) * (pointA.x - bX));\n };\n return ResultPoint;\n}());\nexport default ResultPoint;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n *

Encapsulates the result of detecting a barcode in an image. This includes the raw\n * matrix of black/white pixels corresponding to the barcode, and possibly points of interest\n * in the image, like the location of finder patterns or corners of the barcode in the image.

\n *\n * @author Sean Owen\n */\nvar DetectorResult = /** @class */ (function () {\n function DetectorResult(bits, points) {\n this.bits = bits;\n this.points = points;\n }\n DetectorResult.prototype.getBits = function () {\n return this.bits;\n };\n DetectorResult.prototype.getPoints = function () {\n return this.points;\n };\n return DetectorResult;\n}());\nexport default DetectorResult;\n","/*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport DetectorResult from '../common/DetectorResult';\n/**\n *

Extends {@link DetectorResult} with more information specific to the Aztec format,\n * like the number of layers and whether it's compact.

\n *\n * @author Sean Owen\n */\nvar AztecDetectorResult = /** @class */ (function (_super) {\n __extends(AztecDetectorResult, _super);\n function AztecDetectorResult(bits, points, compact, nbDatablocks, nbLayers) {\n var _this = _super.call(this, bits, points) || this;\n _this.compact = compact;\n _this.nbDatablocks = nbDatablocks;\n _this.nbLayers = nbLayers;\n return _this;\n }\n AztecDetectorResult.prototype.getNbLayers = function () {\n return this.nbLayers;\n };\n AztecDetectorResult.prototype.getNbDatablocks = function () {\n return this.nbDatablocks;\n };\n AztecDetectorResult.prototype.isCompact = function () {\n return this.compact;\n };\n return AztecDetectorResult;\n}(DetectorResult));\nexport default AztecDetectorResult;\n","/*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common.detector {*/\nimport ResultPoint from '../../ResultPoint';\nimport MathUtils from './MathUtils';\nimport NotFoundException from '../../NotFoundException';\n/**\n *

\n * Detects a candidate barcode-like rectangular region within an image. It\n * starts around the center of the image, increases the size of the candidate\n * region until it finds a white rectangular region. By keeping track of the\n * last black points it encountered, it determines the corners of the barcode.\n *

\n *\n * @author David Olivier\n */\nvar WhiteRectangleDetector = /** @class */ (function () {\n // public constructor(private image: BitMatrix) /*throws NotFoundException*/ {\n // this(image, INIT_SIZE, image.getWidth() / 2, image.getHeight() / 2)\n // }\n /**\n * @param image barcode image to find a rectangle in\n * @param initSize initial size of search area around center\n * @param x x position of search center\n * @param y y position of search center\n * @throws NotFoundException if image is too small to accommodate {@code initSize}\n */\n function WhiteRectangleDetector(image, initSize /*int*/, x /*int*/, y /*int*/) {\n this.image = image;\n this.height = image.getHeight();\n this.width = image.getWidth();\n if (undefined === initSize || null === initSize) {\n initSize = WhiteRectangleDetector.INIT_SIZE;\n }\n if (undefined === x || null === x) {\n x = image.getWidth() / 2 | 0;\n }\n if (undefined === y || null === y) {\n y = image.getHeight() / 2 | 0;\n }\n var halfsize = initSize / 2 | 0;\n this.leftInit = x - halfsize;\n this.rightInit = x + halfsize;\n this.upInit = y - halfsize;\n this.downInit = y + halfsize;\n if (this.upInit < 0 || this.leftInit < 0 || this.downInit >= this.height || this.rightInit >= this.width) {\n throw new NotFoundException();\n }\n }\n /**\n *

\n * Detects a candidate barcode-like rectangular region within an image. It\n * starts around the center of the image, increases the size of the candidate\n * region until it finds a white rectangular region.\n *

\n *\n * @return {@link ResultPoint}[] describing the corners of the rectangular\n * region. The first and last points are opposed on the diagonal, as\n * are the second and third. The first point will be the topmost\n * point and the last, the bottommost. The second point will be\n * leftmost and the third, the rightmost\n * @throws NotFoundException if no Data Matrix Code can be found\n */\n WhiteRectangleDetector.prototype.detect = function () {\n var left = this.leftInit;\n var right = this.rightInit;\n var up = this.upInit;\n var down = this.downInit;\n var sizeExceeded = false;\n var aBlackPointFoundOnBorder = true;\n var atLeastOneBlackPointFoundOnBorder = false;\n var atLeastOneBlackPointFoundOnRight = false;\n var atLeastOneBlackPointFoundOnBottom = false;\n var atLeastOneBlackPointFoundOnLeft = false;\n var atLeastOneBlackPointFoundOnTop = false;\n var width = this.width;\n var height = this.height;\n while (aBlackPointFoundOnBorder) {\n aBlackPointFoundOnBorder = false;\n // .....\n // . |\n // .....\n var rightBorderNotWhite = true;\n while ((rightBorderNotWhite || !atLeastOneBlackPointFoundOnRight) && right < width) {\n rightBorderNotWhite = this.containsBlackPoint(up, down, right, false);\n if (rightBorderNotWhite) {\n right++;\n aBlackPointFoundOnBorder = true;\n atLeastOneBlackPointFoundOnRight = true;\n }\n else if (!atLeastOneBlackPointFoundOnRight) {\n right++;\n }\n }\n if (right >= width) {\n sizeExceeded = true;\n break;\n }\n // .....\n // . .\n // .___.\n var bottomBorderNotWhite = true;\n while ((bottomBorderNotWhite || !atLeastOneBlackPointFoundOnBottom) && down < height) {\n bottomBorderNotWhite = this.containsBlackPoint(left, right, down, true);\n if (bottomBorderNotWhite) {\n down++;\n aBlackPointFoundOnBorder = true;\n atLeastOneBlackPointFoundOnBottom = true;\n }\n else if (!atLeastOneBlackPointFoundOnBottom) {\n down++;\n }\n }\n if (down >= height) {\n sizeExceeded = true;\n break;\n }\n // .....\n // | .\n // .....\n var leftBorderNotWhite = true;\n while ((leftBorderNotWhite || !atLeastOneBlackPointFoundOnLeft) && left >= 0) {\n leftBorderNotWhite = this.containsBlackPoint(up, down, left, false);\n if (leftBorderNotWhite) {\n left--;\n aBlackPointFoundOnBorder = true;\n atLeastOneBlackPointFoundOnLeft = true;\n }\n else if (!atLeastOneBlackPointFoundOnLeft) {\n left--;\n }\n }\n if (left < 0) {\n sizeExceeded = true;\n break;\n }\n // .___.\n // . .\n // .....\n var topBorderNotWhite = true;\n while ((topBorderNotWhite || !atLeastOneBlackPointFoundOnTop) && up >= 0) {\n topBorderNotWhite = this.containsBlackPoint(left, right, up, true);\n if (topBorderNotWhite) {\n up--;\n aBlackPointFoundOnBorder = true;\n atLeastOneBlackPointFoundOnTop = true;\n }\n else if (!atLeastOneBlackPointFoundOnTop) {\n up--;\n }\n }\n if (up < 0) {\n sizeExceeded = true;\n break;\n }\n if (aBlackPointFoundOnBorder) {\n atLeastOneBlackPointFoundOnBorder = true;\n }\n }\n if (!sizeExceeded && atLeastOneBlackPointFoundOnBorder) {\n var maxSize = right - left;\n var z = null;\n for (var i = 1; z === null && i < maxSize; i++) {\n z = this.getBlackPointOnSegment(left, down - i, left + i, down);\n }\n if (z == null) {\n throw new NotFoundException();\n }\n var t = null;\n // go down right\n for (var i = 1; t === null && i < maxSize; i++) {\n t = this.getBlackPointOnSegment(left, up + i, left + i, up);\n }\n if (t == null) {\n throw new NotFoundException();\n }\n var x = null;\n // go down left\n for (var i = 1; x === null && i < maxSize; i++) {\n x = this.getBlackPointOnSegment(right, up + i, right - i, up);\n }\n if (x == null) {\n throw new NotFoundException();\n }\n var y = null;\n // go up left\n for (var i = 1; y === null && i < maxSize; i++) {\n y = this.getBlackPointOnSegment(right, down - i, right - i, down);\n }\n if (y == null) {\n throw new NotFoundException();\n }\n return this.centerEdges(y, z, x, t);\n }\n else {\n throw new NotFoundException();\n }\n };\n WhiteRectangleDetector.prototype.getBlackPointOnSegment = function (aX /*float*/, aY /*float*/, bX /*float*/, bY /*float*/) {\n var dist = MathUtils.round(MathUtils.distance(aX, aY, bX, bY));\n var xStep = (bX - aX) / dist;\n var yStep = (bY - aY) / dist;\n var image = this.image;\n for (var i = 0; i < dist; i++) {\n var x = MathUtils.round(aX + i * xStep);\n var y = MathUtils.round(aY + i * yStep);\n if (image.get(x, y)) {\n return new ResultPoint(x, y);\n }\n }\n return null;\n };\n /**\n * recenters the points of a constant distance towards the center\n *\n * @param y bottom most point\n * @param z left most point\n * @param x right most point\n * @param t top most point\n * @return {@link ResultPoint}[] describing the corners of the rectangular\n * region. The first and last points are opposed on the diagonal, as\n * are the second and third. The first point will be the topmost\n * point and the last, the bottommost. The second point will be\n * leftmost and the third, the rightmost\n */\n WhiteRectangleDetector.prototype.centerEdges = function (y, z, x, t) {\n //\n // t t\n // z x\n // x OR z\n // y y\n //\n var yi = y.getX();\n var yj = y.getY();\n var zi = z.getX();\n var zj = z.getY();\n var xi = x.getX();\n var xj = x.getY();\n var ti = t.getX();\n var tj = t.getY();\n var CORR = WhiteRectangleDetector.CORR;\n if (yi < this.width / 2.0) {\n return [\n new ResultPoint(ti - CORR, tj + CORR),\n new ResultPoint(zi + CORR, zj + CORR),\n new ResultPoint(xi - CORR, xj - CORR),\n new ResultPoint(yi + CORR, yj - CORR)\n ];\n }\n else {\n return [\n new ResultPoint(ti + CORR, tj + CORR),\n new ResultPoint(zi + CORR, zj - CORR),\n new ResultPoint(xi - CORR, xj + CORR),\n new ResultPoint(yi - CORR, yj - CORR)\n ];\n }\n };\n /**\n * Determines whether a segment contains a black point\n *\n * @param a min value of the scanned coordinate\n * @param b max value of the scanned coordinate\n * @param fixed value of fixed coordinate\n * @param horizontal set to true if scan must be horizontal, false if vertical\n * @return true if a black point has been found, else false.\n */\n WhiteRectangleDetector.prototype.containsBlackPoint = function (a /*int*/, b /*int*/, fixed /*int*/, horizontal) {\n var image = this.image;\n if (horizontal) {\n for (var x = a; x <= b; x++) {\n if (image.get(x, fixed)) {\n return true;\n }\n }\n }\n else {\n for (var y = a; y <= b; y++) {\n if (image.get(fixed, y)) {\n return true;\n }\n }\n }\n return false;\n };\n WhiteRectangleDetector.INIT_SIZE = 10;\n WhiteRectangleDetector.CORR = 1;\n return WhiteRectangleDetector;\n}());\nexport default WhiteRectangleDetector;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport NotFoundException from '../NotFoundException';\n/**\n * Implementations of this class can, given locations of finder patterns for a QR code in an\n * image, sample the right points in the image to reconstruct the QR code, accounting for\n * perspective distortion. It is abstracted since it is relatively expensive and should be allowed\n * to take advantage of platform-specific optimized implementations, like Sun's Java Advanced\n * Imaging library, but which may not be available in other environments such as J2ME, and vice\n * versa.\n *\n * The implementation used can be controlled by calling {@link #setGridSampler(GridSampler)}\n * with an instance of a class which implements this interface.\n *\n * @author Sean Owen\n */\nvar GridSampler = /** @class */ (function () {\n function GridSampler() {\n }\n /**\n *

Checks a set of points that have been transformed to sample points on an image against\n * the image's dimensions to see if the point are even within the image.

\n *\n *

This method will actually \"nudge\" the endpoints back onto the image if they are found to be\n * barely (less than 1 pixel) off the image. This accounts for imperfect detection of finder\n * patterns in an image where the QR Code runs all the way to the image border.

\n *\n *

For efficiency, the method will check points from either end of the line until one is found\n * to be within the image. Because the set of points are assumed to be linear, this is valid.

\n *\n * @param image image into which the points should map\n * @param points actual points in x1,y1,...,xn,yn form\n * @throws NotFoundException if an endpoint is lies outside the image boundaries\n */\n GridSampler.checkAndNudgePoints = function (image, points) {\n var width = image.getWidth();\n var height = image.getHeight();\n // Check and nudge points from start until we see some that are OK:\n var nudged = true;\n for (var offset = 0; offset < points.length && nudged; offset += 2) {\n var x = Math.floor(points[offset]);\n var y = Math.floor(points[offset + 1]);\n if (x < -1 || x > width || y < -1 || y > height) {\n throw new NotFoundException();\n }\n nudged = false;\n if (x === -1) {\n points[offset] = 0.0;\n nudged = true;\n }\n else if (x === width) {\n points[offset] = width - 1;\n nudged = true;\n }\n if (y === -1) {\n points[offset + 1] = 0.0;\n nudged = true;\n }\n else if (y === height) {\n points[offset + 1] = height - 1;\n nudged = true;\n }\n }\n // Check and nudge points from end:\n nudged = true;\n for (var offset = points.length - 2; offset >= 0 && nudged; offset -= 2) {\n var x = Math.floor(points[offset]);\n var y = Math.floor(points[offset + 1]);\n if (x < -1 || x > width || y < -1 || y > height) {\n throw new NotFoundException();\n }\n nudged = false;\n if (x === -1) {\n points[offset] = 0.0;\n nudged = true;\n }\n else if (x === width) {\n points[offset] = width - 1;\n nudged = true;\n }\n if (y === -1) {\n points[offset + 1] = 0.0;\n nudged = true;\n }\n else if (y === height) {\n points[offset + 1] = height - 1;\n nudged = true;\n }\n }\n };\n return GridSampler;\n}());\nexport default GridSampler;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common {*/\n/**\n *

This class implements a perspective transform in two dimensions. Given four source and four\n * destination points, it will compute the transformation implied between them. The code is based\n * directly upon section 3.4.2 of George Wolberg's \"Digital Image Warping\"; see pages 54-56.

\n *\n * @author Sean Owen\n */\nvar PerspectiveTransform = /** @class */ (function () {\n function PerspectiveTransform(a11 /*float*/, a21 /*float*/, a31 /*float*/, a12 /*float*/, a22 /*float*/, a32 /*float*/, a13 /*float*/, a23 /*float*/, a33 /*float*/) {\n this.a11 = a11;\n this.a21 = a21;\n this.a31 = a31;\n this.a12 = a12;\n this.a22 = a22;\n this.a32 = a32;\n this.a13 = a13;\n this.a23 = a23;\n this.a33 = a33;\n }\n PerspectiveTransform.quadrilateralToQuadrilateral = function (x0 /*float*/, y0 /*float*/, x1 /*float*/, y1 /*float*/, x2 /*float*/, y2 /*float*/, x3 /*float*/, y3 /*float*/, x0p /*float*/, y0p /*float*/, x1p /*float*/, y1p /*float*/, x2p /*float*/, y2p /*float*/, x3p /*float*/, y3p /*float*/) {\n var qToS = PerspectiveTransform.quadrilateralToSquare(x0, y0, x1, y1, x2, y2, x3, y3);\n var sToQ = PerspectiveTransform.squareToQuadrilateral(x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p);\n return sToQ.times(qToS);\n };\n PerspectiveTransform.prototype.transformPoints = function (points) {\n var max = points.length;\n var a11 = this.a11;\n var a12 = this.a12;\n var a13 = this.a13;\n var a21 = this.a21;\n var a22 = this.a22;\n var a23 = this.a23;\n var a31 = this.a31;\n var a32 = this.a32;\n var a33 = this.a33;\n for (var i = 0; i < max; i += 2) {\n var x = points[i];\n var y = points[i + 1];\n var denominator = a13 * x + a23 * y + a33;\n points[i] = (a11 * x + a21 * y + a31) / denominator;\n points[i + 1] = (a12 * x + a22 * y + a32) / denominator;\n }\n };\n PerspectiveTransform.prototype.transformPointsWithValues = function (xValues, yValues) {\n var a11 = this.a11;\n var a12 = this.a12;\n var a13 = this.a13;\n var a21 = this.a21;\n var a22 = this.a22;\n var a23 = this.a23;\n var a31 = this.a31;\n var a32 = this.a32;\n var a33 = this.a33;\n var n = xValues.length;\n for (var i = 0; i < n; i++) {\n var x = xValues[i];\n var y = yValues[i];\n var denominator = a13 * x + a23 * y + a33;\n xValues[i] = (a11 * x + a21 * y + a31) / denominator;\n yValues[i] = (a12 * x + a22 * y + a32) / denominator;\n }\n };\n PerspectiveTransform.squareToQuadrilateral = function (x0 /*float*/, y0 /*float*/, x1 /*float*/, y1 /*float*/, x2 /*float*/, y2 /*float*/, x3 /*float*/, y3 /*float*/) {\n var dx3 = x0 - x1 + x2 - x3;\n var dy3 = y0 - y1 + y2 - y3;\n if (dx3 === 0.0 && dy3 === 0.0) {\n // Affine\n return new PerspectiveTransform(x1 - x0, x2 - x1, x0, y1 - y0, y2 - y1, y0, 0.0, 0.0, 1.0);\n }\n else {\n var dx1 = x1 - x2;\n var dx2 = x3 - x2;\n var dy1 = y1 - y2;\n var dy2 = y3 - y2;\n var denominator = dx1 * dy2 - dx2 * dy1;\n var a13 = (dx3 * dy2 - dx2 * dy3) / denominator;\n var a23 = (dx1 * dy3 - dx3 * dy1) / denominator;\n return new PerspectiveTransform(x1 - x0 + a13 * x1, x3 - x0 + a23 * x3, x0, y1 - y0 + a13 * y1, y3 - y0 + a23 * y3, y0, a13, a23, 1.0);\n }\n };\n PerspectiveTransform.quadrilateralToSquare = function (x0 /*float*/, y0 /*float*/, x1 /*float*/, y1 /*float*/, x2 /*float*/, y2 /*float*/, x3 /*float*/, y3 /*float*/) {\n // Here, the adjoint serves as the inverse:\n return PerspectiveTransform.squareToQuadrilateral(x0, y0, x1, y1, x2, y2, x3, y3).buildAdjoint();\n };\n PerspectiveTransform.prototype.buildAdjoint = function () {\n // Adjoint is the transpose of the cofactor matrix:\n return new PerspectiveTransform(this.a22 * this.a33 - this.a23 * this.a32, this.a23 * this.a31 - this.a21 * this.a33, this.a21 * this.a32 - this.a22 * this.a31, this.a13 * this.a32 - this.a12 * this.a33, this.a11 * this.a33 - this.a13 * this.a31, this.a12 * this.a31 - this.a11 * this.a32, this.a12 * this.a23 - this.a13 * this.a22, this.a13 * this.a21 - this.a11 * this.a23, this.a11 * this.a22 - this.a12 * this.a21);\n };\n PerspectiveTransform.prototype.times = function (other) {\n return new PerspectiveTransform(this.a11 * other.a11 + this.a21 * other.a12 + this.a31 * other.a13, this.a11 * other.a21 + this.a21 * other.a22 + this.a31 * other.a23, this.a11 * other.a31 + this.a21 * other.a32 + this.a31 * other.a33, this.a12 * other.a11 + this.a22 * other.a12 + this.a32 * other.a13, this.a12 * other.a21 + this.a22 * other.a22 + this.a32 * other.a23, this.a12 * other.a31 + this.a22 * other.a32 + this.a32 * other.a33, this.a13 * other.a11 + this.a23 * other.a12 + this.a33 * other.a13, this.a13 * other.a21 + this.a23 * other.a22 + this.a33 * other.a23, this.a13 * other.a31 + this.a23 * other.a32 + this.a33 * other.a33);\n };\n return PerspectiveTransform;\n}());\nexport default PerspectiveTransform;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.common {*/\nimport GridSampler from './GridSampler';\nimport BitMatrix from './BitMatrix';\nimport PerspectiveTransform from './PerspectiveTransform';\nimport NotFoundException from '../NotFoundException';\n/**\n * @author Sean Owen\n */\nvar DefaultGridSampler = /** @class */ (function (_super) {\n __extends(DefaultGridSampler, _super);\n function DefaultGridSampler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /*@Override*/\n DefaultGridSampler.prototype.sampleGrid = function (image, dimensionX /*int*/, dimensionY /*int*/, p1ToX /*float*/, p1ToY /*float*/, p2ToX /*float*/, p2ToY /*float*/, p3ToX /*float*/, p3ToY /*float*/, p4ToX /*float*/, p4ToY /*float*/, p1FromX /*float*/, p1FromY /*float*/, p2FromX /*float*/, p2FromY /*float*/, p3FromX /*float*/, p3FromY /*float*/, p4FromX /*float*/, p4FromY /*float*/) {\n var transform = PerspectiveTransform.quadrilateralToQuadrilateral(p1ToX, p1ToY, p2ToX, p2ToY, p3ToX, p3ToY, p4ToX, p4ToY, p1FromX, p1FromY, p2FromX, p2FromY, p3FromX, p3FromY, p4FromX, p4FromY);\n return this.sampleGridWithTransform(image, dimensionX, dimensionY, transform);\n };\n /*@Override*/\n DefaultGridSampler.prototype.sampleGridWithTransform = function (image, dimensionX /*int*/, dimensionY /*int*/, transform) {\n if (dimensionX <= 0 || dimensionY <= 0) {\n throw new NotFoundException();\n }\n var bits = new BitMatrix(dimensionX, dimensionY);\n var points = new Float32Array(2 * dimensionX);\n for (var y = 0; y < dimensionY; y++) {\n var max = points.length;\n var iValue = y + 0.5;\n for (var x = 0; x < max; x += 2) {\n points[x] = (x / 2) + 0.5;\n points[x + 1] = iValue;\n }\n transform.transformPoints(points);\n // Quick check to see if points transformed to something inside the image\n // sufficient to check the endpoints\n GridSampler.checkAndNudgePoints(image, points);\n try {\n for (var x = 0; x < max; x += 2) {\n if (image.get(Math.floor(points[x]), Math.floor(points[x + 1]))) {\n // Black(-ish) pixel\n bits.set(x / 2, y);\n }\n }\n }\n catch (aioobe /*: ArrayIndexOutOfBoundsException*/) {\n // This feels wrong, but, sometimes if the finder patterns are misidentified, the resulting\n // transform gets \"twisted\" such that it maps a straight line of points to a set of points\n // whose endpoints are in bounds, but others are not. There is probably some mathematical\n // way to detect this about the transformation that I don't know yet.\n // This results in an ugly runtime exception despite our clever checks above -- can't have\n // that. We could check each point's coordinates but that feels duplicative. We settle for\n // catching and wrapping ArrayIndexOutOfBoundsException.\n throw new NotFoundException();\n }\n }\n return bits;\n };\n return DefaultGridSampler;\n}(GridSampler));\nexport default DefaultGridSampler;\n","import DefaultGridSampler from './DefaultGridSampler';\nvar GridSamplerInstance = /** @class */ (function () {\n function GridSamplerInstance() {\n }\n /**\n * Sets the implementation of GridSampler used by the library. One global\n * instance is stored, which may sound problematic. But, the implementation provided\n * ought to be appropriate for the entire platform, and all uses of this library\n * in the whole lifetime of the JVM. For instance, an Android activity can swap in\n * an implementation that takes advantage of native platform libraries.\n *\n * @param newGridSampler The platform-specific object to install.\n */\n GridSamplerInstance.setGridSampler = function (newGridSampler) {\n GridSamplerInstance.gridSampler = newGridSampler;\n };\n /**\n * @return the current implementation of GridSampler\n */\n GridSamplerInstance.getInstance = function () {\n return GridSamplerInstance.gridSampler;\n };\n GridSamplerInstance.gridSampler = new DefaultGridSampler();\n return GridSamplerInstance;\n}());\nexport default GridSamplerInstance;\n","/*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport ResultPoint from '../../ResultPoint';\nimport AztecDetectorResult from '../AztecDetectorResult';\nimport MathUtils from '../../common/detector/MathUtils';\nimport WhiteRectangleDetector from '../../common/detector/WhiteRectangleDetector';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport ReedSolomonDecoder from '../../common/reedsolomon/ReedSolomonDecoder';\nimport NotFoundException from '../../NotFoundException';\nimport GridSamplerInstance from '../../common/GridSamplerInstance';\nimport Integer from '../../util/Integer';\nvar Point = /** @class */ (function () {\n function Point(x, y) {\n this.x = x;\n this.y = y;\n }\n Point.prototype.toResultPoint = function () {\n return new ResultPoint(this.getX(), this.getY());\n };\n Point.prototype.getX = function () {\n return this.x;\n };\n Point.prototype.getY = function () {\n return this.y;\n };\n return Point;\n}());\nexport { Point };\n/**\n * Encapsulates logic that can detect an Aztec Code in an image, even if the Aztec Code\n * is rotated or skewed, or partially obscured.\n *\n * @author David Olivier\n * @author Frank Yellin\n */\nvar Detector = /** @class */ (function () {\n function Detector(image) {\n this.EXPECTED_CORNER_BITS = new Int32Array([\n 0xee0,\n 0x1dc,\n 0x83b,\n 0x707,\n ]);\n this.image = image;\n }\n Detector.prototype.detect = function () {\n return this.detectMirror(false);\n };\n /**\n * Detects an Aztec Code in an image.\n *\n * @param isMirror if true, image is a mirror-image of original\n * @return {@link AztecDetectorResult} encapsulating results of detecting an Aztec Code\n * @throws NotFoundException if no Aztec Code can be found\n */\n Detector.prototype.detectMirror = function (isMirror) {\n // 1. Get the center of the aztec matrix\n var pCenter = this.getMatrixCenter();\n // 2. Get the center points of the four diagonal points just outside the bull's eye\n // [topRight, bottomRight, bottomLeft, topLeft]\n var bullsEyeCorners = this.getBullsEyeCorners(pCenter);\n if (isMirror) {\n var temp = bullsEyeCorners[0];\n bullsEyeCorners[0] = bullsEyeCorners[2];\n bullsEyeCorners[2] = temp;\n }\n // 3. Get the size of the matrix and other parameters from the bull's eye\n this.extractParameters(bullsEyeCorners);\n // 4. Sample the grid\n var bits = this.sampleGrid(this.image, bullsEyeCorners[this.shift % 4], bullsEyeCorners[(this.shift + 1) % 4], bullsEyeCorners[(this.shift + 2) % 4], bullsEyeCorners[(this.shift + 3) % 4]);\n // 5. Get the corners of the matrix.\n var corners = this.getMatrixCornerPoints(bullsEyeCorners);\n return new AztecDetectorResult(bits, corners, this.compact, this.nbDataBlocks, this.nbLayers);\n };\n /**\n * Extracts the number of data layers and data blocks from the layer around the bull's eye.\n *\n * @param bullsEyeCorners the array of bull's eye corners\n * @throws NotFoundException in case of too many errors or invalid parameters\n */\n Detector.prototype.extractParameters = function (bullsEyeCorners) {\n if (!this.isValidPoint(bullsEyeCorners[0]) || !this.isValidPoint(bullsEyeCorners[1]) ||\n !this.isValidPoint(bullsEyeCorners[2]) || !this.isValidPoint(bullsEyeCorners[3])) {\n throw new NotFoundException();\n }\n var length = 2 * this.nbCenterLayers;\n // Get the bits around the bull's eye\n var sides = new Int32Array([\n this.sampleLine(bullsEyeCorners[0], bullsEyeCorners[1], length),\n this.sampleLine(bullsEyeCorners[1], bullsEyeCorners[2], length),\n this.sampleLine(bullsEyeCorners[2], bullsEyeCorners[3], length),\n this.sampleLine(bullsEyeCorners[3], bullsEyeCorners[0], length) // Top\n ]);\n // bullsEyeCorners[shift] is the corner of the bulls'eye that has three\n // orientation marks.\n // sides[shift] is the row/column that goes from the corner with three\n // orientation marks to the corner with two.\n this.shift = this.getRotation(sides, length);\n // Flatten the parameter bits into a single 28- or 40-bit long\n var parameterData = 0;\n for (var i = 0; i < 4; i++) {\n var side = sides[(this.shift + i) % 4];\n if (this.compact) {\n // Each side of the form ..XXXXXXX. where Xs are parameter data\n parameterData <<= 7;\n parameterData += (side >> 1) & 0x7F;\n }\n else {\n // Each side of the form ..XXXXX.XXXXX. where Xs are parameter data\n parameterData <<= 10;\n parameterData += ((side >> 2) & (0x1f << 5)) + ((side >> 1) & 0x1F);\n }\n }\n // Corrects parameter data using RS. Returns just the data portion\n // without the error correction.\n var correctedData = this.getCorrectedParameterData(parameterData, this.compact);\n if (this.compact) {\n // 8 bits: 2 bits layers and 6 bits data blocks\n this.nbLayers = (correctedData >> 6) + 1;\n this.nbDataBlocks = (correctedData & 0x3F) + 1;\n }\n else {\n // 16 bits: 5 bits layers and 11 bits data blocks\n this.nbLayers = (correctedData >> 11) + 1;\n this.nbDataBlocks = (correctedData & 0x7FF) + 1;\n }\n };\n Detector.prototype.getRotation = function (sides, length) {\n // In a normal pattern, we expect to See\n // ** .* D A\n // * *\n //\n // . *\n // .. .. C B\n //\n // Grab the 3 bits from each of the sides the form the locator pattern and concatenate\n // into a 12-bit integer. Start with the bit at A\n var cornerBits = 0;\n sides.forEach(function (side, idx, arr) {\n // XX......X where X's are orientation marks\n var t = ((side >> (length - 2)) << 1) + (side & 1);\n cornerBits = (cornerBits << 3) + t;\n });\n // for (var side in sides) {\n // // XX......X where X's are orientation marks\n // var t = ((side >> (length - 2)) << 1) + (side & 1);\n // cornerBits = (cornerBits << 3) + t;\n // }\n // Mov the bottom bit to the top, so that the three bits of the locator pattern at A are\n // together. cornerBits is now:\n // 3 orientation bits at A || 3 orientation bits at B || ... || 3 orientation bits at D\n cornerBits = ((cornerBits & 1) << 11) + (cornerBits >> 1);\n // The result shift indicates which element of BullsEyeCorners[] goes into the top-left\n // corner. Since the four rotation values have a Hamming distance of 8, we\n // can easily tolerate two errors.\n for (var shift = 0; shift < 4; shift++) {\n if (Integer.bitCount(cornerBits ^ this.EXPECTED_CORNER_BITS[shift]) <= 2) {\n return shift;\n }\n }\n throw new NotFoundException();\n };\n /**\n * Corrects the parameter bits using Reed-Solomon algorithm.\n *\n * @param parameterData parameter bits\n * @param compact true if this is a compact Aztec code\n * @throws NotFoundException if the array contains too many errors\n */\n Detector.prototype.getCorrectedParameterData = function (parameterData, compact) {\n var numCodewords;\n var numDataCodewords;\n if (compact) {\n numCodewords = 7;\n numDataCodewords = 2;\n }\n else {\n numCodewords = 10;\n numDataCodewords = 4;\n }\n var numECCodewords = numCodewords - numDataCodewords;\n var parameterWords = new Int32Array(numCodewords);\n for (var i = numCodewords - 1; i >= 0; --i) {\n parameterWords[i] = parameterData & 0xF;\n parameterData >>= 4;\n }\n try {\n var rsDecoder = new ReedSolomonDecoder(GenericGF.AZTEC_PARAM);\n rsDecoder.decode(parameterWords, numECCodewords);\n }\n catch (ignored) {\n throw new NotFoundException();\n }\n // Toss the error correction. Just return the data as an integer\n var result = 0;\n for (var i = 0; i < numDataCodewords; i++) {\n result = (result << 4) + parameterWords[i];\n }\n return result;\n };\n /**\n * Finds the corners of a bull-eye centered on the passed point.\n * This returns the centers of the diagonal points just outside the bull's eye\n * Returns [topRight, bottomRight, bottomLeft, topLeft]\n *\n * @param pCenter Center point\n * @return The corners of the bull-eye\n * @throws NotFoundException If no valid bull-eye can be found\n */\n Detector.prototype.getBullsEyeCorners = function (pCenter) {\n var pina = pCenter;\n var pinb = pCenter;\n var pinc = pCenter;\n var pind = pCenter;\n var color = true;\n for (this.nbCenterLayers = 1; this.nbCenterLayers < 9; this.nbCenterLayers++) {\n var pouta = this.getFirstDifferent(pina, color, 1, -1);\n var poutb = this.getFirstDifferent(pinb, color, 1, 1);\n var poutc = this.getFirstDifferent(pinc, color, -1, 1);\n var poutd = this.getFirstDifferent(pind, color, -1, -1);\n // d a\n //\n // c b\n if (this.nbCenterLayers > 2) {\n var q = (this.distancePoint(poutd, pouta) * this.nbCenterLayers) / (this.distancePoint(pind, pina) * (this.nbCenterLayers + 2));\n if (q < 0.75 || q > 1.25 || !this.isWhiteOrBlackRectangle(pouta, poutb, poutc, poutd)) {\n break;\n }\n }\n pina = pouta;\n pinb = poutb;\n pinc = poutc;\n pind = poutd;\n color = !color;\n }\n if (this.nbCenterLayers !== 5 && this.nbCenterLayers !== 7) {\n throw new NotFoundException();\n }\n this.compact = this.nbCenterLayers === 5;\n // Expand the square by .5 pixel in each direction so that we're on the border\n // between the white square and the black square\n var pinax = new ResultPoint(pina.getX() + 0.5, pina.getY() - 0.5);\n var pinbx = new ResultPoint(pinb.getX() + 0.5, pinb.getY() + 0.5);\n var pincx = new ResultPoint(pinc.getX() - 0.5, pinc.getY() + 0.5);\n var pindx = new ResultPoint(pind.getX() - 0.5, pind.getY() - 0.5);\n // Expand the square so that its corners are the centers of the points\n // just outside the bull's eye.\n return this.expandSquare([pinax, pinbx, pincx, pindx], 2 * this.nbCenterLayers - 3, 2 * this.nbCenterLayers);\n };\n /**\n * Finds a candidate center point of an Aztec code from an image\n *\n * @return the center point\n */\n Detector.prototype.getMatrixCenter = function () {\n var pointA;\n var pointB;\n var pointC;\n var pointD;\n // Get a white rectangle that can be the border of the matrix in center bull's eye or\n try {\n var cornerPoints = new WhiteRectangleDetector(this.image).detect();\n pointA = cornerPoints[0];\n pointB = cornerPoints[1];\n pointC = cornerPoints[2];\n pointD = cornerPoints[3];\n }\n catch (e) {\n // This exception can be in case the initial rectangle is white\n // In that case, surely in the bull's eye, we try to expand the rectangle.\n var cx_1 = this.image.getWidth() / 2;\n var cy_1 = this.image.getHeight() / 2;\n pointA = this.getFirstDifferent(new Point(cx_1 + 7, cy_1 - 7), false, 1, -1).toResultPoint();\n pointB = this.getFirstDifferent(new Point(cx_1 + 7, cy_1 + 7), false, 1, 1).toResultPoint();\n pointC = this.getFirstDifferent(new Point(cx_1 - 7, cy_1 + 7), false, -1, 1).toResultPoint();\n pointD = this.getFirstDifferent(new Point(cx_1 - 7, cy_1 - 7), false, -1, -1).toResultPoint();\n }\n // Compute the center of the rectangle\n var cx = MathUtils.round((pointA.getX() + pointD.getX() + pointB.getX() + pointC.getX()) / 4.0);\n var cy = MathUtils.round((pointA.getY() + pointD.getY() + pointB.getY() + pointC.getY()) / 4.0);\n // Redetermine the white rectangle starting from previously computed center.\n // This will ensure that we end up with a white rectangle in center bull's eye\n // in order to compute a more accurate center.\n try {\n var cornerPoints = new WhiteRectangleDetector(this.image, 15, cx, cy).detect();\n pointA = cornerPoints[0];\n pointB = cornerPoints[1];\n pointC = cornerPoints[2];\n pointD = cornerPoints[3];\n }\n catch (e) {\n // This exception can be in case the initial rectangle is white\n // In that case we try to expand the rectangle.\n pointA = this.getFirstDifferent(new Point(cx + 7, cy - 7), false, 1, -1).toResultPoint();\n pointB = this.getFirstDifferent(new Point(cx + 7, cy + 7), false, 1, 1).toResultPoint();\n pointC = this.getFirstDifferent(new Point(cx - 7, cy + 7), false, -1, 1).toResultPoint();\n pointD = this.getFirstDifferent(new Point(cx - 7, cy - 7), false, -1, -1).toResultPoint();\n }\n // Recompute the center of the rectangle\n cx = MathUtils.round((pointA.getX() + pointD.getX() + pointB.getX() + pointC.getX()) / 4.0);\n cy = MathUtils.round((pointA.getY() + pointD.getY() + pointB.getY() + pointC.getY()) / 4.0);\n return new Point(cx, cy);\n };\n /**\n * Gets the Aztec code corners from the bull's eye corners and the parameters.\n *\n * @param bullsEyeCorners the array of bull's eye corners\n * @return the array of aztec code corners\n */\n Detector.prototype.getMatrixCornerPoints = function (bullsEyeCorners) {\n return this.expandSquare(bullsEyeCorners, 2 * this.nbCenterLayers, this.getDimension());\n };\n /**\n * Creates a BitMatrix by sampling the provided image.\n * topLeft, topRight, bottomRight, and bottomLeft are the centers of the squares on the\n * diagonal just outside the bull's eye.\n */\n Detector.prototype.sampleGrid = function (image, topLeft, topRight, bottomRight, bottomLeft) {\n var sampler = GridSamplerInstance.getInstance();\n var dimension = this.getDimension();\n var low = dimension / 2 - this.nbCenterLayers;\n var high = dimension / 2 + this.nbCenterLayers;\n return sampler.sampleGrid(image, dimension, dimension, low, low, // topleft\n high, low, // topright\n high, high, // bottomright\n low, high, // bottomleft\n topLeft.getX(), topLeft.getY(), topRight.getX(), topRight.getY(), bottomRight.getX(), bottomRight.getY(), bottomLeft.getX(), bottomLeft.getY());\n };\n /**\n * Samples a line.\n *\n * @param p1 start point (inclusive)\n * @param p2 end point (exclusive)\n * @param size number of bits\n * @return the array of bits as an int (first bit is high-order bit of result)\n */\n Detector.prototype.sampleLine = function (p1, p2, size) {\n var result = 0;\n var d = this.distanceResultPoint(p1, p2);\n var moduleSize = d / size;\n var px = p1.getX();\n var py = p1.getY();\n var dx = moduleSize * (p2.getX() - p1.getX()) / d;\n var dy = moduleSize * (p2.getY() - p1.getY()) / d;\n for (var i = 0; i < size; i++) {\n if (this.image.get(MathUtils.round(px + i * dx), MathUtils.round(py + i * dy))) {\n result |= 1 << (size - i - 1);\n }\n }\n return result;\n };\n /**\n * @return true if the border of the rectangle passed in parameter is compound of white points only\n * or black points only\n */\n Detector.prototype.isWhiteOrBlackRectangle = function (p1, p2, p3, p4) {\n var corr = 3;\n p1 = new Point(p1.getX() - corr, p1.getY() + corr);\n p2 = new Point(p2.getX() - corr, p2.getY() - corr);\n p3 = new Point(p3.getX() + corr, p3.getY() - corr);\n p4 = new Point(p4.getX() + corr, p4.getY() + corr);\n var cInit = this.getColor(p4, p1);\n if (cInit === 0) {\n return false;\n }\n var c = this.getColor(p1, p2);\n if (c !== cInit) {\n return false;\n }\n c = this.getColor(p2, p3);\n if (c !== cInit) {\n return false;\n }\n c = this.getColor(p3, p4);\n return c === cInit;\n };\n /**\n * Gets the color of a segment\n *\n * @return 1 if segment more than 90% black, -1 if segment is more than 90% white, 0 else\n */\n Detector.prototype.getColor = function (p1, p2) {\n var d = this.distancePoint(p1, p2);\n var dx = (p2.getX() - p1.getX()) / d;\n var dy = (p2.getY() - p1.getY()) / d;\n var error = 0;\n var px = p1.getX();\n var py = p1.getY();\n var colorModel = this.image.get(p1.getX(), p1.getY());\n var iMax = Math.ceil(d);\n for (var i = 0; i < iMax; i++) {\n px += dx;\n py += dy;\n if (this.image.get(MathUtils.round(px), MathUtils.round(py)) !== colorModel) {\n error++;\n }\n }\n var errRatio = error / d;\n if (errRatio > 0.1 && errRatio < 0.9) {\n return 0;\n }\n return (errRatio <= 0.1) === colorModel ? 1 : -1;\n };\n /**\n * Gets the coordinate of the first point with a different color in the given direction\n */\n Detector.prototype.getFirstDifferent = function (init, color, dx, dy) {\n var x = init.getX() + dx;\n var y = init.getY() + dy;\n while (this.isValid(x, y) && this.image.get(x, y) === color) {\n x += dx;\n y += dy;\n }\n x -= dx;\n y -= dy;\n while (this.isValid(x, y) && this.image.get(x, y) === color) {\n x += dx;\n }\n x -= dx;\n while (this.isValid(x, y) && this.image.get(x, y) === color) {\n y += dy;\n }\n y -= dy;\n return new Point(x, y);\n };\n /**\n * Expand the square represented by the corner points by pushing out equally in all directions\n *\n * @param cornerPoints the corners of the square, which has the bull's eye at its center\n * @param oldSide the original length of the side of the square in the target bit matrix\n * @param newSide the new length of the size of the square in the target bit matrix\n * @return the corners of the expanded square\n */\n Detector.prototype.expandSquare = function (cornerPoints, oldSide, newSide) {\n var ratio = newSide / (2.0 * oldSide);\n var dx = cornerPoints[0].getX() - cornerPoints[2].getX();\n var dy = cornerPoints[0].getY() - cornerPoints[2].getY();\n var centerx = (cornerPoints[0].getX() + cornerPoints[2].getX()) / 2.0;\n var centery = (cornerPoints[0].getY() + cornerPoints[2].getY()) / 2.0;\n var result0 = new ResultPoint(centerx + ratio * dx, centery + ratio * dy);\n var result2 = new ResultPoint(centerx - ratio * dx, centery - ratio * dy);\n dx = cornerPoints[1].getX() - cornerPoints[3].getX();\n dy = cornerPoints[1].getY() - cornerPoints[3].getY();\n centerx = (cornerPoints[1].getX() + cornerPoints[3].getX()) / 2.0;\n centery = (cornerPoints[1].getY() + cornerPoints[3].getY()) / 2.0;\n var result1 = new ResultPoint(centerx + ratio * dx, centery + ratio * dy);\n var result3 = new ResultPoint(centerx - ratio * dx, centery - ratio * dy);\n var results = [result0, result1, result2, result3];\n return results;\n };\n Detector.prototype.isValid = function (x, y) {\n return x >= 0 && x < this.image.getWidth() && y > 0 && y < this.image.getHeight();\n };\n Detector.prototype.isValidPoint = function (point) {\n var x = MathUtils.round(point.getX());\n var y = MathUtils.round(point.getY());\n return this.isValid(x, y);\n };\n Detector.prototype.distancePoint = function (a, b) {\n return MathUtils.distance(a.getX(), a.getY(), b.getX(), b.getY());\n };\n Detector.prototype.distanceResultPoint = function (a, b) {\n return MathUtils.distance(a.getX(), a.getY(), b.getX(), b.getY());\n };\n Detector.prototype.getDimension = function () {\n if (this.compact) {\n return 4 * this.nbLayers + 11;\n }\n if (this.nbLayers <= 4) {\n return 4 * this.nbLayers + 15;\n }\n return 4 * this.nbLayers + 2 * (Integer.truncDivision((this.nbLayers - 4), 8) + 1) + 15;\n };\n return Detector;\n}());\nexport default Detector;\n","/*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport Result from '../Result';\nimport BarcodeFormat from '../BarcodeFormat';\nimport DecodeHintType from '../DecodeHintType';\nimport ResultMetadataType from '../ResultMetadataType';\nimport System from '../util/System';\nimport Decoder from './decoder/Decoder';\nimport Detector from './detector/Detector';\n// import java.util.List;\n// import java.util.Map;\n/**\n * This implementation can detect and decode Aztec codes in an image.\n *\n * @author David Olivier\n */\nvar AztecReader = /** @class */ (function () {\n function AztecReader() {\n }\n /**\n * Locates and decodes a Data Matrix code in an image.\n *\n * @return a String representing the content encoded by the Data Matrix code\n * @throws NotFoundException if a Data Matrix code cannot be found\n * @throws FormatException if a Data Matrix code cannot be decoded\n */\n AztecReader.prototype.decode = function (image, hints) {\n if (hints === void 0) { hints = null; }\n var exception = null;\n var detector = new Detector(image.getBlackMatrix());\n var points = null;\n var decoderResult = null;\n try {\n var detectorResult = detector.detectMirror(false);\n points = detectorResult.getPoints();\n this.reportFoundResultPoints(hints, points);\n decoderResult = new Decoder().decode(detectorResult);\n }\n catch (e) {\n exception = e;\n }\n if (decoderResult == null) {\n try {\n var detectorResult = detector.detectMirror(true);\n points = detectorResult.getPoints();\n this.reportFoundResultPoints(hints, points);\n decoderResult = new Decoder().decode(detectorResult);\n }\n catch (e) {\n if (exception != null) {\n throw exception;\n }\n throw e;\n }\n }\n var result = new Result(decoderResult.getText(), decoderResult.getRawBytes(), decoderResult.getNumBits(), points, BarcodeFormat.AZTEC, System.currentTimeMillis());\n var byteSegments = decoderResult.getByteSegments();\n if (byteSegments != null) {\n result.putMetadata(ResultMetadataType.BYTE_SEGMENTS, byteSegments);\n }\n var ecLevel = decoderResult.getECLevel();\n if (ecLevel != null) {\n result.putMetadata(ResultMetadataType.ERROR_CORRECTION_LEVEL, ecLevel);\n }\n return result;\n };\n AztecReader.prototype.reportFoundResultPoints = function (hints, points) {\n if (hints != null) {\n var rpcb_1 = hints.get(DecodeHintType.NEED_RESULT_POINT_CALLBACK);\n if (rpcb_1 != null) {\n points.forEach(function (point, idx, arr) {\n rpcb_1.foundPossibleResultPoint(point);\n });\n }\n }\n };\n // @Override\n AztecReader.prototype.reset = function () {\n // do nothing\n };\n return AztecReader;\n}());\nexport default AztecReader;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BrowserCodeReader } from './BrowserCodeReader';\nimport AztecReader from '../core/aztec/AztecReader';\n/**\n * Aztec Code reader to use from browser.\n *\n * @class BrowserAztecCodeReader\n * @extends {BrowserCodeReader}\n */\nvar BrowserAztecCodeReader = /** @class */ (function (_super) {\n __extends(BrowserAztecCodeReader, _super);\n /**\n * Creates an instance of BrowserAztecCodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n *\n * @memberOf BrowserAztecCodeReader\n */\n function BrowserAztecCodeReader(timeBetweenScansMillis) {\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n return _super.call(this, new AztecReader(), timeBetweenScansMillis) || this;\n }\n return BrowserAztecCodeReader;\n}(BrowserCodeReader));\nexport { BrowserAztecCodeReader };\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport BitArray from '../common/BitArray';\nimport DecodeHintType from '../DecodeHintType';\nimport ResultMetadataType from '../ResultMetadataType';\nimport ResultPoint from '../ResultPoint';\nimport NotFoundException from '../NotFoundException';\n/**\n * Encapsulates functionality and implementation that is common to all families\n * of one-dimensional barcodes.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n */\nvar OneDReader = /** @class */ (function () {\n function OneDReader() {\n }\n /*\n @Override\n public Result decode(BinaryBitmap image) throws NotFoundException, FormatException {\n return decode(image, null);\n }\n */\n // Note that we don't try rotation without the try harder flag, even if rotation was supported.\n // @Override\n OneDReader.prototype.decode = function (image, hints) {\n try {\n return this.doDecode(image, hints);\n }\n catch (nfe) {\n var tryHarder = hints && (hints.get(DecodeHintType.TRY_HARDER) === true);\n if (tryHarder && image.isRotateSupported()) {\n var rotatedImage = image.rotateCounterClockwise();\n var result = this.doDecode(rotatedImage, hints);\n // Record that we found it rotated 90 degrees CCW / 270 degrees CW\n var metadata = result.getResultMetadata();\n var orientation_1 = 270;\n if (metadata !== null && (metadata.get(ResultMetadataType.ORIENTATION) === true)) {\n // But if we found it reversed in doDecode(), add in that result here:\n orientation_1 = (orientation_1 + metadata.get(ResultMetadataType.ORIENTATION) % 360);\n }\n result.putMetadata(ResultMetadataType.ORIENTATION, orientation_1);\n // Update result points\n var points = result.getResultPoints();\n if (points !== null) {\n var height = rotatedImage.getHeight();\n for (var i = 0; i < points.length; i++) {\n points[i] = new ResultPoint(height - points[i].getY() - 1, points[i].getX());\n }\n }\n return result;\n }\n else {\n throw new NotFoundException();\n }\n }\n };\n // @Override\n OneDReader.prototype.reset = function () {\n // do nothing\n };\n /**\n * We're going to examine rows from the middle outward, searching alternately above and below the\n * middle, and farther out each time. rowStep is the number of rows between each successive\n * attempt above and below the middle. So we'd scan row middle, then middle - rowStep, then\n * middle + rowStep, then middle - (2 * rowStep), etc.\n * rowStep is bigger as the image is taller, but is always at least 1. We've somewhat arbitrarily\n * decided that moving up and down by about 1/16 of the image is pretty good; we try more of the\n * image if \"trying harder\".\n *\n * @param image The image to decode\n * @param hints Any hints that were requested\n * @return The contents of the decoded barcode\n * @throws NotFoundException Any spontaneous errors which occur\n */\n OneDReader.prototype.doDecode = function (image, hints) {\n var width = image.getWidth();\n var height = image.getHeight();\n var row = new BitArray(width);\n var tryHarder = hints && (hints.get(DecodeHintType.TRY_HARDER) === true);\n var rowStep = Math.max(1, height >> (tryHarder ? 8 : 5));\n var maxLines;\n if (tryHarder) {\n maxLines = height; // Look at the whole image, not just the center\n }\n else {\n maxLines = 15; // 15 rows spaced 1/32 apart is roughly the middle half of the image\n }\n var middle = Math.trunc(height / 2);\n for (var x = 0; x < maxLines; x++) {\n // Scanning from the middle out. Determine which row we're looking at next:\n var rowStepsAboveOrBelow = Math.trunc((x + 1) / 2);\n var isAbove = (x & 0x01) === 0; // i.e. is x even?\n var rowNumber = middle + rowStep * (isAbove ? rowStepsAboveOrBelow : -rowStepsAboveOrBelow);\n if (rowNumber < 0 || rowNumber >= height) {\n // Oops, if we run off the top or bottom, stop\n break;\n }\n // Estimate black point for this row and load it:\n try {\n row = image.getBlackRow(rowNumber, row);\n }\n catch (ignored) {\n continue;\n }\n var _loop_1 = function (attempt) {\n if (attempt === 1) { // trying again?\n row.reverse(); // reverse the row and continue\n // This means we will only ever draw result points *once* in the life of this method\n // since we want to avoid drawing the wrong points after flipping the row, and,\n // don't want to clutter with noise from every single row scan -- just the scans\n // that start on the center line.\n if (hints && (hints.get(DecodeHintType.NEED_RESULT_POINT_CALLBACK) === true)) {\n var newHints_1 = new Map();\n hints.forEach(function (hint, key) { return newHints_1.set(key, hint); });\n newHints_1.delete(DecodeHintType.NEED_RESULT_POINT_CALLBACK);\n hints = newHints_1;\n }\n }\n try {\n // Look for a barcode\n var result = this_1.decodeRow(rowNumber, row, hints);\n // We found our barcode\n if (attempt === 1) {\n // But it was upside down, so note that\n result.putMetadata(ResultMetadataType.ORIENTATION, 180);\n // And remember to flip the result points horizontally.\n var points = result.getResultPoints();\n if (points !== null) {\n points[0] = new ResultPoint(width - points[0].getX() - 1, points[0].getY());\n points[1] = new ResultPoint(width - points[1].getX() - 1, points[1].getY());\n }\n }\n return { value: result };\n }\n catch (re) {\n // continue -- just couldn't decode this row\n }\n };\n var this_1 = this;\n // While we have the image data in a BitArray, it's fairly cheap to reverse it in place to\n // handle decoding upside down barcodes.\n for (var attempt = 0; attempt < 2; attempt++) {\n var state_1 = _loop_1(attempt);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n }\n throw new NotFoundException();\n };\n /**\n * Records the size of successive runs of white and black pixels in a row, starting at a given point.\n * The values are recorded in the given array, and the number of runs recorded is equal to the size\n * of the array. If the row starts on a white pixel at the given start point, then the first count\n * recorded is the run of white pixels starting from that point; likewise it is the count of a run\n * of black pixels if the row begin on a black pixels at that point.\n *\n * @param row row to count from\n * @param start offset into row to start at\n * @param counters array into which to record counts\n * @throws NotFoundException if counters cannot be filled entirely from row before running out\n * of pixels\n */\n OneDReader.recordPattern = function (row, start, counters) {\n var numCounters = counters.length;\n for (var index = 0; index < numCounters; index++)\n counters[index] = 0;\n var end = row.getSize();\n if (start >= end) {\n throw new NotFoundException();\n }\n var isWhite = !row.get(start);\n var counterPosition = 0;\n var i = start;\n while (i < end) {\n if (row.get(i) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (++counterPosition === numCounters) {\n break;\n }\n else {\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n i++;\n }\n // If we read fully the last section of pixels and filled up our counters -- or filled\n // the last counter but ran off the side of the image, OK. Otherwise, a problem.\n if (!(counterPosition === numCounters || (counterPosition === numCounters - 1 && i === end))) {\n throw new NotFoundException();\n }\n };\n OneDReader.recordPatternInReverse = function (row, start, counters) {\n // This could be more efficient I guess\n var numTransitionsLeft = counters.length;\n var last = row.get(start);\n while (start > 0 && numTransitionsLeft >= 0) {\n if (row.get(--start) !== last) {\n numTransitionsLeft--;\n last = !last;\n }\n }\n if (numTransitionsLeft >= 0) {\n throw new NotFoundException();\n }\n OneDReader.recordPattern(row, start + 1, counters);\n };\n /**\n * Determines how closely a set of observed counts of runs of black/white values matches a given\n * target pattern. This is reported as the ratio of the total variance from the expected pattern\n * proportions across all pattern elements, to the length of the pattern.\n *\n * @param counters observed counters\n * @param pattern expected pattern\n * @param maxIndividualVariance The most any counter can differ before we give up\n * @return ratio of total variance between counters and pattern compared to total pattern size\n */\n OneDReader.patternMatchVariance = function (counters, pattern, maxIndividualVariance) {\n var numCounters = counters.length;\n var total = 0;\n var patternLength = 0;\n for (var i = 0; i < numCounters; i++) {\n total += counters[i];\n patternLength += pattern[i];\n }\n if (total < patternLength) {\n // If we don't even have one pixel per unit of bar width, assume this is too small\n // to reliably match, so fail:\n return Number.POSITIVE_INFINITY;\n }\n var unitBarWidth = total / patternLength;\n maxIndividualVariance *= unitBarWidth;\n var totalVariance = 0.0;\n for (var x = 0; x < numCounters; x++) {\n var counter = counters[x];\n var scaledPattern = pattern[x] * unitBarWidth;\n var variance = counter > scaledPattern ? counter - scaledPattern : scaledPattern - counter;\n if (variance > maxIndividualVariance) {\n return Number.POSITIVE_INFINITY;\n }\n totalVariance += variance;\n }\n return totalVariance / total;\n };\n return OneDReader;\n}());\nexport default OneDReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.oned {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport ChecksumException from '../ChecksumException';\nimport DecodeHintType from '../DecodeHintType';\nimport FormatException from '../FormatException';\nimport NotFoundException from '../NotFoundException';\n// import Reader from '../Reader';\nimport Result from '../Result';\n// import ResultMetadataType from '../ResultMetadataType';\nimport ResultPoint from '../ResultPoint';\nimport OneDReader from './OneDReader';\n/**\n *

Decodes Code 128 barcodes.

\n *\n * @author Sean Owen\n */\nvar Code128Reader = /** @class */ (function (_super) {\n __extends(Code128Reader, _super);\n function Code128Reader() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Code128Reader.findStartPattern = function (row) {\n var width = row.getSize();\n var rowOffset = row.getNextSet(0);\n var counterPosition = 0;\n var counters = Int32Array.from([0, 0, 0, 0, 0, 0]);\n var patternStart = rowOffset;\n var isWhite = false;\n var patternLength = 6;\n for (var i = rowOffset; i < width; i++) {\n if (row.get(i) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === (patternLength - 1)) {\n var bestVariance = Code128Reader.MAX_AVG_VARIANCE;\n var bestMatch = -1;\n for (var startCode = Code128Reader.CODE_START_A; startCode <= Code128Reader.CODE_START_C; startCode++) {\n var variance = OneDReader.patternMatchVariance(counters, Code128Reader.CODE_PATTERNS[startCode], Code128Reader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = startCode;\n }\n }\n // Look for whitespace before start pattern, >= 50% of width of start pattern\n if (bestMatch >= 0 &&\n row.isRange(Math.max(0, patternStart - (i - patternStart) / 2), patternStart, false)) {\n return Int32Array.from([patternStart, i, bestMatch]);\n }\n patternStart += counters[0] + counters[1];\n counters = counters.slice(2, counters.length - 1);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n Code128Reader.decodeCode = function (row, counters, rowOffset) {\n OneDReader.recordPattern(row, rowOffset, counters);\n var bestVariance = Code128Reader.MAX_AVG_VARIANCE; // worst variance we'll accept\n var bestMatch = -1;\n for (var d = 0; d < Code128Reader.CODE_PATTERNS.length; d++) {\n var pattern = Code128Reader.CODE_PATTERNS[d];\n var variance = this.patternMatchVariance(counters, pattern, Code128Reader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = d;\n }\n }\n // TODO We're overlooking the fact that the STOP pattern has 7 values, not 6.\n if (bestMatch >= 0) {\n return bestMatch;\n }\n else {\n throw new NotFoundException();\n }\n };\n Code128Reader.prototype.decodeRow = function (rowNumber, row, hints) {\n var convertFNC1 = hints && (hints.get(DecodeHintType.ASSUME_GS1) === true);\n var startPatternInfo = Code128Reader.findStartPattern(row);\n var startCode = startPatternInfo[2];\n var currentRawCodesIndex = 0;\n var rawCodes = new Uint8Array(20);\n rawCodes[currentRawCodesIndex++] = startCode;\n var codeSet;\n switch (startCode) {\n case Code128Reader.CODE_START_A:\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_START_B:\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_START_C:\n codeSet = Code128Reader.CODE_CODE_C;\n break;\n default:\n throw new FormatException();\n }\n var done = false;\n var isNextShifted = false;\n var result = '';\n var lastStart = startPatternInfo[0];\n var nextStart = startPatternInfo[1];\n var counters = Int32Array.from([0, 0, 0, 0, 0, 0]);\n var lastCode = 0;\n var code = 0;\n var checksumTotal = startCode;\n var multiplier = 0;\n var lastCharacterWasPrintable = true;\n var upperMode = false;\n var shiftUpperMode = false;\n while (!done) {\n var unshift = isNextShifted;\n isNextShifted = false;\n // Save off last code\n lastCode = code;\n // Decode another code from image\n code = Code128Reader.decodeCode(row, counters, nextStart);\n rawCodes[currentRawCodesIndex++] = code;\n // Remember whether the last code was printable or not (excluding CODE_STOP)\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = true;\n }\n // Add to checksum computation (if not CODE_STOP of course)\n if (code !== Code128Reader.CODE_STOP) {\n multiplier++;\n checksumTotal += multiplier * code;\n }\n // Advance to where the next code will to start\n lastStart = nextStart;\n nextStart += counters.reduce(function (previous, current) { return previous + current; }, 0);\n // Take care of illegal start codes\n switch (code) {\n case Code128Reader.CODE_START_A:\n case Code128Reader.CODE_START_B:\n case Code128Reader.CODE_START_C:\n throw new FormatException();\n }\n switch (codeSet) {\n case Code128Reader.CODE_CODE_A:\n if (code < 64) {\n if (shiftUpperMode === upperMode) {\n result += String.fromCharCode((' '.charCodeAt(0) + code));\n }\n else {\n result += String.fromCharCode((' '.charCodeAt(0) + code + 128));\n }\n shiftUpperMode = false;\n }\n else if (code < 96) {\n if (shiftUpperMode === upperMode) {\n result += String.fromCharCode((code - 64));\n }\n else {\n result += String.fromCharCode((code + 64));\n }\n shiftUpperMode = false;\n }\n else {\n // Don't let CODE_STOP, which always appears, affect whether whether we think the last\n // code was printable or not.\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = false;\n }\n switch (code) {\n case Code128Reader.CODE_FNC_1:\n if (convertFNC1) {\n if (result.length === 0) {\n // GS1 specification 5.4.3.7. and 5.4.6.4. If the first char after the start code\n // is FNC1 then this is GS1-128. We add the symbology identifier.\n result += ']C1';\n }\n else {\n // GS1 specification 5.4.7.5. Every subsequent FNC1 is returned as ASCII 29 (GS)\n result += String.fromCharCode(29);\n }\n }\n break;\n case Code128Reader.CODE_FNC_2:\n case Code128Reader.CODE_FNC_3:\n // do nothing?\n break;\n case Code128Reader.CODE_FNC_4_A:\n if (!upperMode && shiftUpperMode) {\n upperMode = true;\n shiftUpperMode = false;\n }\n else if (upperMode && shiftUpperMode) {\n upperMode = false;\n shiftUpperMode = false;\n }\n else {\n shiftUpperMode = true;\n }\n break;\n case Code128Reader.CODE_SHIFT:\n isNextShifted = true;\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_CODE_B:\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_CODE_C:\n codeSet = Code128Reader.CODE_CODE_C;\n break;\n case Code128Reader.CODE_STOP:\n done = true;\n break;\n }\n }\n break;\n case Code128Reader.CODE_CODE_B:\n if (code < 96) {\n if (shiftUpperMode === upperMode) {\n result += String.fromCharCode((' '.charCodeAt(0) + code));\n }\n else {\n result += String.fromCharCode((' '.charCodeAt(0) + code + 128));\n }\n shiftUpperMode = false;\n }\n else {\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = false;\n }\n switch (code) {\n case Code128Reader.CODE_FNC_1:\n if (convertFNC1) {\n if (result.length === 0) {\n // GS1 specification 5.4.3.7. and 5.4.6.4. If the first char after the start code\n // is FNC1 then this is GS1-128. We add the symbology identifier.\n result += ']C1';\n }\n else {\n // GS1 specification 5.4.7.5. Every subsequent FNC1 is returned as ASCII 29 (GS)\n result += String.fromCharCode(29);\n }\n }\n break;\n case Code128Reader.CODE_FNC_2:\n case Code128Reader.CODE_FNC_3:\n // do nothing?\n break;\n case Code128Reader.CODE_FNC_4_B:\n if (!upperMode && shiftUpperMode) {\n upperMode = true;\n shiftUpperMode = false;\n }\n else if (upperMode && shiftUpperMode) {\n upperMode = false;\n shiftUpperMode = false;\n }\n else {\n shiftUpperMode = true;\n }\n break;\n case Code128Reader.CODE_SHIFT:\n isNextShifted = true;\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_CODE_A:\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_CODE_C:\n codeSet = Code128Reader.CODE_CODE_C;\n break;\n case Code128Reader.CODE_STOP:\n done = true;\n break;\n }\n }\n break;\n case Code128Reader.CODE_CODE_C:\n if (code < 100) {\n if (code < 10) {\n result += '0';\n }\n result += code;\n }\n else {\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = false;\n }\n switch (code) {\n case Code128Reader.CODE_FNC_1:\n if (convertFNC1) {\n if (result.length === 0) {\n // GS1 specification 5.4.3.7. and 5.4.6.4. If the first char after the start code\n // is FNC1 then this is GS1-128. We add the symbology identifier.\n result += ']C1';\n }\n else {\n // GS1 specification 5.4.7.5. Every subsequent FNC1 is returned as ASCII 29 (GS)\n result += String.fromCharCode(29);\n }\n }\n break;\n case Code128Reader.CODE_CODE_A:\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_CODE_B:\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_STOP:\n done = true;\n break;\n }\n }\n break;\n }\n // Unshift back to another code set if we were shifted\n if (unshift) {\n codeSet = codeSet === Code128Reader.CODE_CODE_A ? Code128Reader.CODE_CODE_B : Code128Reader.CODE_CODE_A;\n }\n }\n var lastPatternSize = nextStart - lastStart;\n // Check for ample whitespace following pattern, but, to do this we first need to remember that\n // we fudged decoding CODE_STOP since it actually has 7 bars, not 6. There is a black bar left\n // to read off. Would be slightly better to properly read. Here we just skip it:\n nextStart = row.getNextUnset(nextStart);\n if (!row.isRange(nextStart, Math.min(row.getSize(), nextStart + (nextStart - lastStart) / 2), false)) {\n throw new NotFoundException();\n }\n // Pull out from sum the value of the penultimate check code\n checksumTotal -= multiplier * lastCode;\n // lastCode is the checksum then:\n if (checksumTotal % 103 !== lastCode) {\n throw new ChecksumException();\n }\n // Need to pull out the check digits from string\n var resultLength = result.length;\n if (resultLength === 0) {\n // false positive\n throw new NotFoundException();\n }\n // Only bother if the result had at least one character, and if the checksum digit happened to\n // be a printable character. If it was just interpreted as a control code, nothing to remove.\n if (resultLength > 0 && lastCharacterWasPrintable) {\n if (codeSet === Code128Reader.CODE_CODE_C) {\n result = result.substring(0, resultLength - 2);\n }\n else {\n result = result.substring(0, resultLength - 1);\n }\n }\n var left = (startPatternInfo[1] + startPatternInfo[0]) / 2.0;\n var right = lastStart + lastPatternSize / 2.0;\n var rawCodesSize = rawCodes.length;\n var rawBytes = new Uint8Array(rawCodesSize);\n for (var i = 0; i < rawCodesSize; i++) {\n rawBytes[i] = rawCodes[i];\n }\n var points = [new ResultPoint(left, rowNumber), new ResultPoint(right, rowNumber)];\n return new Result(result, rawBytes, 0, points, BarcodeFormat.CODE_128, new Date().getTime());\n };\n Code128Reader.CODE_PATTERNS = [\n Int32Array.from([2, 1, 2, 2, 2, 2]),\n Int32Array.from([2, 2, 2, 1, 2, 2]),\n Int32Array.from([2, 2, 2, 2, 2, 1]),\n Int32Array.from([1, 2, 1, 2, 2, 3]),\n Int32Array.from([1, 2, 1, 3, 2, 2]),\n Int32Array.from([1, 3, 1, 2, 2, 2]),\n Int32Array.from([1, 2, 2, 2, 1, 3]),\n Int32Array.from([1, 2, 2, 3, 1, 2]),\n Int32Array.from([1, 3, 2, 2, 1, 2]),\n Int32Array.from([2, 2, 1, 2, 1, 3]),\n Int32Array.from([2, 2, 1, 3, 1, 2]),\n Int32Array.from([2, 3, 1, 2, 1, 2]),\n Int32Array.from([1, 1, 2, 2, 3, 2]),\n Int32Array.from([1, 2, 2, 1, 3, 2]),\n Int32Array.from([1, 2, 2, 2, 3, 1]),\n Int32Array.from([1, 1, 3, 2, 2, 2]),\n Int32Array.from([1, 2, 3, 1, 2, 2]),\n Int32Array.from([1, 2, 3, 2, 2, 1]),\n Int32Array.from([2, 2, 3, 2, 1, 1]),\n Int32Array.from([2, 2, 1, 1, 3, 2]),\n Int32Array.from([2, 2, 1, 2, 3, 1]),\n Int32Array.from([2, 1, 3, 2, 1, 2]),\n Int32Array.from([2, 2, 3, 1, 1, 2]),\n Int32Array.from([3, 1, 2, 1, 3, 1]),\n Int32Array.from([3, 1, 1, 2, 2, 2]),\n Int32Array.from([3, 2, 1, 1, 2, 2]),\n Int32Array.from([3, 2, 1, 2, 2, 1]),\n Int32Array.from([3, 1, 2, 2, 1, 2]),\n Int32Array.from([3, 2, 2, 1, 1, 2]),\n Int32Array.from([3, 2, 2, 2, 1, 1]),\n Int32Array.from([2, 1, 2, 1, 2, 3]),\n Int32Array.from([2, 1, 2, 3, 2, 1]),\n Int32Array.from([2, 3, 2, 1, 2, 1]),\n Int32Array.from([1, 1, 1, 3, 2, 3]),\n Int32Array.from([1, 3, 1, 1, 2, 3]),\n Int32Array.from([1, 3, 1, 3, 2, 1]),\n Int32Array.from([1, 1, 2, 3, 1, 3]),\n Int32Array.from([1, 3, 2, 1, 1, 3]),\n Int32Array.from([1, 3, 2, 3, 1, 1]),\n Int32Array.from([2, 1, 1, 3, 1, 3]),\n Int32Array.from([2, 3, 1, 1, 1, 3]),\n Int32Array.from([2, 3, 1, 3, 1, 1]),\n Int32Array.from([1, 1, 2, 1, 3, 3]),\n Int32Array.from([1, 1, 2, 3, 3, 1]),\n Int32Array.from([1, 3, 2, 1, 3, 1]),\n Int32Array.from([1, 1, 3, 1, 2, 3]),\n Int32Array.from([1, 1, 3, 3, 2, 1]),\n Int32Array.from([1, 3, 3, 1, 2, 1]),\n Int32Array.from([3, 1, 3, 1, 2, 1]),\n Int32Array.from([2, 1, 1, 3, 3, 1]),\n Int32Array.from([2, 3, 1, 1, 3, 1]),\n Int32Array.from([2, 1, 3, 1, 1, 3]),\n Int32Array.from([2, 1, 3, 3, 1, 1]),\n Int32Array.from([2, 1, 3, 1, 3, 1]),\n Int32Array.from([3, 1, 1, 1, 2, 3]),\n Int32Array.from([3, 1, 1, 3, 2, 1]),\n Int32Array.from([3, 3, 1, 1, 2, 1]),\n Int32Array.from([3, 1, 2, 1, 1, 3]),\n Int32Array.from([3, 1, 2, 3, 1, 1]),\n Int32Array.from([3, 3, 2, 1, 1, 1]),\n Int32Array.from([3, 1, 4, 1, 1, 1]),\n Int32Array.from([2, 2, 1, 4, 1, 1]),\n Int32Array.from([4, 3, 1, 1, 1, 1]),\n Int32Array.from([1, 1, 1, 2, 2, 4]),\n Int32Array.from([1, 1, 1, 4, 2, 2]),\n Int32Array.from([1, 2, 1, 1, 2, 4]),\n Int32Array.from([1, 2, 1, 4, 2, 1]),\n Int32Array.from([1, 4, 1, 1, 2, 2]),\n Int32Array.from([1, 4, 1, 2, 2, 1]),\n Int32Array.from([1, 1, 2, 2, 1, 4]),\n Int32Array.from([1, 1, 2, 4, 1, 2]),\n Int32Array.from([1, 2, 2, 1, 1, 4]),\n Int32Array.from([1, 2, 2, 4, 1, 1]),\n Int32Array.from([1, 4, 2, 1, 1, 2]),\n Int32Array.from([1, 4, 2, 2, 1, 1]),\n Int32Array.from([2, 4, 1, 2, 1, 1]),\n Int32Array.from([2, 2, 1, 1, 1, 4]),\n Int32Array.from([4, 1, 3, 1, 1, 1]),\n Int32Array.from([2, 4, 1, 1, 1, 2]),\n Int32Array.from([1, 3, 4, 1, 1, 1]),\n Int32Array.from([1, 1, 1, 2, 4, 2]),\n Int32Array.from([1, 2, 1, 1, 4, 2]),\n Int32Array.from([1, 2, 1, 2, 4, 1]),\n Int32Array.from([1, 1, 4, 2, 1, 2]),\n Int32Array.from([1, 2, 4, 1, 1, 2]),\n Int32Array.from([1, 2, 4, 2, 1, 1]),\n Int32Array.from([4, 1, 1, 2, 1, 2]),\n Int32Array.from([4, 2, 1, 1, 1, 2]),\n Int32Array.from([4, 2, 1, 2, 1, 1]),\n Int32Array.from([2, 1, 2, 1, 4, 1]),\n Int32Array.from([2, 1, 4, 1, 2, 1]),\n Int32Array.from([4, 1, 2, 1, 2, 1]),\n Int32Array.from([1, 1, 1, 1, 4, 3]),\n Int32Array.from([1, 1, 1, 3, 4, 1]),\n Int32Array.from([1, 3, 1, 1, 4, 1]),\n Int32Array.from([1, 1, 4, 1, 1, 3]),\n Int32Array.from([1, 1, 4, 3, 1, 1]),\n Int32Array.from([4, 1, 1, 1, 1, 3]),\n Int32Array.from([4, 1, 1, 3, 1, 1]),\n Int32Array.from([1, 1, 3, 1, 4, 1]),\n Int32Array.from([1, 1, 4, 1, 3, 1]),\n Int32Array.from([3, 1, 1, 1, 4, 1]),\n Int32Array.from([4, 1, 1, 1, 3, 1]),\n Int32Array.from([2, 1, 1, 4, 1, 2]),\n Int32Array.from([2, 1, 1, 2, 1, 4]),\n Int32Array.from([2, 1, 1, 2, 3, 2]),\n Int32Array.from([2, 3, 3, 1, 1, 1, 2]),\n ];\n Code128Reader.MAX_AVG_VARIANCE = 0.25;\n Code128Reader.MAX_INDIVIDUAL_VARIANCE = 0.7;\n Code128Reader.CODE_SHIFT = 98;\n Code128Reader.CODE_CODE_C = 99;\n Code128Reader.CODE_CODE_B = 100;\n Code128Reader.CODE_CODE_A = 101;\n Code128Reader.CODE_FNC_1 = 102;\n Code128Reader.CODE_FNC_2 = 97;\n Code128Reader.CODE_FNC_3 = 96;\n Code128Reader.CODE_FNC_4_A = 101;\n Code128Reader.CODE_FNC_4_B = 100;\n Code128Reader.CODE_START_A = 103;\n Code128Reader.CODE_START_B = 104;\n Code128Reader.CODE_START_C = 105;\n Code128Reader.CODE_STOP = 106;\n return Code128Reader;\n}(OneDReader));\nexport default Code128Reader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.oned {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport ChecksumException from '../ChecksumException';\nimport FormatException from '../FormatException';\nimport NotFoundException from '../NotFoundException';\nimport OneDReader from './OneDReader';\nimport Result from '../Result';\nimport ResultPoint from '../ResultPoint';\n/**\n *

Decodes Code 39 barcodes. Supports \"Full ASCII Code 39\" if USE_CODE_39_EXTENDED_MODE is set.

\n *\n * @author Sean Owen\n * @see Code93Reader\n */\nvar Code39Reader = /** @class */ (function (_super) {\n __extends(Code39Reader, _super);\n /**\n * Creates a reader that assumes all encoded data is data, and does not treat the final\n * character as a check digit. It will not decoded \"extended Code 39\" sequences.\n */\n // public Code39Reader() {\n // this(false);\n // }\n /**\n * Creates a reader that can be configured to check the last character as a check digit.\n * It will not decoded \"extended Code 39\" sequences.\n *\n * @param usingCheckDigit if true, treat the last data character as a check digit, not\n * data, and verify that the checksum passes.\n */\n // public Code39Reader(boolean usingCheckDigit) {\n // this(usingCheckDigit, false);\n // }\n /**\n * Creates a reader that can be configured to check the last character as a check digit,\n * or optionally attempt to decode \"extended Code 39\" sequences that are used to encode\n * the full ASCII character set.\n *\n * @param usingCheckDigit if true, treat the last data character as a check digit, not\n * data, and verify that the checksum passes.\n * @param extendedMode if true, will attempt to decode extended Code 39 sequences in the\n * text.\n */\n function Code39Reader(usingCheckDigit, extendedMode) {\n if (usingCheckDigit === void 0) { usingCheckDigit = false; }\n if (extendedMode === void 0) { extendedMode = false; }\n var _this = _super.call(this) || this;\n _this.usingCheckDigit = usingCheckDigit;\n _this.extendedMode = extendedMode;\n _this.decodeRowResult = '';\n _this.counters = new Int32Array(9);\n return _this;\n }\n Code39Reader.prototype.decodeRow = function (rowNumber, row, hints) {\n var e_1, _a, e_2, _b;\n var theCounters = this.counters;\n theCounters.fill(0);\n this.decodeRowResult = '';\n var start = Code39Reader.findAsteriskPattern(row, theCounters);\n // Read off white space\n var nextStart = row.getNextSet(start[1]);\n var end = row.getSize();\n var decodedChar;\n var lastStart;\n do {\n Code39Reader.recordPattern(row, nextStart, theCounters);\n var pattern = Code39Reader.toNarrowWidePattern(theCounters);\n if (pattern < 0) {\n throw new NotFoundException();\n }\n decodedChar = Code39Reader.patternToChar(pattern);\n this.decodeRowResult += decodedChar;\n lastStart = nextStart;\n try {\n for (var theCounters_1 = (e_1 = void 0, __values(theCounters)), theCounters_1_1 = theCounters_1.next(); !theCounters_1_1.done; theCounters_1_1 = theCounters_1.next()) {\n var counter = theCounters_1_1.value;\n nextStart += counter;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (theCounters_1_1 && !theCounters_1_1.done && (_a = theCounters_1.return)) _a.call(theCounters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // Read off white space\n nextStart = row.getNextSet(nextStart);\n } while (decodedChar !== '*');\n this.decodeRowResult = this.decodeRowResult.substring(0, this.decodeRowResult.length - 1); // remove asterisk\n // Look for whitespace after pattern:\n var lastPatternSize = 0;\n try {\n for (var theCounters_2 = __values(theCounters), theCounters_2_1 = theCounters_2.next(); !theCounters_2_1.done; theCounters_2_1 = theCounters_2.next()) {\n var counter = theCounters_2_1.value;\n lastPatternSize += counter;\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (theCounters_2_1 && !theCounters_2_1.done && (_b = theCounters_2.return)) _b.call(theCounters_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n var whiteSpaceAfterEnd = nextStart - lastStart - lastPatternSize;\n // If 50% of last pattern size, following last pattern, is not whitespace, fail\n // (but if it's whitespace to the very end of the image, that's OK)\n if (nextStart !== end && (whiteSpaceAfterEnd * 2) < lastPatternSize) {\n throw new NotFoundException();\n }\n if (this.usingCheckDigit) {\n var max = this.decodeRowResult.length - 1;\n var total = 0;\n for (var i = 0; i < max; i++) {\n total += Code39Reader.ALPHABET_STRING.indexOf(this.decodeRowResult.charAt(i));\n }\n if (this.decodeRowResult.charAt(max) !== Code39Reader.ALPHABET_STRING.charAt(total % 43)) {\n throw new ChecksumException();\n }\n this.decodeRowResult = this.decodeRowResult.substring(0, max);\n }\n if (this.decodeRowResult.length === 0) {\n // false positive\n throw new NotFoundException();\n }\n var resultString;\n if (this.extendedMode) {\n resultString = Code39Reader.decodeExtended(this.decodeRowResult);\n }\n else {\n resultString = this.decodeRowResult;\n }\n var left = (start[1] + start[0]) / 2.0;\n var right = lastStart + lastPatternSize / 2.0;\n return new Result(resultString, null, 0, [new ResultPoint(left, rowNumber), new ResultPoint(right, rowNumber)], BarcodeFormat.CODE_39, new Date().getTime());\n };\n Code39Reader.findAsteriskPattern = function (row, counters) {\n var width = row.getSize();\n var rowOffset = row.getNextSet(0);\n var counterPosition = 0;\n var patternStart = rowOffset;\n var isWhite = false;\n var patternLength = counters.length;\n for (var i = rowOffset; i < width; i++) {\n if (row.get(i) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === patternLength - 1) {\n // Look for whitespace before start pattern, >= 50% of width of start pattern\n if (this.toNarrowWidePattern(counters) === Code39Reader.ASTERISK_ENCODING &&\n row.isRange(Math.max(0, patternStart - Math.floor((i - patternStart) / 2)), patternStart, false)) {\n return [patternStart, i];\n }\n patternStart += counters[0] + counters[1];\n counters.copyWithin(0, 2, 2 + counterPosition - 1);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n // For efficiency, returns -1 on failure. Not throwing here saved as many as 700 exceptions\n // per image when using some of our blackbox images.\n Code39Reader.toNarrowWidePattern = function (counters) {\n var e_3, _a;\n var numCounters = counters.length;\n var maxNarrowCounter = 0;\n var wideCounters;\n do {\n var minCounter = 0x7fffffff;\n try {\n for (var counters_1 = (e_3 = void 0, __values(counters)), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n if (counter < minCounter && counter > maxNarrowCounter) {\n minCounter = counter;\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n maxNarrowCounter = minCounter;\n wideCounters = 0;\n var totalWideCountersWidth = 0;\n var pattern = 0;\n for (var i = 0; i < numCounters; i++) {\n var counter = counters[i];\n if (counter > maxNarrowCounter) {\n pattern |= 1 << (numCounters - 1 - i);\n wideCounters++;\n totalWideCountersWidth += counter;\n }\n }\n if (wideCounters === 3) {\n // Found 3 wide counters, but are they close enough in width?\n // We can perform a cheap, conservative check to see if any individual\n // counter is more than 1.5 times the average:\n for (var i = 0; i < numCounters && wideCounters > 0; i++) {\n var counter = counters[i];\n if (counter > maxNarrowCounter) {\n wideCounters--;\n // totalWideCountersWidth = 3 * average, so this checks if counter >= 3/2 * average\n if ((counter * 2) >= totalWideCountersWidth) {\n return -1;\n }\n }\n }\n return pattern;\n }\n } while (wideCounters > 3);\n return -1;\n };\n Code39Reader.patternToChar = function (pattern) {\n for (var i = 0; i < Code39Reader.CHARACTER_ENCODINGS.length; i++) {\n if (Code39Reader.CHARACTER_ENCODINGS[i] === pattern) {\n return Code39Reader.ALPHABET_STRING.charAt(i);\n }\n }\n if (pattern === Code39Reader.ASTERISK_ENCODING) {\n return '*';\n }\n throw new NotFoundException();\n };\n Code39Reader.decodeExtended = function (encoded) {\n var length = encoded.length;\n var decoded = '';\n for (var i = 0; i < length; i++) {\n var c = encoded.charAt(i);\n if (c === '+' || c === '$' || c === '%' || c === '/') {\n var next = encoded.charAt(i + 1);\n var decodedChar = '\\0';\n switch (c) {\n case '+':\n // +A to +Z map to a to z\n if (next >= 'A' && next <= 'Z') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) + 32);\n }\n else {\n throw new FormatException();\n }\n break;\n case '$':\n // $A to $Z map to control codes SH to SB\n if (next >= 'A' && next <= 'Z') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 64);\n }\n else {\n throw new FormatException();\n }\n break;\n case '%':\n // %A to %E map to control codes ESC to US\n if (next >= 'A' && next <= 'E') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 38);\n }\n else if (next >= 'F' && next <= 'J') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 11);\n }\n else if (next >= 'K' && next <= 'O') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) + 16);\n }\n else if (next >= 'P' && next <= 'T') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) + 43);\n }\n else if (next === 'U') {\n decodedChar = '\\0';\n }\n else if (next === 'V') {\n decodedChar = '@';\n }\n else if (next === 'W') {\n decodedChar = '`';\n }\n else if (next === 'X' || next === 'Y' || next === 'Z') {\n decodedChar = '\\x7f';\n }\n else {\n throw new FormatException();\n }\n break;\n case '/':\n // /A to /O map to ! to , and /Z maps to :\n if (next >= 'A' && next <= 'O') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 32);\n }\n else if (next === 'Z') {\n decodedChar = ':';\n }\n else {\n throw new FormatException();\n }\n break;\n }\n decoded += decodedChar;\n // bump up i again since we read two characters\n i++;\n }\n else {\n decoded += c;\n }\n }\n return decoded;\n };\n Code39Reader.ALPHABET_STRING = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%';\n /**\n * These represent the encodings of characters, as patterns of wide and narrow bars.\n * The 9 least-significant bits of each int correspond to the pattern of wide and narrow,\n * with 1s representing \"wide\" and 0s representing narrow.\n */\n Code39Reader.CHARACTER_ENCODINGS = [\n 0x034, 0x121, 0x061, 0x160, 0x031, 0x130, 0x070, 0x025, 0x124, 0x064,\n 0x109, 0x049, 0x148, 0x019, 0x118, 0x058, 0x00D, 0x10C, 0x04C, 0x01C,\n 0x103, 0x043, 0x142, 0x013, 0x112, 0x052, 0x007, 0x106, 0x046, 0x016,\n 0x181, 0x0C1, 0x1C0, 0x091, 0x190, 0x0D0, 0x085, 0x184, 0x0C4, 0x0A8,\n 0x0A2, 0x08A, 0x02A // /-%\n ];\n Code39Reader.ASTERISK_ENCODING = 0x094;\n return Code39Reader;\n}(OneDReader));\nexport default Code39Reader;\n","/*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.oned {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport ChecksumException from '../ChecksumException';\nimport FormatException from '../FormatException';\nimport NotFoundException from '../NotFoundException';\nimport OneDReader from './OneDReader';\nimport Result from '../Result';\n//import com.google.zxing.ResultMetadataType;\nimport ResultPoint from '../ResultPoint';\n/**\n *

Decodes Code 93 barcodes.

\n *\n * @author Sean Owen\n * @see Code39Reader\n */\nvar Code93Reader = /** @class */ (function (_super) {\n __extends(Code93Reader, _super);\n //public Code93Reader() {\n // decodeRowResult = new StringBuilder(20);\n // counters = new int[6];\n //}\n function Code93Reader() {\n var _this = _super.call(this) || this;\n _this.decodeRowResult = '';\n _this.counters = new Int32Array(6);\n return _this;\n }\n Code93Reader.prototype.decodeRow = function (rowNumber, row, hints) {\n var e_1, _a, e_2, _b;\n var start = this.findAsteriskPattern(row);\n // Read off white space\n var nextStart = row.getNextSet(start[1]);\n var end = row.getSize();\n var theCounters = this.counters;\n theCounters.fill(0);\n this.decodeRowResult = '';\n var decodedChar;\n var lastStart;\n do {\n Code93Reader.recordPattern(row, nextStart, theCounters);\n var pattern = this.toPattern(theCounters);\n if (pattern < 0) {\n throw new NotFoundException();\n }\n decodedChar = this.patternToChar(pattern);\n this.decodeRowResult += decodedChar;\n lastStart = nextStart;\n try {\n for (var theCounters_1 = (e_1 = void 0, __values(theCounters)), theCounters_1_1 = theCounters_1.next(); !theCounters_1_1.done; theCounters_1_1 = theCounters_1.next()) {\n var counter = theCounters_1_1.value;\n nextStart += counter;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (theCounters_1_1 && !theCounters_1_1.done && (_a = theCounters_1.return)) _a.call(theCounters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // Read off white space\n nextStart = row.getNextSet(nextStart);\n } while (decodedChar !== '*');\n this.decodeRowResult = this.decodeRowResult.substring(0, this.decodeRowResult.length - 1); // remove asterisk\n var lastPatternSize = 0;\n try {\n for (var theCounters_2 = __values(theCounters), theCounters_2_1 = theCounters_2.next(); !theCounters_2_1.done; theCounters_2_1 = theCounters_2.next()) {\n var counter = theCounters_2_1.value;\n lastPatternSize += counter;\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (theCounters_2_1 && !theCounters_2_1.done && (_b = theCounters_2.return)) _b.call(theCounters_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // Should be at least one more black module\n if (nextStart === end || !row.get(nextStart)) {\n throw new NotFoundException();\n }\n if (this.decodeRowResult.length < 2) {\n // false positive -- need at least 2 checksum digits\n throw new NotFoundException();\n }\n this.checkChecksums(this.decodeRowResult);\n // Remove checksum digits\n this.decodeRowResult = this.decodeRowResult.substring(0, this.decodeRowResult.length - 2);\n var resultString = this.decodeExtended(this.decodeRowResult);\n var left = (start[1] + start[0]) / 2.0;\n var right = lastStart + lastPatternSize / 2.0;\n return new Result(resultString, null, 0, [new ResultPoint(left, rowNumber), new ResultPoint(right, rowNumber)], BarcodeFormat.CODE_93, new Date().getTime());\n };\n Code93Reader.prototype.findAsteriskPattern = function (row) {\n var width = row.getSize();\n var rowOffset = row.getNextSet(0);\n this.counters.fill(0);\n var theCounters = this.counters;\n var patternStart = rowOffset;\n var isWhite = false;\n var patternLength = theCounters.length;\n var counterPosition = 0;\n for (var i = rowOffset; i < width; i++) {\n if (row.get(i) !== isWhite) {\n theCounters[counterPosition]++;\n }\n else {\n if (counterPosition === patternLength - 1) {\n if (this.toPattern(theCounters) === Code93Reader.ASTERISK_ENCODING) {\n return new Int32Array([patternStart, i]);\n }\n patternStart += theCounters[0] + theCounters[1];\n theCounters.copyWithin(0, 2, 2 + counterPosition - 1);\n theCounters[counterPosition - 1] = 0;\n theCounters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n theCounters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException;\n };\n Code93Reader.prototype.toPattern = function (counters) {\n var e_3, _a;\n var sum = 0;\n try {\n for (var counters_1 = __values(counters), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n sum += counter;\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n var pattern = 0;\n var max = counters.length;\n for (var i = 0; i < max; i++) {\n var scaled = Math.round(counters[i] * 9.0 / sum);\n if (scaled < 1 || scaled > 4) {\n return -1;\n }\n if ((i & 0x01) === 0) {\n for (var j = 0; j < scaled; j++) {\n pattern = (pattern << 1) | 0x01;\n }\n }\n else {\n pattern <<= scaled;\n }\n }\n return pattern;\n };\n Code93Reader.prototype.patternToChar = function (pattern) {\n for (var i = 0; i < Code93Reader.CHARACTER_ENCODINGS.length; i++) {\n if (Code93Reader.CHARACTER_ENCODINGS[i] === pattern) {\n return Code93Reader.ALPHABET_STRING.charAt(i);\n }\n }\n throw new NotFoundException();\n };\n Code93Reader.prototype.decodeExtended = function (encoded) {\n var length = encoded.length;\n var decoded = '';\n for (var i = 0; i < length; i++) {\n var c = encoded.charAt(i);\n if (c >= 'a' && c <= 'd') {\n if (i >= length - 1) {\n throw new FormatException();\n }\n var next = encoded.charAt(i + 1);\n var decodedChar = '\\0';\n switch (c) {\n case 'd':\n // +A to +Z map to a to z\n if (next >= 'A' && next <= 'Z') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) + 32);\n }\n else {\n throw new FormatException();\n }\n break;\n case 'a':\n // $A to $Z map to control codes SH to SB\n if (next >= 'A' && next <= 'Z') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 64);\n }\n else {\n throw new FormatException();\n }\n break;\n case 'b':\n if (next >= 'A' && next <= 'E') {\n // %A to %E map to control codes ESC to USep\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 38);\n }\n else if (next >= 'F' && next <= 'J') {\n // %F to %J map to ; < = > ?\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 11);\n }\n else if (next >= 'K' && next <= 'O') {\n // %K to %O map to [ \\ ] ^ _\n decodedChar = String.fromCharCode(next.charCodeAt(0) + 16);\n }\n else if (next >= 'P' && next <= 'T') {\n // %P to %T map to { | } ~ DEL\n decodedChar = String.fromCharCode(next.charCodeAt(0) + 43);\n }\n else if (next === 'U') {\n // %U map to NUL\n decodedChar = '\\0';\n }\n else if (next === 'V') {\n // %V map to @\n decodedChar = '@';\n }\n else if (next === 'W') {\n // %W map to `\n decodedChar = '`';\n }\n else if (next >= 'X' && next <= 'Z') {\n // %X to %Z all map to DEL (127)\n decodedChar = String.fromCharCode(127);\n }\n else {\n throw new FormatException();\n }\n break;\n case 'c':\n // /A to /O map to ! to , and /Z maps to :\n if (next >= 'A' && next <= 'O') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 32);\n }\n else if (next === 'Z') {\n decodedChar = ':';\n }\n else {\n throw new FormatException();\n }\n break;\n }\n decoded += decodedChar;\n // bump up i again since we read two characters\n i++;\n }\n else {\n decoded += c;\n }\n }\n return decoded;\n };\n Code93Reader.prototype.checkChecksums = function (result) {\n var length = result.length;\n this.checkOneChecksum(result, length - 2, 20);\n this.checkOneChecksum(result, length - 1, 15);\n };\n Code93Reader.prototype.checkOneChecksum = function (result, checkPosition, weightMax) {\n var weight = 1;\n var total = 0;\n for (var i = checkPosition - 1; i >= 0; i--) {\n total += weight * Code93Reader.ALPHABET_STRING.indexOf(result.charAt(i));\n if (++weight > weightMax) {\n weight = 1;\n }\n }\n if (result.charAt(checkPosition) !== Code93Reader.ALPHABET_STRING[total % 47]) {\n throw new ChecksumException;\n }\n };\n // Note that 'abcd' are dummy characters in place of control characters.\n Code93Reader.ALPHABET_STRING = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*\";\n /**\n * These represent the encodings of characters, as patterns of wide and narrow bars.\n * The 9 least-significant bits of each int correspond to the pattern of wide and narrow.\n */\n Code93Reader.CHARACTER_ENCODINGS = [\n 0x114, 0x148, 0x144, 0x142, 0x128, 0x124, 0x122, 0x150, 0x112, 0x10A,\n 0x1A8, 0x1A4, 0x1A2, 0x194, 0x192, 0x18A, 0x168, 0x164, 0x162, 0x134,\n 0x11A, 0x158, 0x14C, 0x146, 0x12C, 0x116, 0x1B4, 0x1B2, 0x1AC, 0x1A6,\n 0x196, 0x19A, 0x16C, 0x166, 0x136, 0x13A,\n 0x12E, 0x1D4, 0x1D2, 0x1CA, 0x16E, 0x176, 0x1AE,\n 0x126, 0x1DA, 0x1D6, 0x132, 0x15E,\n ];\n Code93Reader.ASTERISK_ENCODING = Code93Reader.CHARACTER_ENCODINGS[47];\n return Code93Reader;\n}(OneDReader));\nexport default Code93Reader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.oned {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport DecodeHintType from '../DecodeHintType';\nimport FormatException from '../FormatException';\nimport NotFoundException from '../NotFoundException';\nimport Result from '../Result';\nimport ResultPoint from '../ResultPoint';\nimport StringBuilder from '../util/StringBuilder';\nimport System from '../util/System';\nimport OneDReader from './OneDReader';\n/**\n *

Decodes ITF barcodes.

\n *\n * @author Tjieco\n */\nvar ITFReader = /** @class */ (function (_super) {\n __extends(ITFReader, _super);\n function ITFReader() {\n // private static W = 3; // Pixel width of a 3x wide line\n // private static w = 2; // Pixel width of a 2x wide line\n // private static N = 1; // Pixed width of a narrow line\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // Stores the actual narrow line width of the image being decoded.\n _this.narrowLineWidth = -1;\n return _this;\n }\n // See ITFWriter.PATTERNS\n /*\n \n /!**\n * Patterns of Wide / Narrow lines to indicate each digit\n *!/\n */\n ITFReader.prototype.decodeRow = function (rowNumber, row, hints) {\n var e_1, _a;\n // Find out where the Middle section (payload) starts & ends\n var startRange = this.decodeStart(row);\n var endRange = this.decodeEnd(row);\n var result = new StringBuilder();\n ITFReader.decodeMiddle(row, startRange[1], endRange[0], result);\n var resultString = result.toString();\n var allowedLengths = null;\n if (hints != null) {\n allowedLengths = hints.get(DecodeHintType.ALLOWED_LENGTHS);\n }\n if (allowedLengths == null) {\n allowedLengths = ITFReader.DEFAULT_ALLOWED_LENGTHS;\n }\n // To avoid false positives with 2D barcodes (and other patterns), make\n // an assumption that the decoded string must be a 'standard' length if it's short\n var length = resultString.length;\n var lengthOK = false;\n var maxAllowedLength = 0;\n try {\n for (var allowedLengths_1 = __values(allowedLengths), allowedLengths_1_1 = allowedLengths_1.next(); !allowedLengths_1_1.done; allowedLengths_1_1 = allowedLengths_1.next()) {\n var value = allowedLengths_1_1.value;\n if (length === value) {\n lengthOK = true;\n break;\n }\n if (value > maxAllowedLength) {\n maxAllowedLength = value;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (allowedLengths_1_1 && !allowedLengths_1_1.done && (_a = allowedLengths_1.return)) _a.call(allowedLengths_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (!lengthOK && length > maxAllowedLength) {\n lengthOK = true;\n }\n if (!lengthOK) {\n throw new FormatException();\n }\n var points = [new ResultPoint(startRange[1], rowNumber), new ResultPoint(endRange[0], rowNumber)];\n var resultReturn = new Result(resultString, null, // no natural byte representation for these barcodes\n 0, points, BarcodeFormat.ITF, new Date().getTime());\n return resultReturn;\n };\n /*\n /!**\n * @param row row of black/white values to search\n * @param payloadStart offset of start pattern\n * @param resultString {@link StringBuilder} to append decoded chars to\n * @throws NotFoundException if decoding could not complete successfully\n *!/*/\n ITFReader.decodeMiddle = function (row, payloadStart, payloadEnd, resultString) {\n // Digits are interleaved in pairs - 5 black lines for one digit, and the\n // 5\n // interleaved white lines for the second digit.\n // Therefore, need to scan 10 lines and then\n // split these into two arrays\n var counterDigitPair = new Int32Array(10); // 10\n var counterBlack = new Int32Array(5); // 5\n var counterWhite = new Int32Array(5); // 5\n counterDigitPair.fill(0);\n counterBlack.fill(0);\n counterWhite.fill(0);\n while (payloadStart < payloadEnd) {\n // Get 10 runs of black/white.\n OneDReader.recordPattern(row, payloadStart, counterDigitPair);\n // Split them into each array\n for (var k = 0; k < 5; k++) {\n var twoK = 2 * k;\n counterBlack[k] = counterDigitPair[twoK];\n counterWhite[k] = counterDigitPair[twoK + 1];\n }\n var bestMatch = ITFReader.decodeDigit(counterBlack);\n resultString.append(bestMatch.toString());\n bestMatch = this.decodeDigit(counterWhite);\n resultString.append(bestMatch.toString());\n counterDigitPair.forEach(function (counterDigit) {\n payloadStart += counterDigit;\n });\n }\n };\n /*/!**\n * Identify where the start of the middle / payload section starts.\n *\n * @param row row of black/white values to search\n * @return Array, containing index of start of 'start block' and end of\n * 'start block'\n *!/*/\n ITFReader.prototype.decodeStart = function (row) {\n var endStart = ITFReader.skipWhiteSpace(row);\n var startPattern = ITFReader.findGuardPattern(row, endStart, ITFReader.START_PATTERN);\n // Determine the width of a narrow line in pixels. We can do this by\n // getting the width of the start pattern and dividing by 4 because its\n // made up of 4 narrow lines.\n this.narrowLineWidth = (startPattern[1] - startPattern[0]) / 4;\n this.validateQuietZone(row, startPattern[0]);\n return startPattern;\n };\n /*/!**\n * The start & end patterns must be pre/post fixed by a quiet zone. This\n * zone must be at least 10 times the width of a narrow line. Scan back until\n * we either get to the start of the barcode or match the necessary number of\n * quiet zone pixels.\n *\n * Note: Its assumed the row is reversed when using this method to find\n * quiet zone after the end pattern.\n *\n * ref: http://www.barcode-1.net/i25code.html\n *\n * @param row bit array representing the scanned barcode.\n * @param startPattern index into row of the start or end pattern.\n * @throws NotFoundException if the quiet zone cannot be found\n *!/*/\n ITFReader.prototype.validateQuietZone = function (row, startPattern) {\n var quietCount = this.narrowLineWidth * 10; // expect to find this many pixels of quiet zone\n // if there are not so many pixel at all let's try as many as possible\n quietCount = quietCount < startPattern ? quietCount : startPattern;\n for (var i = startPattern - 1; quietCount > 0 && i >= 0; i--) {\n if (row.get(i)) {\n break;\n }\n quietCount--;\n }\n if (quietCount !== 0) {\n // Unable to find the necessary number of quiet zone pixels.\n throw new NotFoundException();\n }\n };\n /*\n /!**\n * Skip all whitespace until we get to the first black line.\n *\n * @param row row of black/white values to search\n * @return index of the first black line.\n * @throws NotFoundException Throws exception if no black lines are found in the row\n *!/*/\n ITFReader.skipWhiteSpace = function (row) {\n var width = row.getSize();\n var endStart = row.getNextSet(0);\n if (endStart === width) {\n throw new NotFoundException();\n }\n return endStart;\n };\n /*/!**\n * Identify where the end of the middle / payload section ends.\n *\n * @param row row of black/white values to search\n * @return Array, containing index of start of 'end block' and end of 'end\n * block'\n *!/*/\n ITFReader.prototype.decodeEnd = function (row) {\n // For convenience, reverse the row and then\n // search from 'the start' for the end block\n row.reverse();\n try {\n var endStart = ITFReader.skipWhiteSpace(row);\n var endPattern = void 0;\n try {\n endPattern = ITFReader.findGuardPattern(row, endStart, ITFReader.END_PATTERN_REVERSED[0]);\n }\n catch (error) {\n if (error instanceof NotFoundException) {\n endPattern = ITFReader.findGuardPattern(row, endStart, ITFReader.END_PATTERN_REVERSED[1]);\n }\n }\n // The start & end patterns must be pre/post fixed by a quiet zone. This\n // zone must be at least 10 times the width of a narrow line.\n // ref: http://www.barcode-1.net/i25code.html\n this.validateQuietZone(row, endPattern[0]);\n // Now recalculate the indices of where the 'endblock' starts & stops to\n // accommodate\n // the reversed nature of the search\n var temp = endPattern[0];\n endPattern[0] = row.getSize() - endPattern[1];\n endPattern[1] = row.getSize() - temp;\n return endPattern;\n }\n finally {\n // Put the row back the right way.\n row.reverse();\n }\n };\n /*\n /!**\n * @param row row of black/white values to search\n * @param rowOffset position to start search\n * @param pattern pattern of counts of number of black and white pixels that are\n * being searched for as a pattern\n * @return start/end horizontal offset of guard pattern, as an array of two\n * ints\n * @throws NotFoundException if pattern is not found\n *!/*/\n ITFReader.findGuardPattern = function (row, rowOffset, pattern) {\n var patternLength = pattern.length;\n var counters = new Int32Array(patternLength);\n var width = row.getSize();\n var isWhite = false;\n var counterPosition = 0;\n var patternStart = rowOffset;\n counters.fill(0);\n for (var x = rowOffset; x < width; x++) {\n if (row.get(x) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === patternLength - 1) {\n if (OneDReader.patternMatchVariance(counters, pattern, ITFReader.MAX_INDIVIDUAL_VARIANCE) < ITFReader.MAX_AVG_VARIANCE) {\n return [patternStart, x];\n }\n patternStart += counters[0] + counters[1];\n System.arraycopy(counters, 2, counters, 0, counterPosition - 1);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n /*/!**\n * Attempts to decode a sequence of ITF black/white lines into single\n * digit.\n *\n * @param counters the counts of runs of observed black/white/black/... values\n * @return The decoded digit\n * @throws NotFoundException if digit cannot be decoded\n *!/*/\n ITFReader.decodeDigit = function (counters) {\n var bestVariance = ITFReader.MAX_AVG_VARIANCE; // worst variance we'll accept\n var bestMatch = -1;\n var max = ITFReader.PATTERNS.length;\n for (var i = 0; i < max; i++) {\n var pattern = ITFReader.PATTERNS[i];\n var variance = OneDReader.patternMatchVariance(counters, pattern, ITFReader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = i;\n }\n else if (variance === bestVariance) {\n // if we find a second 'best match' with the same variance, we can not reliably report to have a suitable match\n bestMatch = -1;\n }\n }\n if (bestMatch >= 0) {\n return bestMatch % 10;\n }\n else {\n throw new NotFoundException();\n }\n };\n ITFReader.PATTERNS = [\n Int32Array.from([1, 1, 2, 2, 1]),\n Int32Array.from([2, 1, 1, 1, 2]),\n Int32Array.from([1, 2, 1, 1, 2]),\n Int32Array.from([2, 2, 1, 1, 1]),\n Int32Array.from([1, 1, 2, 1, 2]),\n Int32Array.from([2, 1, 2, 1, 1]),\n Int32Array.from([1, 2, 2, 1, 1]),\n Int32Array.from([1, 1, 1, 2, 2]),\n Int32Array.from([2, 1, 1, 2, 1]),\n Int32Array.from([1, 2, 1, 2, 1]),\n Int32Array.from([1, 1, 3, 3, 1]),\n Int32Array.from([3, 1, 1, 1, 3]),\n Int32Array.from([1, 3, 1, 1, 3]),\n Int32Array.from([3, 3, 1, 1, 1]),\n Int32Array.from([1, 1, 3, 1, 3]),\n Int32Array.from([3, 1, 3, 1, 1]),\n Int32Array.from([1, 3, 3, 1, 1]),\n Int32Array.from([1, 1, 1, 3, 3]),\n Int32Array.from([3, 1, 1, 3, 1]),\n Int32Array.from([1, 3, 1, 3, 1]) // 9\n ];\n ITFReader.MAX_AVG_VARIANCE = 0.38;\n ITFReader.MAX_INDIVIDUAL_VARIANCE = 0.5;\n /* /!** Valid ITF lengths. Anything longer than the largest value is also allowed. *!/*/\n ITFReader.DEFAULT_ALLOWED_LENGTHS = [6, 8, 10, 12, 14];\n /*/!**\n * Start/end guard pattern.\n *\n * Note: The end pattern is reversed because the row is reversed before\n * searching for the END_PATTERN\n *!/*/\n ITFReader.START_PATTERN = Int32Array.from([1, 1, 1, 1]);\n ITFReader.END_PATTERN_REVERSED = [\n Int32Array.from([1, 1, 2]),\n Int32Array.from([1, 1, 3]) // 3x\n ];\n return ITFReader;\n}(OneDReader));\nexport default ITFReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport OneDReader from './OneDReader';\nimport NotFoundException from '../NotFoundException';\nimport FormatException from '../FormatException';\n/**\n *

Encapsulates functionality and implementation that is common to UPC and EAN families\n * of one-dimensional barcodes.

\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author alasdair@google.com (Alasdair Mackintosh)\n */\nvar AbstractUPCEANReader = /** @class */ (function (_super) {\n __extends(AbstractUPCEANReader, _super);\n function AbstractUPCEANReader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.decodeRowStringBuffer = '';\n return _this;\n }\n // private final UPCEANExtensionSupport extensionReader;\n // private final EANManufacturerOrgSupport eanManSupport;\n /*\n protected UPCEANReader() {\n decodeRowStringBuffer = new StringBuilder(20);\n extensionReader = new UPCEANExtensionSupport();\n eanManSupport = new EANManufacturerOrgSupport();\n }\n */\n AbstractUPCEANReader.findStartGuardPattern = function (row) {\n var foundStart = false;\n var startRange;\n var nextStart = 0;\n var counters = Int32Array.from([0, 0, 0]);\n while (!foundStart) {\n counters = Int32Array.from([0, 0, 0]);\n startRange = AbstractUPCEANReader.findGuardPattern(row, nextStart, false, this.START_END_PATTERN, counters);\n var start = startRange[0];\n nextStart = startRange[1];\n var quietStart = start - (nextStart - start);\n if (quietStart >= 0) {\n foundStart = row.isRange(quietStart, start, false);\n }\n }\n return startRange;\n };\n AbstractUPCEANReader.checkChecksum = function (s) {\n return AbstractUPCEANReader.checkStandardUPCEANChecksum(s);\n };\n AbstractUPCEANReader.checkStandardUPCEANChecksum = function (s) {\n var length = s.length;\n if (length === 0)\n return false;\n var check = parseInt(s.charAt(length - 1), 10);\n return AbstractUPCEANReader.getStandardUPCEANChecksum(s.substring(0, length - 1)) === check;\n };\n AbstractUPCEANReader.getStandardUPCEANChecksum = function (s) {\n var length = s.length;\n var sum = 0;\n for (var i = length - 1; i >= 0; i -= 2) {\n var digit = s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n if (digit < 0 || digit > 9) {\n throw new FormatException();\n }\n sum += digit;\n }\n sum *= 3;\n for (var i = length - 2; i >= 0; i -= 2) {\n var digit = s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n if (digit < 0 || digit > 9) {\n throw new FormatException();\n }\n sum += digit;\n }\n return (1000 - sum) % 10;\n };\n AbstractUPCEANReader.decodeEnd = function (row, endStart) {\n return AbstractUPCEANReader.findGuardPattern(row, endStart, false, AbstractUPCEANReader.START_END_PATTERN, new Int32Array(AbstractUPCEANReader.START_END_PATTERN.length).fill(0));\n };\n /**\n * @throws NotFoundException\n */\n AbstractUPCEANReader.findGuardPatternWithoutCounters = function (row, rowOffset, whiteFirst, pattern) {\n return this.findGuardPattern(row, rowOffset, whiteFirst, pattern, new Int32Array(pattern.length));\n };\n /**\n * @param row row of black/white values to search\n * @param rowOffset position to start search\n * @param whiteFirst if true, indicates that the pattern specifies white/black/white/...\n * pixel counts, otherwise, it is interpreted as black/white/black/...\n * @param pattern pattern of counts of number of black and white pixels that are being\n * searched for as a pattern\n * @param counters array of counters, as long as pattern, to re-use\n * @return start/end horizontal offset of guard pattern, as an array of two ints\n * @throws NotFoundException if pattern is not found\n */\n AbstractUPCEANReader.findGuardPattern = function (row, rowOffset, whiteFirst, pattern, counters) {\n var width = row.getSize();\n rowOffset = whiteFirst ? row.getNextUnset(rowOffset) : row.getNextSet(rowOffset);\n var counterPosition = 0;\n var patternStart = rowOffset;\n var patternLength = pattern.length;\n var isWhite = whiteFirst;\n for (var x = rowOffset; x < width; x++) {\n if (row.get(x) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === patternLength - 1) {\n if (OneDReader.patternMatchVariance(counters, pattern, AbstractUPCEANReader.MAX_INDIVIDUAL_VARIANCE) < AbstractUPCEANReader.MAX_AVG_VARIANCE) {\n return Int32Array.from([patternStart, x]);\n }\n patternStart += counters[0] + counters[1];\n var slice = counters.slice(2, counters.length);\n for (var i = 0; i < counterPosition - 1; i++) {\n counters[i] = slice[i];\n }\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n AbstractUPCEANReader.decodeDigit = function (row, counters, rowOffset, patterns) {\n this.recordPattern(row, rowOffset, counters);\n var bestVariance = this.MAX_AVG_VARIANCE;\n var bestMatch = -1;\n var max = patterns.length;\n for (var i = 0; i < max; i++) {\n var pattern = patterns[i];\n var variance = OneDReader.patternMatchVariance(counters, pattern, AbstractUPCEANReader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = i;\n }\n }\n if (bestMatch >= 0) {\n return bestMatch;\n }\n else {\n throw new NotFoundException();\n }\n };\n // These two values are critical for determining how permissive the decoding will be.\n // We've arrived at these values through a lot of trial and error. Setting them any higher\n // lets false positives creep in quickly.\n AbstractUPCEANReader.MAX_AVG_VARIANCE = 0.48;\n AbstractUPCEANReader.MAX_INDIVIDUAL_VARIANCE = 0.7;\n /**\n * Start/end guard pattern.\n */\n AbstractUPCEANReader.START_END_PATTERN = Int32Array.from([1, 1, 1]);\n /**\n * Pattern marking the middle of a UPC/EAN pattern, separating the two halves.\n */\n AbstractUPCEANReader.MIDDLE_PATTERN = Int32Array.from([1, 1, 1, 1, 1]);\n /**\n * end guard pattern.\n */\n AbstractUPCEANReader.END_PATTERN = Int32Array.from([1, 1, 1, 1, 1, 1]);\n /**\n * \"Odd\", or \"L\" patterns used to encode UPC/EAN digits.\n */\n AbstractUPCEANReader.L_PATTERNS = [\n Int32Array.from([3, 2, 1, 1]),\n Int32Array.from([2, 2, 2, 1]),\n Int32Array.from([2, 1, 2, 2]),\n Int32Array.from([1, 4, 1, 1]),\n Int32Array.from([1, 1, 3, 2]),\n Int32Array.from([1, 2, 3, 1]),\n Int32Array.from([1, 1, 1, 4]),\n Int32Array.from([1, 3, 1, 2]),\n Int32Array.from([1, 2, 1, 3]),\n Int32Array.from([3, 1, 1, 2]),\n ];\n return AbstractUPCEANReader;\n}(OneDReader));\nexport default AbstractUPCEANReader;\n","/*\n * Copyright (C) 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BarcodeFormat from '../BarcodeFormat';\n// import UPCEANReader from './UPCEANReader';\nimport AbstractUPCEANReader from './AbstractUPCEANReader';\nimport Result from '../Result';\nimport ResultPoint from '../ResultPoint';\nimport ResultMetadataType from '../ResultMetadataType';\nimport NotFoundException from '../NotFoundException';\n/**\n * @see UPCEANExtension2Support\n */\nvar UPCEANExtension5Support = /** @class */ (function () {\n function UPCEANExtension5Support() {\n this.CHECK_DIGIT_ENCODINGS = [0x18, 0x14, 0x12, 0x11, 0x0C, 0x06, 0x03, 0x0A, 0x09, 0x05];\n this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);\n this.decodeRowStringBuffer = '';\n }\n UPCEANExtension5Support.prototype.decodeRow = function (rowNumber, row, extensionStartRange) {\n var result = this.decodeRowStringBuffer;\n var end = this.decodeMiddle(row, extensionStartRange, result);\n var resultString = result.toString();\n var extensionData = UPCEANExtension5Support.parseExtensionString(resultString);\n var resultPoints = [\n new ResultPoint((extensionStartRange[0] + extensionStartRange[1]) / 2.0, rowNumber),\n new ResultPoint(end, rowNumber)\n ];\n var extensionResult = new Result(resultString, null, 0, resultPoints, BarcodeFormat.UPC_EAN_EXTENSION, new Date().getTime());\n if (extensionData != null) {\n extensionResult.putAllMetadata(extensionData);\n }\n return extensionResult;\n };\n UPCEANExtension5Support.prototype.decodeMiddle = function (row, startRange, resultString) {\n var e_1, _a;\n var counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var end = row.getSize();\n var rowOffset = startRange[1];\n var lgPatternFound = 0;\n for (var x = 0; x < 5 && rowOffset < end; x++) {\n var bestMatch = AbstractUPCEANReader.decodeDigit(row, counters, rowOffset, AbstractUPCEANReader.L_AND_G_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));\n try {\n for (var counters_1 = (e_1 = void 0, __values(counters)), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n rowOffset += counter;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (bestMatch >= 10) {\n lgPatternFound |= 1 << (4 - x);\n }\n if (x !== 4) {\n // Read off separator if not last\n rowOffset = row.getNextSet(rowOffset);\n rowOffset = row.getNextUnset(rowOffset);\n }\n }\n if (resultString.length !== 5) {\n throw new NotFoundException();\n }\n var checkDigit = this.determineCheckDigit(lgPatternFound);\n if (UPCEANExtension5Support.extensionChecksum(resultString.toString()) !== checkDigit) {\n throw new NotFoundException();\n }\n return rowOffset;\n };\n UPCEANExtension5Support.extensionChecksum = function (s) {\n var length = s.length;\n var sum = 0;\n for (var i = length - 2; i >= 0; i -= 2) {\n sum += s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n }\n sum *= 3;\n for (var i = length - 1; i >= 0; i -= 2) {\n sum += s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n }\n sum *= 3;\n return sum % 10;\n };\n UPCEANExtension5Support.prototype.determineCheckDigit = function (lgPatternFound) {\n for (var d = 0; d < 10; d++) {\n if (lgPatternFound === this.CHECK_DIGIT_ENCODINGS[d]) {\n return d;\n }\n }\n throw new NotFoundException();\n };\n UPCEANExtension5Support.parseExtensionString = function (raw) {\n if (raw.length !== 5) {\n return null;\n }\n var value = UPCEANExtension5Support.parseExtension5String(raw);\n if (value == null) {\n return null;\n }\n return new Map([[ResultMetadataType.SUGGESTED_PRICE, value]]);\n };\n UPCEANExtension5Support.parseExtension5String = function (raw) {\n var currency;\n switch (raw.charAt(0)) {\n case '0':\n currency = '£';\n break;\n case '5':\n currency = '$';\n break;\n case '9':\n // Reference: http://www.jollytech.com\n switch (raw) {\n case '90000':\n // No suggested retail price\n return null;\n case '99991':\n // Complementary\n return '0.00';\n case '99990':\n return 'Used';\n }\n // Otherwise... unknown currency?\n currency = '';\n break;\n default:\n currency = '';\n break;\n }\n var rawAmount = parseInt(raw.substring(1));\n var unitsString = (rawAmount / 100).toString();\n var hundredths = rawAmount % 100;\n var hundredthsString = hundredths < 10 ? '0' + hundredths : hundredths.toString(); // fixme\n return currency + unitsString + '.' + hundredthsString;\n };\n return UPCEANExtension5Support;\n}());\nexport default UPCEANExtension5Support;\n","/*\n * Copyright (C) 2012 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BarcodeFormat from '../BarcodeFormat';\nimport AbstractUPCEANReader from './AbstractUPCEANReader';\nimport Result from '../Result';\nimport ResultPoint from '../ResultPoint';\nimport ResultMetadataType from '../ResultMetadataType';\nimport NotFoundException from '../NotFoundException';\n/**\n * @see UPCEANExtension5Support\n */\nvar UPCEANExtension2Support = /** @class */ (function () {\n function UPCEANExtension2Support() {\n this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);\n this.decodeRowStringBuffer = '';\n }\n UPCEANExtension2Support.prototype.decodeRow = function (rowNumber, row, extensionStartRange) {\n var result = this.decodeRowStringBuffer;\n var end = this.decodeMiddle(row, extensionStartRange, result);\n var resultString = result.toString();\n var extensionData = UPCEANExtension2Support.parseExtensionString(resultString);\n var resultPoints = [\n new ResultPoint((extensionStartRange[0] + extensionStartRange[1]) / 2.0, rowNumber),\n new ResultPoint(end, rowNumber)\n ];\n var extensionResult = new Result(resultString, null, 0, resultPoints, BarcodeFormat.UPC_EAN_EXTENSION, new Date().getTime());\n if (extensionData != null) {\n extensionResult.putAllMetadata(extensionData);\n }\n return extensionResult;\n };\n UPCEANExtension2Support.prototype.decodeMiddle = function (row, startRange, resultString) {\n var e_1, _a;\n var counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var end = row.getSize();\n var rowOffset = startRange[1];\n var checkParity = 0;\n for (var x = 0; x < 2 && rowOffset < end; x++) {\n var bestMatch = AbstractUPCEANReader.decodeDigit(row, counters, rowOffset, AbstractUPCEANReader.L_AND_G_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));\n try {\n for (var counters_1 = (e_1 = void 0, __values(counters)), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n rowOffset += counter;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (bestMatch >= 10) {\n checkParity |= 1 << (1 - x);\n }\n if (x !== 1) {\n // Read off separator if not last\n rowOffset = row.getNextSet(rowOffset);\n rowOffset = row.getNextUnset(rowOffset);\n }\n }\n if (resultString.length !== 2) {\n throw new NotFoundException();\n }\n if (parseInt(resultString.toString()) % 4 !== checkParity) {\n throw new NotFoundException();\n }\n return rowOffset;\n };\n UPCEANExtension2Support.parseExtensionString = function (raw) {\n if (raw.length !== 2) {\n return null;\n }\n return new Map([[ResultMetadataType.ISSUE_NUMBER, parseInt(raw)]]);\n };\n return UPCEANExtension2Support;\n}());\nexport default UPCEANExtension2Support;\n","/*\n * Copyright (C) 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport AbstractUPCEANReader from './AbstractUPCEANReader';\nimport UPCEANExtension5Support from './UPCEANExtension5Support';\nimport UPCEANExtension2Support from './UPCEANExtension2Support';\nvar UPCEANExtensionSupport = /** @class */ (function () {\n function UPCEANExtensionSupport() {\n }\n UPCEANExtensionSupport.decodeRow = function (rowNumber, row, rowOffset) {\n var extensionStartRange = AbstractUPCEANReader.findGuardPattern(row, rowOffset, false, this.EXTENSION_START_PATTERN, new Int32Array(this.EXTENSION_START_PATTERN.length).fill(0));\n try {\n // return null;\n var fiveSupport = new UPCEANExtension5Support();\n return fiveSupport.decodeRow(rowNumber, row, extensionStartRange);\n }\n catch (err) {\n // return null;\n var twoSupport = new UPCEANExtension2Support();\n return twoSupport.decodeRow(rowNumber, row, extensionStartRange);\n }\n };\n UPCEANExtensionSupport.EXTENSION_START_PATTERN = Int32Array.from([1, 1, 2]);\n return UPCEANExtensionSupport;\n}());\nexport default UPCEANExtensionSupport;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport BarcodeFormat from '../BarcodeFormat';\nimport DecodeHintType from '../DecodeHintType';\nimport Result from '../Result';\nimport ResultMetadataType from '../ResultMetadataType';\nimport ResultPoint from '../ResultPoint';\nimport UPCEANExtensionSupport from './UPCEANExtensionSupport';\nimport AbstractUPCEANReader from './AbstractUPCEANReader';\nimport NotFoundException from '../NotFoundException';\nimport FormatException from '../FormatException';\nimport ChecksumException from '../ChecksumException';\n/**\n *

Encapsulates functionality and implementation that is common to UPC and EAN families\n * of one-dimensional barcodes.

\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author alasdair@google.com (Alasdair Mackintosh)\n */\nvar UPCEANReader = /** @class */ (function (_super) {\n __extends(UPCEANReader, _super);\n function UPCEANReader() {\n var _this = _super.call(this) || this;\n _this.decodeRowStringBuffer = '';\n UPCEANReader.L_AND_G_PATTERNS = UPCEANReader.L_PATTERNS.map(function (arr) { return Int32Array.from(arr); });\n for (var i = 10; i < 20; i++) {\n var widths = UPCEANReader.L_PATTERNS[i - 10];\n var reversedWidths = new Int32Array(widths.length);\n for (var j = 0; j < widths.length; j++) {\n reversedWidths[j] = widths[widths.length - j - 1];\n }\n UPCEANReader.L_AND_G_PATTERNS[i] = reversedWidths;\n }\n return _this;\n }\n UPCEANReader.prototype.decodeRow = function (rowNumber, row, hints) {\n var startGuardRange = UPCEANReader.findStartGuardPattern(row);\n var resultPointCallback = hints == null ? null : hints.get(DecodeHintType.NEED_RESULT_POINT_CALLBACK);\n if (resultPointCallback != null) {\n var resultPoint_1 = new ResultPoint((startGuardRange[0] + startGuardRange[1]) / 2.0, rowNumber);\n resultPointCallback.foundPossibleResultPoint(resultPoint_1);\n }\n var budello = this.decodeMiddle(row, startGuardRange, this.decodeRowStringBuffer);\n var endStart = budello.rowOffset;\n var result = budello.resultString;\n if (resultPointCallback != null) {\n var resultPoint_2 = new ResultPoint(endStart, rowNumber);\n resultPointCallback.foundPossibleResultPoint(resultPoint_2);\n }\n var endRange = UPCEANReader.decodeEnd(row, endStart);\n if (resultPointCallback != null) {\n var resultPoint_3 = new ResultPoint((endRange[0] + endRange[1]) / 2.0, rowNumber);\n resultPointCallback.foundPossibleResultPoint(resultPoint_3);\n }\n // Make sure there is a quiet zone at least as big as the end pattern after the barcode. The\n // spec might want more whitespace, but in practice this is the maximum we can count on.\n var end = endRange[1];\n var quietEnd = end + (end - endRange[0]);\n if (quietEnd >= row.getSize() || !row.isRange(end, quietEnd, false)) {\n throw new NotFoundException();\n }\n var resultString = result.toString();\n // UPC/EAN should never be less than 8 chars anyway\n if (resultString.length < 8) {\n throw new FormatException();\n }\n if (!UPCEANReader.checkChecksum(resultString)) {\n throw new ChecksumException();\n }\n var left = (startGuardRange[1] + startGuardRange[0]) / 2.0;\n var right = (endRange[1] + endRange[0]) / 2.0;\n var format = this.getBarcodeFormat();\n var resultPoint = [new ResultPoint(left, rowNumber), new ResultPoint(right, rowNumber)];\n var decodeResult = new Result(resultString, null, 0, resultPoint, format, new Date().getTime());\n var extensionLength = 0;\n try {\n var extensionResult = UPCEANExtensionSupport.decodeRow(rowNumber, row, endRange[1]);\n decodeResult.putMetadata(ResultMetadataType.UPC_EAN_EXTENSION, extensionResult.getText());\n decodeResult.putAllMetadata(extensionResult.getResultMetadata());\n decodeResult.addResultPoints(extensionResult.getResultPoints());\n extensionLength = extensionResult.getText().length;\n }\n catch (err) {\n }\n var allowedExtensions = hints == null ? null : hints.get(DecodeHintType.ALLOWED_EAN_EXTENSIONS);\n if (allowedExtensions != null) {\n var valid = false;\n for (var length_1 in allowedExtensions) {\n if (extensionLength.toString() === length_1) { // check me\n valid = true;\n break;\n }\n }\n if (!valid) {\n throw new NotFoundException();\n }\n }\n if (format === BarcodeFormat.EAN_13 || format === BarcodeFormat.UPC_A) {\n // let countryID = eanManSupport.lookupContryIdentifier(resultString); todo\n // if (countryID != null) {\n // decodeResult.putMetadata(ResultMetadataType.POSSIBLE_COUNTRY, countryID);\n // }\n }\n return decodeResult;\n };\n UPCEANReader.checkChecksum = function (s) {\n return UPCEANReader.checkStandardUPCEANChecksum(s);\n };\n UPCEANReader.checkStandardUPCEANChecksum = function (s) {\n var length = s.length;\n if (length === 0)\n return false;\n var check = parseInt(s.charAt(length - 1), 10);\n return UPCEANReader.getStandardUPCEANChecksum(s.substring(0, length - 1)) === check;\n };\n UPCEANReader.getStandardUPCEANChecksum = function (s) {\n var length = s.length;\n var sum = 0;\n for (var i = length - 1; i >= 0; i -= 2) {\n var digit = s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n if (digit < 0 || digit > 9) {\n throw new FormatException();\n }\n sum += digit;\n }\n sum *= 3;\n for (var i = length - 2; i >= 0; i -= 2) {\n var digit = s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n if (digit < 0 || digit > 9) {\n throw new FormatException();\n }\n sum += digit;\n }\n return (1000 - sum) % 10;\n };\n UPCEANReader.decodeEnd = function (row, endStart) {\n return UPCEANReader.findGuardPattern(row, endStart, false, UPCEANReader.START_END_PATTERN, new Int32Array(UPCEANReader.START_END_PATTERN.length).fill(0));\n };\n return UPCEANReader;\n}(AbstractUPCEANReader));\nexport default UPCEANReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BarcodeFormat from '../BarcodeFormat';\nimport UPCEANReader from './UPCEANReader';\nimport NotFoundException from '../NotFoundException';\n/**\n *

Implements decoding of the EAN-13 format.

\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author alasdair@google.com (Alasdair Mackintosh)\n */\nvar EAN13Reader = /** @class */ (function (_super) {\n __extends(EAN13Reader, _super);\n function EAN13Reader() {\n var _this = _super.call(this) || this;\n _this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);\n return _this;\n }\n EAN13Reader.prototype.decodeMiddle = function (row, startRange, resultString) {\n var e_1, _a, e_2, _b;\n var counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var end = row.getSize();\n var rowOffset = startRange[1];\n var lgPatternFound = 0;\n for (var x = 0; x < 6 && rowOffset < end; x++) {\n var bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_AND_G_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));\n try {\n for (var counters_1 = (e_1 = void 0, __values(counters)), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n rowOffset += counter;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (bestMatch >= 10) {\n lgPatternFound |= 1 << (5 - x);\n }\n }\n resultString = EAN13Reader.determineFirstDigit(resultString, lgPatternFound);\n var middleRange = UPCEANReader.findGuardPattern(row, rowOffset, true, UPCEANReader.MIDDLE_PATTERN, new Int32Array(UPCEANReader.MIDDLE_PATTERN.length).fill(0));\n rowOffset = middleRange[1];\n for (var x = 0; x < 6 && rowOffset < end; x++) {\n var bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch));\n try {\n for (var counters_2 = (e_2 = void 0, __values(counters)), counters_2_1 = counters_2.next(); !counters_2_1.done; counters_2_1 = counters_2.next()) {\n var counter = counters_2_1.value;\n rowOffset += counter;\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (counters_2_1 && !counters_2_1.done && (_b = counters_2.return)) _b.call(counters_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n return { rowOffset: rowOffset, resultString: resultString };\n };\n EAN13Reader.prototype.getBarcodeFormat = function () {\n return BarcodeFormat.EAN_13;\n };\n EAN13Reader.determineFirstDigit = function (resultString, lgPatternFound) {\n for (var d = 0; d < 10; d++) {\n if (lgPatternFound === this.FIRST_DIGIT_ENCODINGS[d]) {\n resultString = String.fromCharCode(('0'.charCodeAt(0) + d)) + resultString;\n return resultString;\n }\n }\n throw new NotFoundException();\n };\n EAN13Reader.FIRST_DIGIT_ENCODINGS = [0x00, 0x0B, 0x0D, 0xE, 0x13, 0x19, 0x1C, 0x15, 0x16, 0x1A];\n return EAN13Reader;\n}(UPCEANReader));\nexport default EAN13Reader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BarcodeFormat from '../BarcodeFormat';\nimport UPCEANReader from './UPCEANReader';\n/**\n *

Implements decoding of the EAN-8 format.

\n *\n * @author Sean Owen\n */\nvar EAN8Reader = /** @class */ (function (_super) {\n __extends(EAN8Reader, _super);\n function EAN8Reader() {\n var _this = _super.call(this) || this;\n _this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);\n return _this;\n }\n EAN8Reader.prototype.decodeMiddle = function (row, startRange, resultString) {\n var e_1, _a, e_2, _b;\n var counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var end = row.getSize();\n var rowOffset = startRange[1];\n for (var x = 0; x < 4 && rowOffset < end; x++) {\n var bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch));\n try {\n for (var counters_1 = (e_1 = void 0, __values(counters)), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n rowOffset += counter;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n var middleRange = UPCEANReader.findGuardPattern(row, rowOffset, true, UPCEANReader.MIDDLE_PATTERN, new Int32Array(UPCEANReader.MIDDLE_PATTERN.length).fill(0));\n rowOffset = middleRange[1];\n for (var x = 0; x < 4 && rowOffset < end; x++) {\n var bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch));\n try {\n for (var counters_2 = (e_2 = void 0, __values(counters)), counters_2_1 = counters_2.next(); !counters_2_1.done; counters_2_1 = counters_2.next()) {\n var counter = counters_2_1.value;\n rowOffset += counter;\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (counters_2_1 && !counters_2_1.done && (_b = counters_2.return)) _b.call(counters_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n return { rowOffset: rowOffset, resultString: resultString };\n };\n EAN8Reader.prototype.getBarcodeFormat = function () {\n return BarcodeFormat.EAN_8;\n };\n return EAN8Reader;\n}(UPCEANReader));\nexport default EAN8Reader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.oned {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport Result from '../Result';\nimport NotFoundException from '../NotFoundException';\nimport EAN13Reader from './EAN13Reader';\nimport UPCEANReader from './UPCEANReader';\n/**\n * Encapsulates functionality and implementation that is common to all families\n * of one-dimensional barcodes.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author sam2332 (Sam Rudloff)\n *\n * @source https://github.com/zxing/zxing/blob/3c96923276dd5785d58eb970b6ba3f80d36a9505/core/src/main/java/com/google/zxing/oned/UPCAReader.java\n *\n * @experimental\n */\nvar UPCAReader = /** @class */ (function (_super) {\n __extends(UPCAReader, _super);\n function UPCAReader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.ean13Reader = new EAN13Reader();\n return _this;\n }\n // @Override\n UPCAReader.prototype.getBarcodeFormat = function () {\n return BarcodeFormat.UPC_A;\n };\n // Note that we don't try rotation without the try harder flag, even if rotation was supported.\n // @Override\n UPCAReader.prototype.decode = function (image, hints) {\n return this.maybeReturnResult(this.ean13Reader.decode(image));\n };\n // @Override\n UPCAReader.prototype.decodeRow = function (rowNumber, row, hints) {\n return this.maybeReturnResult(this.ean13Reader.decodeRow(rowNumber, row, hints));\n };\n // @Override\n UPCAReader.prototype.decodeMiddle = function (row, startRange, resultString) {\n return this.ean13Reader.decodeMiddle(row, startRange, resultString);\n };\n UPCAReader.prototype.maybeReturnResult = function (result) {\n var text = result.getText();\n if (text.charAt(0) === '0') {\n var upcaResult = new Result(text.substring(1), null, null, result.getResultPoints(), BarcodeFormat.UPC_A);\n if (result.getResultMetadata() != null) {\n upcaResult.putAllMetadata(result.getResultMetadata());\n }\n return upcaResult;\n }\n else {\n throw new NotFoundException();\n }\n };\n UPCAReader.prototype.reset = function () {\n this.ean13Reader.reset();\n };\n return UPCAReader;\n}(UPCEANReader));\nexport default UPCAReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport UPCEANReader from './UPCEANReader';\nimport StringBuilder from '../util/StringBuilder';\nimport NotFoundException from '../NotFoundException';\nimport BarcodeFormat from '../BarcodeFormat';\n// package com.google.zxing.oned;\n// import com.google.zxing.BarcodeFormat;\n// import com.google.zxing.FormatException;\n// import com.google.zxing.NotFoundException;\n// import com.google.zxing.common.BitArray;\n/**\n *

Implements decoding of the UPC-E format.

\n *

This is a great reference for\n * UPC-E information.

\n *\n * @author Sean Owen\n *\n * @source https://github.com/zxing/zxing/blob/3c96923276dd5785d58eb970b6ba3f80d36a9505/core/src/main/java/com/google/zxing/oned/UPCEReader.java\n *\n * @experimental\n */\nvar UPCEReader = /** @class */ (function (_super) {\n __extends(UPCEReader, _super);\n function UPCEReader() {\n var _this = _super.call(this) || this;\n _this.decodeMiddleCounters = new Int32Array(4);\n return _this;\n }\n /**\n * @throws NotFoundException\n */\n // @Override\n UPCEReader.prototype.decodeMiddle = function (row, startRange, result) {\n var e_1, _a;\n var counters = this.decodeMiddleCounters.map(function (x) { return x; });\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var end = row.getSize();\n var rowOffset = startRange[1];\n var lgPatternFound = 0;\n for (var x = 0; x < 6 && rowOffset < end; x++) {\n var bestMatch = UPCEReader.decodeDigit(row, counters, rowOffset, UPCEReader.L_AND_G_PATTERNS);\n result += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));\n try {\n for (var counters_1 = (e_1 = void 0, __values(counters)), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n rowOffset += counter;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (bestMatch >= 10) {\n lgPatternFound |= 1 << (5 - x);\n }\n }\n UPCEReader.determineNumSysAndCheckDigit(new StringBuilder(result), lgPatternFound);\n return rowOffset;\n };\n /**\n * @throws NotFoundException\n */\n // @Override\n UPCEReader.prototype.decodeEnd = function (row, endStart) {\n return UPCEReader.findGuardPatternWithoutCounters(row, endStart, true, UPCEReader.MIDDLE_END_PATTERN);\n };\n /**\n * @throws FormatException\n */\n // @Override\n UPCEReader.prototype.checkChecksum = function (s) {\n return UPCEANReader.checkChecksum(UPCEReader.convertUPCEtoUPCA(s));\n };\n /**\n * @throws NotFoundException\n */\n UPCEReader.determineNumSysAndCheckDigit = function (resultString, lgPatternFound) {\n for (var numSys = 0; numSys <= 1; numSys++) {\n for (var d = 0; d < 10; d++) {\n if (lgPatternFound === this.NUMSYS_AND_CHECK_DIGIT_PATTERNS[numSys][d]) {\n resultString.insert(0, /*(char)*/ ('0' + numSys));\n resultString.append(/*(char)*/ ('0' + d));\n return;\n }\n }\n }\n throw NotFoundException.getNotFoundInstance();\n };\n // @Override\n UPCEReader.prototype.getBarcodeFormat = function () {\n return BarcodeFormat.UPC_E;\n };\n /**\n * Expands a UPC-E value back into its full, equivalent UPC-A code value.\n *\n * @param upce UPC-E code as string of digits\n * @return equivalent UPC-A code as string of digits\n */\n UPCEReader.convertUPCEtoUPCA = function (upce) {\n // the following line is equivalent to upce.getChars(1, 7, upceChars, 0);\n var upceChars = upce.slice(1, 7).split('').map(function (x) { return x.charCodeAt(0); });\n var result = new StringBuilder( /*12*/);\n result.append(upce.charAt(0));\n var lastChar = upceChars[5];\n switch (lastChar) {\n case 0:\n case 1:\n case 2:\n result.appendChars(upceChars, 0, 2);\n result.append(lastChar);\n result.append('0000');\n result.appendChars(upceChars, 2, 3);\n break;\n case 3:\n result.appendChars(upceChars, 0, 3);\n result.append('00000');\n result.appendChars(upceChars, 3, 2);\n break;\n case 4:\n result.appendChars(upceChars, 0, 4);\n result.append('00000');\n result.append(upceChars[4]);\n break;\n default:\n result.appendChars(upceChars, 0, 5);\n result.append('0000');\n result.append(lastChar);\n break;\n }\n // Only append check digit in conversion if supplied\n if (upce.length >= 8) {\n result.append(upce.charAt(7));\n }\n return result.toString();\n };\n /**\n * The pattern that marks the middle, and end, of a UPC-E pattern.\n * There is no \"second half\" to a UPC-E barcode.\n */\n UPCEReader.MIDDLE_END_PATTERN = Int32Array.from([1, 1, 1, 1, 1, 1]);\n // For an UPC-E barcode, the final digit is represented by the parities used\n // to encode the middle six digits, according to the table below.\n //\n // Parity of next 6 digits\n // Digit 0 1 2 3 4 5\n // 0 Even Even Even Odd Odd Odd\n // 1 Even Even Odd Even Odd Odd\n // 2 Even Even Odd Odd Even Odd\n // 3 Even Even Odd Odd Odd Even\n // 4 Even Odd Even Even Odd Odd\n // 5 Even Odd Odd Even Even Odd\n // 6 Even Odd Odd Odd Even Even\n // 7 Even Odd Even Odd Even Odd\n // 8 Even Odd Even Odd Odd Even\n // 9 Even Odd Odd Even Odd Even\n //\n // The encoding is represented by the following array, which is a bit pattern\n // using Odd = 0 and Even = 1. For example, 5 is represented by:\n //\n // Odd Even Even Odd Odd Even\n // in binary:\n // 0 1 1 0 0 1 == 0x19\n //\n /**\n * See {@link #L_AND_G_PATTERNS}; these values similarly represent patterns of\n * even-odd parity encodings of digits that imply both the number system (0 or 1)\n * used, and the check digit.\n */\n UPCEReader.NUMSYS_AND_CHECK_DIGIT_PATTERNS = [\n Int32Array.from([0x38, 0x34, 0x32, 0x31, 0x2C, 0x26, 0x23, 0x2A, 0x29, 0x25]),\n Int32Array.from([0x07, 0x0B, 0x0D, 0x0E, 0x13, 0x19, 0x1C, 0x15, 0x16, 0x1]),\n ];\n return UPCEReader;\n}(UPCEANReader));\nexport default UPCEReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BarcodeFormat from '../BarcodeFormat';\nimport DecodeHintType from '../DecodeHintType';\nimport Result from '../Result';\nimport OneDReader from './OneDReader';\nimport EAN13Reader from './EAN13Reader';\nimport EAN8Reader from './EAN8Reader';\nimport UPCAReader from './UPCAReader';\nimport NotFoundException from '../NotFoundException';\nimport UPCEReader from './UPCEReader';\n/**\n *

A reader that can read all available UPC/EAN formats. If a caller wants to try to\n * read all such formats, it is most efficient to use this implementation rather than invoke\n * individual readers.

\n *\n * @author Sean Owen\n */\nvar MultiFormatUPCEANReader = /** @class */ (function (_super) {\n __extends(MultiFormatUPCEANReader, _super);\n function MultiFormatUPCEANReader(hints) {\n var _this = _super.call(this) || this;\n var possibleFormats = hints == null ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS);\n var readers = [];\n if (possibleFormats != null) {\n if (possibleFormats.indexOf(BarcodeFormat.EAN_13) > -1) {\n readers.push(new EAN13Reader());\n }\n if (possibleFormats.indexOf(BarcodeFormat.UPC_A) > -1) {\n readers.push(new UPCAReader());\n }\n if (possibleFormats.indexOf(BarcodeFormat.EAN_8) > -1) {\n readers.push(new EAN8Reader());\n }\n if (possibleFormats.indexOf(BarcodeFormat.UPC_E) > -1) {\n readers.push(new UPCEReader());\n }\n }\n if (readers.length === 0) {\n readers.push(new EAN13Reader());\n readers.push(new UPCAReader());\n readers.push(new EAN8Reader());\n readers.push(new UPCEReader());\n }\n _this.readers = readers;\n return _this;\n }\n MultiFormatUPCEANReader.prototype.decodeRow = function (rowNumber, row, hints) {\n var e_1, _a;\n try {\n for (var _b = __values(this.readers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var reader = _c.value;\n try {\n // const result: Result = reader.decodeRow(rowNumber, row, startGuardPattern, hints);\n var result = reader.decodeRow(rowNumber, row, hints);\n // Special case: a 12-digit code encoded in UPC-A is identical to a \"0\"\n // followed by those 12 digits encoded as EAN-13. Each will recognize such a code,\n // UPC-A as a 12-digit string and EAN-13 as a 13-digit string starting with \"0\".\n // Individually these are correct and their readers will both read such a code\n // and correctly call it EAN-13, or UPC-A, respectively.\n //\n // In this case, if we've been looking for both types, we'd like to call it\n // a UPC-A code. But for efficiency we only run the EAN-13 decoder to also read\n // UPC-A. So we special case it here, and convert an EAN-13 result to a UPC-A\n // result if appropriate.\n //\n // But, don't return UPC-A if UPC-A was not a requested format!\n var ean13MayBeUPCA = result.getBarcodeFormat() === BarcodeFormat.EAN_13 &&\n result.getText().charAt(0) === '0';\n // @SuppressWarnings(\"unchecked\")\n var possibleFormats = hints == null ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS);\n var canReturnUPCA = possibleFormats == null || possibleFormats.includes(BarcodeFormat.UPC_A);\n if (ean13MayBeUPCA && canReturnUPCA) {\n var rawBytes = result.getRawBytes();\n // Transfer the metadata across\n var resultUPCA = new Result(result.getText().substring(1), rawBytes, (rawBytes ? rawBytes.length : null), result.getResultPoints(), BarcodeFormat.UPC_A);\n resultUPCA.putAllMetadata(result.getResultMetadata());\n return resultUPCA;\n }\n return result;\n }\n catch (err) {\n // continue;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n throw new NotFoundException();\n };\n MultiFormatUPCEANReader.prototype.reset = function () {\n var e_2, _a;\n try {\n for (var _b = __values(this.readers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var reader = _c.value;\n reader.reset();\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n };\n return MultiFormatUPCEANReader;\n}(OneDReader));\nexport default MultiFormatUPCEANReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.oned {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport NotFoundException from '../NotFoundException';\nimport OneDReader from './OneDReader';\nimport Result from '../Result';\nimport ResultPoint from '../ResultPoint';\n/**\n *

Decodes CodaBar barcodes.

\n *\n * @author Evan @dodobelieve\n * @see CodaBarReader\n */\nvar CodaBarReader = /** @class */ (function (_super) {\n __extends(CodaBarReader, _super);\n function CodaBarReader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.CODA_BAR_CHAR_SET = {\n nnnnnww: '0',\n nnnnwwn: '1',\n nnnwnnw: '2',\n wwnnnnn: '3',\n nnwnnwn: '4',\n wnnnnwn: '5',\n nwnnnnw: '6',\n nwnnwnn: '7',\n nwwnnnn: '8',\n wnnwnnn: '9',\n nnnwwnn: '-',\n nnwwnnn: '$',\n wnnnwnw: ':',\n wnwnnnw: '/',\n wnwnwnn: '.',\n nnwwwww: '+',\n nnwwnwn: 'A',\n nwnwnnw: 'B',\n nnnwnww: 'C',\n nnnwwwn: 'D'\n };\n return _this;\n }\n CodaBarReader.prototype.decodeRow = function (rowNumber, row, hints) {\n var validRowData = this.getValidRowData(row);\n if (!validRowData)\n throw new NotFoundException();\n var retStr = this.codaBarDecodeRow(validRowData.row);\n if (!retStr)\n throw new NotFoundException();\n return new Result(retStr, null, 0, [new ResultPoint(validRowData.left, rowNumber), new ResultPoint(validRowData.right, rowNumber)], BarcodeFormat.CODABAR, new Date().getTime());\n };\n /**\n * converts bit array to valid data array(lengths of black bits and white bits)\n * @param row bit array to convert\n */\n CodaBarReader.prototype.getValidRowData = function (row) {\n var booleanArr = row.toArray();\n var startIndex = booleanArr.indexOf(true);\n if (startIndex === -1)\n return null;\n var lastIndex = booleanArr.lastIndexOf(true);\n if (lastIndex <= startIndex)\n return null;\n booleanArr = booleanArr.slice(startIndex, lastIndex + 1);\n var result = [];\n var lastBit = booleanArr[0];\n var bitLength = 1;\n for (var i = 1; i < booleanArr.length; i++) {\n if (booleanArr[i] === lastBit) {\n bitLength++;\n }\n else {\n lastBit = booleanArr[i];\n result.push(bitLength);\n bitLength = 1;\n }\n }\n result.push(bitLength);\n // CodaBar code data valid\n if (result.length < 23 && (result.length + 1) % 8 !== 0)\n return null;\n return { row: result, left: startIndex, right: lastIndex };\n };\n /**\n * decode codabar code\n * @param row row to cecode\n */\n CodaBarReader.prototype.codaBarDecodeRow = function (row) {\n var code = [];\n var barThreshold = Math.ceil(row.reduce(function (pre, item) { return (pre + item) / 2; }, 0));\n // Read one encoded character at a time.\n while (row.length > 0) {\n var seg = row.splice(0, 8).splice(0, 7);\n var key = seg.map(function (len) { return (len < barThreshold ? 'n' : 'w'); }).join('');\n if (this.CODA_BAR_CHAR_SET[key] === undefined)\n return null;\n code.push(this.CODA_BAR_CHAR_SET[key]);\n }\n var strCode = code.join('');\n if (this.validCodaBarString(strCode))\n return strCode;\n return null;\n };\n /**\n * check if the string is a CodaBar string\n * @param src string to determine\n */\n CodaBarReader.prototype.validCodaBarString = function (src) {\n var reg = /^[A-D].{1,}[A-D]$/;\n return reg.test(src);\n };\n return CodaBarReader;\n}(OneDReader));\nexport default CodaBarReader;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport MathUtils from '../../common/detector/MathUtils';\nimport NotFoundException from '../../NotFoundException';\nimport OneDReader from '../OneDReader';\n// import Integer from '../../util/Integer';\n// import Float from '../../util/Float';\nvar AbstractRSSReader = /** @class */ (function (_super) {\n __extends(AbstractRSSReader, _super);\n function AbstractRSSReader() {\n var _this = _super.call(this) || this;\n _this.decodeFinderCounters = new Int32Array(4);\n _this.dataCharacterCounters = new Int32Array(8);\n _this.oddRoundingErrors = new Array(4);\n _this.evenRoundingErrors = new Array(4);\n _this.oddCounts = new Array(_this.dataCharacterCounters.length / 2);\n _this.evenCounts = new Array(_this.dataCharacterCounters.length / 2);\n return _this;\n }\n AbstractRSSReader.prototype.getDecodeFinderCounters = function () {\n return this.decodeFinderCounters;\n };\n AbstractRSSReader.prototype.getDataCharacterCounters = function () {\n return this.dataCharacterCounters;\n };\n AbstractRSSReader.prototype.getOddRoundingErrors = function () {\n return this.oddRoundingErrors;\n };\n AbstractRSSReader.prototype.getEvenRoundingErrors = function () {\n return this.evenRoundingErrors;\n };\n AbstractRSSReader.prototype.getOddCounts = function () {\n return this.oddCounts;\n };\n AbstractRSSReader.prototype.getEvenCounts = function () {\n return this.evenCounts;\n };\n AbstractRSSReader.prototype.parseFinderValue = function (counters, finderPatterns) {\n for (var value = 0; value < finderPatterns.length; value++) {\n if (OneDReader.patternMatchVariance(counters, finderPatterns[value], AbstractRSSReader.MAX_INDIVIDUAL_VARIANCE) < AbstractRSSReader.MAX_AVG_VARIANCE) {\n return value;\n }\n }\n throw new NotFoundException();\n };\n /**\n * @param array values to sum\n * @return sum of values\n * @deprecated call {@link MathUtils#sum(int[])}\n */\n AbstractRSSReader.count = function (array) {\n return MathUtils.sum(new Int32Array(array));\n };\n AbstractRSSReader.increment = function (array, errors) {\n var index = 0;\n var biggestError = errors[0];\n for (var i = 1; i < array.length; i++) {\n if (errors[i] > biggestError) {\n biggestError = errors[i];\n index = i;\n }\n }\n array[index]++;\n };\n AbstractRSSReader.decrement = function (array, errors) {\n var index = 0;\n var biggestError = errors[0];\n for (var i = 1; i < array.length; i++) {\n if (errors[i] < biggestError) {\n biggestError = errors[i];\n index = i;\n }\n }\n array[index]--;\n };\n AbstractRSSReader.isFinderPattern = function (counters) {\n var e_1, _a;\n var firstTwoSum = counters[0] + counters[1];\n var sum = firstTwoSum + counters[2] + counters[3];\n var ratio = firstTwoSum / sum;\n if (ratio >= AbstractRSSReader.MIN_FINDER_PATTERN_RATIO && ratio <= AbstractRSSReader.MAX_FINDER_PATTERN_RATIO) {\n // passes ratio test in spec, but see if the counts are unreasonable\n var minCounter = Number.MAX_SAFE_INTEGER;\n var maxCounter = Number.MIN_SAFE_INTEGER;\n try {\n for (var counters_1 = __values(counters), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n if (counter > maxCounter) {\n maxCounter = counter;\n }\n if (counter < minCounter) {\n minCounter = counter;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return maxCounter < 10 * minCounter;\n }\n return false;\n };\n AbstractRSSReader.MAX_AVG_VARIANCE = 0.2;\n AbstractRSSReader.MAX_INDIVIDUAL_VARIANCE = 0.45;\n AbstractRSSReader.MIN_FINDER_PATTERN_RATIO = 9.5 / 12.0;\n AbstractRSSReader.MAX_FINDER_PATTERN_RATIO = 12.5 / 14.0;\n return AbstractRSSReader;\n}(OneDReader));\nexport default AbstractRSSReader;\n","var DataCharacter = /** @class */ (function () {\n function DataCharacter(value, checksumPortion) {\n this.value = value;\n this.checksumPortion = checksumPortion;\n }\n DataCharacter.prototype.getValue = function () {\n return this.value;\n };\n DataCharacter.prototype.getChecksumPortion = function () {\n return this.checksumPortion;\n };\n DataCharacter.prototype.toString = function () {\n return this.value + '(' + this.checksumPortion + ')';\n };\n DataCharacter.prototype.equals = function (o) {\n if (!(o instanceof DataCharacter)) {\n return false;\n }\n var that = o;\n return this.value === that.value && this.checksumPortion === that.checksumPortion;\n };\n DataCharacter.prototype.hashCode = function () {\n return this.value ^ this.checksumPortion;\n };\n return DataCharacter;\n}());\nexport default DataCharacter;\n","import ResultPoint from '../../ResultPoint';\nvar FinderPattern = /** @class */ (function () {\n function FinderPattern(value, startEnd, start, end, rowNumber) {\n this.value = value;\n this.startEnd = startEnd;\n this.value = value;\n this.startEnd = startEnd;\n this.resultPoints = new Array();\n this.resultPoints.push(new ResultPoint(start, rowNumber));\n this.resultPoints.push(new ResultPoint(end, rowNumber));\n }\n FinderPattern.prototype.getValue = function () {\n return this.value;\n };\n FinderPattern.prototype.getStartEnd = function () {\n return this.startEnd;\n };\n FinderPattern.prototype.getResultPoints = function () {\n return this.resultPoints;\n };\n FinderPattern.prototype.equals = function (o) {\n if (!(o instanceof FinderPattern)) {\n return false;\n }\n var that = o;\n return this.value === that.value;\n };\n FinderPattern.prototype.hashCode = function () {\n return this.value;\n };\n return FinderPattern;\n}());\nexport default FinderPattern;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/**\n * RSS util functions.\n */\nvar RSSUtils = /** @class */ (function () {\n function RSSUtils() {\n }\n RSSUtils.getRSSvalue = function (widths, maxWidth, noNarrow) {\n var e_1, _a;\n var n = 0;\n try {\n for (var widths_1 = __values(widths), widths_1_1 = widths_1.next(); !widths_1_1.done; widths_1_1 = widths_1.next()) {\n var width = widths_1_1.value;\n n += width;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (widths_1_1 && !widths_1_1.done && (_a = widths_1.return)) _a.call(widths_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var val = 0;\n var narrowMask = 0;\n var elements = widths.length;\n for (var bar = 0; bar < elements - 1; bar++) {\n var elmWidth = void 0;\n for (elmWidth = 1, narrowMask |= 1 << bar; elmWidth < widths[bar]; elmWidth++, narrowMask &= ~(1 << bar)) {\n var subVal = RSSUtils.combins(n - elmWidth - 1, elements - bar - 2);\n if (noNarrow && (narrowMask === 0) && (n - elmWidth - (elements - bar - 1) >= elements - bar - 1)) {\n subVal -= RSSUtils.combins(n - elmWidth - (elements - bar), elements - bar - 2);\n }\n if (elements - bar - 1 > 1) {\n var lessVal = 0;\n for (var mxwElement = n - elmWidth - (elements - bar - 2); mxwElement > maxWidth; mxwElement--) {\n lessVal += RSSUtils.combins(n - elmWidth - mxwElement - 1, elements - bar - 3);\n }\n subVal -= lessVal * (elements - 1 - bar);\n }\n else if (n - elmWidth > maxWidth) {\n subVal--;\n }\n val += subVal;\n }\n n -= elmWidth;\n }\n return val;\n };\n RSSUtils.combins = function (n, r) {\n var maxDenom;\n var minDenom;\n if (n - r > r) {\n minDenom = r;\n maxDenom = n - r;\n }\n else {\n minDenom = n - r;\n maxDenom = r;\n }\n var val = 1;\n var j = 1;\n for (var i = n; i > maxDenom; i--) {\n val *= i;\n if (j <= minDenom) {\n val /= j;\n j++;\n }\n }\n while ((j <= minDenom)) {\n val /= j;\n j++;\n }\n return val;\n };\n return RSSUtils;\n}());\nexport default RSSUtils;\n","import BitArray from '../../../common/BitArray';\nvar BitArrayBuilder = /** @class */ (function () {\n function BitArrayBuilder() {\n }\n BitArrayBuilder.buildBitArray = function (pairs) {\n var charNumber = pairs.length * 2 - 1;\n if (pairs[pairs.length - 1].getRightChar() == null) {\n charNumber -= 1;\n }\n var size = 12 * charNumber;\n var binary = new BitArray(size);\n var accPos = 0;\n var firstPair = pairs[0];\n var firstValue = firstPair.getRightChar().getValue();\n for (var i = 11; i >= 0; --i) {\n if ((firstValue & (1 << i)) !== 0) {\n binary.set(accPos);\n }\n accPos++;\n }\n for (var i = 1; i < pairs.length; ++i) {\n var currentPair = pairs[i];\n var leftValue = currentPair.getLeftChar().getValue();\n for (var j = 11; j >= 0; --j) {\n if ((leftValue & (1 << j)) !== 0) {\n binary.set(accPos);\n }\n accPos++;\n }\n if (currentPair.getRightChar() !== null) {\n var rightValue = currentPair.getRightChar().getValue();\n for (var j = 11; j >= 0; --j) {\n if ((rightValue & (1 << j)) !== 0) {\n binary.set(accPos);\n }\n accPos++;\n }\n }\n }\n return binary;\n };\n return BitArrayBuilder;\n}());\nexport default BitArrayBuilder;\n","var BlockParsedResult = /** @class */ (function () {\n function BlockParsedResult(finished, decodedInformation) {\n if (decodedInformation) {\n this.decodedInformation = null;\n }\n else {\n this.finished = finished;\n this.decodedInformation = decodedInformation;\n }\n }\n BlockParsedResult.prototype.getDecodedInformation = function () {\n return this.decodedInformation;\n };\n BlockParsedResult.prototype.isFinished = function () {\n return this.finished;\n };\n return BlockParsedResult;\n}());\nexport default BlockParsedResult;\n","var DecodedObject = /** @class */ (function () {\n function DecodedObject(newPosition) {\n this.newPosition = newPosition;\n }\n DecodedObject.prototype.getNewPosition = function () {\n return this.newPosition;\n };\n return DecodedObject;\n}());\nexport default DecodedObject;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport DecodedObject from './DecodedObject';\nvar DecodedChar = /** @class */ (function (_super) {\n __extends(DecodedChar, _super);\n function DecodedChar(newPosition, value) {\n var _this = _super.call(this, newPosition) || this;\n _this.value = value;\n return _this;\n }\n DecodedChar.prototype.getValue = function () {\n return this.value;\n };\n DecodedChar.prototype.isFNC1 = function () {\n return this.value === DecodedChar.FNC1;\n };\n DecodedChar.FNC1 = '$';\n return DecodedChar;\n}(DecodedObject));\nexport default DecodedChar;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport DecodedObject from './DecodedObject';\nvar DecodedInformation = /** @class */ (function (_super) {\n __extends(DecodedInformation, _super);\n function DecodedInformation(newPosition, newString, remainingValue) {\n var _this = _super.call(this, newPosition) || this;\n if (remainingValue) {\n _this.remaining = true;\n _this.remainingValue = _this.remainingValue;\n }\n else {\n _this.remaining = false;\n _this.remainingValue = 0;\n }\n _this.newString = newString;\n return _this;\n }\n DecodedInformation.prototype.getNewString = function () {\n return this.newString;\n };\n DecodedInformation.prototype.isRemaining = function () {\n return this.remaining;\n };\n DecodedInformation.prototype.getRemainingValue = function () {\n return this.remainingValue;\n };\n return DecodedInformation;\n}(DecodedObject));\nexport default DecodedInformation;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport FormatException from '../../../../FormatException';\nimport DecodedObject from './DecodedObject';\nvar DecodedNumeric = /** @class */ (function (_super) {\n __extends(DecodedNumeric, _super);\n function DecodedNumeric(newPosition, firstDigit, secondDigit) {\n var _this = _super.call(this, newPosition) || this;\n if (firstDigit < 0 || firstDigit > 10 || secondDigit < 0 || secondDigit > 10) {\n throw new FormatException();\n }\n _this.firstDigit = firstDigit;\n _this.secondDigit = secondDigit;\n return _this;\n }\n DecodedNumeric.prototype.getFirstDigit = function () {\n return this.firstDigit;\n };\n DecodedNumeric.prototype.getSecondDigit = function () {\n return this.secondDigit;\n };\n DecodedNumeric.prototype.getValue = function () {\n return this.firstDigit * 10 + this.secondDigit;\n };\n DecodedNumeric.prototype.isFirstDigitFNC1 = function () {\n return this.firstDigit === DecodedNumeric.FNC1;\n };\n DecodedNumeric.prototype.isSecondDigitFNC1 = function () {\n return this.secondDigit === DecodedNumeric.FNC1;\n };\n DecodedNumeric.prototype.isAnyFNC1 = function () {\n return this.firstDigit === DecodedNumeric.FNC1 || this.secondDigit === DecodedNumeric.FNC1;\n };\n DecodedNumeric.FNC1 = 10;\n return DecodedNumeric;\n}(DecodedObject));\nexport default DecodedNumeric;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport NotFoundException from '../../../../NotFoundException';\nvar FieldParser = /** @class */ (function () {\n function FieldParser() {\n }\n FieldParser.parseFieldsInGeneralPurpose = function (rawInformation) {\n var e_1, _a, e_2, _b, e_3, _c, e_4, _d;\n if (!rawInformation) {\n return null;\n }\n // Processing 2-digit AIs\n if (rawInformation.length < 2) {\n throw new NotFoundException();\n }\n var firstTwoDigits = rawInformation.substring(0, 2);\n try {\n for (var _e = __values(FieldParser.TWO_DIGIT_DATA_LENGTH), _f = _e.next(); !_f.done; _f = _e.next()) {\n var dataLength = _f.value;\n if (dataLength[0] === firstTwoDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(2, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(2, dataLength[1], rawInformation);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_a = _e.return)) _a.call(_e);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (rawInformation.length < 3) {\n throw new NotFoundException();\n }\n var firstThreeDigits = rawInformation.substring(0, 3);\n try {\n for (var _g = __values(FieldParser.THREE_DIGIT_DATA_LENGTH), _h = _g.next(); !_h.done; _h = _g.next()) {\n var dataLength = _h.value;\n if (dataLength[0] === firstThreeDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(3, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(3, dataLength[1], rawInformation);\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_h && !_h.done && (_b = _g.return)) _b.call(_g);\n }\n finally { if (e_2) throw e_2.error; }\n }\n try {\n for (var _j = __values(FieldParser.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH), _k = _j.next(); !_k.done; _k = _j.next()) {\n var dataLength = _k.value;\n if (dataLength[0] === firstThreeDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(4, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(4, dataLength[1], rawInformation);\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_k && !_k.done && (_c = _j.return)) _c.call(_j);\n }\n finally { if (e_3) throw e_3.error; }\n }\n if (rawInformation.length < 4) {\n throw new NotFoundException();\n }\n var firstFourDigits = rawInformation.substring(0, 4);\n try {\n for (var _l = __values(FieldParser.FOUR_DIGIT_DATA_LENGTH), _m = _l.next(); !_m.done; _m = _l.next()) {\n var dataLength = _m.value;\n if (dataLength[0] === firstFourDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(4, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(4, dataLength[1], rawInformation);\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_m && !_m.done && (_d = _l.return)) _d.call(_l);\n }\n finally { if (e_4) throw e_4.error; }\n }\n throw new NotFoundException();\n };\n FieldParser.processFixedAI = function (aiSize, fieldSize, rawInformation) {\n if (rawInformation.length < aiSize) {\n throw new NotFoundException();\n }\n var ai = rawInformation.substring(0, aiSize);\n if (rawInformation.length < aiSize + fieldSize) {\n throw new NotFoundException();\n }\n var field = rawInformation.substring(aiSize, aiSize + fieldSize);\n var remaining = rawInformation.substring(aiSize + fieldSize);\n var result = '(' + ai + ')' + field;\n var parsedAI = FieldParser.parseFieldsInGeneralPurpose(remaining);\n return parsedAI == null ? result : result + parsedAI;\n };\n FieldParser.processVariableAI = function (aiSize, variableFieldSize, rawInformation) {\n var ai = rawInformation.substring(0, aiSize);\n var maxSize;\n if (rawInformation.length < aiSize + variableFieldSize) {\n maxSize = rawInformation.length;\n }\n else {\n maxSize = aiSize + variableFieldSize;\n }\n var field = rawInformation.substring(aiSize, maxSize);\n var remaining = rawInformation.substring(maxSize);\n var result = '(' + ai + ')' + field;\n var parsedAI = FieldParser.parseFieldsInGeneralPurpose(remaining);\n return parsedAI == null ? result : result + parsedAI;\n };\n FieldParser.VARIABLE_LENGTH = [];\n FieldParser.TWO_DIGIT_DATA_LENGTH = [\n ['00', 18],\n ['01', 14],\n ['02', 14],\n ['10', FieldParser.VARIABLE_LENGTH, 20],\n ['11', 6],\n ['12', 6],\n ['13', 6],\n ['15', 6],\n ['17', 6],\n ['20', 2],\n ['21', FieldParser.VARIABLE_LENGTH, 20],\n ['22', FieldParser.VARIABLE_LENGTH, 29],\n ['30', FieldParser.VARIABLE_LENGTH, 8],\n ['37', FieldParser.VARIABLE_LENGTH, 8],\n // internal company codes\n ['90', FieldParser.VARIABLE_LENGTH, 30],\n ['91', FieldParser.VARIABLE_LENGTH, 30],\n ['92', FieldParser.VARIABLE_LENGTH, 30],\n ['93', FieldParser.VARIABLE_LENGTH, 30],\n ['94', FieldParser.VARIABLE_LENGTH, 30],\n ['95', FieldParser.VARIABLE_LENGTH, 30],\n ['96', FieldParser.VARIABLE_LENGTH, 30],\n ['97', FieldParser.VARIABLE_LENGTH, 3],\n ['98', FieldParser.VARIABLE_LENGTH, 30],\n ['99', FieldParser.VARIABLE_LENGTH, 30],\n ];\n FieldParser.THREE_DIGIT_DATA_LENGTH = [\n // Same format as above\n ['240', FieldParser.VARIABLE_LENGTH, 30],\n ['241', FieldParser.VARIABLE_LENGTH, 30],\n ['242', FieldParser.VARIABLE_LENGTH, 6],\n ['250', FieldParser.VARIABLE_LENGTH, 30],\n ['251', FieldParser.VARIABLE_LENGTH, 30],\n ['253', FieldParser.VARIABLE_LENGTH, 17],\n ['254', FieldParser.VARIABLE_LENGTH, 20],\n ['400', FieldParser.VARIABLE_LENGTH, 30],\n ['401', FieldParser.VARIABLE_LENGTH, 30],\n ['402', 17],\n ['403', FieldParser.VARIABLE_LENGTH, 30],\n ['410', 13],\n ['411', 13],\n ['412', 13],\n ['413', 13],\n ['414', 13],\n ['420', FieldParser.VARIABLE_LENGTH, 20],\n ['421', FieldParser.VARIABLE_LENGTH, 15],\n ['422', 3],\n ['423', FieldParser.VARIABLE_LENGTH, 15],\n ['424', 3],\n ['425', 3],\n ['426', 3],\n ];\n FieldParser.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH = [\n // Same format as above\n ['310', 6],\n ['311', 6],\n ['312', 6],\n ['313', 6],\n ['314', 6],\n ['315', 6],\n ['316', 6],\n ['320', 6],\n ['321', 6],\n ['322', 6],\n ['323', 6],\n ['324', 6],\n ['325', 6],\n ['326', 6],\n ['327', 6],\n ['328', 6],\n ['329', 6],\n ['330', 6],\n ['331', 6],\n ['332', 6],\n ['333', 6],\n ['334', 6],\n ['335', 6],\n ['336', 6],\n ['340', 6],\n ['341', 6],\n ['342', 6],\n ['343', 6],\n ['344', 6],\n ['345', 6],\n ['346', 6],\n ['347', 6],\n ['348', 6],\n ['349', 6],\n ['350', 6],\n ['351', 6],\n ['352', 6],\n ['353', 6],\n ['354', 6],\n ['355', 6],\n ['356', 6],\n ['357', 6],\n ['360', 6],\n ['361', 6],\n ['362', 6],\n ['363', 6],\n ['364', 6],\n ['365', 6],\n ['366', 6],\n ['367', 6],\n ['368', 6],\n ['369', 6],\n ['390', FieldParser.VARIABLE_LENGTH, 15],\n ['391', FieldParser.VARIABLE_LENGTH, 18],\n ['392', FieldParser.VARIABLE_LENGTH, 15],\n ['393', FieldParser.VARIABLE_LENGTH, 18],\n ['703', FieldParser.VARIABLE_LENGTH, 30],\n ];\n FieldParser.FOUR_DIGIT_DATA_LENGTH = [\n // Same format as above\n ['7001', 13],\n ['7002', FieldParser.VARIABLE_LENGTH, 30],\n ['7003', 10],\n ['8001', 14],\n ['8002', FieldParser.VARIABLE_LENGTH, 20],\n ['8003', FieldParser.VARIABLE_LENGTH, 30],\n ['8004', FieldParser.VARIABLE_LENGTH, 30],\n ['8005', 6],\n ['8006', 18],\n ['8007', FieldParser.VARIABLE_LENGTH, 30],\n ['8008', FieldParser.VARIABLE_LENGTH, 12],\n ['8018', 18],\n ['8020', FieldParser.VARIABLE_LENGTH, 25],\n ['8100', 6],\n ['8101', 10],\n ['8102', 2],\n ['8110', FieldParser.VARIABLE_LENGTH, 70],\n ['8200', FieldParser.VARIABLE_LENGTH, 70],\n ];\n return FieldParser;\n}());\nexport default FieldParser;\n","import FormatException from '../../../../FormatException';\nimport IllegalStateException from '../../../../IllegalStateException';\nimport StringBuilder from '../../../../util/StringBuilder';\nimport BlockParsedResult from './BlockParsedResult';\nimport DecodedChar from './DecodedChar';\nimport DecodedInformation from './DecodedInformation';\nimport DecodedNumeric from './DecodedNumeric';\nimport FieldParser from './FieldParser';\nvar GeneralAppIdDecoder = /** @class */ (function () {\n function GeneralAppIdDecoder(information) {\n this.buffer = new StringBuilder();\n this.information = information;\n }\n GeneralAppIdDecoder.prototype.decodeAllCodes = function (buff, initialPosition) {\n var currentPosition = initialPosition;\n var remaining = null;\n do {\n var info = this.decodeGeneralPurposeField(currentPosition, remaining);\n var parsedFields = FieldParser.parseFieldsInGeneralPurpose(info.getNewString());\n if (parsedFields != null) {\n buff.append(parsedFields);\n }\n if (info.isRemaining()) {\n remaining = '' + info.getRemainingValue();\n }\n else {\n remaining = null;\n }\n if (currentPosition === info.getNewPosition()) { // No step forward!\n break;\n }\n currentPosition = info.getNewPosition();\n } while (true);\n return buff.toString();\n };\n GeneralAppIdDecoder.prototype.isStillNumeric = function (pos) {\n // It's numeric if it still has 7 positions\n // and one of the first 4 bits is \"1\".\n if (pos + 7 > this.information.getSize()) {\n return pos + 4 <= this.information.getSize();\n }\n for (var i = pos; i < pos + 3; ++i) {\n if (this.information.get(i)) {\n return true;\n }\n }\n return this.information.get(pos + 3);\n };\n GeneralAppIdDecoder.prototype.decodeNumeric = function (pos) {\n if (pos + 7 > this.information.getSize()) {\n var numeric_1 = this.extractNumericValueFromBitArray(pos, 4);\n if (numeric_1 === 0) {\n return new DecodedNumeric(this.information.getSize(), DecodedNumeric.FNC1, DecodedNumeric.FNC1);\n }\n return new DecodedNumeric(this.information.getSize(), numeric_1 - 1, DecodedNumeric.FNC1);\n }\n var numeric = this.extractNumericValueFromBitArray(pos, 7);\n var digit1 = (numeric - 8) / 11;\n var digit2 = (numeric - 8) % 11;\n return new DecodedNumeric(pos + 7, digit1, digit2);\n };\n GeneralAppIdDecoder.prototype.extractNumericValueFromBitArray = function (pos, bits) {\n return GeneralAppIdDecoder.extractNumericValueFromBitArray(this.information, pos, bits);\n };\n GeneralAppIdDecoder.extractNumericValueFromBitArray = function (information, pos, bits) {\n var value = 0;\n for (var i = 0; i < bits; ++i) {\n if (information.get(pos + i)) {\n value |= 1 << (bits - i - 1);\n }\n }\n return value;\n };\n GeneralAppIdDecoder.prototype.decodeGeneralPurposeField = function (pos, remaining) {\n // this.buffer.setLength(0);\n this.buffer.setLengthToZero();\n if (remaining != null) {\n this.buffer.append(remaining);\n }\n this.current.setPosition(pos);\n var lastDecoded = this.parseBlocks();\n if (lastDecoded != null && lastDecoded.isRemaining()) {\n return new DecodedInformation(this.current.getPosition(), this.buffer.toString(), lastDecoded.getRemainingValue());\n }\n return new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n };\n GeneralAppIdDecoder.prototype.parseBlocks = function () {\n var isFinished;\n var result;\n do {\n var initialPosition = this.current.getPosition();\n if (this.current.isAlpha()) {\n result = this.parseAlphaBlock();\n isFinished = result.isFinished();\n }\n else if (this.current.isIsoIec646()) {\n result = this.parseIsoIec646Block();\n isFinished = result.isFinished();\n }\n else { // it must be numeric\n result = this.parseNumericBlock();\n isFinished = result.isFinished();\n }\n var positionChanged = initialPosition !== this.current.getPosition();\n if (!positionChanged && !isFinished) {\n break;\n }\n } while (!isFinished);\n return result.getDecodedInformation();\n };\n GeneralAppIdDecoder.prototype.parseNumericBlock = function () {\n while (this.isStillNumeric(this.current.getPosition())) {\n var numeric = this.decodeNumeric(this.current.getPosition());\n this.current.setPosition(numeric.getNewPosition());\n if (numeric.isFirstDigitFNC1()) {\n var information = void 0;\n if (numeric.isSecondDigitFNC1()) {\n information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n }\n else {\n information = new DecodedInformation(this.current.getPosition(), this.buffer.toString(), numeric.getSecondDigit());\n }\n return new BlockParsedResult(true, information);\n }\n this.buffer.append(numeric.getFirstDigit());\n if (numeric.isSecondDigitFNC1()) {\n var information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n return new BlockParsedResult(true, information);\n }\n this.buffer.append(numeric.getSecondDigit());\n }\n if (this.isNumericToAlphaNumericLatch(this.current.getPosition())) {\n this.current.setAlpha();\n this.current.incrementPosition(4);\n }\n return new BlockParsedResult(false);\n };\n GeneralAppIdDecoder.prototype.parseIsoIec646Block = function () {\n while (this.isStillIsoIec646(this.current.getPosition())) {\n var iso = this.decodeIsoIec646(this.current.getPosition());\n this.current.setPosition(iso.getNewPosition());\n if (iso.isFNC1()) {\n var information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n return new BlockParsedResult(true, information);\n }\n this.buffer.append(iso.getValue());\n }\n if (this.isAlphaOr646ToNumericLatch(this.current.getPosition())) {\n this.current.incrementPosition(3);\n this.current.setNumeric();\n }\n else if (this.isAlphaTo646ToAlphaLatch(this.current.getPosition())) {\n if (this.current.getPosition() + 5 < this.information.getSize()) {\n this.current.incrementPosition(5);\n }\n else {\n this.current.setPosition(this.information.getSize());\n }\n this.current.setAlpha();\n }\n return new BlockParsedResult(false);\n };\n GeneralAppIdDecoder.prototype.parseAlphaBlock = function () {\n while (this.isStillAlpha(this.current.getPosition())) {\n var alpha = this.decodeAlphanumeric(this.current.getPosition());\n this.current.setPosition(alpha.getNewPosition());\n if (alpha.isFNC1()) {\n var information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n return new BlockParsedResult(true, information); // end of the char block\n }\n this.buffer.append(alpha.getValue());\n }\n if (this.isAlphaOr646ToNumericLatch(this.current.getPosition())) {\n this.current.incrementPosition(3);\n this.current.setNumeric();\n }\n else if (this.isAlphaTo646ToAlphaLatch(this.current.getPosition())) {\n if (this.current.getPosition() + 5 < this.information.getSize()) {\n this.current.incrementPosition(5);\n }\n else {\n this.current.setPosition(this.information.getSize());\n }\n this.current.setIsoIec646();\n }\n return new BlockParsedResult(false);\n };\n GeneralAppIdDecoder.prototype.isStillIsoIec646 = function (pos) {\n if (pos + 5 > this.information.getSize()) {\n return false;\n }\n var fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue >= 5 && fiveBitValue < 16) {\n return true;\n }\n if (pos + 7 > this.information.getSize()) {\n return false;\n }\n var sevenBitValue = this.extractNumericValueFromBitArray(pos, 7);\n if (sevenBitValue >= 64 && sevenBitValue < 116) {\n return true;\n }\n if (pos + 8 > this.information.getSize()) {\n return false;\n }\n var eightBitValue = this.extractNumericValueFromBitArray(pos, 8);\n return eightBitValue >= 232 && eightBitValue < 253;\n };\n GeneralAppIdDecoder.prototype.decodeIsoIec646 = function (pos) {\n var fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue === 15) {\n return new DecodedChar(pos + 5, DecodedChar.FNC1);\n }\n if (fiveBitValue >= 5 && fiveBitValue < 15) {\n return new DecodedChar(pos + 5, ('0' + (fiveBitValue - 5)));\n }\n var sevenBitValue = this.extractNumericValueFromBitArray(pos, 7);\n if (sevenBitValue >= 64 && sevenBitValue < 90) {\n return new DecodedChar(pos + 7, ('' + (sevenBitValue + 1)));\n }\n if (sevenBitValue >= 90 && sevenBitValue < 116) {\n return new DecodedChar(pos + 7, ('' + (sevenBitValue + 7)));\n }\n var eightBitValue = this.extractNumericValueFromBitArray(pos, 8);\n var c;\n switch (eightBitValue) {\n case 232:\n c = '!';\n break;\n case 233:\n c = '\"';\n break;\n case 234:\n c = '%';\n break;\n case 235:\n c = '&';\n break;\n case 236:\n c = '\\'';\n break;\n case 237:\n c = '(';\n break;\n case 238:\n c = ')';\n break;\n case 239:\n c = '*';\n break;\n case 240:\n c = '+';\n break;\n case 241:\n c = ',';\n break;\n case 242:\n c = '-';\n break;\n case 243:\n c = '.';\n break;\n case 244:\n c = '/';\n break;\n case 245:\n c = ':';\n break;\n case 246:\n c = ';';\n break;\n case 247:\n c = '<';\n break;\n case 248:\n c = '=';\n break;\n case 249:\n c = '>';\n break;\n case 250:\n c = '?';\n break;\n case 251:\n c = '_';\n break;\n case 252:\n c = ' ';\n break;\n default:\n throw new FormatException();\n }\n return new DecodedChar(pos + 8, c);\n };\n GeneralAppIdDecoder.prototype.isStillAlpha = function (pos) {\n if (pos + 5 > this.information.getSize()) {\n return false;\n }\n // We now check if it's a valid 5-bit value (0..9 and FNC1)\n var fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue >= 5 && fiveBitValue < 16) {\n return true;\n }\n if (pos + 6 > this.information.getSize()) {\n return false;\n }\n var sixBitValue = this.extractNumericValueFromBitArray(pos, 6);\n return sixBitValue >= 16 && sixBitValue < 63; // 63 not included\n };\n GeneralAppIdDecoder.prototype.decodeAlphanumeric = function (pos) {\n var fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue === 15) {\n return new DecodedChar(pos + 5, DecodedChar.FNC1);\n }\n if (fiveBitValue >= 5 && fiveBitValue < 15) {\n return new DecodedChar(pos + 5, ('0' + (fiveBitValue - 5)));\n }\n var sixBitValue = this.extractNumericValueFromBitArray(pos, 6);\n if (sixBitValue >= 32 && sixBitValue < 58) {\n return new DecodedChar(pos + 6, ('' + (sixBitValue + 33)));\n }\n var c;\n switch (sixBitValue) {\n case 58:\n c = '*';\n break;\n case 59:\n c = ',';\n break;\n case 60:\n c = '-';\n break;\n case 61:\n c = '.';\n break;\n case 62:\n c = '/';\n break;\n default:\n throw new IllegalStateException('Decoding invalid alphanumeric value: ' + sixBitValue);\n }\n return new DecodedChar(pos + 6, c);\n };\n GeneralAppIdDecoder.prototype.isAlphaTo646ToAlphaLatch = function (pos) {\n if (pos + 1 > this.information.getSize()) {\n return false;\n }\n for (var i = 0; i < 5 && i + pos < this.information.getSize(); ++i) {\n if (i === 2) {\n if (!this.information.get(pos + 2)) {\n return false;\n }\n }\n else if (this.information.get(pos + i)) {\n return false;\n }\n }\n return true;\n };\n GeneralAppIdDecoder.prototype.isAlphaOr646ToNumericLatch = function (pos) {\n // Next is alphanumeric if there are 3 positions and they are all zeros\n if (pos + 3 > this.information.getSize()) {\n return false;\n }\n for (var i = pos; i < pos + 3; ++i) {\n if (this.information.get(i)) {\n return false;\n }\n }\n return true;\n };\n GeneralAppIdDecoder.prototype.isNumericToAlphaNumericLatch = function (pos) {\n // Next is alphanumeric if there are 4 positions and they are all zeros, or\n // if there is a subset of this just before the end of the symbol\n if (pos + 1 > this.information.getSize()) {\n return false;\n }\n for (var i = 0; i < 4 && i + pos < this.information.getSize(); ++i) {\n if (this.information.get(pos + i)) {\n return false;\n }\n }\n return true;\n };\n return GeneralAppIdDecoder;\n}());\nexport default GeneralAppIdDecoder;\n","import GeneralAppIdDecoder from './GeneralAppIdDecoder';\nvar AbstractExpandedDecoder = /** @class */ (function () {\n function AbstractExpandedDecoder(information) {\n this.information = information;\n this.generalDecoder = new GeneralAppIdDecoder(information);\n }\n AbstractExpandedDecoder.prototype.getInformation = function () {\n return this.information;\n };\n AbstractExpandedDecoder.prototype.getGeneralDecoder = function () {\n return this.generalDecoder;\n };\n return AbstractExpandedDecoder;\n}());\nexport default AbstractExpandedDecoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AbstractExpandedDecoder from './AbstractExpandedDecoder';\nvar AI01decoder = /** @class */ (function (_super) {\n __extends(AI01decoder, _super);\n function AI01decoder(information) {\n return _super.call(this, information) || this;\n }\n AI01decoder.prototype.encodeCompressedGtin = function (buf, currentPos) {\n buf.append('(01)');\n var initialPosition = buf.length();\n buf.append('9');\n this.encodeCompressedGtinWithoutAI(buf, currentPos, initialPosition);\n };\n AI01decoder.prototype.encodeCompressedGtinWithoutAI = function (buf, currentPos, initialBufferPosition) {\n for (var i = 0; i < 4; ++i) {\n var currentBlock = this.getGeneralDecoder().extractNumericValueFromBitArray(currentPos + 10 * i, 10);\n if (currentBlock / 100 === 0) {\n buf.append('0');\n }\n if (currentBlock / 10 === 0) {\n buf.append('0');\n }\n buf.append(currentBlock);\n }\n AI01decoder.appendCheckDigit(buf, initialBufferPosition);\n };\n AI01decoder.appendCheckDigit = function (buf, currentPos) {\n var checkDigit = 0;\n for (var i = 0; i < 13; i++) {\n // let digit = buf.charAt(i + currentPos) - '0';\n // To be checked\n var digit = buf.charAt(i + currentPos).charCodeAt(0) - '0'.charCodeAt(0);\n checkDigit += (i & 0x01) === 0 ? 3 * digit : digit;\n }\n checkDigit = 10 - (checkDigit % 10);\n if (checkDigit === 10) {\n checkDigit = 0;\n }\n buf.append(checkDigit);\n };\n AI01decoder.GTIN_SIZE = 40;\n return AI01decoder;\n}(AbstractExpandedDecoder));\nexport default AI01decoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI01decoder from './AI01decoder';\nimport StringBuilder from '../../../../util/StringBuilder';\nvar AI01AndOtherAIs = /** @class */ (function (_super) {\n __extends(AI01AndOtherAIs, _super);\n // the second one is the encodation method, and the other two are for the variable length\n function AI01AndOtherAIs(information) {\n return _super.call(this, information) || this;\n }\n AI01AndOtherAIs.prototype.parseInformation = function () {\n var buff = new StringBuilder();\n buff.append('(01)');\n var initialGtinPosition = buff.length();\n var firstGtinDigit = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01AndOtherAIs.HEADER_SIZE, 4);\n buff.append(firstGtinDigit);\n this.encodeCompressedGtinWithoutAI(buff, AI01AndOtherAIs.HEADER_SIZE + 4, initialGtinPosition);\n return this.getGeneralDecoder().decodeAllCodes(buff, AI01AndOtherAIs.HEADER_SIZE + 44);\n };\n AI01AndOtherAIs.HEADER_SIZE = 1 + 1 + 2; // first bit encodes the linkage flag,\n return AI01AndOtherAIs;\n}(AI01decoder));\nexport default AI01AndOtherAIs;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport StringBuilder from '../../../../util/StringBuilder';\nimport AbstractExpandedDecoder from './AbstractExpandedDecoder';\nvar AnyAIDecoder = /** @class */ (function (_super) {\n __extends(AnyAIDecoder, _super);\n function AnyAIDecoder(information) {\n return _super.call(this, information) || this;\n }\n AnyAIDecoder.prototype.parseInformation = function () {\n var buf = new StringBuilder();\n return this.getGeneralDecoder().decodeAllCodes(buf, AnyAIDecoder.HEADER_SIZE);\n };\n AnyAIDecoder.HEADER_SIZE = 2 + 1 + 2;\n return AnyAIDecoder;\n}(AbstractExpandedDecoder));\nexport default AnyAIDecoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI01decoder from './AI01decoder';\nvar AI01weightDecoder = /** @class */ (function (_super) {\n __extends(AI01weightDecoder, _super);\n function AI01weightDecoder(information) {\n return _super.call(this, information) || this;\n }\n AI01weightDecoder.prototype.encodeCompressedWeight = function (buf, currentPos, weightSize) {\n var originalWeightNumeric = this.getGeneralDecoder().extractNumericValueFromBitArray(currentPos, weightSize);\n this.addWeightCode(buf, originalWeightNumeric);\n var weightNumeric = this.checkWeight(originalWeightNumeric);\n var currentDivisor = 100000;\n for (var i = 0; i < 5; ++i) {\n if (weightNumeric / currentDivisor === 0) {\n buf.append('0');\n }\n currentDivisor /= 10;\n }\n buf.append(weightNumeric);\n };\n return AI01weightDecoder;\n}(AI01decoder));\nexport default AI01weightDecoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI01weightDecoder from './AI01weightDecoder';\nimport StringBuilder from '../../../../util/StringBuilder';\nimport NotFoundException from '../../../../NotFoundException';\nvar AI013x0xDecoder = /** @class */ (function (_super) {\n __extends(AI013x0xDecoder, _super);\n function AI013x0xDecoder(information) {\n return _super.call(this, information) || this;\n }\n AI013x0xDecoder.prototype.parseInformation = function () {\n if (this.getInformation().getSize() !==\n AI013x0xDecoder.HEADER_SIZE +\n AI01weightDecoder.GTIN_SIZE +\n AI013x0xDecoder.WEIGHT_SIZE) {\n throw new NotFoundException();\n }\n var buf = new StringBuilder();\n this.encodeCompressedGtin(buf, AI013x0xDecoder.HEADER_SIZE);\n this.encodeCompressedWeight(buf, AI013x0xDecoder.HEADER_SIZE + AI01weightDecoder.GTIN_SIZE, AI013x0xDecoder.WEIGHT_SIZE);\n return buf.toString();\n };\n AI013x0xDecoder.HEADER_SIZE = 4 + 1;\n AI013x0xDecoder.WEIGHT_SIZE = 15;\n return AI013x0xDecoder;\n}(AI01weightDecoder));\nexport default AI013x0xDecoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI013x0xDecoder from './AI013x0xDecoder';\nvar AI013103decoder = /** @class */ (function (_super) {\n __extends(AI013103decoder, _super);\n function AI013103decoder(information) {\n return _super.call(this, information) || this;\n }\n AI013103decoder.prototype.addWeightCode = function (buf, weight) {\n buf.append('(3103)');\n };\n AI013103decoder.prototype.checkWeight = function (weight) {\n return weight;\n };\n return AI013103decoder;\n}(AI013x0xDecoder));\nexport default AI013103decoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI013x0xDecoder from './AI013x0xDecoder';\nvar AI01320xDecoder = /** @class */ (function (_super) {\n __extends(AI01320xDecoder, _super);\n function AI01320xDecoder(information) {\n return _super.call(this, information) || this;\n }\n AI01320xDecoder.prototype.addWeightCode = function (buf, weight) {\n if (weight < 10000) {\n buf.append('(3202)');\n }\n else {\n buf.append('(3203)');\n }\n };\n AI01320xDecoder.prototype.checkWeight = function (weight) {\n if (weight < 10000) {\n return weight;\n }\n return weight - 10000;\n };\n return AI01320xDecoder;\n}(AI013x0xDecoder));\nexport default AI01320xDecoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI01decoder from './AI01decoder';\nimport NotFoundException from '../../../../NotFoundException';\nimport StringBuilder from '../../../../util/StringBuilder';\nvar AI01392xDecoder = /** @class */ (function (_super) {\n __extends(AI01392xDecoder, _super);\n function AI01392xDecoder(information) {\n return _super.call(this, information) || this;\n }\n AI01392xDecoder.prototype.parseInformation = function () {\n if (this.getInformation().getSize() < AI01392xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE) {\n throw new NotFoundException();\n }\n var buf = new StringBuilder();\n this.encodeCompressedGtin(buf, AI01392xDecoder.HEADER_SIZE);\n var lastAIdigit = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01392xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE, AI01392xDecoder.LAST_DIGIT_SIZE);\n buf.append('(392');\n buf.append(lastAIdigit);\n buf.append(')');\n var decodedInformation = this.getGeneralDecoder().decodeGeneralPurposeField(AI01392xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE + AI01392xDecoder.LAST_DIGIT_SIZE, null);\n buf.append(decodedInformation.getNewString());\n return buf.toString();\n };\n AI01392xDecoder.HEADER_SIZE = 5 + 1 + 2;\n AI01392xDecoder.LAST_DIGIT_SIZE = 2;\n return AI01392xDecoder;\n}(AI01decoder));\nexport default AI01392xDecoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI01decoder from './AI01decoder';\nimport NotFoundException from '../../../../NotFoundException';\nimport StringBuilder from '../../../../util/StringBuilder';\nvar AI01393xDecoder = /** @class */ (function (_super) {\n __extends(AI01393xDecoder, _super);\n function AI01393xDecoder(information) {\n return _super.call(this, information) || this;\n }\n AI01393xDecoder.prototype.parseInformation = function () {\n if (this.getInformation().getSize() <\n AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE) {\n throw new NotFoundException();\n }\n var buf = new StringBuilder();\n this.encodeCompressedGtin(buf, AI01393xDecoder.HEADER_SIZE);\n var lastAIdigit = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE, AI01393xDecoder.LAST_DIGIT_SIZE);\n buf.append('(393');\n buf.append(lastAIdigit);\n buf.append(')');\n var firstThreeDigits = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01393xDecoder.HEADER_SIZE +\n AI01decoder.GTIN_SIZE +\n AI01393xDecoder.LAST_DIGIT_SIZE, AI01393xDecoder.FIRST_THREE_DIGITS_SIZE);\n if (firstThreeDigits / 100 === 0) {\n buf.append('0');\n }\n if (firstThreeDigits / 10 === 0) {\n buf.append('0');\n }\n buf.append(firstThreeDigits);\n var generalInformation = this.getGeneralDecoder().decodeGeneralPurposeField(AI01393xDecoder.HEADER_SIZE +\n AI01decoder.GTIN_SIZE +\n AI01393xDecoder.LAST_DIGIT_SIZE +\n AI01393xDecoder.FIRST_THREE_DIGITS_SIZE, null);\n buf.append(generalInformation.getNewString());\n return buf.toString();\n };\n AI01393xDecoder.HEADER_SIZE = 5 + 1 + 2;\n AI01393xDecoder.LAST_DIGIT_SIZE = 2;\n AI01393xDecoder.FIRST_THREE_DIGITS_SIZE = 10;\n return AI01393xDecoder;\n}(AI01decoder));\nexport default AI01393xDecoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI01weightDecoder from './AI01weightDecoder';\nimport NotFoundException from '../../../../NotFoundException';\nimport StringBuilder from '../../../../util/StringBuilder';\nvar AI013x0x1xDecoder = /** @class */ (function (_super) {\n __extends(AI013x0x1xDecoder, _super);\n function AI013x0x1xDecoder(information, firstAIdigits, dateCode) {\n var _this = _super.call(this, information) || this;\n _this.dateCode = dateCode;\n _this.firstAIdigits = firstAIdigits;\n return _this;\n }\n AI013x0x1xDecoder.prototype.parseInformation = function () {\n if (this.getInformation().getSize() !==\n AI013x0x1xDecoder.HEADER_SIZE +\n AI013x0x1xDecoder.GTIN_SIZE +\n AI013x0x1xDecoder.WEIGHT_SIZE +\n AI013x0x1xDecoder.DATE_SIZE) {\n throw new NotFoundException();\n }\n var buf = new StringBuilder();\n this.encodeCompressedGtin(buf, AI013x0x1xDecoder.HEADER_SIZE);\n this.encodeCompressedWeight(buf, AI013x0x1xDecoder.HEADER_SIZE + AI013x0x1xDecoder.GTIN_SIZE, AI013x0x1xDecoder.WEIGHT_SIZE);\n this.encodeCompressedDate(buf, AI013x0x1xDecoder.HEADER_SIZE +\n AI013x0x1xDecoder.GTIN_SIZE +\n AI013x0x1xDecoder.WEIGHT_SIZE);\n return buf.toString();\n };\n AI013x0x1xDecoder.prototype.encodeCompressedDate = function (buf, currentPos) {\n var numericDate = this.getGeneralDecoder().extractNumericValueFromBitArray(currentPos, AI013x0x1xDecoder.DATE_SIZE);\n if (numericDate === 38400) {\n return;\n }\n buf.append('(');\n buf.append(this.dateCode);\n buf.append(')');\n var day = numericDate % 32;\n numericDate /= 32;\n var month = (numericDate % 12) + 1;\n numericDate /= 12;\n var year = numericDate;\n if (year / 10 === 0) {\n buf.append('0');\n }\n buf.append(year);\n if (month / 10 === 0) {\n buf.append('0');\n }\n buf.append(month);\n if (day / 10 === 0) {\n buf.append('0');\n }\n buf.append(day);\n };\n AI013x0x1xDecoder.prototype.addWeightCode = function (buf, weight) {\n buf.append('(');\n buf.append(this.firstAIdigits);\n buf.append(weight / 100000);\n buf.append(')');\n };\n AI013x0x1xDecoder.prototype.checkWeight = function (weight) {\n return weight % 100000;\n };\n AI013x0x1xDecoder.HEADER_SIZE = 7 + 1;\n AI013x0x1xDecoder.WEIGHT_SIZE = 20;\n AI013x0x1xDecoder.DATE_SIZE = 16;\n return AI013x0x1xDecoder;\n}(AI01weightDecoder));\nexport default AI013x0x1xDecoder;\n","var ExpandedPair = /** @class */ (function () {\n function ExpandedPair(leftChar, rightChar, finderPatter, mayBeLast) {\n this.leftchar = leftChar;\n this.rightchar = rightChar;\n this.finderpattern = finderPatter;\n this.maybeLast = mayBeLast;\n }\n ExpandedPair.prototype.mayBeLast = function () {\n return this.maybeLast;\n };\n ExpandedPair.prototype.getLeftChar = function () {\n return this.leftchar;\n };\n ExpandedPair.prototype.getRightChar = function () {\n return this.rightchar;\n };\n ExpandedPair.prototype.getFinderPattern = function () {\n return this.finderpattern;\n };\n ExpandedPair.prototype.mustBeLast = function () {\n return this.rightchar == null;\n };\n ExpandedPair.prototype.toString = function () {\n return '[ ' + this.leftchar + ', ' + this.rightchar + ' : ' + (this.finderpattern == null ? 'null' : this.finderpattern.getValue()) + ' ]';\n };\n ExpandedPair.equals = function (o1, o2) {\n if (!(o1 instanceof ExpandedPair)) {\n return false;\n }\n return ExpandedPair.equalsOrNull(o1.leftchar, o2.leftchar) &&\n ExpandedPair.equalsOrNull(o1.rightchar, o2.rightchar) &&\n ExpandedPair.equalsOrNull(o1.finderpattern, o2.finderpattern);\n };\n ExpandedPair.equalsOrNull = function (o1, o2) {\n return o1 === null ? o2 === null : ExpandedPair.equals(o1, o2);\n };\n ExpandedPair.prototype.hashCode = function () {\n // return ExpandedPair.hashNotNull(leftChar) ^ hashNotNull(rightChar) ^ hashNotNull(finderPattern);\n var value = this.leftchar.getValue() ^ this.rightchar.getValue() ^ this.finderpattern.getValue();\n return value;\n };\n return ExpandedPair;\n}());\nexport default ExpandedPair;\n","import DecoderResult from '../../common/DecoderResult';\nimport BitSource from '../../common/BitSource';\nimport StringBuilder from '../../util/StringBuilder';\nimport StringEncoding from '../../util/StringEncoding';\nimport StringUtils from '../../common/StringUtils';\nimport FormatException from '../../FormatException';\nimport IllegalStateException from '../../IllegalStateException';\n/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar Mode;\n(function (Mode) {\n Mode[Mode[\"PAD_ENCODE\"] = 0] = \"PAD_ENCODE\";\n Mode[Mode[\"ASCII_ENCODE\"] = 1] = \"ASCII_ENCODE\";\n Mode[Mode[\"C40_ENCODE\"] = 2] = \"C40_ENCODE\";\n Mode[Mode[\"TEXT_ENCODE\"] = 3] = \"TEXT_ENCODE\";\n Mode[Mode[\"ANSIX12_ENCODE\"] = 4] = \"ANSIX12_ENCODE\";\n Mode[Mode[\"EDIFACT_ENCODE\"] = 5] = \"EDIFACT_ENCODE\";\n Mode[Mode[\"BASE256_ENCODE\"] = 6] = \"BASE256_ENCODE\";\n})(Mode || (Mode = {}));\n/**\n *

Data Matrix Codes can encode text as bits in one of several modes, and can use multiple modes\n * in one Data Matrix Code. This class decodes the bits back into text.

\n *\n *

See ISO 16022:2006, 5.2.1 - 5.2.9.2

\n *\n * @author bbrown@google.com (Brian Brown)\n * @author Sean Owen\n */\nvar DecodedBitStreamParser = /** @class */ (function () {\n function DecodedBitStreamParser() {\n }\n DecodedBitStreamParser.decode = function (bytes) {\n var bits = new BitSource(bytes);\n var result = new StringBuilder();\n var resultTrailer = new StringBuilder();\n var byteSegments = new Array();\n var mode = Mode.ASCII_ENCODE;\n do {\n if (mode === Mode.ASCII_ENCODE) {\n mode = this.decodeAsciiSegment(bits, result, resultTrailer);\n }\n else {\n switch (mode) {\n case Mode.C40_ENCODE:\n this.decodeC40Segment(bits, result);\n break;\n case Mode.TEXT_ENCODE:\n this.decodeTextSegment(bits, result);\n break;\n case Mode.ANSIX12_ENCODE:\n this.decodeAnsiX12Segment(bits, result);\n break;\n case Mode.EDIFACT_ENCODE:\n this.decodeEdifactSegment(bits, result);\n break;\n case Mode.BASE256_ENCODE:\n this.decodeBase256Segment(bits, result, byteSegments);\n break;\n default:\n throw new FormatException();\n }\n mode = Mode.ASCII_ENCODE;\n }\n } while (mode !== Mode.PAD_ENCODE && bits.available() > 0);\n if (resultTrailer.length() > 0) {\n result.append(resultTrailer.toString());\n }\n return new DecoderResult(bytes, result.toString(), byteSegments.length === 0 ? null : byteSegments, null);\n };\n /**\n * See ISO 16022:2006, 5.2.3 and Annex C, Table C.2\n */\n DecodedBitStreamParser.decodeAsciiSegment = function (bits, result, resultTrailer) {\n var upperShift = false;\n do {\n var oneByte = bits.readBits(8);\n if (oneByte === 0) {\n throw new FormatException();\n }\n else if (oneByte <= 128) { // ASCII data (ASCII value + 1)\n if (upperShift) {\n oneByte += 128;\n // upperShift = false;\n }\n result.append(String.fromCharCode(oneByte - 1));\n return Mode.ASCII_ENCODE;\n }\n else if (oneByte === 129) { // Pad\n return Mode.PAD_ENCODE;\n }\n else if (oneByte <= 229) { // 2-digit data 00-99 (Numeric Value + 130)\n var value = oneByte - 130;\n if (value < 10) { // pad with '0' for single digit values\n result.append('0');\n }\n result.append('' + value);\n }\n else {\n switch (oneByte) {\n case 230: // Latch to C40 encodation\n return Mode.C40_ENCODE;\n case 231: // Latch to Base 256 encodation\n return Mode.BASE256_ENCODE;\n case 232: // FNC1\n result.append(String.fromCharCode(29)); // translate as ASCII 29\n break;\n case 233: // Structured Append\n case 234: // Reader Programming\n // Ignore these symbols for now\n // throw ReaderException.getInstance();\n break;\n case 235: // Upper Shift (shift to Extended ASCII)\n upperShift = true;\n break;\n case 236: // 05 Macro\n result.append('[)>\\u001E05\\u001D');\n resultTrailer.insert(0, '\\u001E\\u0004');\n break;\n case 237: // 06 Macro\n result.append('[)>\\u001E06\\u001D');\n resultTrailer.insert(0, '\\u001E\\u0004');\n break;\n case 238: // Latch to ANSI X12 encodation\n return Mode.ANSIX12_ENCODE;\n case 239: // Latch to Text encodation\n return Mode.TEXT_ENCODE;\n case 240: // Latch to EDIFACT encodation\n return Mode.EDIFACT_ENCODE;\n case 241: // ECI Character\n // TODO(bbrown): I think we need to support ECI\n // throw ReaderException.getInstance();\n // Ignore this symbol for now\n break;\n default:\n // Not to be used in ASCII encodation\n // but work around encoders that end with 254, latch back to ASCII\n if (oneByte !== 254 || bits.available() !== 0) {\n throw new FormatException();\n }\n break;\n }\n }\n } while (bits.available() > 0);\n return Mode.ASCII_ENCODE;\n };\n /**\n * See ISO 16022:2006, 5.2.5 and Annex C, Table C.1\n */\n DecodedBitStreamParser.decodeC40Segment = function (bits, result) {\n // Three C40 values are encoded in a 16-bit value as\n // (1600 * C1) + (40 * C2) + C3 + 1\n // TODO(bbrown): The Upper Shift with C40 doesn't work in the 4 value scenario all the time\n var upperShift = false;\n var cValues = [];\n var shift = 0;\n do {\n // If there is only one byte left then it will be encoded as ASCII\n if (bits.available() === 8) {\n return;\n }\n var firstByte = bits.readBits(8);\n if (firstByte === 254) { // Unlatch codeword\n return;\n }\n this.parseTwoBytes(firstByte, bits.readBits(8), cValues);\n for (var i = 0; i < 3; i++) {\n var cValue = cValues[i];\n switch (shift) {\n case 0:\n if (cValue < 3) {\n shift = cValue + 1;\n }\n else if (cValue < this.C40_BASIC_SET_CHARS.length) {\n var c40char = this.C40_BASIC_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(c40char.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(c40char);\n }\n }\n else {\n throw new FormatException();\n }\n break;\n case 1:\n if (upperShift) {\n result.append(String.fromCharCode(cValue + 128));\n upperShift = false;\n }\n else {\n result.append(String.fromCharCode(cValue));\n }\n shift = 0;\n break;\n case 2:\n if (cValue < this.C40_SHIFT2_SET_CHARS.length) {\n var c40char = this.C40_SHIFT2_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(c40char.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(c40char);\n }\n }\n else {\n switch (cValue) {\n case 27: // FNC1\n result.append(String.fromCharCode(29)); // translate as ASCII 29\n break;\n case 30: // Upper Shift\n upperShift = true;\n break;\n default:\n throw new FormatException();\n }\n }\n shift = 0;\n break;\n case 3:\n if (upperShift) {\n result.append(String.fromCharCode(cValue + 224));\n upperShift = false;\n }\n else {\n result.append(String.fromCharCode(cValue + 96));\n }\n shift = 0;\n break;\n default:\n throw new FormatException();\n }\n }\n } while (bits.available() > 0);\n };\n /**\n * See ISO 16022:2006, 5.2.6 and Annex C, Table C.2\n */\n DecodedBitStreamParser.decodeTextSegment = function (bits, result) {\n // Three Text values are encoded in a 16-bit value as\n // (1600 * C1) + (40 * C2) + C3 + 1\n // TODO(bbrown): The Upper Shift with Text doesn't work in the 4 value scenario all the time\n var upperShift = false;\n var cValues = [];\n var shift = 0;\n do {\n // If there is only one byte left then it will be encoded as ASCII\n if (bits.available() === 8) {\n return;\n }\n var firstByte = bits.readBits(8);\n if (firstByte === 254) { // Unlatch codeword\n return;\n }\n this.parseTwoBytes(firstByte, bits.readBits(8), cValues);\n for (var i = 0; i < 3; i++) {\n var cValue = cValues[i];\n switch (shift) {\n case 0:\n if (cValue < 3) {\n shift = cValue + 1;\n }\n else if (cValue < this.TEXT_BASIC_SET_CHARS.length) {\n var textChar = this.TEXT_BASIC_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(textChar.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(textChar);\n }\n }\n else {\n throw new FormatException();\n }\n break;\n case 1:\n if (upperShift) {\n result.append(String.fromCharCode(cValue + 128));\n upperShift = false;\n }\n else {\n result.append(String.fromCharCode(cValue));\n }\n shift = 0;\n break;\n case 2:\n // Shift 2 for Text is the same encoding as C40\n if (cValue < this.TEXT_SHIFT2_SET_CHARS.length) {\n var textChar = this.TEXT_SHIFT2_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(textChar.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(textChar);\n }\n }\n else {\n switch (cValue) {\n case 27: // FNC1\n result.append(String.fromCharCode(29)); // translate as ASCII 29\n break;\n case 30: // Upper Shift\n upperShift = true;\n break;\n default:\n throw new FormatException();\n }\n }\n shift = 0;\n break;\n case 3:\n if (cValue < this.TEXT_SHIFT3_SET_CHARS.length) {\n var textChar = this.TEXT_SHIFT3_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(textChar.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(textChar);\n }\n shift = 0;\n }\n else {\n throw new FormatException();\n }\n break;\n default:\n throw new FormatException();\n }\n }\n } while (bits.available() > 0);\n };\n /**\n * See ISO 16022:2006, 5.2.7\n */\n DecodedBitStreamParser.decodeAnsiX12Segment = function (bits, result) {\n // Three ANSI X12 values are encoded in a 16-bit value as\n // (1600 * C1) + (40 * C2) + C3 + 1\n var cValues = [];\n do {\n // If there is only one byte left then it will be encoded as ASCII\n if (bits.available() === 8) {\n return;\n }\n var firstByte = bits.readBits(8);\n if (firstByte === 254) { // Unlatch codeword\n return;\n }\n this.parseTwoBytes(firstByte, bits.readBits(8), cValues);\n for (var i = 0; i < 3; i++) {\n var cValue = cValues[i];\n switch (cValue) {\n case 0: // X12 segment terminator \n result.append('\\r');\n break;\n case 1: // X12 segment separator *\n result.append('*');\n break;\n case 2: // X12 sub-element separator >\n result.append('>');\n break;\n case 3: // space\n result.append(' ');\n break;\n default:\n if (cValue < 14) { // 0 - 9\n result.append(String.fromCharCode(cValue + 44));\n }\n else if (cValue < 40) { // A - Z\n result.append(String.fromCharCode(cValue + 51));\n }\n else {\n throw new FormatException();\n }\n break;\n }\n }\n } while (bits.available() > 0);\n };\n DecodedBitStreamParser.parseTwoBytes = function (firstByte, secondByte, result) {\n var fullBitValue = (firstByte << 8) + secondByte - 1;\n var temp = Math.floor(fullBitValue / 1600);\n result[0] = temp;\n fullBitValue -= temp * 1600;\n temp = Math.floor(fullBitValue / 40);\n result[1] = temp;\n result[2] = fullBitValue - temp * 40;\n };\n /**\n * See ISO 16022:2006, 5.2.8 and Annex C Table C.3\n */\n DecodedBitStreamParser.decodeEdifactSegment = function (bits, result) {\n do {\n // If there is only two or less bytes left then it will be encoded as ASCII\n if (bits.available() <= 16) {\n return;\n }\n for (var i = 0; i < 4; i++) {\n var edifactValue = bits.readBits(6);\n // Check for the unlatch character\n if (edifactValue === 0x1F) { // 011111\n // Read rest of byte, which should be 0, and stop\n var bitsLeft = 8 - bits.getBitOffset();\n if (bitsLeft !== 8) {\n bits.readBits(bitsLeft);\n }\n return;\n }\n if ((edifactValue & 0x20) === 0) { // no 1 in the leading (6th) bit\n edifactValue |= 0x40; // Add a leading 01 to the 6 bit binary value\n }\n result.append(String.fromCharCode(edifactValue));\n }\n } while (bits.available() > 0);\n };\n /**\n * See ISO 16022:2006, 5.2.9 and Annex B, B.2\n */\n DecodedBitStreamParser.decodeBase256Segment = function (bits, result, byteSegments) {\n // Figure out how long the Base 256 Segment is.\n var codewordPosition = 1 + bits.getByteOffset(); // position is 1-indexed\n var d1 = this.unrandomize255State(bits.readBits(8), codewordPosition++);\n var count;\n if (d1 === 0) { // Read the remainder of the symbol\n count = bits.available() / 8 | 0;\n }\n else if (d1 < 250) {\n count = d1;\n }\n else {\n count = 250 * (d1 - 249) + this.unrandomize255State(bits.readBits(8), codewordPosition++);\n }\n // We're seeing NegativeArraySizeException errors from users.\n if (count < 0) {\n throw new FormatException();\n }\n var bytes = new Uint8Array(count);\n for (var i = 0; i < count; i++) {\n // Have seen this particular error in the wild, such as at\n // http://www.bcgen.com/demo/IDAutomationStreamingDataMatrix.aspx?MODE=3&D=Fred&PFMT=3&PT=F&X=0.3&O=0&LM=0.2\n if (bits.available() < 8) {\n throw new FormatException();\n }\n bytes[i] = this.unrandomize255State(bits.readBits(8), codewordPosition++);\n }\n byteSegments.push(bytes);\n try {\n result.append(StringEncoding.decode(bytes, StringUtils.ISO88591));\n }\n catch (uee) {\n throw new IllegalStateException('Platform does not support required encoding: ' + uee.message);\n }\n };\n /**\n * See ISO 16022:2006, Annex B, B.2\n */\n DecodedBitStreamParser.unrandomize255State = function (randomizedBase256Codeword, base256CodewordPosition) {\n var pseudoRandomNumber = ((149 * base256CodewordPosition) % 255) + 1;\n var tempVariable = randomizedBase256Codeword - pseudoRandomNumber;\n return tempVariable >= 0 ? tempVariable : tempVariable + 256;\n };\n /**\n * See ISO 16022:2006, Annex C Table C.1\n * The C40 Basic Character Set (*'s used for placeholders for the shift values)\n */\n DecodedBitStreamParser.C40_BASIC_SET_CHARS = [\n '*', '*', '*', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',\n 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'\n ];\n DecodedBitStreamParser.C40_SHIFT2_SET_CHARS = [\n '!', '\"', '#', '$', '%', '&', '\\'', '(', ')', '*', '+', ',', '-', '.',\n '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\\\', ']', '^', '_'\n ];\n /**\n * See ISO 16022:2006, Annex C Table C.2\n * The Text Basic Character Set (*'s used for placeholders for the shift values)\n */\n DecodedBitStreamParser.TEXT_BASIC_SET_CHARS = [\n '*', '*', '*', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',\n 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'\n ];\n // Shift 2 for Text is the same encoding as C40\n DecodedBitStreamParser.TEXT_SHIFT2_SET_CHARS = DecodedBitStreamParser.C40_SHIFT2_SET_CHARS;\n DecodedBitStreamParser.TEXT_SHIFT3_SET_CHARS = [\n '`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',\n 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', String.fromCharCode(127)\n ];\n return DecodedBitStreamParser;\n}());\nexport default DecodedBitStreamParser;\n","var ExpandedRow = /** @class */ (function () {\n function ExpandedRow(pairs, rowNumber, wasReversed) {\n this.pairs = pairs;\n this.rowNumber = rowNumber;\n this.wasReversed = wasReversed;\n }\n ExpandedRow.prototype.getPairs = function () {\n return this.pairs;\n };\n ExpandedRow.prototype.getRowNumber = function () {\n return this.rowNumber;\n };\n ExpandedRow.prototype.isReversed = function () {\n return this.wasReversed;\n };\n // check implementation\n ExpandedRow.prototype.isEquivalent = function (otherPairs) {\n return this.checkEqualitity(this, otherPairs);\n };\n // @Override\n ExpandedRow.prototype.toString = function () {\n return '{ ' + this.pairs + ' }';\n };\n /**\n * Two rows are equal if they contain the same pairs in the same order.\n */\n // @Override\n // check implementation\n ExpandedRow.prototype.equals = function (o1, o2) {\n if (!(o1 instanceof ExpandedRow)) {\n return false;\n }\n return this.checkEqualitity(o1, o2) && o1.wasReversed === o2.wasReversed;\n };\n ExpandedRow.prototype.checkEqualitity = function (pair1, pair2) {\n if (!pair1 || !pair2)\n return;\n var result;\n pair1.forEach(function (e1, i) {\n pair2.forEach(function (e2) {\n if (e1.getLeftChar().getValue() === e2.getLeftChar().getValue() && e1.getRightChar().getValue() === e2.getRightChar().getValue() && e1.getFinderPatter().getValue() === e2.getFinderPatter().getValue()) {\n result = true;\n }\n });\n });\n return result;\n };\n return ExpandedRow;\n}());\nexport default ExpandedRow;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BarcodeFormat from '../../../BarcodeFormat';\nimport MathUtils from '../../../common/detector/MathUtils';\n// import FormatException from '../../../FormatException';\nimport NotFoundException from '../../../NotFoundException';\nimport Result from '../../../Result';\nimport System from '../../../util/System';\nimport AbstractRSSReader from '../../rss/AbstractRSSReader';\nimport DataCharacter from '../../rss/DataCharacter';\nimport FinderPattern from '../../rss/FinderPattern';\nimport RSSUtils from '../../rss/RSSUtils';\nimport BitArrayBuilder from './BitArrayBuilder';\nimport { createDecoder } from './decoders/AbstractExpandedDecoderComplement';\nimport ExpandedPair from './ExpandedPair';\nimport ExpandedRow from './ExpandedRow';\n// import java.util.ArrayList;\n// import java.util.Iterator;\n// import java.util.List;\n// import java.util.Map;\n// import java.util.Collections;\n/** @experimental */\nvar RSSExpandedReader = /** @class */ (function (_super) {\n __extends(RSSExpandedReader, _super);\n function RSSExpandedReader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.pairs = new Array(RSSExpandedReader.MAX_PAIRS);\n _this.rows = new Array();\n _this.startEnd = [2];\n return _this;\n }\n RSSExpandedReader.prototype.decodeRow = function (rowNumber, row, hints) {\n // Rows can start with even pattern in case in prev rows there where odd number of patters.\n // So lets try twice\n // this.pairs.clear();\n this.pairs.length = 0;\n this.startFromEven = false;\n try {\n return RSSExpandedReader.constructResult(this.decodeRow2pairs(rowNumber, row));\n }\n catch (e) {\n // OK\n // console.log(e);\n }\n this.pairs.length = 0;\n this.startFromEven = true;\n return RSSExpandedReader.constructResult(this.decodeRow2pairs(rowNumber, row));\n };\n RSSExpandedReader.prototype.reset = function () {\n this.pairs.length = 0;\n this.rows.length = 0;\n };\n // Not private for testing\n RSSExpandedReader.prototype.decodeRow2pairs = function (rowNumber, row) {\n var done = false;\n while (!done) {\n try {\n this.pairs.push(this.retrieveNextPair(row, this.pairs, rowNumber));\n }\n catch (error) {\n if (error instanceof NotFoundException) {\n if (!this.pairs.length) {\n throw new NotFoundException();\n }\n // exit this loop when retrieveNextPair() fails and throws\n done = true;\n }\n }\n }\n // TODO: verify sequence of finder patterns as in checkPairSequence()\n if (this.checkChecksum()) {\n return this.pairs;\n }\n var tryStackedDecode;\n if (this.rows.length) {\n tryStackedDecode = true;\n }\n else {\n tryStackedDecode = false;\n }\n // let tryStackedDecode = !this.rows.isEmpty();\n this.storeRow(rowNumber, false); // TODO: deal with reversed rows\n if (tryStackedDecode) {\n // When the image is 180-rotated, then rows are sorted in wrong direction.\n // Try twice with both the directions.\n var ps = this.checkRowsBoolean(false);\n if (ps != null) {\n return ps;\n }\n ps = this.checkRowsBoolean(true);\n if (ps != null) {\n return ps;\n }\n }\n throw new NotFoundException();\n };\n // Need to Verify\n RSSExpandedReader.prototype.checkRowsBoolean = function (reverse) {\n // Limit number of rows we are checking\n // We use recursive algorithm with pure complexity and don't want it to take forever\n // Stacked barcode can have up to 11 rows, so 25 seems reasonable enough\n if (this.rows.length > 25) {\n this.rows.length = 0; // We will never have a chance to get result, so clear it\n return null;\n }\n this.pairs.length = 0;\n if (reverse) {\n this.rows = this.rows.reverse();\n // Collections.reverse(this.rows);\n }\n var ps = null;\n try {\n ps = this.checkRows(new Array(), 0);\n }\n catch (e) {\n // OK\n console.log(e);\n }\n if (reverse) {\n this.rows = this.rows.reverse();\n // Collections.reverse(this.rows);\n }\n return ps;\n };\n // Try to construct a valid rows sequence\n // Recursion is used to implement backtracking\n RSSExpandedReader.prototype.checkRows = function (collectedRows, currentRow) {\n var e_1, _a;\n for (var i = currentRow; i < this.rows.length; i++) {\n var row = this.rows[i];\n this.pairs.length = 0;\n try {\n for (var collectedRows_1 = (e_1 = void 0, __values(collectedRows)), collectedRows_1_1 = collectedRows_1.next(); !collectedRows_1_1.done; collectedRows_1_1 = collectedRows_1.next()) {\n var collectedRow = collectedRows_1_1.value;\n this.pairs.push(collectedRow.getPairs());\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (collectedRows_1_1 && !collectedRows_1_1.done && (_a = collectedRows_1.return)) _a.call(collectedRows_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.pairs.push(row.getPairs());\n if (!RSSExpandedReader.isValidSequence(this.pairs)) {\n continue;\n }\n if (this.checkChecksum()) {\n return this.pairs;\n }\n var rs = new Array(collectedRows);\n rs.push(row);\n try {\n // Recursion: try to add more rows\n return this.checkRows(rs, i + 1);\n }\n catch (e) {\n // We failed, try the next candidate\n console.log(e);\n }\n }\n throw new NotFoundException();\n };\n // Whether the pairs form a valid find pattern sequence,\n // either complete or a prefix\n RSSExpandedReader.isValidSequence = function (pairs) {\n var e_2, _a;\n try {\n for (var _b = __values(RSSExpandedReader.FINDER_PATTERN_SEQUENCES), _c = _b.next(); !_c.done; _c = _b.next()) {\n var sequence = _c.value;\n if (pairs.length > sequence.length) {\n continue;\n }\n var stop_1 = true;\n for (var j = 0; j < pairs.length; j++) {\n if (pairs[j].getFinderPattern().getValue() !== sequence[j]) {\n stop_1 = false;\n break;\n }\n }\n if (stop_1) {\n return true;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return false;\n };\n RSSExpandedReader.prototype.storeRow = function (rowNumber, wasReversed) {\n // Discard if duplicate above or below; otherwise insert in order by row number.\n var insertPos = 0;\n var prevIsSame = false;\n var nextIsSame = false;\n while (insertPos < this.rows.length) {\n var erow = this.rows[insertPos];\n if (erow.getRowNumber() > rowNumber) {\n nextIsSame = erow.isEquivalent(this.pairs);\n break;\n }\n prevIsSame = erow.isEquivalent(this.pairs);\n insertPos++;\n }\n if (nextIsSame || prevIsSame) {\n return;\n }\n // When the row was partially decoded (e.g. 2 pairs found instead of 3),\n // it will prevent us from detecting the barcode.\n // Try to merge partial rows\n // Check whether the row is part of an allready detected row\n if (RSSExpandedReader.isPartialRow(this.pairs, this.rows)) {\n return;\n }\n this.rows.push(insertPos, new ExpandedRow(this.pairs, rowNumber, wasReversed));\n this.removePartialRows(this.pairs, this.rows);\n };\n // Remove all the rows that contains only specified pairs\n RSSExpandedReader.prototype.removePartialRows = function (pairs, rows) {\n var e_3, _a, e_4, _b, e_5, _c;\n try {\n // for (Iterator iterator = rows.iterator(); iterator.hasNext();) {\n // ExpandedRow r = iterator.next();\n // if (r.getPairs().size() == pairs.size()) {\n // continue;\n // }\n // boolean allFound = true;\n // for (ExpandedPair p : r.getPairs()) {\n // boolean found = false;\n // for (ExpandedPair pp : pairs) {\n // if (p.equals(pp)) {\n // found = true;\n // break;\n // }\n // }\n // if (!found) {\n // allFound = false;\n // break;\n // }\n // }\n // if (allFound) {\n // // 'pairs' contains all the pairs from the row 'r'\n // iterator.remove();\n // }\n // }\n for (var rows_1 = __values(rows), rows_1_1 = rows_1.next(); !rows_1_1.done; rows_1_1 = rows_1.next()) {\n var row = rows_1_1.value;\n if (row.getPairs().length === pairs.length) {\n continue;\n }\n var allFound = true;\n try {\n for (var _d = (e_4 = void 0, __values(row.getPairs())), _e = _d.next(); !_e.done; _e = _d.next()) {\n var p = _e.value;\n var found = false;\n try {\n for (var pairs_1 = (e_5 = void 0, __values(pairs)), pairs_1_1 = pairs_1.next(); !pairs_1_1.done; pairs_1_1 = pairs_1.next()) {\n var pp = pairs_1_1.value;\n if (ExpandedPair.equals(p, pp)) {\n found = true;\n break;\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (pairs_1_1 && !pairs_1_1.done && (_c = pairs_1.return)) _c.call(pairs_1);\n }\n finally { if (e_5) throw e_5.error; }\n }\n if (!found) {\n allFound = false;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_b = _d.return)) _b.call(_d);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (rows_1_1 && !rows_1_1.done && (_a = rows_1.return)) _a.call(rows_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n };\n // Returns true when one of the rows already contains all the pairs\n RSSExpandedReader.isPartialRow = function (pairs, rows) {\n var e_6, _a, e_7, _b, e_8, _c;\n try {\n for (var rows_2 = __values(rows), rows_2_1 = rows_2.next(); !rows_2_1.done; rows_2_1 = rows_2.next()) {\n var r = rows_2_1.value;\n var allFound = true;\n try {\n for (var pairs_2 = (e_7 = void 0, __values(pairs)), pairs_2_1 = pairs_2.next(); !pairs_2_1.done; pairs_2_1 = pairs_2.next()) {\n var p = pairs_2_1.value;\n var found = false;\n try {\n for (var _d = (e_8 = void 0, __values(r.getPairs())), _e = _d.next(); !_e.done; _e = _d.next()) {\n var pp = _e.value;\n if (p.equals(pp)) {\n found = true;\n break;\n }\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_c = _d.return)) _c.call(_d);\n }\n finally { if (e_8) throw e_8.error; }\n }\n if (!found) {\n allFound = false;\n break;\n }\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (pairs_2_1 && !pairs_2_1.done && (_b = pairs_2.return)) _b.call(pairs_2);\n }\n finally { if (e_7) throw e_7.error; }\n }\n if (allFound) {\n // the row 'r' contain all the pairs from 'pairs'\n return true;\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (rows_2_1 && !rows_2_1.done && (_a = rows_2.return)) _a.call(rows_2);\n }\n finally { if (e_6) throw e_6.error; }\n }\n return false;\n };\n // Only used for unit testing\n RSSExpandedReader.prototype.getRows = function () {\n return this.rows;\n };\n // Not private for unit testing\n RSSExpandedReader.constructResult = function (pairs) {\n var binary = BitArrayBuilder.buildBitArray(pairs);\n var decoder = createDecoder(binary);\n var resultingString = decoder.parseInformation();\n var firstPoints = pairs[0].getFinderPattern().getResultPoints();\n var lastPoints = pairs[pairs.length - 1]\n .getFinderPattern()\n .getResultPoints();\n var points = [firstPoints[0], firstPoints[1], lastPoints[0], lastPoints[1]];\n return new Result(resultingString, null, null, points, BarcodeFormat.RSS_EXPANDED, null);\n };\n RSSExpandedReader.prototype.checkChecksum = function () {\n var firstPair = this.pairs.get(0);\n var checkCharacter = firstPair.getLeftChar();\n var firstCharacter = firstPair.getRightChar();\n if (firstCharacter === null) {\n return false;\n }\n var checksum = firstCharacter.getChecksumPortion();\n var s = 2;\n for (var i = 1; i < this.pairs.size(); ++i) {\n var currentPair = this.pairs.get(i);\n checksum += currentPair.getLeftChar().getChecksumPortion();\n s++;\n var currentRightChar = currentPair.getRightChar();\n if (currentRightChar != null) {\n checksum += currentRightChar.getChecksumPortion();\n s++;\n }\n }\n checksum %= 211;\n var checkCharacterValue = 211 * (s - 4) + checksum;\n return checkCharacterValue === checkCharacter.getValue();\n };\n RSSExpandedReader.getNextSecondBar = function (row, initialPos) {\n var currentPos;\n if (row.get(initialPos)) {\n currentPos = row.getNextUnset(initialPos);\n currentPos = row.getNextSet(currentPos);\n }\n else {\n currentPos = row.getNextSet(initialPos);\n currentPos = row.getNextUnset(currentPos);\n }\n return currentPos;\n };\n // not private for testing\n RSSExpandedReader.prototype.retrieveNextPair = function (row, previousPairs, rowNumber) {\n var isOddPattern = previousPairs.length % 2 === 0;\n if (this.startFromEven) {\n isOddPattern = !isOddPattern;\n }\n var pattern;\n var keepFinding = true;\n var forcedOffset = -1;\n do {\n this.findNextPair(row, previousPairs, forcedOffset);\n pattern = this.parseFoundFinderPattern(row, rowNumber, isOddPattern);\n if (pattern === null) {\n forcedOffset = RSSExpandedReader.getNextSecondBar(row, this.startEnd[0]);\n }\n else {\n keepFinding = false;\n }\n } while (keepFinding);\n // When stacked symbol is split over multiple rows, there's no way to guess if this pair can be last or not.\n // boolean mayBeLast = checkPairSequence(previousPairs, pattern);\n var leftChar = this.decodeDataCharacter(row, pattern, isOddPattern, true);\n if (!this.isEmptyPair(previousPairs) &&\n previousPairs[previousPairs.length - 1].mustBeLast()) {\n throw new NotFoundException();\n }\n var rightChar;\n try {\n rightChar = this.decodeDataCharacter(row, pattern, isOddPattern, false);\n }\n catch (e) {\n rightChar = null;\n console.log(e);\n }\n return new ExpandedPair(leftChar, rightChar, pattern, true);\n };\n RSSExpandedReader.prototype.isEmptyPair = function (pairs) {\n if (pairs.length === 0) {\n return true;\n }\n return false;\n };\n RSSExpandedReader.prototype.findNextPair = function (row, previousPairs, forcedOffset) {\n var counters = this.getDecodeFinderCounters();\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var width = row.getSize();\n var rowOffset;\n if (forcedOffset >= 0) {\n rowOffset = forcedOffset;\n }\n else if (this.isEmptyPair(previousPairs)) {\n rowOffset = 0;\n }\n else {\n var lastPair = previousPairs[previousPairs.length - 1];\n rowOffset = lastPair.getFinderPattern().getStartEnd()[1];\n }\n var searchingEvenPair = previousPairs.length % 2 !== 0;\n if (this.startFromEven) {\n searchingEvenPair = !searchingEvenPair;\n }\n var isWhite = false;\n while (rowOffset < width) {\n isWhite = !row.get(rowOffset);\n if (!isWhite) {\n break;\n }\n rowOffset++;\n }\n var counterPosition = 0;\n var patternStart = rowOffset;\n for (var x = rowOffset; x < width; x++) {\n if (row.get(x) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === 3) {\n if (searchingEvenPair) {\n RSSExpandedReader.reverseCounters(counters);\n }\n if (RSSExpandedReader.isFinderPattern(counters)) {\n this.startEnd[0] = patternStart;\n this.startEnd[1] = x;\n return;\n }\n if (searchingEvenPair) {\n RSSExpandedReader.reverseCounters(counters);\n }\n patternStart += counters[0] + counters[1];\n counters[0] = counters[2];\n counters[1] = counters[3];\n counters[2] = 0;\n counters[3] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n RSSExpandedReader.reverseCounters = function (counters) {\n var length = counters.length;\n for (var i = 0; i < length / 2; ++i) {\n var tmp = counters[i];\n counters[i] = counters[length - i - 1];\n counters[length - i - 1] = tmp;\n }\n };\n RSSExpandedReader.prototype.parseFoundFinderPattern = function (row, rowNumber, oddPattern) {\n // Actually we found elements 2-5.\n var firstCounter;\n var start;\n var end;\n if (oddPattern) {\n // If pattern number is odd, we need to locate element 1 *before* the current block.\n var firstElementStart = this.startEnd[0] - 1;\n // Locate element 1\n while (firstElementStart >= 0 && !row.get(firstElementStart)) {\n firstElementStart--;\n }\n firstElementStart++;\n firstCounter = this.startEnd[0] - firstElementStart;\n start = firstElementStart;\n end = this.startEnd[1];\n }\n else {\n // If pattern number is even, the pattern is reversed, so we need to locate element 1 *after* the current block.\n start = this.startEnd[0];\n end = row.getNextUnset(this.startEnd[1] + 1);\n firstCounter = end - this.startEnd[1];\n }\n // Make 'counters' hold 1-4\n var counters = this.getDecodeFinderCounters();\n System.arraycopy(counters, 0, counters, 1, counters.length - 1);\n counters[0] = firstCounter;\n var value;\n try {\n value = this.parseFinderValue(counters, RSSExpandedReader.FINDER_PATTERNS);\n }\n catch (e) {\n return null;\n }\n // return new FinderPattern(value, new int[] { start, end }, start, end, rowNumber});\n return new FinderPattern(value, [start, end], start, end, rowNumber);\n };\n RSSExpandedReader.prototype.decodeDataCharacter = function (row, pattern, isOddPattern, leftChar) {\n var counters = this.getDataCharacterCounters();\n for (var x = 0; x < counters.length; x++) {\n counters[x] = 0;\n }\n if (leftChar) {\n RSSExpandedReader.recordPatternInReverse(row, pattern.getStartEnd()[0], counters);\n }\n else {\n RSSExpandedReader.recordPattern(row, pattern.getStartEnd()[1], counters);\n // reverse it\n for (var i = 0, j = counters.length - 1; i < j; i++, j--) {\n var temp = counters[i];\n counters[i] = counters[j];\n counters[j] = temp;\n }\n } // counters[] has the pixels of the module\n var numModules = 17; // left and right data characters have all the same length\n var elementWidth = MathUtils.sum(new Int32Array(counters)) / numModules;\n // Sanity check: element width for pattern and the character should match\n var expectedElementWidth = (pattern.getStartEnd()[1] - pattern.getStartEnd()[0]) / 15.0;\n if (Math.abs(elementWidth - expectedElementWidth) / expectedElementWidth >\n 0.3) {\n throw new NotFoundException();\n }\n var oddCounts = this.getOddCounts();\n var evenCounts = this.getEvenCounts();\n var oddRoundingErrors = this.getOddRoundingErrors();\n var evenRoundingErrors = this.getEvenRoundingErrors();\n for (var i = 0; i < counters.length; i++) {\n var value_1 = (1.0 * counters[i]) / elementWidth;\n var count = value_1 + 0.5; // Round\n if (count < 1) {\n if (value_1 < 0.3) {\n throw new NotFoundException();\n }\n count = 1;\n }\n else if (count > 8) {\n if (value_1 > 8.7) {\n throw new NotFoundException();\n }\n count = 8;\n }\n var offset = i / 2;\n if ((i & 0x01) === 0) {\n oddCounts[offset] = count;\n oddRoundingErrors[offset] = value_1 - count;\n }\n else {\n evenCounts[offset] = count;\n evenRoundingErrors[offset] = value_1 - count;\n }\n }\n this.adjustOddEvenCounts(numModules);\n var weightRowNumber = 4 * pattern.getValue() + (isOddPattern ? 0 : 2) + (leftChar ? 0 : 1) - 1;\n var oddSum = 0;\n var oddChecksumPortion = 0;\n for (var i = oddCounts.length - 1; i >= 0; i--) {\n if (RSSExpandedReader.isNotA1left(pattern, isOddPattern, leftChar)) {\n var weight = RSSExpandedReader.WEIGHTS[weightRowNumber][2 * i];\n oddChecksumPortion += oddCounts[i] * weight;\n }\n oddSum += oddCounts[i];\n }\n var evenChecksumPortion = 0;\n // int evenSum = 0;\n for (var i = evenCounts.length - 1; i >= 0; i--) {\n if (RSSExpandedReader.isNotA1left(pattern, isOddPattern, leftChar)) {\n var weight = RSSExpandedReader.WEIGHTS[weightRowNumber][2 * i + 1];\n evenChecksumPortion += evenCounts[i] * weight;\n }\n // evenSum += evenCounts[i];\n }\n var checksumPortion = oddChecksumPortion + evenChecksumPortion;\n if ((oddSum & 0x01) !== 0 || oddSum > 13 || oddSum < 4) {\n throw new NotFoundException();\n }\n var group = (13 - oddSum) / 2;\n var oddWidest = RSSExpandedReader.SYMBOL_WIDEST[group];\n var evenWidest = 9 - oddWidest;\n var vOdd = RSSUtils.getRSSvalue(oddCounts, oddWidest, true);\n var vEven = RSSUtils.getRSSvalue(evenCounts, evenWidest, false);\n var tEven = RSSExpandedReader.EVEN_TOTAL_SUBSET[group];\n var gSum = RSSExpandedReader.GSUM[group];\n var value = vOdd * tEven + vEven + gSum;\n return new DataCharacter(value, checksumPortion);\n };\n RSSExpandedReader.isNotA1left = function (pattern, isOddPattern, leftChar) {\n // A1: pattern.getValue is 0 (A), and it's an oddPattern, and it is a left char\n return !(pattern.getValue() === 0 && isOddPattern && leftChar);\n };\n RSSExpandedReader.prototype.adjustOddEvenCounts = function (numModules) {\n var oddSum = MathUtils.sum(new Int32Array(this.getOddCounts()));\n var evenSum = MathUtils.sum(new Int32Array(this.getEvenCounts()));\n var incrementOdd = false;\n var decrementOdd = false;\n if (oddSum > 13) {\n decrementOdd = true;\n }\n else if (oddSum < 4) {\n incrementOdd = true;\n }\n var incrementEven = false;\n var decrementEven = false;\n if (evenSum > 13) {\n decrementEven = true;\n }\n else if (evenSum < 4) {\n incrementEven = true;\n }\n var mismatch = oddSum + evenSum - numModules;\n var oddParityBad = (oddSum & 0x01) === 1;\n var evenParityBad = (evenSum & 0x01) === 0;\n if (mismatch === 1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n decrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n decrementEven = true;\n }\n }\n else if (mismatch === -1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n incrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n incrementEven = true;\n }\n }\n else if (mismatch === 0) {\n if (oddParityBad) {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n // Both bad\n if (oddSum < evenSum) {\n incrementOdd = true;\n decrementEven = true;\n }\n else {\n decrementOdd = true;\n incrementEven = true;\n }\n }\n else {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n // Nothing to do!\n }\n }\n else {\n throw new NotFoundException();\n }\n if (incrementOdd) {\n if (decrementOdd) {\n throw new NotFoundException();\n }\n RSSExpandedReader.increment(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (decrementOdd) {\n RSSExpandedReader.decrement(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (incrementEven) {\n if (decrementEven) {\n throw new NotFoundException();\n }\n RSSExpandedReader.increment(this.getEvenCounts(), this.getOddRoundingErrors());\n }\n if (decrementEven) {\n RSSExpandedReader.decrement(this.getEvenCounts(), this.getEvenRoundingErrors());\n }\n };\n RSSExpandedReader.SYMBOL_WIDEST = [7, 5, 4, 3, 1];\n RSSExpandedReader.EVEN_TOTAL_SUBSET = [4, 20, 52, 104, 204];\n RSSExpandedReader.GSUM = [0, 348, 1388, 2948, 3988];\n RSSExpandedReader.FINDER_PATTERNS = [\n Int32Array.from([1, 8, 4, 1]),\n Int32Array.from([3, 6, 4, 1]),\n Int32Array.from([3, 4, 6, 1]),\n Int32Array.from([3, 2, 8, 1]),\n Int32Array.from([2, 6, 5, 1]),\n Int32Array.from([2, 2, 9, 1]),\n ];\n RSSExpandedReader.WEIGHTS = [\n [1, 3, 9, 27, 81, 32, 96, 77],\n [20, 60, 180, 118, 143, 7, 21, 63],\n [189, 145, 13, 39, 117, 140, 209, 205],\n [193, 157, 49, 147, 19, 57, 171, 91],\n [62, 186, 136, 197, 169, 85, 44, 132],\n [185, 133, 188, 142, 4, 12, 36, 108],\n [113, 128, 173, 97, 80, 29, 87, 50],\n [150, 28, 84, 41, 123, 158, 52, 156],\n [46, 138, 203, 187, 139, 206, 196, 166],\n [76, 17, 51, 153, 37, 111, 122, 155],\n [43, 129, 176, 106, 107, 110, 119, 146],\n [16, 48, 144, 10, 30, 90, 59, 177],\n [109, 116, 137, 200, 178, 112, 125, 164],\n [70, 210, 208, 202, 184, 130, 179, 115],\n [134, 191, 151, 31, 93, 68, 204, 190],\n [148, 22, 66, 198, 172, 94, 71, 2],\n [6, 18, 54, 162, 64, 192, 154, 40],\n [120, 149, 25, 75, 14, 42, 126, 167],\n [79, 26, 78, 23, 69, 207, 199, 175],\n [103, 98, 83, 38, 114, 131, 182, 124],\n [161, 61, 183, 127, 170, 88, 53, 159],\n [55, 165, 73, 8, 24, 72, 5, 15],\n [45, 135, 194, 160, 58, 174, 100, 89],\n ];\n RSSExpandedReader.FINDER_PAT_A = 0;\n RSSExpandedReader.FINDER_PAT_B = 1;\n RSSExpandedReader.FINDER_PAT_C = 2;\n RSSExpandedReader.FINDER_PAT_D = 3;\n RSSExpandedReader.FINDER_PAT_E = 4;\n RSSExpandedReader.FINDER_PAT_F = 5;\n RSSExpandedReader.FINDER_PATTERN_SEQUENCES = [\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A],\n [\n RSSExpandedReader.FINDER_PAT_A,\n RSSExpandedReader.FINDER_PAT_B,\n RSSExpandedReader.FINDER_PAT_B,\n ],\n [\n RSSExpandedReader.FINDER_PAT_A,\n RSSExpandedReader.FINDER_PAT_C,\n RSSExpandedReader.FINDER_PAT_B,\n RSSExpandedReader.FINDER_PAT_D,\n ],\n [\n RSSExpandedReader.FINDER_PAT_A,\n RSSExpandedReader.FINDER_PAT_E,\n RSSExpandedReader.FINDER_PAT_B,\n RSSExpandedReader.FINDER_PAT_D,\n RSSExpandedReader.FINDER_PAT_C,\n ],\n [\n RSSExpandedReader.FINDER_PAT_A,\n RSSExpandedReader.FINDER_PAT_E,\n RSSExpandedReader.FINDER_PAT_B,\n RSSExpandedReader.FINDER_PAT_D,\n RSSExpandedReader.FINDER_PAT_D,\n RSSExpandedReader.FINDER_PAT_F,\n ],\n [\n RSSExpandedReader.FINDER_PAT_A,\n RSSExpandedReader.FINDER_PAT_E,\n RSSExpandedReader.FINDER_PAT_B,\n RSSExpandedReader.FINDER_PAT_D,\n RSSExpandedReader.FINDER_PAT_E,\n RSSExpandedReader.FINDER_PAT_F,\n RSSExpandedReader.FINDER_PAT_F,\n ],\n [\n RSSExpandedReader.FINDER_PAT_A,\n RSSExpandedReader.FINDER_PAT_A,\n RSSExpandedReader.FINDER_PAT_B,\n RSSExpandedReader.FINDER_PAT_B,\n RSSExpandedReader.FINDER_PAT_C,\n RSSExpandedReader.FINDER_PAT_C,\n RSSExpandedReader.FINDER_PAT_D,\n RSSExpandedReader.FINDER_PAT_D,\n ],\n [\n RSSExpandedReader.FINDER_PAT_A,\n RSSExpandedReader.FINDER_PAT_A,\n RSSExpandedReader.FINDER_PAT_B,\n RSSExpandedReader.FINDER_PAT_B,\n RSSExpandedReader.FINDER_PAT_C,\n RSSExpandedReader.FINDER_PAT_C,\n RSSExpandedReader.FINDER_PAT_D,\n RSSExpandedReader.FINDER_PAT_E,\n RSSExpandedReader.FINDER_PAT_E,\n ],\n [\n RSSExpandedReader.FINDER_PAT_A,\n RSSExpandedReader.FINDER_PAT_A,\n RSSExpandedReader.FINDER_PAT_B,\n RSSExpandedReader.FINDER_PAT_B,\n RSSExpandedReader.FINDER_PAT_C,\n RSSExpandedReader.FINDER_PAT_C,\n RSSExpandedReader.FINDER_PAT_D,\n RSSExpandedReader.FINDER_PAT_E,\n RSSExpandedReader.FINDER_PAT_F,\n RSSExpandedReader.FINDER_PAT_F,\n ],\n [\n RSSExpandedReader.FINDER_PAT_A,\n RSSExpandedReader.FINDER_PAT_A,\n RSSExpandedReader.FINDER_PAT_B,\n RSSExpandedReader.FINDER_PAT_B,\n RSSExpandedReader.FINDER_PAT_C,\n RSSExpandedReader.FINDER_PAT_D,\n RSSExpandedReader.FINDER_PAT_D,\n RSSExpandedReader.FINDER_PAT_E,\n RSSExpandedReader.FINDER_PAT_E,\n RSSExpandedReader.FINDER_PAT_F,\n RSSExpandedReader.FINDER_PAT_F,\n ],\n ];\n RSSExpandedReader.MAX_PAIRS = 11;\n return RSSExpandedReader;\n}(AbstractRSSReader));\nexport default RSSExpandedReader;\n","import IllegalStateException from '../../../../IllegalStateException';\nimport GeneralAppIdDecoder from './GeneralAppIdDecoder';\nimport AI01AndOtherAIs from './AI01AndOtherAIs';\nimport AnyAIDecoder from './AnyAIDecoder';\nimport AI013103decoder from './AI013103decoder';\nimport AI01320xDecoder from './AI01320xDecoder';\nimport AI01392xDecoder from './AI01392xDecoder';\nimport AI01393xDecoder from './AI01393xDecoder';\nimport AI013x0x1xDecoder from './AI013x0x1xDecoder';\nexport function createDecoder(information) {\n try {\n if (information.get(1)) {\n return new AI01AndOtherAIs(information);\n }\n if (!information.get(2)) {\n return new AnyAIDecoder(information);\n }\n var fourBitEncodationMethod = GeneralAppIdDecoder.extractNumericValueFromBitArray(information, 1, 4);\n switch (fourBitEncodationMethod) {\n case 4: return new AI013103decoder(information);\n case 5: return new AI01320xDecoder(information);\n }\n var fiveBitEncodationMethod = GeneralAppIdDecoder.extractNumericValueFromBitArray(information, 1, 5);\n switch (fiveBitEncodationMethod) {\n case 12: return new AI01392xDecoder(information);\n case 13: return new AI01393xDecoder(information);\n }\n var sevenBitEncodationMethod = GeneralAppIdDecoder.extractNumericValueFromBitArray(information, 1, 7);\n switch (sevenBitEncodationMethod) {\n case 56: return new AI013x0x1xDecoder(information, '310', '11');\n case 57: return new AI013x0x1xDecoder(information, '320', '11');\n case 58: return new AI013x0x1xDecoder(information, '310', '13');\n case 59: return new AI013x0x1xDecoder(information, '320', '13');\n case 60: return new AI013x0x1xDecoder(information, '310', '15');\n case 61: return new AI013x0x1xDecoder(information, '320', '15');\n case 62: return new AI013x0x1xDecoder(information, '310', '17');\n case 63: return new AI013x0x1xDecoder(information, '320', '17');\n }\n }\n catch (e) {\n console.log(e);\n throw new IllegalStateException('unknown decoder: ' + information);\n }\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport DataCharacter from './DataCharacter';\nvar Pair = /** @class */ (function (_super) {\n __extends(Pair, _super);\n function Pair(value, checksumPortion, finderPattern) {\n var _this = _super.call(this, value, checksumPortion) || this;\n _this.count = 0;\n _this.finderPattern = finderPattern;\n return _this;\n }\n Pair.prototype.getFinderPattern = function () {\n return this.finderPattern;\n };\n Pair.prototype.getCount = function () {\n return this.count;\n };\n Pair.prototype.incrementCount = function () {\n this.count++;\n };\n return Pair;\n}(DataCharacter));\nexport default Pair;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport AbstractRSSReader from './AbstractRSSReader';\nimport Pair from './Pair';\nimport Result from '../../Result';\nimport DecodeHintType from '../../DecodeHintType';\nimport NotFoundException from '../../NotFoundException';\nimport StringBuilder from '../../util/StringBuilder';\nimport BarcodeFormat from '../../BarcodeFormat';\nimport ResultPoint from '../../ResultPoint';\nimport FinderPattern from './FinderPattern';\nimport DataCharacter from './DataCharacter';\nimport MathUtils from '../../common/detector/MathUtils';\nimport RSSUtils from './RSSUtils';\nimport System from '../../util/System';\nimport OneDReader from '../OneDReader';\nvar RSS14Reader = /** @class */ (function (_super) {\n __extends(RSS14Reader, _super);\n function RSS14Reader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.possibleLeftPairs = [];\n _this.possibleRightPairs = [];\n return _this;\n }\n RSS14Reader.prototype.decodeRow = function (rowNumber, row, hints) {\n var e_1, _a, e_2, _b;\n var leftPair = this.decodePair(row, false, rowNumber, hints);\n RSS14Reader.addOrTally(this.possibleLeftPairs, leftPair);\n row.reverse();\n var rightPair = this.decodePair(row, true, rowNumber, hints);\n RSS14Reader.addOrTally(this.possibleRightPairs, rightPair);\n row.reverse();\n try {\n for (var _c = __values(this.possibleLeftPairs), _d = _c.next(); !_d.done; _d = _c.next()) {\n var left = _d.value;\n if (left.getCount() > 1) {\n try {\n for (var _e = (e_2 = void 0, __values(this.possibleRightPairs)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var right = _f.value;\n if (right.getCount() > 1 && RSS14Reader.checkChecksum(left, right)) {\n return RSS14Reader.constructResult(left, right);\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n throw new NotFoundException();\n };\n RSS14Reader.addOrTally = function (possiblePairs, pair) {\n var e_3, _a;\n if (pair == null) {\n return;\n }\n var found = false;\n try {\n for (var possiblePairs_1 = __values(possiblePairs), possiblePairs_1_1 = possiblePairs_1.next(); !possiblePairs_1_1.done; possiblePairs_1_1 = possiblePairs_1.next()) {\n var other = possiblePairs_1_1.value;\n if (other.getValue() === pair.getValue()) {\n other.incrementCount();\n found = true;\n break;\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (possiblePairs_1_1 && !possiblePairs_1_1.done && (_a = possiblePairs_1.return)) _a.call(possiblePairs_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n if (!found) {\n possiblePairs.push(pair);\n }\n };\n RSS14Reader.prototype.reset = function () {\n this.possibleLeftPairs.length = 0;\n this.possibleRightPairs.length = 0;\n };\n RSS14Reader.constructResult = function (leftPair, rightPair) {\n var symbolValue = 4537077 * leftPair.getValue() + rightPair.getValue();\n var text = new String(symbolValue).toString();\n var buffer = new StringBuilder();\n for (var i = 13 - text.length; i > 0; i--) {\n buffer.append('0');\n }\n buffer.append(text);\n var checkDigit = 0;\n for (var i = 0; i < 13; i++) {\n var digit = buffer.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n checkDigit += ((i & 0x01) === 0) ? 3 * digit : digit;\n }\n checkDigit = 10 - (checkDigit % 10);\n if (checkDigit === 10) {\n checkDigit = 0;\n }\n buffer.append(checkDigit.toString());\n var leftPoints = leftPair.getFinderPattern().getResultPoints();\n var rightPoints = rightPair.getFinderPattern().getResultPoints();\n return new Result(buffer.toString(), null, 0, [leftPoints[0], leftPoints[1], rightPoints[0], rightPoints[1]], BarcodeFormat.RSS_14, new Date().getTime());\n };\n RSS14Reader.checkChecksum = function (leftPair, rightPair) {\n var checkValue = (leftPair.getChecksumPortion() + 16 * rightPair.getChecksumPortion()) % 79;\n var targetCheckValue = 9 * leftPair.getFinderPattern().getValue() + rightPair.getFinderPattern().getValue();\n if (targetCheckValue > 72) {\n targetCheckValue--;\n }\n if (targetCheckValue > 8) {\n targetCheckValue--;\n }\n return checkValue === targetCheckValue;\n };\n RSS14Reader.prototype.decodePair = function (row, right, rowNumber, hints) {\n try {\n var startEnd = this.findFinderPattern(row, right);\n var pattern = this.parseFoundFinderPattern(row, rowNumber, right, startEnd);\n var resultPointCallback = hints == null ? null : hints.get(DecodeHintType.NEED_RESULT_POINT_CALLBACK);\n if (resultPointCallback != null) {\n var center = (startEnd[0] + startEnd[1]) / 2.0;\n if (right) {\n // row is actually reversed\n center = row.getSize() - 1 - center;\n }\n resultPointCallback.foundPossibleResultPoint(new ResultPoint(center, rowNumber));\n }\n var outside = this.decodeDataCharacter(row, pattern, true);\n var inside = this.decodeDataCharacter(row, pattern, false);\n return new Pair(1597 * outside.getValue() + inside.getValue(), outside.getChecksumPortion() + 4 * inside.getChecksumPortion(), pattern);\n }\n catch (err) {\n return null;\n }\n };\n RSS14Reader.prototype.decodeDataCharacter = function (row, pattern, outsideChar) {\n var counters = this.getDataCharacterCounters();\n for (var x = 0; x < counters.length; x++) {\n counters[x] = 0;\n }\n if (outsideChar) {\n OneDReader.recordPatternInReverse(row, pattern.getStartEnd()[0], counters);\n }\n else {\n OneDReader.recordPattern(row, pattern.getStartEnd()[1] + 1, counters);\n // reverse it\n for (var i = 0, j = counters.length - 1; i < j; i++, j--) {\n var temp = counters[i];\n counters[i] = counters[j];\n counters[j] = temp;\n }\n }\n var numModules = outsideChar ? 16 : 15;\n var elementWidth = MathUtils.sum(new Int32Array(counters)) / numModules;\n var oddCounts = this.getOddCounts();\n var evenCounts = this.getEvenCounts();\n var oddRoundingErrors = this.getOddRoundingErrors();\n var evenRoundingErrors = this.getEvenRoundingErrors();\n for (var i = 0; i < counters.length; i++) {\n var value = counters[i] / elementWidth;\n var count = Math.floor(value + 0.5);\n if (count < 1) {\n count = 1;\n }\n else if (count > 8) {\n count = 8;\n }\n var offset = Math.floor(i / 2);\n if ((i & 0x01) === 0) {\n oddCounts[offset] = count;\n oddRoundingErrors[offset] = value - count;\n }\n else {\n evenCounts[offset] = count;\n evenRoundingErrors[offset] = value - count;\n }\n }\n this.adjustOddEvenCounts(outsideChar, numModules);\n var oddSum = 0;\n var oddChecksumPortion = 0;\n for (var i = oddCounts.length - 1; i >= 0; i--) {\n oddChecksumPortion *= 9;\n oddChecksumPortion += oddCounts[i];\n oddSum += oddCounts[i];\n }\n var evenChecksumPortion = 0;\n var evenSum = 0;\n for (var i = evenCounts.length - 1; i >= 0; i--) {\n evenChecksumPortion *= 9;\n evenChecksumPortion += evenCounts[i];\n evenSum += evenCounts[i];\n }\n var checksumPortion = oddChecksumPortion + 3 * evenChecksumPortion;\n if (outsideChar) {\n if ((oddSum & 0x01) !== 0 || oddSum > 12 || oddSum < 4) {\n throw new NotFoundException();\n }\n var group = (12 - oddSum) / 2;\n var oddWidest = RSS14Reader.OUTSIDE_ODD_WIDEST[group];\n var evenWidest = 9 - oddWidest;\n var vOdd = RSSUtils.getRSSvalue(oddCounts, oddWidest, false);\n var vEven = RSSUtils.getRSSvalue(evenCounts, evenWidest, true);\n var tEven = RSS14Reader.OUTSIDE_EVEN_TOTAL_SUBSET[group];\n var gSum = RSS14Reader.OUTSIDE_GSUM[group];\n return new DataCharacter(vOdd * tEven + vEven + gSum, checksumPortion);\n }\n else {\n if ((evenSum & 0x01) !== 0 || evenSum > 10 || evenSum < 4) {\n throw new NotFoundException();\n }\n var group = (10 - evenSum) / 2;\n var oddWidest = RSS14Reader.INSIDE_ODD_WIDEST[group];\n var evenWidest = 9 - oddWidest;\n var vOdd = RSSUtils.getRSSvalue(oddCounts, oddWidest, true);\n var vEven = RSSUtils.getRSSvalue(evenCounts, evenWidest, false);\n var tOdd = RSS14Reader.INSIDE_ODD_TOTAL_SUBSET[group];\n var gSum = RSS14Reader.INSIDE_GSUM[group];\n return new DataCharacter(vEven * tOdd + vOdd + gSum, checksumPortion);\n }\n };\n RSS14Reader.prototype.findFinderPattern = function (row, rightFinderPattern) {\n var counters = this.getDecodeFinderCounters();\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var width = row.getSize();\n var isWhite = false;\n var rowOffset = 0;\n while (rowOffset < width) {\n isWhite = !row.get(rowOffset);\n if (rightFinderPattern === isWhite) {\n // Will encounter white first when searching for right finder pattern\n break;\n }\n rowOffset++;\n }\n var counterPosition = 0;\n var patternStart = rowOffset;\n for (var x = rowOffset; x < width; x++) {\n if (row.get(x) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === 3) {\n if (AbstractRSSReader.isFinderPattern(counters)) {\n return [patternStart, x];\n }\n patternStart += counters[0] + counters[1];\n counters[0] = counters[2];\n counters[1] = counters[3];\n counters[2] = 0;\n counters[3] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n RSS14Reader.prototype.parseFoundFinderPattern = function (row, rowNumber, right, startEnd) {\n // Actually we found elements 2-5\n var firstIsBlack = row.get(startEnd[0]);\n var firstElementStart = startEnd[0] - 1;\n // Locate element 1\n while (firstElementStart >= 0 && firstIsBlack !== row.get(firstElementStart)) {\n firstElementStart--;\n }\n firstElementStart++;\n var firstCounter = startEnd[0] - firstElementStart;\n // Make 'counters' hold 1-4\n var counters = this.getDecodeFinderCounters();\n var copy = new Int32Array(counters.length);\n System.arraycopy(counters, 0, copy, 1, counters.length - 1);\n copy[0] = firstCounter;\n var value = this.parseFinderValue(copy, RSS14Reader.FINDER_PATTERNS);\n var start = firstElementStart;\n var end = startEnd[1];\n if (right) {\n // row is actually reversed\n start = row.getSize() - 1 - start;\n end = row.getSize() - 1 - end;\n }\n return new FinderPattern(value, [firstElementStart, startEnd[1]], start, end, rowNumber);\n };\n RSS14Reader.prototype.adjustOddEvenCounts = function (outsideChar, numModules) {\n var oddSum = MathUtils.sum(new Int32Array(this.getOddCounts()));\n var evenSum = MathUtils.sum(new Int32Array(this.getEvenCounts()));\n var incrementOdd = false;\n var decrementOdd = false;\n var incrementEven = false;\n var decrementEven = false;\n if (outsideChar) {\n if (oddSum > 12) {\n decrementOdd = true;\n }\n else if (oddSum < 4) {\n incrementOdd = true;\n }\n if (evenSum > 12) {\n decrementEven = true;\n }\n else if (evenSum < 4) {\n incrementEven = true;\n }\n }\n else {\n if (oddSum > 11) {\n decrementOdd = true;\n }\n else if (oddSum < 5) {\n incrementOdd = true;\n }\n if (evenSum > 10) {\n decrementEven = true;\n }\n else if (evenSum < 4) {\n incrementEven = true;\n }\n }\n var mismatch = oddSum + evenSum - numModules;\n var oddParityBad = (oddSum & 0x01) === (outsideChar ? 1 : 0);\n var evenParityBad = (evenSum & 0x01) === 1;\n if (mismatch === 1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n decrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n decrementEven = true;\n }\n }\n else if (mismatch === -1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n incrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n incrementEven = true;\n }\n }\n else if (mismatch === 0) {\n if (oddParityBad) {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n // Both bad\n if (oddSum < evenSum) {\n incrementOdd = true;\n decrementEven = true;\n }\n else {\n decrementOdd = true;\n incrementEven = true;\n }\n }\n else {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n // Nothing to do!\n }\n }\n else {\n throw new NotFoundException();\n }\n if (incrementOdd) {\n if (decrementOdd) {\n throw new NotFoundException();\n }\n AbstractRSSReader.increment(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (decrementOdd) {\n AbstractRSSReader.decrement(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (incrementEven) {\n if (decrementEven) {\n throw new NotFoundException();\n }\n AbstractRSSReader.increment(this.getEvenCounts(), this.getOddRoundingErrors());\n }\n if (decrementEven) {\n AbstractRSSReader.decrement(this.getEvenCounts(), this.getEvenRoundingErrors());\n }\n };\n RSS14Reader.OUTSIDE_EVEN_TOTAL_SUBSET = [1, 10, 34, 70, 126];\n RSS14Reader.INSIDE_ODD_TOTAL_SUBSET = [4, 20, 48, 81];\n RSS14Reader.OUTSIDE_GSUM = [0, 161, 961, 2015, 2715];\n RSS14Reader.INSIDE_GSUM = [0, 336, 1036, 1516];\n RSS14Reader.OUTSIDE_ODD_WIDEST = [8, 6, 4, 3, 1];\n RSS14Reader.INSIDE_ODD_WIDEST = [2, 4, 6, 8];\n RSS14Reader.FINDER_PATTERNS = [\n Int32Array.from([3, 8, 2, 1]),\n Int32Array.from([3, 5, 5, 1]),\n Int32Array.from([3, 3, 7, 1]),\n Int32Array.from([3, 1, 9, 1]),\n Int32Array.from([2, 7, 4, 1]),\n Int32Array.from([2, 5, 6, 1]),\n Int32Array.from([2, 3, 8, 1]),\n Int32Array.from([1, 5, 7, 1]),\n Int32Array.from([1, 3, 9, 1]),\n ];\n return RSS14Reader;\n}(AbstractRSSReader));\nexport default RSS14Reader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.oned {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport DecodeHintType from '../DecodeHintType';\nimport NotFoundException from '../NotFoundException';\nimport Code128Reader from './Code128Reader';\nimport Code39Reader from './Code39Reader';\nimport Code93Reader from './Code93Reader';\nimport ITFReader from './ITFReader';\nimport MultiFormatUPCEANReader from './MultiFormatUPCEANReader';\nimport OneDReader from './OneDReader';\nimport CodaBarReader from './CodaBarReader';\nimport RSSExpandedReader from './rss/expanded/RSSExpandedReader';\nimport RSS14Reader from './rss/RSS14Reader';\n/**\n * @author Daniel Switkin \n * @author Sean Owen\n */\nvar MultiFormatOneDReader = /** @class */ (function (_super) {\n __extends(MultiFormatOneDReader, _super);\n function MultiFormatOneDReader(hints) {\n var _this = _super.call(this) || this;\n _this.readers = [];\n var possibleFormats = !hints ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS);\n var useCode39CheckDigit = hints && hints.get(DecodeHintType.ASSUME_CODE_39_CHECK_DIGIT) !== undefined;\n if (possibleFormats) {\n if (possibleFormats.includes(BarcodeFormat.EAN_13) ||\n possibleFormats.includes(BarcodeFormat.UPC_A) ||\n possibleFormats.includes(BarcodeFormat.EAN_8) ||\n possibleFormats.includes(BarcodeFormat.UPC_E)) {\n _this.readers.push(new MultiFormatUPCEANReader(hints));\n }\n if (possibleFormats.includes(BarcodeFormat.CODE_39)) {\n _this.readers.push(new Code39Reader(useCode39CheckDigit));\n }\n if (possibleFormats.includes(BarcodeFormat.CODE_93)) {\n _this.readers.push(new Code93Reader());\n }\n if (possibleFormats.includes(BarcodeFormat.CODE_128)) {\n _this.readers.push(new Code128Reader());\n }\n if (possibleFormats.includes(BarcodeFormat.ITF)) {\n _this.readers.push(new ITFReader());\n }\n if (possibleFormats.includes(BarcodeFormat.CODABAR)) {\n _this.readers.push(new CodaBarReader());\n }\n if (possibleFormats.includes(BarcodeFormat.RSS_14)) {\n _this.readers.push(new RSS14Reader());\n }\n if (possibleFormats.includes(BarcodeFormat.RSS_EXPANDED)) {\n console.warn('RSS Expanded reader IS NOT ready for production yet! use at your own risk.');\n _this.readers.push(new RSSExpandedReader());\n }\n }\n if (_this.readers.length === 0) {\n _this.readers.push(new MultiFormatUPCEANReader(hints));\n _this.readers.push(new Code39Reader());\n // this.readers.push(new CodaBarReader());\n _this.readers.push(new Code93Reader());\n _this.readers.push(new MultiFormatUPCEANReader(hints));\n _this.readers.push(new Code128Reader());\n _this.readers.push(new ITFReader());\n _this.readers.push(new RSS14Reader());\n // this.readers.push(new RSSExpandedReader());\n }\n return _this;\n }\n // @Override\n MultiFormatOneDReader.prototype.decodeRow = function (rowNumber, row, hints) {\n for (var i = 0; i < this.readers.length; i++) {\n try {\n return this.readers[i].decodeRow(rowNumber, row, hints);\n }\n catch (re) {\n // continue\n }\n }\n throw new NotFoundException();\n };\n // @Override\n MultiFormatOneDReader.prototype.reset = function () {\n this.readers.forEach(function (reader) { return reader.reset(); });\n };\n return MultiFormatOneDReader;\n}(OneDReader));\nexport default MultiFormatOneDReader;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BrowserCodeReader } from './BrowserCodeReader';\nimport MultiFormatOneDReader from '../core/oned/MultiFormatOneDReader';\n/**\n * @deprecated Moving to @zxing/browser\n *\n * Barcode reader reader to use from browser.\n */\nvar BrowserBarcodeReader = /** @class */ (function (_super) {\n __extends(BrowserBarcodeReader, _super);\n /**\n * Creates an instance of BrowserBarcodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n * @param {Map} hints\n */\n function BrowserBarcodeReader(timeBetweenScansMillis, hints) {\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n return _super.call(this, new MultiFormatOneDReader(hints), timeBetweenScansMillis, hints) || this;\n }\n return BrowserBarcodeReader;\n}(BrowserCodeReader));\nexport { BrowserBarcodeReader };\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport FormatException from '../../FormatException';\n/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n *

Encapsulates a set of error-correction blocks in one symbol version. Most versions will\n * use blocks of differing sizes within one version, so, this encapsulates the parameters for\n * each set of blocks. It also holds the number of error-correction codewords per block since it\n * will be the same across all blocks within one version.

\n */\nvar ECBlocks = /** @class */ (function () {\n function ECBlocks(ecCodewords, ecBlocks1, ecBlocks2) {\n this.ecCodewords = ecCodewords;\n this.ecBlocks = [ecBlocks1];\n ecBlocks2 && this.ecBlocks.push(ecBlocks2);\n }\n ECBlocks.prototype.getECCodewords = function () {\n return this.ecCodewords;\n };\n ECBlocks.prototype.getECBlocks = function () {\n return this.ecBlocks;\n };\n return ECBlocks;\n}());\nexport { ECBlocks };\n/**\n *

Encapsulates the parameters for one error-correction block in one symbol version.\n * This includes the number of data codewords, and the number of times a block with these\n * parameters is used consecutively in the Data Matrix code version's format.

\n */\nvar ECB = /** @class */ (function () {\n function ECB(count, dataCodewords) {\n this.count = count;\n this.dataCodewords = dataCodewords;\n }\n ECB.prototype.getCount = function () {\n return this.count;\n };\n ECB.prototype.getDataCodewords = function () {\n return this.dataCodewords;\n };\n return ECB;\n}());\nexport { ECB };\n/**\n * The Version object encapsulates attributes about a particular\n * size Data Matrix Code.\n *\n * @author bbrown@google.com (Brian Brown)\n */\nvar Version = /** @class */ (function () {\n function Version(versionNumber, symbolSizeRows, symbolSizeColumns, dataRegionSizeRows, dataRegionSizeColumns, ecBlocks) {\n var e_1, _a;\n this.versionNumber = versionNumber;\n this.symbolSizeRows = symbolSizeRows;\n this.symbolSizeColumns = symbolSizeColumns;\n this.dataRegionSizeRows = dataRegionSizeRows;\n this.dataRegionSizeColumns = dataRegionSizeColumns;\n this.ecBlocks = ecBlocks;\n // Calculate the total number of codewords\n var total = 0;\n var ecCodewords = ecBlocks.getECCodewords();\n var ecbArray = ecBlocks.getECBlocks();\n try {\n for (var ecbArray_1 = __values(ecbArray), ecbArray_1_1 = ecbArray_1.next(); !ecbArray_1_1.done; ecbArray_1_1 = ecbArray_1.next()) {\n var ecBlock = ecbArray_1_1.value;\n total += ecBlock.getCount() * (ecBlock.getDataCodewords() + ecCodewords);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (ecbArray_1_1 && !ecbArray_1_1.done && (_a = ecbArray_1.return)) _a.call(ecbArray_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.totalCodewords = total;\n }\n Version.prototype.getVersionNumber = function () {\n return this.versionNumber;\n };\n Version.prototype.getSymbolSizeRows = function () {\n return this.symbolSizeRows;\n };\n Version.prototype.getSymbolSizeColumns = function () {\n return this.symbolSizeColumns;\n };\n Version.prototype.getDataRegionSizeRows = function () {\n return this.dataRegionSizeRows;\n };\n Version.prototype.getDataRegionSizeColumns = function () {\n return this.dataRegionSizeColumns;\n };\n Version.prototype.getTotalCodewords = function () {\n return this.totalCodewords;\n };\n Version.prototype.getECBlocks = function () {\n return this.ecBlocks;\n };\n /**\n *

Deduces version information from Data Matrix dimensions.

\n *\n * @param numRows Number of rows in modules\n * @param numColumns Number of columns in modules\n * @return Version for a Data Matrix Code of those dimensions\n * @throws FormatException if dimensions do correspond to a valid Data Matrix size\n */\n Version.getVersionForDimensions = function (numRows, numColumns) {\n var e_2, _a;\n if ((numRows & 0x01) !== 0 || (numColumns & 0x01) !== 0) {\n throw new FormatException();\n }\n try {\n for (var _b = __values(Version.VERSIONS), _c = _b.next(); !_c.done; _c = _b.next()) {\n var version = _c.value;\n if (version.symbolSizeRows === numRows && version.symbolSizeColumns === numColumns) {\n return version;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n throw new FormatException();\n };\n // @Override\n Version.prototype.toString = function () {\n return '' + this.versionNumber;\n };\n /**\n * See ISO 16022:2006 5.5.1 Table 7\n */\n Version.buildVersions = function () {\n return [\n new Version(1, 10, 10, 8, 8, new ECBlocks(5, new ECB(1, 3))),\n new Version(2, 12, 12, 10, 10, new ECBlocks(7, new ECB(1, 5))),\n new Version(3, 14, 14, 12, 12, new ECBlocks(10, new ECB(1, 8))),\n new Version(4, 16, 16, 14, 14, new ECBlocks(12, new ECB(1, 12))),\n new Version(5, 18, 18, 16, 16, new ECBlocks(14, new ECB(1, 18))),\n new Version(6, 20, 20, 18, 18, new ECBlocks(18, new ECB(1, 22))),\n new Version(7, 22, 22, 20, 20, new ECBlocks(20, new ECB(1, 30))),\n new Version(8, 24, 24, 22, 22, new ECBlocks(24, new ECB(1, 36))),\n new Version(9, 26, 26, 24, 24, new ECBlocks(28, new ECB(1, 44))),\n new Version(10, 32, 32, 14, 14, new ECBlocks(36, new ECB(1, 62))),\n new Version(11, 36, 36, 16, 16, new ECBlocks(42, new ECB(1, 86))),\n new Version(12, 40, 40, 18, 18, new ECBlocks(48, new ECB(1, 114))),\n new Version(13, 44, 44, 20, 20, new ECBlocks(56, new ECB(1, 144))),\n new Version(14, 48, 48, 22, 22, new ECBlocks(68, new ECB(1, 174))),\n new Version(15, 52, 52, 24, 24, new ECBlocks(42, new ECB(2, 102))),\n new Version(16, 64, 64, 14, 14, new ECBlocks(56, new ECB(2, 140))),\n new Version(17, 72, 72, 16, 16, new ECBlocks(36, new ECB(4, 92))),\n new Version(18, 80, 80, 18, 18, new ECBlocks(48, new ECB(4, 114))),\n new Version(19, 88, 88, 20, 20, new ECBlocks(56, new ECB(4, 144))),\n new Version(20, 96, 96, 22, 22, new ECBlocks(68, new ECB(4, 174))),\n new Version(21, 104, 104, 24, 24, new ECBlocks(56, new ECB(6, 136))),\n new Version(22, 120, 120, 18, 18, new ECBlocks(68, new ECB(6, 175))),\n new Version(23, 132, 132, 20, 20, new ECBlocks(62, new ECB(8, 163))),\n new Version(24, 144, 144, 22, 22, new ECBlocks(62, new ECB(8, 156), new ECB(2, 155))),\n new Version(25, 8, 18, 6, 16, new ECBlocks(7, new ECB(1, 5))),\n new Version(26, 8, 32, 6, 14, new ECBlocks(11, new ECB(1, 10))),\n new Version(27, 12, 26, 10, 24, new ECBlocks(14, new ECB(1, 16))),\n new Version(28, 12, 36, 10, 16, new ECBlocks(18, new ECB(1, 22))),\n new Version(29, 16, 36, 14, 16, new ECBlocks(24, new ECB(1, 32))),\n new Version(30, 16, 48, 14, 22, new ECBlocks(28, new ECB(1, 49)))\n ];\n };\n Version.VERSIONS = Version.buildVersions();\n return Version;\n}());\nexport default Version;\n","import BitMatrix from '../../common/BitMatrix';\nimport Version from './Version';\nimport FormatException from '../../FormatException';\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @author bbrown@google.com (Brian Brown)\n */\nvar BitMatrixParser = /** @class */ (function () {\n /**\n * @param bitMatrix {@link BitMatrix} to parse\n * @throws FormatException if dimension is < 8 or > 144 or not 0 mod 2\n */\n function BitMatrixParser(bitMatrix) {\n var dimension = bitMatrix.getHeight();\n if (dimension < 8 || dimension > 144 || (dimension & 0x01) !== 0) {\n throw new FormatException();\n }\n this.version = BitMatrixParser.readVersion(bitMatrix);\n this.mappingBitMatrix = this.extractDataRegion(bitMatrix);\n this.readMappingMatrix = new BitMatrix(this.mappingBitMatrix.getWidth(), this.mappingBitMatrix.getHeight());\n }\n BitMatrixParser.prototype.getVersion = function () {\n return this.version;\n };\n /**\n *

Creates the version object based on the dimension of the original bit matrix from\n * the datamatrix code.

\n *\n *

See ISO 16022:2006 Table 7 - ECC 200 symbol attributes

\n *\n * @param bitMatrix Original {@link BitMatrix} including alignment patterns\n * @return {@link Version} encapsulating the Data Matrix Code's \"version\"\n * @throws FormatException if the dimensions of the mapping matrix are not valid\n * Data Matrix dimensions.\n */\n BitMatrixParser.readVersion = function (bitMatrix) {\n var numRows = bitMatrix.getHeight();\n var numColumns = bitMatrix.getWidth();\n return Version.getVersionForDimensions(numRows, numColumns);\n };\n /**\n *

Reads the bits in the {@link BitMatrix} representing the mapping matrix (No alignment patterns)\n * in the correct order in order to reconstitute the codewords bytes contained within the\n * Data Matrix Code.

\n *\n * @return bytes encoded within the Data Matrix Code\n * @throws FormatException if the exact number of bytes expected is not read\n */\n BitMatrixParser.prototype.readCodewords = function () {\n var result = new Int8Array(this.version.getTotalCodewords());\n var resultOffset = 0;\n var row = 4;\n var column = 0;\n var numRows = this.mappingBitMatrix.getHeight();\n var numColumns = this.mappingBitMatrix.getWidth();\n var corner1Read = false;\n var corner2Read = false;\n var corner3Read = false;\n var corner4Read = false;\n // Read all of the codewords\n do {\n // Check the four corner cases\n if ((row === numRows) && (column === 0) && !corner1Read) {\n result[resultOffset++] = this.readCorner1(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner1Read = true;\n }\n else if ((row === numRows - 2) && (column === 0) && ((numColumns & 0x03) !== 0) && !corner2Read) {\n result[resultOffset++] = this.readCorner2(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner2Read = true;\n }\n else if ((row === numRows + 4) && (column === 2) && ((numColumns & 0x07) === 0) && !corner3Read) {\n result[resultOffset++] = this.readCorner3(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner3Read = true;\n }\n else if ((row === numRows - 2) && (column === 0) && ((numColumns & 0x07) === 4) && !corner4Read) {\n result[resultOffset++] = this.readCorner4(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner4Read = true;\n }\n else {\n // Sweep upward diagonally to the right\n do {\n if ((row < numRows) && (column >= 0) && !this.readMappingMatrix.get(column, row)) {\n result[resultOffset++] = this.readUtah(row, column, numRows, numColumns) & 0xff;\n }\n row -= 2;\n column += 2;\n } while ((row >= 0) && (column < numColumns));\n row += 1;\n column += 3;\n // Sweep downward diagonally to the left\n do {\n if ((row >= 0) && (column < numColumns) && !this.readMappingMatrix.get(column, row)) {\n result[resultOffset++] = this.readUtah(row, column, numRows, numColumns) & 0xff;\n }\n row += 2;\n column -= 2;\n } while ((row < numRows) && (column >= 0));\n row += 3;\n column += 1;\n }\n } while ((row < numRows) || (column < numColumns));\n if (resultOffset !== this.version.getTotalCodewords()) {\n throw new FormatException();\n }\n return result;\n };\n /**\n *

Reads a bit of the mapping matrix accounting for boundary wrapping.

\n *\n * @param row Row to read in the mapping matrix\n * @param column Column to read in the mapping matrix\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return value of the given bit in the mapping matrix\n */\n BitMatrixParser.prototype.readModule = function (row, column, numRows, numColumns) {\n // Adjust the row and column indices based on boundary wrapping\n if (row < 0) {\n row += numRows;\n column += 4 - ((numRows + 4) & 0x07);\n }\n if (column < 0) {\n column += numColumns;\n row += 4 - ((numColumns + 4) & 0x07);\n }\n this.readMappingMatrix.set(column, row);\n return this.mappingBitMatrix.get(column, row);\n };\n /**\n *

Reads the 8 bits of the standard Utah-shaped pattern.

\n *\n *

See ISO 16022:2006, 5.8.1 Figure 6

\n *\n * @param row Current row in the mapping matrix, anchored at the 8th bit (LSB) of the pattern\n * @param column Current column in the mapping matrix, anchored at the 8th bit (LSB) of the pattern\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the utah shape\n */\n BitMatrixParser.prototype.readUtah = function (row, column, numRows, numColumns) {\n var currentByte = 0;\n if (this.readModule(row - 2, column - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 2, column - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 1, column - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 1, column - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 1, column, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row, column - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row, column - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row, column, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n };\n /**\n *

Reads the 8 bits of the special corner condition 1.

\n *\n *

See ISO 16022:2006, Figure F.3

\n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 1\n */\n BitMatrixParser.prototype.readCorner1 = function (numRows, numColumns) {\n var currentByte = 0;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(2, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(3, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n };\n /**\n *

Reads the 8 bits of the special corner condition 2.

\n *\n *

See ISO 16022:2006, Figure F.4

\n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 2\n */\n BitMatrixParser.prototype.readCorner2 = function (numRows, numColumns) {\n var currentByte = 0;\n if (this.readModule(numRows - 3, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 2, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 4, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 3, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n };\n /**\n *

Reads the 8 bits of the special corner condition 3.

\n *\n *

See ISO 16022:2006, Figure F.5

\n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 3\n */\n BitMatrixParser.prototype.readCorner3 = function (numRows, numColumns) {\n var currentByte = 0;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 3, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 3, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n };\n /**\n *

Reads the 8 bits of the special corner condition 4.

\n *\n *

See ISO 16022:2006, Figure F.6

\n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 4\n */\n BitMatrixParser.prototype.readCorner4 = function (numRows, numColumns) {\n var currentByte = 0;\n if (this.readModule(numRows - 3, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 2, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(2, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(3, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n };\n /**\n *

Extracts the data region from a {@link BitMatrix} that contains\n * alignment patterns.

\n *\n * @param bitMatrix Original {@link BitMatrix} with alignment patterns\n * @return BitMatrix that has the alignment patterns removed\n */\n BitMatrixParser.prototype.extractDataRegion = function (bitMatrix) {\n var symbolSizeRows = this.version.getSymbolSizeRows();\n var symbolSizeColumns = this.version.getSymbolSizeColumns();\n if (bitMatrix.getHeight() !== symbolSizeRows) {\n throw new IllegalArgumentException('Dimension of bitMatrix must match the version size');\n }\n var dataRegionSizeRows = this.version.getDataRegionSizeRows();\n var dataRegionSizeColumns = this.version.getDataRegionSizeColumns();\n var numDataRegionsRow = symbolSizeRows / dataRegionSizeRows | 0;\n var numDataRegionsColumn = symbolSizeColumns / dataRegionSizeColumns | 0;\n var sizeDataRegionRow = numDataRegionsRow * dataRegionSizeRows;\n var sizeDataRegionColumn = numDataRegionsColumn * dataRegionSizeColumns;\n var bitMatrixWithoutAlignment = new BitMatrix(sizeDataRegionColumn, sizeDataRegionRow);\n for (var dataRegionRow = 0; dataRegionRow < numDataRegionsRow; ++dataRegionRow) {\n var dataRegionRowOffset = dataRegionRow * dataRegionSizeRows;\n for (var dataRegionColumn = 0; dataRegionColumn < numDataRegionsColumn; ++dataRegionColumn) {\n var dataRegionColumnOffset = dataRegionColumn * dataRegionSizeColumns;\n for (var i = 0; i < dataRegionSizeRows; ++i) {\n var readRowOffset = dataRegionRow * (dataRegionSizeRows + 2) + 1 + i;\n var writeRowOffset = dataRegionRowOffset + i;\n for (var j = 0; j < dataRegionSizeColumns; ++j) {\n var readColumnOffset = dataRegionColumn * (dataRegionSizeColumns + 2) + 1 + j;\n if (bitMatrix.get(readColumnOffset, readRowOffset)) {\n var writeColumnOffset = dataRegionColumnOffset + j;\n bitMatrixWithoutAlignment.set(writeColumnOffset, writeRowOffset);\n }\n }\n }\n }\n }\n return bitMatrixWithoutAlignment;\n };\n return BitMatrixParser;\n}());\nexport default BitMatrixParser;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n *

Encapsulates a block of data within a Data Matrix Code. Data Matrix Codes may split their data into\n * multiple blocks, each of which is a unit of data and error-correction codewords. Each\n * is represented by an instance of this class.

\n *\n * @author bbrown@google.com (Brian Brown)\n */\nvar DataBlock = /** @class */ (function () {\n function DataBlock(numDataCodewords, codewords) {\n this.numDataCodewords = numDataCodewords;\n this.codewords = codewords;\n }\n /**\n *

When Data Matrix Codes use multiple data blocks, they actually interleave the bytes of each of them.\n * That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This\n * method will separate the data into original blocks.

\n *\n * @param rawCodewords bytes as read directly from the Data Matrix Code\n * @param version version of the Data Matrix Code\n * @return DataBlocks containing original bytes, \"de-interleaved\" from representation in the\n * Data Matrix Code\n */\n DataBlock.getDataBlocks = function (rawCodewords, version) {\n var e_1, _a, e_2, _b;\n // Figure out the number and size of data blocks used by this version\n var ecBlocks = version.getECBlocks();\n // First count the total number of data blocks\n var totalBlocks = 0;\n var ecBlockArray = ecBlocks.getECBlocks();\n try {\n for (var ecBlockArray_1 = __values(ecBlockArray), ecBlockArray_1_1 = ecBlockArray_1.next(); !ecBlockArray_1_1.done; ecBlockArray_1_1 = ecBlockArray_1.next()) {\n var ecBlock = ecBlockArray_1_1.value;\n totalBlocks += ecBlock.getCount();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (ecBlockArray_1_1 && !ecBlockArray_1_1.done && (_a = ecBlockArray_1.return)) _a.call(ecBlockArray_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // Now establish DataBlocks of the appropriate size and number of data codewords\n var result = new Array(totalBlocks);\n var numResultBlocks = 0;\n try {\n for (var ecBlockArray_2 = __values(ecBlockArray), ecBlockArray_2_1 = ecBlockArray_2.next(); !ecBlockArray_2_1.done; ecBlockArray_2_1 = ecBlockArray_2.next()) {\n var ecBlock = ecBlockArray_2_1.value;\n for (var i = 0; i < ecBlock.getCount(); i++) {\n var numDataCodewords = ecBlock.getDataCodewords();\n var numBlockCodewords = ecBlocks.getECCodewords() + numDataCodewords;\n result[numResultBlocks++] = new DataBlock(numDataCodewords, new Uint8Array(numBlockCodewords));\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (ecBlockArray_2_1 && !ecBlockArray_2_1.done && (_b = ecBlockArray_2.return)) _b.call(ecBlockArray_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // All blocks have the same amount of data, except that the last n\n // (where n may be 0) have 1 less byte. Figure out where these start.\n // TODO(bbrown): There is only one case where there is a difference for Data Matrix for size 144\n var longerBlocksTotalCodewords = result[0].codewords.length;\n // int shorterBlocksTotalCodewords = longerBlocksTotalCodewords - 1;\n var longerBlocksNumDataCodewords = longerBlocksTotalCodewords - ecBlocks.getECCodewords();\n var shorterBlocksNumDataCodewords = longerBlocksNumDataCodewords - 1;\n // The last elements of result may be 1 element shorter for 144 matrix\n // first fill out as many elements as all of them have minus 1\n var rawCodewordsOffset = 0;\n for (var i = 0; i < shorterBlocksNumDataCodewords; i++) {\n for (var j = 0; j < numResultBlocks; j++) {\n result[j].codewords[i] = rawCodewords[rawCodewordsOffset++];\n }\n }\n // Fill out the last data block in the longer ones\n var specialVersion = version.getVersionNumber() === 24;\n var numLongerBlocks = specialVersion ? 8 : numResultBlocks;\n for (var j = 0; j < numLongerBlocks; j++) {\n result[j].codewords[longerBlocksNumDataCodewords - 1] = rawCodewords[rawCodewordsOffset++];\n }\n // Now add in error correction blocks\n var max = result[0].codewords.length;\n for (var i = longerBlocksNumDataCodewords; i < max; i++) {\n for (var j = 0; j < numResultBlocks; j++) {\n var jOffset = specialVersion ? (j + 8) % numResultBlocks : j;\n var iOffset = specialVersion && jOffset > 7 ? i - 1 : i;\n result[jOffset].codewords[iOffset] = rawCodewords[rawCodewordsOffset++];\n }\n }\n if (rawCodewordsOffset !== rawCodewords.length) {\n throw new IllegalArgumentException();\n }\n return result;\n };\n DataBlock.prototype.getNumDataCodewords = function () {\n return this.numDataCodewords;\n };\n DataBlock.prototype.getCodewords = function () {\n return this.codewords;\n };\n return DataBlock;\n}());\nexport default DataBlock;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common {*/\nimport IllegalArgumentException from '../IllegalArgumentException';\n/**\n *

This provides an easy abstraction to read bits at a time from a sequence of bytes, where the\n * number of bits read is not often a multiple of 8.

\n *\n *

This class is thread-safe but not reentrant -- unless the caller modifies the bytes array\n * it passed in, in which case all bets are off.

\n *\n * @author Sean Owen\n */\nvar BitSource = /** @class */ (function () {\n /**\n * @param bytes bytes from which this will read bits. Bits will be read from the first byte first.\n * Bits are read within a byte from most-significant to least-significant bit.\n */\n function BitSource(bytes) {\n this.bytes = bytes;\n this.byteOffset = 0;\n this.bitOffset = 0;\n }\n /**\n * @return index of next bit in current byte which would be read by the next call to {@link #readBits(int)}.\n */\n BitSource.prototype.getBitOffset = function () {\n return this.bitOffset;\n };\n /**\n * @return index of next byte in input byte array which would be read by the next call to {@link #readBits(int)}.\n */\n BitSource.prototype.getByteOffset = function () {\n return this.byteOffset;\n };\n /**\n * @param numBits number of bits to read\n * @return int representing the bits read. The bits will appear as the least-significant\n * bits of the int\n * @throws IllegalArgumentException if numBits isn't in [1,32] or more than is available\n */\n BitSource.prototype.readBits = function (numBits /*int*/) {\n if (numBits < 1 || numBits > 32 || numBits > this.available()) {\n throw new IllegalArgumentException('' + numBits);\n }\n var result = 0;\n var bitOffset = this.bitOffset;\n var byteOffset = this.byteOffset;\n var bytes = this.bytes;\n // First, read remainder from current byte\n if (bitOffset > 0) {\n var bitsLeft = 8 - bitOffset;\n var toRead = numBits < bitsLeft ? numBits : bitsLeft;\n var bitsToNotRead = bitsLeft - toRead;\n var mask = (0xFF >> (8 - toRead)) << bitsToNotRead;\n result = (bytes[byteOffset] & mask) >> bitsToNotRead;\n numBits -= toRead;\n bitOffset += toRead;\n if (bitOffset === 8) {\n bitOffset = 0;\n byteOffset++;\n }\n }\n // Next read whole bytes\n if (numBits > 0) {\n while (numBits >= 8) {\n result = (result << 8) | (bytes[byteOffset] & 0xFF);\n byteOffset++;\n numBits -= 8;\n }\n // Finally read a partial byte\n if (numBits > 0) {\n var bitsToNotRead = 8 - numBits;\n var mask = (0xFF >> bitsToNotRead) << bitsToNotRead;\n result = (result << numBits) | ((bytes[byteOffset] & mask) >> bitsToNotRead);\n bitOffset += numBits;\n }\n }\n this.bitOffset = bitOffset;\n this.byteOffset = byteOffset;\n return result;\n };\n /**\n * @return number of bits that can be read successfully\n */\n BitSource.prototype.available = function () {\n return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset;\n };\n return BitSource;\n}());\nexport default BitSource;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.qrcode.decoder {*/\nimport ArgumentException from '../../ArgumentException';\nimport IllegalArgumentException from '../../IllegalArgumentException';\nexport var ErrorCorrectionLevelValues;\n(function (ErrorCorrectionLevelValues) {\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"L\"] = 0] = \"L\";\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"M\"] = 1] = \"M\";\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"Q\"] = 2] = \"Q\";\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"H\"] = 3] = \"H\";\n})(ErrorCorrectionLevelValues || (ErrorCorrectionLevelValues = {}));\n/**\n *

See ISO 18004:2006, 6.5.1. This enum encapsulates the four error correction levels\n * defined by the QR code standard.

\n *\n * @author Sean Owen\n */\nvar ErrorCorrectionLevel = /** @class */ (function () {\n function ErrorCorrectionLevel(value, stringValue, bits /*int*/) {\n this.value = value;\n this.stringValue = stringValue;\n this.bits = bits;\n ErrorCorrectionLevel.FOR_BITS.set(bits, this);\n ErrorCorrectionLevel.FOR_VALUE.set(value, this);\n }\n ErrorCorrectionLevel.prototype.getValue = function () {\n return this.value;\n };\n ErrorCorrectionLevel.prototype.getBits = function () {\n return this.bits;\n };\n ErrorCorrectionLevel.fromString = function (s) {\n switch (s) {\n case 'L': return ErrorCorrectionLevel.L;\n case 'M': return ErrorCorrectionLevel.M;\n case 'Q': return ErrorCorrectionLevel.Q;\n case 'H': return ErrorCorrectionLevel.H;\n default: throw new ArgumentException(s + 'not available');\n }\n };\n ErrorCorrectionLevel.prototype.toString = function () {\n return this.stringValue;\n };\n ErrorCorrectionLevel.prototype.equals = function (o) {\n if (!(o instanceof ErrorCorrectionLevel)) {\n return false;\n }\n var other = o;\n return this.value === other.value;\n };\n /**\n * @param bits int containing the two bits encoding a QR Code's error correction level\n * @return ErrorCorrectionLevel representing the encoded error correction level\n */\n ErrorCorrectionLevel.forBits = function (bits /*int*/) {\n if (bits < 0 || bits >= ErrorCorrectionLevel.FOR_BITS.size) {\n throw new IllegalArgumentException();\n }\n return ErrorCorrectionLevel.FOR_BITS.get(bits);\n };\n ErrorCorrectionLevel.FOR_BITS = new Map();\n ErrorCorrectionLevel.FOR_VALUE = new Map();\n /** L = ~7% correction */\n ErrorCorrectionLevel.L = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.L, 'L', 0x01);\n /** M = ~15% correction */\n ErrorCorrectionLevel.M = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.M, 'M', 0x00);\n /** Q = ~25% correction */\n ErrorCorrectionLevel.Q = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.Q, 'Q', 0x03);\n /** H = ~30% correction */\n ErrorCorrectionLevel.H = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.H, 'H', 0x02);\n return ErrorCorrectionLevel;\n}());\nexport default ErrorCorrectionLevel;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport ChecksumException from '../../ChecksumException';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport ReedSolomonDecoder from '../../common/reedsolomon/ReedSolomonDecoder';\nimport BitMatrixParser from './BitMatrixParser';\nimport DataBlock from './DataBlock';\nimport DecodedBitStreamParser from './DecodedBitStreamParser';\n/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n *

The main class which implements Data Matrix Code decoding -- as opposed to locating and extracting\n * the Data Matrix Code from an image.

\n *\n * @author bbrown@google.com (Brian Brown)\n */\nvar Decoder = /** @class */ (function () {\n function Decoder() {\n this.rsDecoder = new ReedSolomonDecoder(GenericGF.DATA_MATRIX_FIELD_256);\n }\n /**\n *

Decodes a Data Matrix Code represented as a {@link BitMatrix}. A 1 or \"true\" is taken\n * to mean a black module.

\n *\n * @param bits booleans representing white/black Data Matrix Code modules\n * @return text and bytes encoded within the Data Matrix Code\n * @throws FormatException if the Data Matrix Code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n Decoder.prototype.decode = function (bits) {\n var e_1, _a;\n // Construct a parser and read version, error-correction level\n var parser = new BitMatrixParser(bits);\n var version = parser.getVersion();\n // Read codewords\n var codewords = parser.readCodewords();\n // Separate into data blocks\n var dataBlocks = DataBlock.getDataBlocks(codewords, version);\n // Count total number of data bytes\n var totalBytes = 0;\n try {\n for (var dataBlocks_1 = __values(dataBlocks), dataBlocks_1_1 = dataBlocks_1.next(); !dataBlocks_1_1.done; dataBlocks_1_1 = dataBlocks_1.next()) {\n var db = dataBlocks_1_1.value;\n totalBytes += db.getNumDataCodewords();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (dataBlocks_1_1 && !dataBlocks_1_1.done && (_a = dataBlocks_1.return)) _a.call(dataBlocks_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var resultBytes = new Uint8Array(totalBytes);\n var dataBlocksCount = dataBlocks.length;\n // Error-correct and copy data blocks together into a stream of bytes\n for (var j = 0; j < dataBlocksCount; j++) {\n var dataBlock = dataBlocks[j];\n var codewordBytes = dataBlock.getCodewords();\n var numDataCodewords = dataBlock.getNumDataCodewords();\n this.correctErrors(codewordBytes, numDataCodewords);\n for (var i = 0; i < numDataCodewords; i++) {\n // De-interlace data blocks.\n resultBytes[i * dataBlocksCount + j] = codewordBytes[i];\n }\n }\n // Decode the contents of that stream of bytes\n return DecodedBitStreamParser.decode(resultBytes);\n };\n /**\n *

Given data and error-correction codewords received, possibly corrupted by errors, attempts to\n * correct the errors in-place using Reed-Solomon error correction.

\n *\n * @param codewordBytes data and error correction codewords\n * @param numDataCodewords number of codewords that are data bytes\n * @throws ChecksumException if error correction fails\n */\n Decoder.prototype.correctErrors = function (codewordBytes, numDataCodewords) {\n // const numCodewords = codewordBytes.length;\n // First read into an array of ints\n var codewordsInts = new Int32Array(codewordBytes);\n // for (let i = 0; i < numCodewords; i++) {\n // codewordsInts[i] = codewordBytes[i] & 0xFF;\n // }\n try {\n this.rsDecoder.decode(codewordsInts, codewordBytes.length - numDataCodewords);\n }\n catch (ignored /* ReedSolomonException */) {\n throw new ChecksumException();\n }\n // Copy back into array of bytes -- only need to worry about the bytes that were data\n // We don't care about errors in the error-correction codewords\n for (var i = 0; i < numDataCodewords; i++) {\n codewordBytes[i] = codewordsInts[i];\n }\n };\n return Decoder;\n}());\nexport default Decoder;\n","import WhiteRectangleDetector from '../../common/detector/WhiteRectangleDetector';\nimport DetectorResult from '../../common/DetectorResult';\nimport GridSamplerInstance from '../../common/GridSamplerInstance';\nimport NotFoundException from '../../NotFoundException';\nimport ResultPoint from '../../ResultPoint';\n/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n *

Encapsulates logic that can detect a Data Matrix Code in an image, even if the Data Matrix Code\n * is rotated or skewed, or partially obscured.

\n *\n * @author Sean Owen\n */\nvar Detector = /** @class */ (function () {\n function Detector(image) {\n this.image = image;\n this.rectangleDetector = new WhiteRectangleDetector(this.image);\n }\n /**\n *

Detects a Data Matrix Code in an image.

\n *\n * @return {@link DetectorResult} encapsulating results of detecting a Data Matrix Code\n * @throws NotFoundException if no Data Matrix Code can be found\n */\n Detector.prototype.detect = function () {\n var cornerPoints = this.rectangleDetector.detect();\n var points = this.detectSolid1(cornerPoints);\n points = this.detectSolid2(points);\n points[3] = this.correctTopRight(points);\n if (!points[3]) {\n throw new NotFoundException();\n }\n points = this.shiftToModuleCenter(points);\n var topLeft = points[0];\n var bottomLeft = points[1];\n var bottomRight = points[2];\n var topRight = points[3];\n var dimensionTop = this.transitionsBetween(topLeft, topRight) + 1;\n var dimensionRight = this.transitionsBetween(bottomRight, topRight) + 1;\n if ((dimensionTop & 0x01) === 1) {\n dimensionTop += 1;\n }\n if ((dimensionRight & 0x01) === 1) {\n dimensionRight += 1;\n }\n if (4 * dimensionTop < 7 * dimensionRight && 4 * dimensionRight < 7 * dimensionTop) {\n // The matrix is square\n dimensionTop = dimensionRight = Math.max(dimensionTop, dimensionRight);\n }\n var bits = Detector.sampleGrid(this.image, topLeft, bottomLeft, bottomRight, topRight, dimensionTop, dimensionRight);\n return new DetectorResult(bits, [topLeft, bottomLeft, bottomRight, topRight]);\n };\n Detector.shiftPoint = function (point, to, div) {\n var x = (to.getX() - point.getX()) / (div + 1);\n var y = (to.getY() - point.getY()) / (div + 1);\n return new ResultPoint(point.getX() + x, point.getY() + y);\n };\n Detector.moveAway = function (point, fromX, fromY) {\n var x = point.getX();\n var y = point.getY();\n if (x < fromX) {\n x -= 1;\n }\n else {\n x += 1;\n }\n if (y < fromY) {\n y -= 1;\n }\n else {\n y += 1;\n }\n return new ResultPoint(x, y);\n };\n /**\n * Detect a solid side which has minimum transition.\n */\n Detector.prototype.detectSolid1 = function (cornerPoints) {\n // 0 2\n // 1 3\n var pointA = cornerPoints[0];\n var pointB = cornerPoints[1];\n var pointC = cornerPoints[3];\n var pointD = cornerPoints[2];\n var trAB = this.transitionsBetween(pointA, pointB);\n var trBC = this.transitionsBetween(pointB, pointC);\n var trCD = this.transitionsBetween(pointC, pointD);\n var trDA = this.transitionsBetween(pointD, pointA);\n // 0..3\n // : :\n // 1--2\n var min = trAB;\n var points = [pointD, pointA, pointB, pointC];\n if (min > trBC) {\n min = trBC;\n points[0] = pointA;\n points[1] = pointB;\n points[2] = pointC;\n points[3] = pointD;\n }\n if (min > trCD) {\n min = trCD;\n points[0] = pointB;\n points[1] = pointC;\n points[2] = pointD;\n points[3] = pointA;\n }\n if (min > trDA) {\n points[0] = pointC;\n points[1] = pointD;\n points[2] = pointA;\n points[3] = pointB;\n }\n return points;\n };\n /**\n * Detect a second solid side next to first solid side.\n */\n Detector.prototype.detectSolid2 = function (points) {\n // A..D\n // : :\n // B--C\n var pointA = points[0];\n var pointB = points[1];\n var pointC = points[2];\n var pointD = points[3];\n // Transition detection on the edge is not stable.\n // To safely detect, shift the points to the module center.\n var tr = this.transitionsBetween(pointA, pointD);\n var pointBs = Detector.shiftPoint(pointB, pointC, (tr + 1) * 4);\n var pointCs = Detector.shiftPoint(pointC, pointB, (tr + 1) * 4);\n var trBA = this.transitionsBetween(pointBs, pointA);\n var trCD = this.transitionsBetween(pointCs, pointD);\n // 0..3\n // | :\n // 1--2\n if (trBA < trCD) {\n // solid sides: A-B-C\n points[0] = pointA;\n points[1] = pointB;\n points[2] = pointC;\n points[3] = pointD;\n }\n else {\n // solid sides: B-C-D\n points[0] = pointB;\n points[1] = pointC;\n points[2] = pointD;\n points[3] = pointA;\n }\n return points;\n };\n /**\n * Calculates the corner position of the white top right module.\n */\n Detector.prototype.correctTopRight = function (points) {\n // A..D\n // | :\n // B--C\n var pointA = points[0];\n var pointB = points[1];\n var pointC = points[2];\n var pointD = points[3];\n // shift points for safe transition detection.\n var trTop = this.transitionsBetween(pointA, pointD);\n var trRight = this.transitionsBetween(pointB, pointD);\n var pointAs = Detector.shiftPoint(pointA, pointB, (trRight + 1) * 4);\n var pointCs = Detector.shiftPoint(pointC, pointB, (trTop + 1) * 4);\n trTop = this.transitionsBetween(pointAs, pointD);\n trRight = this.transitionsBetween(pointCs, pointD);\n var candidate1 = new ResultPoint(pointD.getX() + (pointC.getX() - pointB.getX()) / (trTop + 1), pointD.getY() + (pointC.getY() - pointB.getY()) / (trTop + 1));\n var candidate2 = new ResultPoint(pointD.getX() + (pointA.getX() - pointB.getX()) / (trRight + 1), pointD.getY() + (pointA.getY() - pointB.getY()) / (trRight + 1));\n if (!this.isValid(candidate1)) {\n if (this.isValid(candidate2)) {\n return candidate2;\n }\n return null;\n }\n if (!this.isValid(candidate2)) {\n return candidate1;\n }\n var sumc1 = this.transitionsBetween(pointAs, candidate1) + this.transitionsBetween(pointCs, candidate1);\n var sumc2 = this.transitionsBetween(pointAs, candidate2) + this.transitionsBetween(pointCs, candidate2);\n if (sumc1 > sumc2) {\n return candidate1;\n }\n else {\n return candidate2;\n }\n };\n /**\n * Shift the edge points to the module center.\n */\n Detector.prototype.shiftToModuleCenter = function (points) {\n // A..D\n // | :\n // B--C\n var pointA = points[0];\n var pointB = points[1];\n var pointC = points[2];\n var pointD = points[3];\n // calculate pseudo dimensions\n var dimH = this.transitionsBetween(pointA, pointD) + 1;\n var dimV = this.transitionsBetween(pointC, pointD) + 1;\n // shift points for safe dimension detection\n var pointAs = Detector.shiftPoint(pointA, pointB, dimV * 4);\n var pointCs = Detector.shiftPoint(pointC, pointB, dimH * 4);\n // calculate more precise dimensions\n dimH = this.transitionsBetween(pointAs, pointD) + 1;\n dimV = this.transitionsBetween(pointCs, pointD) + 1;\n if ((dimH & 0x01) === 1) {\n dimH += 1;\n }\n if ((dimV & 0x01) === 1) {\n dimV += 1;\n }\n // WhiteRectangleDetector returns points inside of the rectangle.\n // I want points on the edges.\n var centerX = (pointA.getX() + pointB.getX() + pointC.getX() + pointD.getX()) / 4;\n var centerY = (pointA.getY() + pointB.getY() + pointC.getY() + pointD.getY()) / 4;\n pointA = Detector.moveAway(pointA, centerX, centerY);\n pointB = Detector.moveAway(pointB, centerX, centerY);\n pointC = Detector.moveAway(pointC, centerX, centerY);\n pointD = Detector.moveAway(pointD, centerX, centerY);\n var pointBs;\n var pointDs;\n // shift points to the center of each modules\n pointAs = Detector.shiftPoint(pointA, pointB, dimV * 4);\n pointAs = Detector.shiftPoint(pointAs, pointD, dimH * 4);\n pointBs = Detector.shiftPoint(pointB, pointA, dimV * 4);\n pointBs = Detector.shiftPoint(pointBs, pointC, dimH * 4);\n pointCs = Detector.shiftPoint(pointC, pointD, dimV * 4);\n pointCs = Detector.shiftPoint(pointCs, pointB, dimH * 4);\n pointDs = Detector.shiftPoint(pointD, pointC, dimV * 4);\n pointDs = Detector.shiftPoint(pointDs, pointA, dimH * 4);\n return [pointAs, pointBs, pointCs, pointDs];\n };\n Detector.prototype.isValid = function (p) {\n return p.getX() >= 0 && p.getX() < this.image.getWidth() && p.getY() > 0 && p.getY() < this.image.getHeight();\n };\n Detector.sampleGrid = function (image, topLeft, bottomLeft, bottomRight, topRight, dimensionX, dimensionY) {\n var sampler = GridSamplerInstance.getInstance();\n return sampler.sampleGrid(image, dimensionX, dimensionY, 0.5, 0.5, dimensionX - 0.5, 0.5, dimensionX - 0.5, dimensionY - 0.5, 0.5, dimensionY - 0.5, topLeft.getX(), topLeft.getY(), topRight.getX(), topRight.getY(), bottomRight.getX(), bottomRight.getY(), bottomLeft.getX(), bottomLeft.getY());\n };\n /**\n * Counts the number of black/white transitions between two points, using something like Bresenham's algorithm.\n */\n Detector.prototype.transitionsBetween = function (from, to) {\n // See QR Code Detector, sizeOfBlackWhiteBlackRun()\n var fromX = Math.trunc(from.getX());\n var fromY = Math.trunc(from.getY());\n var toX = Math.trunc(to.getX());\n var toY = Math.trunc(to.getY());\n var steep = Math.abs(toY - fromY) > Math.abs(toX - fromX);\n if (steep) {\n var temp = fromX;\n fromX = fromY;\n fromY = temp;\n temp = toX;\n toX = toY;\n toY = temp;\n }\n var dx = Math.abs(toX - fromX);\n var dy = Math.abs(toY - fromY);\n var error = -dx / 2;\n var ystep = fromY < toY ? 1 : -1;\n var xstep = fromX < toX ? 1 : -1;\n var transitions = 0;\n var inBlack = this.image.get(steep ? fromY : fromX, steep ? fromX : fromY);\n for (var x = fromX, y = fromY; x !== toX; x += xstep) {\n var isBlack = this.image.get(steep ? y : x, steep ? x : y);\n if (isBlack !== inBlack) {\n transitions++;\n inBlack = isBlack;\n }\n error += dy;\n if (error > 0) {\n if (y === toY) {\n break;\n }\n y += ystep;\n error -= dx;\n }\n }\n return transitions;\n };\n return Detector;\n}());\nexport default Detector;\n","import BarcodeFormat from '../BarcodeFormat';\nimport BitMatrix from '../common/BitMatrix';\nimport DecodeHintType from '../DecodeHintType';\nimport NotFoundException from '../NotFoundException';\nimport Result from '../Result';\nimport ResultMetadataType from '../ResultMetadataType';\nimport System from '../util/System';\nimport Decoder from './decoder/Decoder';\nimport Detector from './detector/Detector';\n/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * This implementation can detect and decode Data Matrix codes in an image.\n *\n * @author bbrown@google.com (Brian Brown)\n */\nvar DataMatrixReader = /** @class */ (function () {\n function DataMatrixReader() {\n this.decoder = new Decoder();\n }\n /**\n * Locates and decodes a Data Matrix code in an image.\n *\n * @return a String representing the content encoded by the Data Matrix code\n * @throws NotFoundException if a Data Matrix code cannot be found\n * @throws FormatException if a Data Matrix code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n // @Override\n // public Result decode(BinaryBitmap image) throws NotFoundException, ChecksumException, FormatException {\n // return decode(image, null);\n // }\n // @Override\n DataMatrixReader.prototype.decode = function (image, hints) {\n if (hints === void 0) { hints = null; }\n var decoderResult;\n var points;\n if (hints != null && hints.has(DecodeHintType.PURE_BARCODE)) {\n var bits = DataMatrixReader.extractPureBits(image.getBlackMatrix());\n decoderResult = this.decoder.decode(bits);\n points = DataMatrixReader.NO_POINTS;\n }\n else {\n var detectorResult = new Detector(image.getBlackMatrix()).detect();\n decoderResult = this.decoder.decode(detectorResult.getBits());\n points = detectorResult.getPoints();\n }\n var rawBytes = decoderResult.getRawBytes();\n var result = new Result(decoderResult.getText(), rawBytes, 8 * rawBytes.length, points, BarcodeFormat.DATA_MATRIX, System.currentTimeMillis());\n var byteSegments = decoderResult.getByteSegments();\n if (byteSegments != null) {\n result.putMetadata(ResultMetadataType.BYTE_SEGMENTS, byteSegments);\n }\n var ecLevel = decoderResult.getECLevel();\n if (ecLevel != null) {\n result.putMetadata(ResultMetadataType.ERROR_CORRECTION_LEVEL, ecLevel);\n }\n return result;\n };\n // @Override\n DataMatrixReader.prototype.reset = function () {\n // do nothing\n };\n /**\n * This method detects a code in a \"pure\" image -- that is, pure monochrome image\n * which contains only an unrotated, unskewed, image of a code, with some white border\n * around it. This is a specialized method that works exceptionally fast in this special\n * case.\n *\n * @see com.google.zxing.qrcode.QRCodeReader#extractPureBits(BitMatrix)\n */\n DataMatrixReader.extractPureBits = function (image) {\n var leftTopBlack = image.getTopLeftOnBit();\n var rightBottomBlack = image.getBottomRightOnBit();\n if (leftTopBlack == null || rightBottomBlack == null) {\n throw new NotFoundException();\n }\n var moduleSize = this.moduleSize(leftTopBlack, image);\n var top = leftTopBlack[1];\n var bottom = rightBottomBlack[1];\n var left = leftTopBlack[0];\n var right = rightBottomBlack[0];\n var matrixWidth = (right - left + 1) / moduleSize;\n var matrixHeight = (bottom - top + 1) / moduleSize;\n if (matrixWidth <= 0 || matrixHeight <= 0) {\n throw new NotFoundException();\n }\n // Push in the \"border\" by half the module width so that we start\n // sampling in the middle of the module. Just in case the image is a\n // little off, this will help recover.\n var nudge = moduleSize / 2;\n top += nudge;\n left += nudge;\n // Now just read off the bits\n var bits = new BitMatrix(matrixWidth, matrixHeight);\n for (var y = 0; y < matrixHeight; y++) {\n var iOffset = top + y * moduleSize;\n for (var x = 0; x < matrixWidth; x++) {\n if (image.get(left + x * moduleSize, iOffset)) {\n bits.set(x, y);\n }\n }\n }\n return bits;\n };\n DataMatrixReader.moduleSize = function (leftTopBlack, image) {\n var width = image.getWidth();\n var x = leftTopBlack[0];\n var y = leftTopBlack[1];\n while (x < width && image.get(x, y)) {\n x++;\n }\n if (x === width) {\n throw new NotFoundException();\n }\n var moduleSize = x - leftTopBlack[0];\n if (moduleSize === 0) {\n throw new NotFoundException();\n }\n return moduleSize;\n };\n DataMatrixReader.NO_POINTS = [];\n return DataMatrixReader;\n}());\nexport default DataMatrixReader;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BrowserCodeReader } from './BrowserCodeReader';\nimport DataMatrixReader from '../core/datamatrix/DataMatrixReader';\n/**\n * @deprecated Moving to @zxing/browser\n *\n * QR Code reader to use from browser.\n */\nvar BrowserDatamatrixCodeReader = /** @class */ (function (_super) {\n __extends(BrowserDatamatrixCodeReader, _super);\n /**\n * Creates an instance of BrowserQRCodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n */\n function BrowserDatamatrixCodeReader(timeBetweenScansMillis) {\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n return _super.call(this, new DataMatrixReader(), timeBetweenScansMillis) || this;\n }\n return BrowserDatamatrixCodeReader;\n}(BrowserCodeReader));\nexport { BrowserDatamatrixCodeReader };\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport var DataMaskValues;\n(function (DataMaskValues) {\n DataMaskValues[DataMaskValues[\"DATA_MASK_000\"] = 0] = \"DATA_MASK_000\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_001\"] = 1] = \"DATA_MASK_001\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_010\"] = 2] = \"DATA_MASK_010\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_011\"] = 3] = \"DATA_MASK_011\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_100\"] = 4] = \"DATA_MASK_100\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_101\"] = 5] = \"DATA_MASK_101\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_110\"] = 6] = \"DATA_MASK_110\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_111\"] = 7] = \"DATA_MASK_111\";\n})(DataMaskValues || (DataMaskValues = {}));\n/**\n *

Encapsulates data masks for the data bits in a QR code, per ISO 18004:2006 6.8. Implementations\n * of this class can un-mask a raw BitMatrix. For simplicity, they will unmask the entire BitMatrix,\n * including areas used for finder patterns, timing patterns, etc. These areas should be unused\n * after the point they are unmasked anyway.

\n *\n *

Note that the diagram in section 6.8.1 is misleading since it indicates that i is column position\n * and j is row position. In fact, as the text says, i is row position and j is column position.

\n *\n * @author Sean Owen\n */\nvar DataMask = /** @class */ (function () {\n // See ISO 18004:2006 6.8.1\n function DataMask(value, isMasked) {\n this.value = value;\n this.isMasked = isMasked;\n }\n // End of enum constants.\n /**\n *

Implementations of this method reverse the data masking process applied to a QR Code and\n * make its bits ready to read.

\n *\n * @param bits representation of QR Code bits\n * @param dimension dimension of QR Code, represented by bits, being unmasked\n */\n DataMask.prototype.unmaskBitMatrix = function (bits, dimension /*int*/) {\n for (var i = 0; i < dimension; i++) {\n for (var j = 0; j < dimension; j++) {\n if (this.isMasked(i, j)) {\n bits.flip(j, i);\n }\n }\n }\n };\n DataMask.values = new Map([\n /**\n * 000: mask bits for which (x + y) mod 2 == 0\n */\n [DataMaskValues.DATA_MASK_000, new DataMask(DataMaskValues.DATA_MASK_000, function (i /*int*/, j /*int*/) { return ((i + j) & 0x01) === 0; })],\n /**\n * 001: mask bits for which x mod 2 == 0\n */\n [DataMaskValues.DATA_MASK_001, new DataMask(DataMaskValues.DATA_MASK_001, function (i /*int*/, j /*int*/) { return (i & 0x01) === 0; })],\n /**\n * 010: mask bits for which y mod 3 == 0\n */\n [DataMaskValues.DATA_MASK_010, new DataMask(DataMaskValues.DATA_MASK_010, function (i /*int*/, j /*int*/) { return j % 3 === 0; })],\n /**\n * 011: mask bits for which (x + y) mod 3 == 0\n */\n [DataMaskValues.DATA_MASK_011, new DataMask(DataMaskValues.DATA_MASK_011, function (i /*int*/, j /*int*/) { return (i + j) % 3 === 0; })],\n /**\n * 100: mask bits for which (x/2 + y/3) mod 2 == 0\n */\n [DataMaskValues.DATA_MASK_100, new DataMask(DataMaskValues.DATA_MASK_100, function (i /*int*/, j /*int*/) { return ((Math.floor(i / 2) + Math.floor(j / 3)) & 0x01) === 0; })],\n /**\n * 101: mask bits for which xy mod 2 + xy mod 3 == 0\n * equivalently, such that xy mod 6 == 0\n */\n [DataMaskValues.DATA_MASK_101, new DataMask(DataMaskValues.DATA_MASK_101, function (i /*int*/, j /*int*/) { return (i * j) % 6 === 0; })],\n /**\n * 110: mask bits for which (xy mod 2 + xy mod 3) mod 2 == 0\n * equivalently, such that xy mod 6 < 3\n */\n [DataMaskValues.DATA_MASK_110, new DataMask(DataMaskValues.DATA_MASK_110, function (i /*int*/, j /*int*/) { return ((i * j) % 6) < 3; })],\n /**\n * 111: mask bits for which ((x+y)mod 2 + xy mod 3) mod 2 == 0\n * equivalently, such that (x + y + xy mod 3) mod 2 == 0\n */\n [DataMaskValues.DATA_MASK_111, new DataMask(DataMaskValues.DATA_MASK_111, function (i /*int*/, j /*int*/) { return ((i + j + ((i * j) % 3)) & 0x01) === 0; })],\n ]);\n return DataMask;\n}());\nexport default DataMask;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.decoder {*/\nimport ErrorCorrectionLevel from './ErrorCorrectionLevel';\nimport Integer from '../../util/Integer';\n/**\n *

Encapsulates a QR Code's format information, including the data mask used and\n * error correction level.

\n *\n * @author Sean Owen\n * @see DataMask\n * @see ErrorCorrectionLevel\n */\nvar FormatInformation = /** @class */ (function () {\n function FormatInformation(formatInfo /*int*/) {\n // Bits 3,4\n this.errorCorrectionLevel = ErrorCorrectionLevel.forBits((formatInfo >> 3) & 0x03);\n // Bottom 3 bits\n this.dataMask = /*(byte) */ (formatInfo & 0x07);\n }\n FormatInformation.numBitsDiffering = function (a /*int*/, b /*int*/) {\n return Integer.bitCount(a ^ b);\n };\n /**\n * @param maskedFormatInfo1 format info indicator, with mask still applied\n * @param maskedFormatInfo2 second copy of same info; both are checked at the same time\n * to establish best match\n * @return information about the format it specifies, or {@code null}\n * if doesn't seem to match any known pattern\n */\n FormatInformation.decodeFormatInformation = function (maskedFormatInfo1 /*int*/, maskedFormatInfo2 /*int*/) {\n var formatInfo = FormatInformation.doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2);\n if (formatInfo !== null) {\n return formatInfo;\n }\n // Should return null, but, some QR codes apparently\n // do not mask this info. Try again by actually masking the pattern\n // first\n return FormatInformation.doDecodeFormatInformation(maskedFormatInfo1 ^ FormatInformation.FORMAT_INFO_MASK_QR, maskedFormatInfo2 ^ FormatInformation.FORMAT_INFO_MASK_QR);\n };\n FormatInformation.doDecodeFormatInformation = function (maskedFormatInfo1 /*int*/, maskedFormatInfo2 /*int*/) {\n var e_1, _a;\n // Find the int in FORMAT_INFO_DECODE_LOOKUP with fewest bits differing\n var bestDifference = Number.MAX_SAFE_INTEGER;\n var bestFormatInfo = 0;\n try {\n for (var _b = __values(FormatInformation.FORMAT_INFO_DECODE_LOOKUP), _c = _b.next(); !_c.done; _c = _b.next()) {\n var decodeInfo = _c.value;\n var targetInfo = decodeInfo[0];\n if (targetInfo === maskedFormatInfo1 || targetInfo === maskedFormatInfo2) {\n // Found an exact match\n return new FormatInformation(decodeInfo[1]);\n }\n var bitsDifference = FormatInformation.numBitsDiffering(maskedFormatInfo1, targetInfo);\n if (bitsDifference < bestDifference) {\n bestFormatInfo = decodeInfo[1];\n bestDifference = bitsDifference;\n }\n if (maskedFormatInfo1 !== maskedFormatInfo2) {\n // also try the other option\n bitsDifference = FormatInformation.numBitsDiffering(maskedFormatInfo2, targetInfo);\n if (bitsDifference < bestDifference) {\n bestFormatInfo = decodeInfo[1];\n bestDifference = bitsDifference;\n }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // Hamming distance of the 32 masked codes is 7, by construction, so <= 3 bits\n // differing means we found a match\n if (bestDifference <= 3) {\n return new FormatInformation(bestFormatInfo);\n }\n return null;\n };\n FormatInformation.prototype.getErrorCorrectionLevel = function () {\n return this.errorCorrectionLevel;\n };\n FormatInformation.prototype.getDataMask = function () {\n return this.dataMask;\n };\n /*@Override*/\n FormatInformation.prototype.hashCode = function () {\n return (this.errorCorrectionLevel.getBits() << 3) | this.dataMask;\n };\n /*@Override*/\n FormatInformation.prototype.equals = function (o) {\n if (!(o instanceof FormatInformation)) {\n return false;\n }\n var other = o;\n return this.errorCorrectionLevel === other.errorCorrectionLevel &&\n this.dataMask === other.dataMask;\n };\n FormatInformation.FORMAT_INFO_MASK_QR = 0x5412;\n /**\n * See ISO 18004:2006, Annex C, Table C.1\n */\n FormatInformation.FORMAT_INFO_DECODE_LOOKUP = [\n Int32Array.from([0x5412, 0x00]),\n Int32Array.from([0x5125, 0x01]),\n Int32Array.from([0x5E7C, 0x02]),\n Int32Array.from([0x5B4B, 0x03]),\n Int32Array.from([0x45F9, 0x04]),\n Int32Array.from([0x40CE, 0x05]),\n Int32Array.from([0x4F97, 0x06]),\n Int32Array.from([0x4AA0, 0x07]),\n Int32Array.from([0x77C4, 0x08]),\n Int32Array.from([0x72F3, 0x09]),\n Int32Array.from([0x7DAA, 0x0A]),\n Int32Array.from([0x789D, 0x0B]),\n Int32Array.from([0x662F, 0x0C]),\n Int32Array.from([0x6318, 0x0D]),\n Int32Array.from([0x6C41, 0x0E]),\n Int32Array.from([0x6976, 0x0F]),\n Int32Array.from([0x1689, 0x10]),\n Int32Array.from([0x13BE, 0x11]),\n Int32Array.from([0x1CE7, 0x12]),\n Int32Array.from([0x19D0, 0x13]),\n Int32Array.from([0x0762, 0x14]),\n Int32Array.from([0x0255, 0x15]),\n Int32Array.from([0x0D0C, 0x16]),\n Int32Array.from([0x083B, 0x17]),\n Int32Array.from([0x355F, 0x18]),\n Int32Array.from([0x3068, 0x19]),\n Int32Array.from([0x3F31, 0x1A]),\n Int32Array.from([0x3A06, 0x1B]),\n Int32Array.from([0x24B4, 0x1C]),\n Int32Array.from([0x2183, 0x1D]),\n Int32Array.from([0x2EDA, 0x1E]),\n Int32Array.from([0x2BED, 0x1F]),\n ];\n return FormatInformation;\n}());\nexport default FormatInformation;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/**\n *

Encapsulates a set of error-correction blocks in one symbol version. Most versions will\n * use blocks of differing sizes within one version, so, this encapsulates the parameters for\n * each set of blocks. It also holds the number of error-correction codewords per block since it\n * will be the same across all blocks within one version.

\n */\nvar ECBlocks = /** @class */ (function () {\n function ECBlocks(ecCodewordsPerBlock /*int*/) {\n var ecBlocks = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n ecBlocks[_i - 1] = arguments[_i];\n }\n this.ecCodewordsPerBlock = ecCodewordsPerBlock;\n this.ecBlocks = ecBlocks;\n }\n ECBlocks.prototype.getECCodewordsPerBlock = function () {\n return this.ecCodewordsPerBlock;\n };\n ECBlocks.prototype.getNumBlocks = function () {\n var e_1, _a;\n var total = 0;\n var ecBlocks = this.ecBlocks;\n try {\n for (var ecBlocks_1 = __values(ecBlocks), ecBlocks_1_1 = ecBlocks_1.next(); !ecBlocks_1_1.done; ecBlocks_1_1 = ecBlocks_1.next()) {\n var ecBlock = ecBlocks_1_1.value;\n total += ecBlock.getCount();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (ecBlocks_1_1 && !ecBlocks_1_1.done && (_a = ecBlocks_1.return)) _a.call(ecBlocks_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return total;\n };\n ECBlocks.prototype.getTotalECCodewords = function () {\n return this.ecCodewordsPerBlock * this.getNumBlocks();\n };\n ECBlocks.prototype.getECBlocks = function () {\n return this.ecBlocks;\n };\n return ECBlocks;\n}());\nexport default ECBlocks;\n","/**\n *

Encapsulates the parameters for one error-correction block in one symbol version.\n * This includes the number of data codewords, and the number of times a block with these\n * parameters is used consecutively in the QR code version's format.

\n */\nvar ECB = /** @class */ (function () {\n function ECB(count /*int*/, dataCodewords /*int*/) {\n this.count = count;\n this.dataCodewords = dataCodewords;\n }\n ECB.prototype.getCount = function () {\n return this.count;\n };\n ECB.prototype.getDataCodewords = function () {\n return this.dataCodewords;\n };\n return ECB;\n}());\nexport default ECB;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.decoder {*/\nimport BitMatrix from '../../common/BitMatrix';\nimport FormatInformation from './FormatInformation';\nimport ECBlocks from './ECBlocks';\nimport ECB from './ECB';\nimport FormatException from '../../FormatException';\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n * See ISO 18004:2006 Annex D\n *\n * @author Sean Owen\n */\nvar Version = /** @class */ (function () {\n function Version(versionNumber /*int*/, alignmentPatternCenters) {\n var e_1, _a;\n var ecBlocks = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n ecBlocks[_i - 2] = arguments[_i];\n }\n this.versionNumber = versionNumber;\n this.alignmentPatternCenters = alignmentPatternCenters;\n this.ecBlocks = ecBlocks;\n var total = 0;\n var ecCodewords = ecBlocks[0].getECCodewordsPerBlock();\n var ecbArray = ecBlocks[0].getECBlocks();\n try {\n for (var ecbArray_1 = __values(ecbArray), ecbArray_1_1 = ecbArray_1.next(); !ecbArray_1_1.done; ecbArray_1_1 = ecbArray_1.next()) {\n var ecBlock = ecbArray_1_1.value;\n total += ecBlock.getCount() * (ecBlock.getDataCodewords() + ecCodewords);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (ecbArray_1_1 && !ecbArray_1_1.done && (_a = ecbArray_1.return)) _a.call(ecbArray_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.totalCodewords = total;\n }\n Version.prototype.getVersionNumber = function () {\n return this.versionNumber;\n };\n Version.prototype.getAlignmentPatternCenters = function () {\n return this.alignmentPatternCenters;\n };\n Version.prototype.getTotalCodewords = function () {\n return this.totalCodewords;\n };\n Version.prototype.getDimensionForVersion = function () {\n return 17 + 4 * this.versionNumber;\n };\n Version.prototype.getECBlocksForLevel = function (ecLevel) {\n return this.ecBlocks[ecLevel.getValue()];\n // TYPESCRIPTPORT: original was using ordinal, and using the order of levels as defined in ErrorCorrectionLevel enum (LMQH)\n // I will use the direct value from ErrorCorrectionLevelValues enum which in typescript goes to a number\n };\n /**\n *

Deduces version information purely from QR Code dimensions.

\n *\n * @param dimension dimension in modules\n * @return Version for a QR Code of that dimension\n * @throws FormatException if dimension is not 1 mod 4\n */\n Version.getProvisionalVersionForDimension = function (dimension /*int*/) {\n if (dimension % 4 !== 1) {\n throw new FormatException();\n }\n try {\n return this.getVersionForNumber((dimension - 17) / 4);\n }\n catch (ignored /*: IllegalArgumentException*/) {\n throw new FormatException();\n }\n };\n Version.getVersionForNumber = function (versionNumber /*int*/) {\n if (versionNumber < 1 || versionNumber > 40) {\n throw new IllegalArgumentException();\n }\n return Version.VERSIONS[versionNumber - 1];\n };\n Version.decodeVersionInformation = function (versionBits /*int*/) {\n var bestDifference = Number.MAX_SAFE_INTEGER;\n var bestVersion = 0;\n for (var i = 0; i < Version.VERSION_DECODE_INFO.length; i++) {\n var targetVersion = Version.VERSION_DECODE_INFO[i];\n // Do the version info bits match exactly? done.\n if (targetVersion === versionBits) {\n return Version.getVersionForNumber(i + 7);\n }\n // Otherwise see if this is the closest to a real version info bit string\n // we have seen so far\n var bitsDifference = FormatInformation.numBitsDiffering(versionBits, targetVersion);\n if (bitsDifference < bestDifference) {\n bestVersion = i + 7;\n bestDifference = bitsDifference;\n }\n }\n // We can tolerate up to 3 bits of error since no two version info codewords will\n // differ in less than 8 bits.\n if (bestDifference <= 3) {\n return Version.getVersionForNumber(bestVersion);\n }\n // If we didn't find a close enough match, fail\n return null;\n };\n /**\n * See ISO 18004:2006 Annex E\n */\n Version.prototype.buildFunctionPattern = function () {\n var dimension = this.getDimensionForVersion();\n var bitMatrix = new BitMatrix(dimension);\n // Top left finder pattern + separator + format\n bitMatrix.setRegion(0, 0, 9, 9);\n // Top right finder pattern + separator + format\n bitMatrix.setRegion(dimension - 8, 0, 8, 9);\n // Bottom left finder pattern + separator + format\n bitMatrix.setRegion(0, dimension - 8, 9, 8);\n // Alignment patterns\n var max = this.alignmentPatternCenters.length;\n for (var x = 0; x < max; x++) {\n var i = this.alignmentPatternCenters[x] - 2;\n for (var y = 0; y < max; y++) {\n if ((x === 0 && (y === 0 || y === max - 1)) || (x === max - 1 && y === 0)) {\n // No alignment patterns near the three finder patterns\n continue;\n }\n bitMatrix.setRegion(this.alignmentPatternCenters[y] - 2, i, 5, 5);\n }\n }\n // Vertical timing pattern\n bitMatrix.setRegion(6, 9, 1, dimension - 17);\n // Horizontal timing pattern\n bitMatrix.setRegion(9, 6, dimension - 17, 1);\n if (this.versionNumber > 6) {\n // Version info, top right\n bitMatrix.setRegion(dimension - 11, 0, 3, 6);\n // Version info, bottom left\n bitMatrix.setRegion(0, dimension - 11, 6, 3);\n }\n return bitMatrix;\n };\n /*@Override*/\n Version.prototype.toString = function () {\n return '' + this.versionNumber;\n };\n /**\n * See ISO 18004:2006 Annex D.\n * Element i represents the raw version bits that specify version i + 7\n */\n Version.VERSION_DECODE_INFO = Int32Array.from([\n 0x07C94, 0x085BC, 0x09A99, 0x0A4D3, 0x0BBF6,\n 0x0C762, 0x0D847, 0x0E60D, 0x0F928, 0x10B78,\n 0x1145D, 0x12A17, 0x13532, 0x149A6, 0x15683,\n 0x168C9, 0x177EC, 0x18EC4, 0x191E1, 0x1AFAB,\n 0x1B08E, 0x1CC1A, 0x1D33F, 0x1ED75, 0x1F250,\n 0x209D5, 0x216F0, 0x228BA, 0x2379F, 0x24B0B,\n 0x2542E, 0x26A64, 0x27541, 0x28C69\n ]);\n /**\n * See ISO 18004:2006 6.5.1 Table 9\n */\n Version.VERSIONS = [\n new Version(1, new Int32Array(0), new ECBlocks(7, new ECB(1, 19)), new ECBlocks(10, new ECB(1, 16)), new ECBlocks(13, new ECB(1, 13)), new ECBlocks(17, new ECB(1, 9))),\n new Version(2, Int32Array.from([6, 18]), new ECBlocks(10, new ECB(1, 34)), new ECBlocks(16, new ECB(1, 28)), new ECBlocks(22, new ECB(1, 22)), new ECBlocks(28, new ECB(1, 16))),\n new Version(3, Int32Array.from([6, 22]), new ECBlocks(15, new ECB(1, 55)), new ECBlocks(26, new ECB(1, 44)), new ECBlocks(18, new ECB(2, 17)), new ECBlocks(22, new ECB(2, 13))),\n new Version(4, Int32Array.from([6, 26]), new ECBlocks(20, new ECB(1, 80)), new ECBlocks(18, new ECB(2, 32)), new ECBlocks(26, new ECB(2, 24)), new ECBlocks(16, new ECB(4, 9))),\n new Version(5, Int32Array.from([6, 30]), new ECBlocks(26, new ECB(1, 108)), new ECBlocks(24, new ECB(2, 43)), new ECBlocks(18, new ECB(2, 15), new ECB(2, 16)), new ECBlocks(22, new ECB(2, 11), new ECB(2, 12))),\n new Version(6, Int32Array.from([6, 34]), new ECBlocks(18, new ECB(2, 68)), new ECBlocks(16, new ECB(4, 27)), new ECBlocks(24, new ECB(4, 19)), new ECBlocks(28, new ECB(4, 15))),\n new Version(7, Int32Array.from([6, 22, 38]), new ECBlocks(20, new ECB(2, 78)), new ECBlocks(18, new ECB(4, 31)), new ECBlocks(18, new ECB(2, 14), new ECB(4, 15)), new ECBlocks(26, new ECB(4, 13), new ECB(1, 14))),\n new Version(8, Int32Array.from([6, 24, 42]), new ECBlocks(24, new ECB(2, 97)), new ECBlocks(22, new ECB(2, 38), new ECB(2, 39)), new ECBlocks(22, new ECB(4, 18), new ECB(2, 19)), new ECBlocks(26, new ECB(4, 14), new ECB(2, 15))),\n new Version(9, Int32Array.from([6, 26, 46]), new ECBlocks(30, new ECB(2, 116)), new ECBlocks(22, new ECB(3, 36), new ECB(2, 37)), new ECBlocks(20, new ECB(4, 16), new ECB(4, 17)), new ECBlocks(24, new ECB(4, 12), new ECB(4, 13))),\n new Version(10, Int32Array.from([6, 28, 50]), new ECBlocks(18, new ECB(2, 68), new ECB(2, 69)), new ECBlocks(26, new ECB(4, 43), new ECB(1, 44)), new ECBlocks(24, new ECB(6, 19), new ECB(2, 20)), new ECBlocks(28, new ECB(6, 15), new ECB(2, 16))),\n new Version(11, Int32Array.from([6, 30, 54]), new ECBlocks(20, new ECB(4, 81)), new ECBlocks(30, new ECB(1, 50), new ECB(4, 51)), new ECBlocks(28, new ECB(4, 22), new ECB(4, 23)), new ECBlocks(24, new ECB(3, 12), new ECB(8, 13))),\n new Version(12, Int32Array.from([6, 32, 58]), new ECBlocks(24, new ECB(2, 92), new ECB(2, 93)), new ECBlocks(22, new ECB(6, 36), new ECB(2, 37)), new ECBlocks(26, new ECB(4, 20), new ECB(6, 21)), new ECBlocks(28, new ECB(7, 14), new ECB(4, 15))),\n new Version(13, Int32Array.from([6, 34, 62]), new ECBlocks(26, new ECB(4, 107)), new ECBlocks(22, new ECB(8, 37), new ECB(1, 38)), new ECBlocks(24, new ECB(8, 20), new ECB(4, 21)), new ECBlocks(22, new ECB(12, 11), new ECB(4, 12))),\n new Version(14, Int32Array.from([6, 26, 46, 66]), new ECBlocks(30, new ECB(3, 115), new ECB(1, 116)), new ECBlocks(24, new ECB(4, 40), new ECB(5, 41)), new ECBlocks(20, new ECB(11, 16), new ECB(5, 17)), new ECBlocks(24, new ECB(11, 12), new ECB(5, 13))),\n new Version(15, Int32Array.from([6, 26, 48, 70]), new ECBlocks(22, new ECB(5, 87), new ECB(1, 88)), new ECBlocks(24, new ECB(5, 41), new ECB(5, 42)), new ECBlocks(30, new ECB(5, 24), new ECB(7, 25)), new ECBlocks(24, new ECB(11, 12), new ECB(7, 13))),\n new Version(16, Int32Array.from([6, 26, 50, 74]), new ECBlocks(24, new ECB(5, 98), new ECB(1, 99)), new ECBlocks(28, new ECB(7, 45), new ECB(3, 46)), new ECBlocks(24, new ECB(15, 19), new ECB(2, 20)), new ECBlocks(30, new ECB(3, 15), new ECB(13, 16))),\n new Version(17, Int32Array.from([6, 30, 54, 78]), new ECBlocks(28, new ECB(1, 107), new ECB(5, 108)), new ECBlocks(28, new ECB(10, 46), new ECB(1, 47)), new ECBlocks(28, new ECB(1, 22), new ECB(15, 23)), new ECBlocks(28, new ECB(2, 14), new ECB(17, 15))),\n new Version(18, Int32Array.from([6, 30, 56, 82]), new ECBlocks(30, new ECB(5, 120), new ECB(1, 121)), new ECBlocks(26, new ECB(9, 43), new ECB(4, 44)), new ECBlocks(28, new ECB(17, 22), new ECB(1, 23)), new ECBlocks(28, new ECB(2, 14), new ECB(19, 15))),\n new Version(19, Int32Array.from([6, 30, 58, 86]), new ECBlocks(28, new ECB(3, 113), new ECB(4, 114)), new ECBlocks(26, new ECB(3, 44), new ECB(11, 45)), new ECBlocks(26, new ECB(17, 21), new ECB(4, 22)), new ECBlocks(26, new ECB(9, 13), new ECB(16, 14))),\n new Version(20, Int32Array.from([6, 34, 62, 90]), new ECBlocks(28, new ECB(3, 107), new ECB(5, 108)), new ECBlocks(26, new ECB(3, 41), new ECB(13, 42)), new ECBlocks(30, new ECB(15, 24), new ECB(5, 25)), new ECBlocks(28, new ECB(15, 15), new ECB(10, 16))),\n new Version(21, Int32Array.from([6, 28, 50, 72, 94]), new ECBlocks(28, new ECB(4, 116), new ECB(4, 117)), new ECBlocks(26, new ECB(17, 42)), new ECBlocks(28, new ECB(17, 22), new ECB(6, 23)), new ECBlocks(30, new ECB(19, 16), new ECB(6, 17))),\n new Version(22, Int32Array.from([6, 26, 50, 74, 98]), new ECBlocks(28, new ECB(2, 111), new ECB(7, 112)), new ECBlocks(28, new ECB(17, 46)), new ECBlocks(30, new ECB(7, 24), new ECB(16, 25)), new ECBlocks(24, new ECB(34, 13))),\n new Version(23, Int32Array.from([6, 30, 54, 78, 102]), new ECBlocks(30, new ECB(4, 121), new ECB(5, 122)), new ECBlocks(28, new ECB(4, 47), new ECB(14, 48)), new ECBlocks(30, new ECB(11, 24), new ECB(14, 25)), new ECBlocks(30, new ECB(16, 15), new ECB(14, 16))),\n new Version(24, Int32Array.from([6, 28, 54, 80, 106]), new ECBlocks(30, new ECB(6, 117), new ECB(4, 118)), new ECBlocks(28, new ECB(6, 45), new ECB(14, 46)), new ECBlocks(30, new ECB(11, 24), new ECB(16, 25)), new ECBlocks(30, new ECB(30, 16), new ECB(2, 17))),\n new Version(25, Int32Array.from([6, 32, 58, 84, 110]), new ECBlocks(26, new ECB(8, 106), new ECB(4, 107)), new ECBlocks(28, new ECB(8, 47), new ECB(13, 48)), new ECBlocks(30, new ECB(7, 24), new ECB(22, 25)), new ECBlocks(30, new ECB(22, 15), new ECB(13, 16))),\n new Version(26, Int32Array.from([6, 30, 58, 86, 114]), new ECBlocks(28, new ECB(10, 114), new ECB(2, 115)), new ECBlocks(28, new ECB(19, 46), new ECB(4, 47)), new ECBlocks(28, new ECB(28, 22), new ECB(6, 23)), new ECBlocks(30, new ECB(33, 16), new ECB(4, 17))),\n new Version(27, Int32Array.from([6, 34, 62, 90, 118]), new ECBlocks(30, new ECB(8, 122), new ECB(4, 123)), new ECBlocks(28, new ECB(22, 45), new ECB(3, 46)), new ECBlocks(30, new ECB(8, 23), new ECB(26, 24)), new ECBlocks(30, new ECB(12, 15), new ECB(28, 16))),\n new Version(28, Int32Array.from([6, 26, 50, 74, 98, 122]), new ECBlocks(30, new ECB(3, 117), new ECB(10, 118)), new ECBlocks(28, new ECB(3, 45), new ECB(23, 46)), new ECBlocks(30, new ECB(4, 24), new ECB(31, 25)), new ECBlocks(30, new ECB(11, 15), new ECB(31, 16))),\n new Version(29, Int32Array.from([6, 30, 54, 78, 102, 126]), new ECBlocks(30, new ECB(7, 116), new ECB(7, 117)), new ECBlocks(28, new ECB(21, 45), new ECB(7, 46)), new ECBlocks(30, new ECB(1, 23), new ECB(37, 24)), new ECBlocks(30, new ECB(19, 15), new ECB(26, 16))),\n new Version(30, Int32Array.from([6, 26, 52, 78, 104, 130]), new ECBlocks(30, new ECB(5, 115), new ECB(10, 116)), new ECBlocks(28, new ECB(19, 47), new ECB(10, 48)), new ECBlocks(30, new ECB(15, 24), new ECB(25, 25)), new ECBlocks(30, new ECB(23, 15), new ECB(25, 16))),\n new Version(31, Int32Array.from([6, 30, 56, 82, 108, 134]), new ECBlocks(30, new ECB(13, 115), new ECB(3, 116)), new ECBlocks(28, new ECB(2, 46), new ECB(29, 47)), new ECBlocks(30, new ECB(42, 24), new ECB(1, 25)), new ECBlocks(30, new ECB(23, 15), new ECB(28, 16))),\n new Version(32, Int32Array.from([6, 34, 60, 86, 112, 138]), new ECBlocks(30, new ECB(17, 115)), new ECBlocks(28, new ECB(10, 46), new ECB(23, 47)), new ECBlocks(30, new ECB(10, 24), new ECB(35, 25)), new ECBlocks(30, new ECB(19, 15), new ECB(35, 16))),\n new Version(33, Int32Array.from([6, 30, 58, 86, 114, 142]), new ECBlocks(30, new ECB(17, 115), new ECB(1, 116)), new ECBlocks(28, new ECB(14, 46), new ECB(21, 47)), new ECBlocks(30, new ECB(29, 24), new ECB(19, 25)), new ECBlocks(30, new ECB(11, 15), new ECB(46, 16))),\n new Version(34, Int32Array.from([6, 34, 62, 90, 118, 146]), new ECBlocks(30, new ECB(13, 115), new ECB(6, 116)), new ECBlocks(28, new ECB(14, 46), new ECB(23, 47)), new ECBlocks(30, new ECB(44, 24), new ECB(7, 25)), new ECBlocks(30, new ECB(59, 16), new ECB(1, 17))),\n new Version(35, Int32Array.from([6, 30, 54, 78, 102, 126, 150]), new ECBlocks(30, new ECB(12, 121), new ECB(7, 122)), new ECBlocks(28, new ECB(12, 47), new ECB(26, 48)), new ECBlocks(30, new ECB(39, 24), new ECB(14, 25)), new ECBlocks(30, new ECB(22, 15), new ECB(41, 16))),\n new Version(36, Int32Array.from([6, 24, 50, 76, 102, 128, 154]), new ECBlocks(30, new ECB(6, 121), new ECB(14, 122)), new ECBlocks(28, new ECB(6, 47), new ECB(34, 48)), new ECBlocks(30, new ECB(46, 24), new ECB(10, 25)), new ECBlocks(30, new ECB(2, 15), new ECB(64, 16))),\n new Version(37, Int32Array.from([6, 28, 54, 80, 106, 132, 158]), new ECBlocks(30, new ECB(17, 122), new ECB(4, 123)), new ECBlocks(28, new ECB(29, 46), new ECB(14, 47)), new ECBlocks(30, new ECB(49, 24), new ECB(10, 25)), new ECBlocks(30, new ECB(24, 15), new ECB(46, 16))),\n new Version(38, Int32Array.from([6, 32, 58, 84, 110, 136, 162]), new ECBlocks(30, new ECB(4, 122), new ECB(18, 123)), new ECBlocks(28, new ECB(13, 46), new ECB(32, 47)), new ECBlocks(30, new ECB(48, 24), new ECB(14, 25)), new ECBlocks(30, new ECB(42, 15), new ECB(32, 16))),\n new Version(39, Int32Array.from([6, 26, 54, 82, 110, 138, 166]), new ECBlocks(30, new ECB(20, 117), new ECB(4, 118)), new ECBlocks(28, new ECB(40, 47), new ECB(7, 48)), new ECBlocks(30, new ECB(43, 24), new ECB(22, 25)), new ECBlocks(30, new ECB(10, 15), new ECB(67, 16))),\n new Version(40, Int32Array.from([6, 30, 58, 86, 114, 142, 170]), new ECBlocks(30, new ECB(19, 118), new ECB(6, 119)), new ECBlocks(28, new ECB(18, 47), new ECB(31, 48)), new ECBlocks(30, new ECB(34, 24), new ECB(34, 25)), new ECBlocks(30, new ECB(20, 15), new ECB(61, 16)))\n ];\n return Version;\n}());\nexport default Version;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport IllegalArgumentException from '../../IllegalArgumentException';\nexport var ModeValues;\n(function (ModeValues) {\n ModeValues[ModeValues[\"TERMINATOR\"] = 0] = \"TERMINATOR\";\n ModeValues[ModeValues[\"NUMERIC\"] = 1] = \"NUMERIC\";\n ModeValues[ModeValues[\"ALPHANUMERIC\"] = 2] = \"ALPHANUMERIC\";\n ModeValues[ModeValues[\"STRUCTURED_APPEND\"] = 3] = \"STRUCTURED_APPEND\";\n ModeValues[ModeValues[\"BYTE\"] = 4] = \"BYTE\";\n ModeValues[ModeValues[\"ECI\"] = 5] = \"ECI\";\n ModeValues[ModeValues[\"KANJI\"] = 6] = \"KANJI\";\n ModeValues[ModeValues[\"FNC1_FIRST_POSITION\"] = 7] = \"FNC1_FIRST_POSITION\";\n ModeValues[ModeValues[\"FNC1_SECOND_POSITION\"] = 8] = \"FNC1_SECOND_POSITION\";\n /** See GBT 18284-2000; \"Hanzi\" is a transliteration of this mode name. */\n ModeValues[ModeValues[\"HANZI\"] = 9] = \"HANZI\";\n})(ModeValues || (ModeValues = {}));\n/**\n *

See ISO 18004:2006, 6.4.1, Tables 2 and 3. This enum encapsulates the various modes in which\n * data can be encoded to bits in the QR code standard.

\n *\n * @author Sean Owen\n */\nvar Mode = /** @class */ (function () {\n function Mode(value, stringValue, characterCountBitsForVersions, bits /*int*/) {\n this.value = value;\n this.stringValue = stringValue;\n this.characterCountBitsForVersions = characterCountBitsForVersions;\n this.bits = bits;\n Mode.FOR_BITS.set(bits, this);\n Mode.FOR_VALUE.set(value, this);\n }\n /**\n * @param bits four bits encoding a QR Code data mode\n * @return Mode encoded by these bits\n * @throws IllegalArgumentException if bits do not correspond to a known mode\n */\n Mode.forBits = function (bits /*int*/) {\n var mode = Mode.FOR_BITS.get(bits);\n if (undefined === mode) {\n throw new IllegalArgumentException();\n }\n return mode;\n };\n /**\n * @param version version in question\n * @return number of bits used, in this QR Code symbol {@link Version}, to encode the\n * count of characters that will follow encoded in this Mode\n */\n Mode.prototype.getCharacterCountBits = function (version) {\n var versionNumber = version.getVersionNumber();\n var offset;\n if (versionNumber <= 9) {\n offset = 0;\n }\n else if (versionNumber <= 26) {\n offset = 1;\n }\n else {\n offset = 2;\n }\n return this.characterCountBitsForVersions[offset];\n };\n Mode.prototype.getValue = function () {\n return this.value;\n };\n Mode.prototype.getBits = function () {\n return this.bits;\n };\n Mode.prototype.equals = function (o) {\n if (!(o instanceof Mode)) {\n return false;\n }\n var other = o;\n return this.value === other.value;\n };\n Mode.prototype.toString = function () {\n return this.stringValue;\n };\n Mode.FOR_BITS = new Map();\n Mode.FOR_VALUE = new Map();\n Mode.TERMINATOR = new Mode(ModeValues.TERMINATOR, 'TERMINATOR', Int32Array.from([0, 0, 0]), 0x00); // Not really a mode...\n Mode.NUMERIC = new Mode(ModeValues.NUMERIC, 'NUMERIC', Int32Array.from([10, 12, 14]), 0x01);\n Mode.ALPHANUMERIC = new Mode(ModeValues.ALPHANUMERIC, 'ALPHANUMERIC', Int32Array.from([9, 11, 13]), 0x02);\n Mode.STRUCTURED_APPEND = new Mode(ModeValues.STRUCTURED_APPEND, 'STRUCTURED_APPEND', Int32Array.from([0, 0, 0]), 0x03); // Not supported\n Mode.BYTE = new Mode(ModeValues.BYTE, 'BYTE', Int32Array.from([8, 16, 16]), 0x04);\n Mode.ECI = new Mode(ModeValues.ECI, 'ECI', Int32Array.from([0, 0, 0]), 0x07); // character counts don't apply\n Mode.KANJI = new Mode(ModeValues.KANJI, 'KANJI', Int32Array.from([8, 10, 12]), 0x08);\n Mode.FNC1_FIRST_POSITION = new Mode(ModeValues.FNC1_FIRST_POSITION, 'FNC1_FIRST_POSITION', Int32Array.from([0, 0, 0]), 0x05);\n Mode.FNC1_SECOND_POSITION = new Mode(ModeValues.FNC1_SECOND_POSITION, 'FNC1_SECOND_POSITION', Int32Array.from([0, 0, 0]), 0x09);\n /** See GBT 18284-2000; \"Hanzi\" is a transliteration of this mode name. */\n Mode.HANZI = new Mode(ModeValues.HANZI, 'HANZI', Int32Array.from([8, 10, 12]), 0x0D);\n return Mode;\n}());\nexport default Mode;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport Version from './Version';\nimport FormatInformation from './FormatInformation';\nimport DataMask from './DataMask';\nimport FormatException from '../../FormatException';\n/**\n * @author Sean Owen\n */\nvar BitMatrixParser = /** @class */ (function () {\n /**\n * @param bitMatrix {@link BitMatrix} to parse\n * @throws FormatException if dimension is not >= 21 and 1 mod 4\n */\n function BitMatrixParser(bitMatrix) {\n var dimension = bitMatrix.getHeight();\n if (dimension < 21 || (dimension & 0x03) !== 1) {\n throw new FormatException();\n }\n this.bitMatrix = bitMatrix;\n }\n /**\n *

Reads format information from one of its two locations within the QR Code.

\n *\n * @return {@link FormatInformation} encapsulating the QR Code's format info\n * @throws FormatException if both format information locations cannot be parsed as\n * the valid encoding of format information\n */\n BitMatrixParser.prototype.readFormatInformation = function () {\n if (this.parsedFormatInfo !== null && this.parsedFormatInfo !== undefined) {\n return this.parsedFormatInfo;\n }\n // Read top-left format info bits\n var formatInfoBits1 = 0;\n for (var i = 0; i < 6; i++) {\n formatInfoBits1 = this.copyBit(i, 8, formatInfoBits1);\n }\n // .. and skip a bit in the timing pattern ...\n formatInfoBits1 = this.copyBit(7, 8, formatInfoBits1);\n formatInfoBits1 = this.copyBit(8, 8, formatInfoBits1);\n formatInfoBits1 = this.copyBit(8, 7, formatInfoBits1);\n // .. and skip a bit in the timing pattern ...\n for (var j = 5; j >= 0; j--) {\n formatInfoBits1 = this.copyBit(8, j, formatInfoBits1);\n }\n // Read the top-right/bottom-left pattern too\n var dimension = this.bitMatrix.getHeight();\n var formatInfoBits2 = 0;\n var jMin = dimension - 7;\n for (var j = dimension - 1; j >= jMin; j--) {\n formatInfoBits2 = this.copyBit(8, j, formatInfoBits2);\n }\n for (var i = dimension - 8; i < dimension; i++) {\n formatInfoBits2 = this.copyBit(i, 8, formatInfoBits2);\n }\n this.parsedFormatInfo = FormatInformation.decodeFormatInformation(formatInfoBits1, formatInfoBits2);\n if (this.parsedFormatInfo !== null) {\n return this.parsedFormatInfo;\n }\n throw new FormatException();\n };\n /**\n *

Reads version information from one of its two locations within the QR Code.

\n *\n * @return {@link Version} encapsulating the QR Code's version\n * @throws FormatException if both version information locations cannot be parsed as\n * the valid encoding of version information\n */\n BitMatrixParser.prototype.readVersion = function () {\n if (this.parsedVersion !== null && this.parsedVersion !== undefined) {\n return this.parsedVersion;\n }\n var dimension = this.bitMatrix.getHeight();\n var provisionalVersion = Math.floor((dimension - 17) / 4);\n if (provisionalVersion <= 6) {\n return Version.getVersionForNumber(provisionalVersion);\n }\n // Read top-right version info: 3 wide by 6 tall\n var versionBits = 0;\n var ijMin = dimension - 11;\n for (var j = 5; j >= 0; j--) {\n for (var i = dimension - 9; i >= ijMin; i--) {\n versionBits = this.copyBit(i, j, versionBits);\n }\n }\n var theParsedVersion = Version.decodeVersionInformation(versionBits);\n if (theParsedVersion !== null && theParsedVersion.getDimensionForVersion() === dimension) {\n this.parsedVersion = theParsedVersion;\n return theParsedVersion;\n }\n // Hmm, failed. Try bottom left: 6 wide by 3 tall\n versionBits = 0;\n for (var i = 5; i >= 0; i--) {\n for (var j = dimension - 9; j >= ijMin; j--) {\n versionBits = this.copyBit(i, j, versionBits);\n }\n }\n theParsedVersion = Version.decodeVersionInformation(versionBits);\n if (theParsedVersion !== null && theParsedVersion.getDimensionForVersion() === dimension) {\n this.parsedVersion = theParsedVersion;\n return theParsedVersion;\n }\n throw new FormatException();\n };\n BitMatrixParser.prototype.copyBit = function (i /*int*/, j /*int*/, versionBits /*int*/) {\n var bit = this.isMirror ? this.bitMatrix.get(j, i) : this.bitMatrix.get(i, j);\n return bit ? (versionBits << 1) | 0x1 : versionBits << 1;\n };\n /**\n *

Reads the bits in the {@link BitMatrix} representing the finder pattern in the\n * correct order in order to reconstruct the codewords bytes contained within the\n * QR Code.

\n *\n * @return bytes encoded within the QR Code\n * @throws FormatException if the exact number of bytes expected is not read\n */\n BitMatrixParser.prototype.readCodewords = function () {\n var formatInfo = this.readFormatInformation();\n var version = this.readVersion();\n // Get the data mask for the format used in this QR Code. This will exclude\n // some bits from reading as we wind through the bit matrix.\n var dataMask = DataMask.values.get(formatInfo.getDataMask());\n var dimension = this.bitMatrix.getHeight();\n dataMask.unmaskBitMatrix(this.bitMatrix, dimension);\n var functionPattern = version.buildFunctionPattern();\n var readingUp = true;\n var result = new Uint8Array(version.getTotalCodewords());\n var resultOffset = 0;\n var currentByte = 0;\n var bitsRead = 0;\n // Read columns in pairs, from right to left\n for (var j = dimension - 1; j > 0; j -= 2) {\n if (j === 6) {\n // Skip whole column with vertical alignment pattern\n // saves time and makes the other code proceed more cleanly\n j--;\n }\n // Read alternatingly from bottom to top then top to bottom\n for (var count = 0; count < dimension; count++) {\n var i = readingUp ? dimension - 1 - count : count;\n for (var col = 0; col < 2; col++) {\n // Ignore bits covered by the function pattern\n if (!functionPattern.get(j - col, i)) {\n // Read a bit\n bitsRead++;\n currentByte <<= 1;\n if (this.bitMatrix.get(j - col, i)) {\n currentByte |= 1;\n }\n // If we've made a whole byte, save it off\n if (bitsRead === 8) {\n result[resultOffset++] = /*(byte) */ currentByte;\n bitsRead = 0;\n currentByte = 0;\n }\n }\n }\n }\n readingUp = !readingUp; // readingUp ^= true; // readingUp = !readingUp; // switch directions\n }\n if (resultOffset !== version.getTotalCodewords()) {\n throw new FormatException();\n }\n return result;\n };\n /**\n * Revert the mask removal done while reading the code words. The bit matrix should revert to its original state.\n */\n BitMatrixParser.prototype.remask = function () {\n if (this.parsedFormatInfo === null) {\n return; // We have no format information, and have no data mask\n }\n var dataMask = DataMask.values[this.parsedFormatInfo.getDataMask()];\n var dimension = this.bitMatrix.getHeight();\n dataMask.unmaskBitMatrix(this.bitMatrix, dimension);\n };\n /**\n * Prepare the parser for a mirrored operation.\n * This flag has effect only on the {@link #readFormatInformation()} and the\n * {@link #readVersion()}. Before proceeding with {@link #readCodewords()} the\n * {@link #mirror()} method should be called.\n *\n * @param mirror Whether to read version and format information mirrored.\n */\n BitMatrixParser.prototype.setMirror = function (isMirror) {\n this.parsedVersion = null;\n this.parsedFormatInfo = null;\n this.isMirror = isMirror;\n };\n /** Mirror the bit matrix in order to attempt a second reading. */\n BitMatrixParser.prototype.mirror = function () {\n var bitMatrix = this.bitMatrix;\n for (var x = 0, width = bitMatrix.getWidth(); x < width; x++) {\n for (var y = x + 1, height = bitMatrix.getHeight(); y < height; y++) {\n if (bitMatrix.get(x, y) !== bitMatrix.get(y, x)) {\n bitMatrix.flip(y, x);\n bitMatrix.flip(x, y);\n }\n }\n }\n };\n return BitMatrixParser;\n}());\nexport default BitMatrixParser;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n *

Encapsulates a block of data within a QR Code. QR Codes may split their data into\n * multiple blocks, each of which is a unit of data and error-correction codewords. Each\n * is represented by an instance of this class.

\n *\n * @author Sean Owen\n */\nvar DataBlock = /** @class */ (function () {\n function DataBlock(numDataCodewords /*int*/, codewords) {\n this.numDataCodewords = numDataCodewords;\n this.codewords = codewords;\n }\n /**\n *

When QR Codes use multiple data blocks, they are actually interleaved.\n * That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This\n * method will separate the data into original blocks.

\n *\n * @param rawCodewords bytes as read directly from the QR Code\n * @param version version of the QR Code\n * @param ecLevel error-correction level of the QR Code\n * @return DataBlocks containing original bytes, \"de-interleaved\" from representation in the\n * QR Code\n */\n DataBlock.getDataBlocks = function (rawCodewords, version, ecLevel) {\n var e_1, _a, e_2, _b;\n if (rawCodewords.length !== version.getTotalCodewords()) {\n throw new IllegalArgumentException();\n }\n // Figure out the number and size of data blocks used by this version and\n // error correction level\n var ecBlocks = version.getECBlocksForLevel(ecLevel);\n // First count the total number of data blocks\n var totalBlocks = 0;\n var ecBlockArray = ecBlocks.getECBlocks();\n try {\n for (var ecBlockArray_1 = __values(ecBlockArray), ecBlockArray_1_1 = ecBlockArray_1.next(); !ecBlockArray_1_1.done; ecBlockArray_1_1 = ecBlockArray_1.next()) {\n var ecBlock = ecBlockArray_1_1.value;\n totalBlocks += ecBlock.getCount();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (ecBlockArray_1_1 && !ecBlockArray_1_1.done && (_a = ecBlockArray_1.return)) _a.call(ecBlockArray_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // Now establish DataBlocks of the appropriate size and number of data codewords\n var result = new Array(totalBlocks);\n var numResultBlocks = 0;\n try {\n for (var ecBlockArray_2 = __values(ecBlockArray), ecBlockArray_2_1 = ecBlockArray_2.next(); !ecBlockArray_2_1.done; ecBlockArray_2_1 = ecBlockArray_2.next()) {\n var ecBlock = ecBlockArray_2_1.value;\n for (var i = 0; i < ecBlock.getCount(); i++) {\n var numDataCodewords = ecBlock.getDataCodewords();\n var numBlockCodewords = ecBlocks.getECCodewordsPerBlock() + numDataCodewords;\n result[numResultBlocks++] = new DataBlock(numDataCodewords, new Uint8Array(numBlockCodewords));\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (ecBlockArray_2_1 && !ecBlockArray_2_1.done && (_b = ecBlockArray_2.return)) _b.call(ecBlockArray_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // All blocks have the same amount of data, except that the last n\n // (where n may be 0) have 1 more byte. Figure out where these start.\n var shorterBlocksTotalCodewords = result[0].codewords.length;\n var longerBlocksStartAt = result.length - 1;\n // TYPESCRIPTPORT: check length is correct here\n while (longerBlocksStartAt >= 0) {\n var numCodewords = result[longerBlocksStartAt].codewords.length;\n if (numCodewords === shorterBlocksTotalCodewords) {\n break;\n }\n longerBlocksStartAt--;\n }\n longerBlocksStartAt++;\n var shorterBlocksNumDataCodewords = shorterBlocksTotalCodewords - ecBlocks.getECCodewordsPerBlock();\n // The last elements of result may be 1 element longer\n // first fill out as many elements as all of them have\n var rawCodewordsOffset = 0;\n for (var i = 0; i < shorterBlocksNumDataCodewords; i++) {\n for (var j = 0; j < numResultBlocks; j++) {\n result[j].codewords[i] = rawCodewords[rawCodewordsOffset++];\n }\n }\n // Fill out the last data block in the longer ones\n for (var j = longerBlocksStartAt; j < numResultBlocks; j++) {\n result[j].codewords[shorterBlocksNumDataCodewords] = rawCodewords[rawCodewordsOffset++];\n }\n // Now add in error correction blocks\n var max = result[0].codewords.length;\n for (var i = shorterBlocksNumDataCodewords; i < max; i++) {\n for (var j = 0; j < numResultBlocks; j++) {\n var iOffset = j < longerBlocksStartAt ? i : i + 1;\n result[j].codewords[iOffset] = rawCodewords[rawCodewordsOffset++];\n }\n }\n return result;\n };\n DataBlock.prototype.getNumDataCodewords = function () {\n return this.numDataCodewords;\n };\n DataBlock.prototype.getCodewords = function () {\n return this.codewords;\n };\n return DataBlock;\n}());\nexport default DataBlock;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// package com.google.zxing.pdf417.decoder;\n// import com.google.zxing.FormatException;\nimport FormatException from '../../FormatException';\n// import com.google.zxing.common.CharacterSetECI;\nimport CharacterSetECI from '../../common/CharacterSetECI';\n// import com.google.zxing.common.DecoderResult;\nimport DecoderResult from '../../common/DecoderResult';\n// import com.google.zxing.pdf417.PDF417ResultMetadata;\nimport PDF417ResultMetadata from '../PDF417ResultMetadata';\n// import java.io.ByteArrayOutputStream;\n// import java.math.BigInteger;\n// import java.nio.charset.Charset;\n// import java.nio.charset.StandardCharsets;\n// import java.util.Arrays;\nimport Arrays from '../../util/Arrays';\nimport StringBuilder from '../../util/StringBuilder';\nimport Integer from '../../util/Integer';\nimport Long from '../../util/Long';\nimport ByteArrayOutputStream from '../../util/ByteArrayOutputStream';\nimport StringEncoding from '../../util/StringEncoding';\n/*private*/ var Mode;\n(function (Mode) {\n Mode[Mode[\"ALPHA\"] = 0] = \"ALPHA\";\n Mode[Mode[\"LOWER\"] = 1] = \"LOWER\";\n Mode[Mode[\"MIXED\"] = 2] = \"MIXED\";\n Mode[Mode[\"PUNCT\"] = 3] = \"PUNCT\";\n Mode[Mode[\"ALPHA_SHIFT\"] = 4] = \"ALPHA_SHIFT\";\n Mode[Mode[\"PUNCT_SHIFT\"] = 5] = \"PUNCT_SHIFT\";\n})(Mode || (Mode = {}));\n/**\n * Indirectly access the global BigInt constructor, it\n * allows browsers that doesn't support BigInt to run\n * the library without breaking due to \"undefined BigInt\"\n * errors.\n */\nfunction getBigIntConstructor() {\n if (typeof window !== 'undefined') {\n return window['BigInt'] || null;\n }\n if (typeof global !== 'undefined') {\n return global['BigInt'] || null;\n }\n if (typeof self !== 'undefined') {\n return self['BigInt'] || null;\n }\n throw new Error('Can\\'t search globals for BigInt!');\n}\n/**\n * Used to store the BigInt constructor.\n */\nvar BigInteger;\n/**\n * This function creates a bigint value. It allows browsers\n * that doesn't support BigInt to run the rest of the library\n * by not directly accessing the BigInt constructor.\n */\nfunction createBigInt(num) {\n if (typeof BigInteger === 'undefined') {\n BigInteger = getBigIntConstructor();\n }\n if (BigInteger === null) {\n throw new Error('BigInt is not supported!');\n }\n return BigInteger(num);\n}\nfunction getEXP900() {\n // in Java - array with length = 16\n var EXP900 = [];\n EXP900[0] = createBigInt(1);\n var nineHundred = createBigInt(900);\n EXP900[1] = nineHundred;\n // in Java - array with length = 16\n for (var i /*int*/ = 2; i < 16; i++) {\n EXP900[i] = EXP900[i - 1] * nineHundred;\n }\n return EXP900;\n}\n/**\n *

This class contains the methods for decoding the PDF417 codewords.

\n *\n * @author SITA Lab (kevin.osullivan@sita.aero)\n * @author Guenther Grau\n */\nvar DecodedBitStreamParser = /** @class */ (function () {\n function DecodedBitStreamParser() {\n }\n // private DecodedBitStreamParser() {\n // }\n /**\n *\n * @param codewords\n * @param ecLevel\n *\n * @throws FormatException\n */\n DecodedBitStreamParser.decode = function (codewords, ecLevel) {\n // pass encoding to result (will be used for decode symbols in byte mode)\n var result = new StringBuilder('');\n // let encoding: Charset = StandardCharsets.ISO_8859_1;\n var encoding = CharacterSetECI.ISO8859_1;\n /**\n * @note the next command is specific from this TypeScript library\n * because TS can't properly cast some values to char and\n * convert it to string later correctly due to encoding\n * differences from Java version. As reported here:\n * https://github.com/zxing-js/library/pull/264/files#r382831593\n */\n result.enableDecoding(encoding);\n // Get compaction mode\n var codeIndex = 1;\n var code = codewords[codeIndex++];\n var resultMetadata = new PDF417ResultMetadata();\n while (codeIndex < codewords[0]) {\n switch (code) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex, result);\n break;\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n codeIndex = DecodedBitStreamParser.byteCompaction(code, codewords, encoding, codeIndex, result);\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ codewords[codeIndex++]);\n break;\n case DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH:\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex, result);\n break;\n case DecodedBitStreamParser.ECI_CHARSET:\n var charsetECI = CharacterSetECI.getCharacterSetECIByValue(codewords[codeIndex++]);\n // encoding = Charset.forName(charsetECI.getName());\n break;\n case DecodedBitStreamParser.ECI_GENERAL_PURPOSE:\n // Can't do anything with generic ECI; skip its 2 characters\n codeIndex += 2;\n break;\n case DecodedBitStreamParser.ECI_USER_DEFINED:\n // Can't do anything with user ECI; skip its 1 character\n codeIndex++;\n break;\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n codeIndex = DecodedBitStreamParser.decodeMacroBlock(codewords, codeIndex, resultMetadata);\n break;\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n // Should not see these outside a macro block\n throw new FormatException();\n default:\n // Default to text compaction. During testing numerous barcodes\n // appeared to be missing the starting mode. In these cases defaulting\n // to text compaction seems to work.\n codeIndex--;\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex, result);\n break;\n }\n if (codeIndex < codewords.length) {\n code = codewords[codeIndex++];\n }\n else {\n throw FormatException.getFormatInstance();\n }\n }\n if (result.length() === 0) {\n throw FormatException.getFormatInstance();\n }\n var decoderResult = new DecoderResult(null, result.toString(), null, ecLevel);\n decoderResult.setOther(resultMetadata);\n return decoderResult;\n };\n /**\n *\n * @param int\n * @param param1\n * @param codewords\n * @param int\n * @param codeIndex\n * @param PDF417ResultMetadata\n * @param resultMetadata\n *\n * @throws FormatException\n */\n // @SuppressWarnings(\"deprecation\")\n DecodedBitStreamParser.decodeMacroBlock = function (codewords, codeIndex, resultMetadata) {\n if (codeIndex + DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS > codewords[0]) {\n // we must have at least two bytes left for the segment index\n throw FormatException.getFormatInstance();\n }\n var segmentIndexArray = new Int32Array(DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS);\n for (var i /*int*/ = 0; i < DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS; i++, codeIndex++) {\n segmentIndexArray[i] = codewords[codeIndex];\n }\n resultMetadata.setSegmentIndex(Integer.parseInt(DecodedBitStreamParser.decodeBase900toBase10(segmentIndexArray, DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS)));\n var fileId = new StringBuilder();\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex, fileId);\n resultMetadata.setFileId(fileId.toString());\n var optionalFieldsStart = -1;\n if (codewords[codeIndex] === DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD) {\n optionalFieldsStart = codeIndex + 1;\n }\n while (codeIndex < codewords[0]) {\n switch (codewords[codeIndex]) {\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n codeIndex++;\n switch (codewords[codeIndex]) {\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME:\n var fileName = new StringBuilder();\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex + 1, fileName);\n resultMetadata.setFileName(fileName.toString());\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_SENDER:\n var sender = new StringBuilder();\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex + 1, sender);\n resultMetadata.setSender(sender.toString());\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE:\n var addressee = new StringBuilder();\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex + 1, addressee);\n resultMetadata.setAddressee(addressee.toString());\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT:\n var segmentCount = new StringBuilder();\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex + 1, segmentCount);\n resultMetadata.setSegmentCount(Integer.parseInt(segmentCount.toString()));\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP:\n var timestamp = new StringBuilder();\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex + 1, timestamp);\n resultMetadata.setTimestamp(Long.parseLong(timestamp.toString()));\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM:\n var checksum = new StringBuilder();\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex + 1, checksum);\n resultMetadata.setChecksum(Integer.parseInt(checksum.toString()));\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE:\n var fileSize = new StringBuilder();\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex + 1, fileSize);\n resultMetadata.setFileSize(Long.parseLong(fileSize.toString()));\n break;\n default:\n throw FormatException.getFormatInstance();\n }\n break;\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex++;\n resultMetadata.setLastSegment(true);\n break;\n default:\n throw FormatException.getFormatInstance();\n }\n }\n // copy optional fields to additional options\n if (optionalFieldsStart !== -1) {\n var optionalFieldsLength = codeIndex - optionalFieldsStart;\n if (resultMetadata.isLastSegment()) {\n // do not include terminator\n optionalFieldsLength--;\n }\n resultMetadata.setOptionalData(Arrays.copyOfRange(codewords, optionalFieldsStart, optionalFieldsStart + optionalFieldsLength));\n }\n return codeIndex;\n };\n /**\n * Text Compaction mode (see 5.4.1.5) permits all printable ASCII characters to be\n * encoded, i.e. values 32 - 126 inclusive in accordance with ISO/IEC 646 (IRV), as\n * well as selected control characters.\n *\n * @param codewords The array of codewords (data + error)\n * @param codeIndex The current index into the codeword array.\n * @param result The decoded data is appended to the result.\n * @return The next index into the codeword array.\n */\n DecodedBitStreamParser.textCompaction = function (codewords, codeIndex, result) {\n // 2 character per codeword\n var textCompactionData = new Int32Array((codewords[0] - codeIndex) * 2);\n // Used to hold the byte compaction value if there is a mode shift\n var byteCompactionData = new Int32Array((codewords[0] - codeIndex) * 2);\n var index = 0;\n var end = false;\n while ((codeIndex < codewords[0]) && !end) {\n var code = codewords[codeIndex++];\n if (code < DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH) {\n textCompactionData[index] = code / 30;\n textCompactionData[index + 1] = code % 30;\n index += 2;\n }\n else {\n switch (code) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n // reinitialize text compaction mode to alpha sub mode\n textCompactionData[index++] = DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH;\n break;\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n // The Mode Shift codeword 913 shall cause a temporary\n // switch from Text Compaction mode to Byte Compaction mode.\n // This switch shall be in effect for only the next codeword,\n // after which the mode shall revert to the prevailing sub-mode\n // of the Text Compaction mode. Codeword 913 is only available\n // in Text Compaction mode; its use is described in 5.4.2.4.\n textCompactionData[index] = DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE;\n code = codewords[codeIndex++];\n byteCompactionData[index] = code;\n index++;\n break;\n }\n }\n }\n DecodedBitStreamParser.decodeTextCompaction(textCompactionData, byteCompactionData, index, result);\n return codeIndex;\n };\n /**\n * The Text Compaction mode includes all the printable ASCII characters\n * (i.e. values from 32 to 126) and three ASCII control characters: HT or tab\n * (9: e), LF or line feed (10: e), and CR or carriage\n * return (13: e). The Text Compaction mode also includes various latch\n * and shift characters which are used exclusively within the mode. The Text\n * Compaction mode encodes up to 2 characters per codeword. The compaction rules\n * for converting data into PDF417 codewords are defined in 5.4.2.2. The sub-mode\n * switches are defined in 5.4.2.3.\n *\n * @param textCompactionData The text compaction data.\n * @param byteCompactionData The byte compaction data if there\n * was a mode shift.\n * @param length The size of the text compaction and byte compaction data.\n * @param result The decoded data is appended to the result.\n */\n DecodedBitStreamParser.decodeTextCompaction = function (textCompactionData, byteCompactionData, length, result) {\n // Beginning from an initial state of the Alpha sub-mode\n // The default compaction mode for PDF417 in effect at the start of each symbol shall always be Text\n // Compaction mode Alpha sub-mode (alphabetic: uppercase). A latch codeword from another mode to the Text\n // Compaction mode shall always switch to the Text Compaction Alpha sub-mode.\n var subMode = Mode.ALPHA;\n var priorToShiftMode = Mode.ALPHA;\n var i = 0;\n while (i < length) {\n var subModeCh = textCompactionData[i];\n var ch = /*char*/ '';\n switch (subMode) {\n case Mode.ALPHA:\n // Alpha (alphabetic: uppercase)\n if (subModeCh < 26) {\n // Upper case Alpha Character\n // Note: 65 = 'A' ASCII -> there is byte code of symbol\n ch = /*(char)('A' + subModeCh) */ String.fromCharCode(65 + subModeCh);\n }\n else {\n switch (subModeCh) {\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser.LL:\n subMode = Mode.LOWER;\n break;\n case DecodedBitStreamParser.ML:\n subMode = Mode.MIXED;\n break;\n case DecodedBitStreamParser.PS:\n // Shift to punctuation\n priorToShiftMode = subMode;\n subMode = Mode.PUNCT_SHIFT;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.LOWER:\n // Lower (alphabetic: lowercase)\n if (subModeCh < 26) {\n ch = /*(char)('a' + subModeCh)*/ String.fromCharCode(97 + subModeCh);\n }\n else {\n switch (subModeCh) {\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser.AS:\n // Shift to alpha\n priorToShiftMode = subMode;\n subMode = Mode.ALPHA_SHIFT;\n break;\n case DecodedBitStreamParser.ML:\n subMode = Mode.MIXED;\n break;\n case DecodedBitStreamParser.PS:\n // Shift to punctuation\n priorToShiftMode = subMode;\n subMode = Mode.PUNCT_SHIFT;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n // TODO Does this need to use the current character encoding? See other occurrences below\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.MIXED:\n // Mixed (punctuation: e)\n if (subModeCh < DecodedBitStreamParser.PL) {\n ch = DecodedBitStreamParser.MIXED_CHARS[subModeCh];\n }\n else {\n switch (subModeCh) {\n case DecodedBitStreamParser.PL:\n subMode = Mode.PUNCT;\n break;\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser.LL:\n subMode = Mode.LOWER;\n break;\n case DecodedBitStreamParser.AL:\n subMode = Mode.ALPHA;\n break;\n case DecodedBitStreamParser.PS:\n // Shift to punctuation\n priorToShiftMode = subMode;\n subMode = Mode.PUNCT_SHIFT;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.PUNCT:\n // Punctuation\n if (subModeCh < DecodedBitStreamParser.PAL) {\n ch = DecodedBitStreamParser.PUNCT_CHARS[subModeCh];\n }\n else {\n switch (subModeCh) {\n case DecodedBitStreamParser.PAL:\n subMode = Mode.ALPHA;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.ALPHA_SHIFT:\n // Restore sub-mode\n subMode = priorToShiftMode;\n if (subModeCh < 26) {\n ch = /*(char)('A' + subModeCh)*/ String.fromCharCode(65 + subModeCh);\n }\n else {\n switch (subModeCh) {\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.PUNCT_SHIFT:\n // Restore sub-mode\n subMode = priorToShiftMode;\n if (subModeCh < DecodedBitStreamParser.PAL) {\n ch = DecodedBitStreamParser.PUNCT_CHARS[subModeCh];\n }\n else {\n switch (subModeCh) {\n case DecodedBitStreamParser.PAL:\n subMode = Mode.ALPHA;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n // PS before Shift-to-Byte is used as a padding character,\n // see 5.4.2.4 of the specification\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n }\n // if (ch !== 0) {\n if (ch !== '') {\n // Append decoded character to result\n result.append(ch);\n }\n i++;\n }\n };\n /**\n * Byte Compaction mode (see 5.4.3) permits all 256 possible 8-bit byte values to be encoded.\n * This includes all ASCII characters value 0 to 127 inclusive and provides for international\n * character set support.\n *\n * @param mode The byte compaction mode i.e. 901 or 924\n * @param codewords The array of codewords (data + error)\n * @param encoding Currently active character encoding\n * @param codeIndex The current index into the codeword array.\n * @param result The decoded data is appended to the result.\n * @return The next index into the codeword array.\n */\n DecodedBitStreamParser.byteCompaction = function (mode, codewords, encoding, codeIndex, result) {\n var decodedBytes = new ByteArrayOutputStream();\n var count = 0;\n var value = /*long*/ 0;\n var end = false;\n switch (mode) {\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n // Total number of Byte Compaction characters to be encoded\n // is not a multiple of 6\n var byteCompactedCodewords = new Int32Array(6);\n var nextCode = codewords[codeIndex++];\n while ((codeIndex < codewords[0]) && !end) {\n byteCompactedCodewords[count++] = nextCode;\n // Base 900\n value = 900 * value + nextCode;\n nextCode = codewords[codeIndex++];\n // perhaps it should be ok to check only nextCode >= TEXT_COMPACTION_MODE_LATCH\n switch (nextCode) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n default:\n if ((count % 5 === 0) && (count > 0)) {\n // Decode every 5 codewords\n // Convert to Base 256\n for (var j /*int*/ = 0; j < 6; ++j) {\n /* @note\n * JavaScript stores numbers as 64 bits floating point numbers, but all bitwise operations are performed on 32 bits binary numbers.\n * So the next bitwise operation could not be done with simple numbers\n */\n decodedBytes.write(/*(byte)*/ Number(createBigInt(value) >> createBigInt(8 * (5 - j))));\n }\n value = 0;\n count = 0;\n }\n break;\n }\n }\n // if the end of all codewords is reached the last codeword needs to be added\n if (codeIndex === codewords[0] && nextCode < DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH) {\n byteCompactedCodewords[count++] = nextCode;\n }\n // If Byte Compaction mode is invoked with codeword 901,\n // the last group of codewords is interpreted directly\n // as one byte per codeword, without compaction.\n for (var i /*int*/ = 0; i < count; i++) {\n decodedBytes.write(/*(byte)*/ byteCompactedCodewords[i]);\n }\n break;\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n // Total number of Byte Compaction characters to be encoded\n // is an integer multiple of 6\n while (codeIndex < codewords[0] && !end) {\n var code = codewords[codeIndex++];\n if (code < DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH) {\n count++;\n // Base 900\n value = 900 * value + code;\n }\n else {\n switch (code) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n }\n }\n if ((count % 5 === 0) && (count > 0)) {\n // Decode every 5 codewords\n // Convert to Base 256\n /* @note\n * JavaScript stores numbers as 64 bits floating point numbers, but all bitwise operations are performed on 32 bits binary numbers.\n * So the next bitwise operation could not be done with simple numbers\n */\n for (var j /*int*/ = 0; j < 6; ++j) {\n decodedBytes.write(/*(byte)*/ Number(createBigInt(value) >> createBigInt(8 * (5 - j))));\n }\n value = 0;\n count = 0;\n }\n }\n break;\n }\n result.append(StringEncoding.decode(decodedBytes.toByteArray(), encoding));\n return codeIndex;\n };\n /**\n * Numeric Compaction mode (see 5.4.4) permits efficient encoding of numeric data strings.\n *\n * @param codewords The array of codewords (data + error)\n * @param codeIndex The current index into the codeword array.\n * @param result The decoded data is appended to the result.\n * @return The next index into the codeword array.\n *\n * @throws FormatException\n */\n DecodedBitStreamParser.numericCompaction = function (codewords, codeIndex /*int*/, result) {\n var count = 0;\n var end = false;\n var numericCodewords = new Int32Array(DecodedBitStreamParser.MAX_NUMERIC_CODEWORDS);\n while (codeIndex < codewords[0] && !end) {\n var code = codewords[codeIndex++];\n if (codeIndex === codewords[0]) {\n end = true;\n }\n if (code < DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH) {\n numericCodewords[count] = code;\n count++;\n }\n else {\n switch (code) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n }\n }\n if ((count % DecodedBitStreamParser.MAX_NUMERIC_CODEWORDS === 0 || code === DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH || end) && count > 0) {\n // Re-invoking Numeric Compaction mode (by using codeword 902\n // while in Numeric Compaction mode) serves to terminate the\n // current Numeric Compaction mode grouping as described in 5.4.4.2,\n // and then to start a new one grouping.\n result.append(DecodedBitStreamParser.decodeBase900toBase10(numericCodewords, count));\n count = 0;\n }\n }\n return codeIndex;\n };\n /**\n * Convert a list of Numeric Compacted codewords from Base 900 to Base 10.\n *\n * @param codewords The array of codewords\n * @param count The number of codewords\n * @return The decoded string representing the Numeric data.\n *\n * EXAMPLE\n * Encode the fifteen digit numeric string 000213298174000\n * Prefix the numeric string with a 1 and set the initial value of\n * t = 1 000 213 298 174 000\n * Calculate codeword 0\n * d0 = 1 000 213 298 174 000 mod 900 = 200\n *\n * t = 1 000 213 298 174 000 div 900 = 1 111 348 109 082\n * Calculate codeword 1\n * d1 = 1 111 348 109 082 mod 900 = 282\n *\n * t = 1 111 348 109 082 div 900 = 1 234 831 232\n * Calculate codeword 2\n * d2 = 1 234 831 232 mod 900 = 632\n *\n * t = 1 234 831 232 div 900 = 1 372 034\n * Calculate codeword 3\n * d3 = 1 372 034 mod 900 = 434\n *\n * t = 1 372 034 div 900 = 1 524\n * Calculate codeword 4\n * d4 = 1 524 mod 900 = 624\n *\n * t = 1 524 div 900 = 1\n * Calculate codeword 5\n * d5 = 1 mod 900 = 1\n * t = 1 div 900 = 0\n * Codeword sequence is: 1, 624, 434, 632, 282, 200\n *\n * Decode the above codewords involves\n * 1 x 900 power of 5 + 624 x 900 power of 4 + 434 x 900 power of 3 +\n * 632 x 900 power of 2 + 282 x 900 power of 1 + 200 x 900 power of 0 = 1000213298174000\n *\n * Remove leading 1 => Result is 000213298174000\n *\n * @throws FormatException\n */\n DecodedBitStreamParser.decodeBase900toBase10 = function (codewords, count) {\n var result = createBigInt(0);\n for (var i /*int*/ = 0; i < count; i++) {\n result += DecodedBitStreamParser.EXP900[count - i - 1] * createBigInt(codewords[i]);\n }\n var resultString = result.toString();\n if (resultString.charAt(0) !== '1') {\n throw new FormatException();\n }\n return resultString.substring(1);\n };\n DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH = 900;\n DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH = 901;\n DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH = 902;\n DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6 = 924;\n DecodedBitStreamParser.ECI_USER_DEFINED = 925;\n DecodedBitStreamParser.ECI_GENERAL_PURPOSE = 926;\n DecodedBitStreamParser.ECI_CHARSET = 927;\n DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK = 928;\n DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD = 923;\n DecodedBitStreamParser.MACRO_PDF417_TERMINATOR = 922;\n DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE = 913;\n DecodedBitStreamParser.MAX_NUMERIC_CODEWORDS = 15;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME = 0;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT = 1;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP = 2;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_SENDER = 3;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE = 4;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE = 5;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM = 6;\n DecodedBitStreamParser.PL = 25;\n DecodedBitStreamParser.LL = 27;\n DecodedBitStreamParser.AS = 27;\n DecodedBitStreamParser.ML = 28;\n DecodedBitStreamParser.AL = 28;\n DecodedBitStreamParser.PS = 29;\n DecodedBitStreamParser.PAL = 29;\n DecodedBitStreamParser.PUNCT_CHARS = ';<>@[\\\\]_`~!\\r\\t,:\\n-.$/\"|*()?{}\\'';\n DecodedBitStreamParser.MIXED_CHARS = '0123456789&\\r\\t,:#-.$/+%*=^';\n /**\n * Table containing values for the exponent of 900.\n * This is used in the numeric compaction decode algorithm.\n */\n DecodedBitStreamParser.EXP900 = getBigIntConstructor() ? getEXP900() : [];\n DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS = 2;\n return DecodedBitStreamParser;\n}());\nexport default DecodedBitStreamParser;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.qrcode.decoder {*/\nimport BitSource from '../../common/BitSource';\nimport CharacterSetECI from '../../common/CharacterSetECI';\nimport DecoderResult from '../../common/DecoderResult';\nimport StringUtils from '../../common/StringUtils';\nimport FormatException from '../../FormatException';\nimport StringBuilder from '../../util/StringBuilder';\nimport StringEncoding from '../../util/StringEncoding';\nimport Mode from './Mode';\n/*import java.io.UnsupportedEncodingException;*/\n/*import java.util.ArrayList;*/\n/*import java.util.Collection;*/\n/*import java.util.List;*/\n/*import java.util.Map;*/\n/**\n *

QR Codes can encode text as bits in one of several modes, and can use multiple modes\n * in one QR Code. This class decodes the bits back into text.

\n *\n *

See ISO 18004:2006, 6.4.3 - 6.4.7

\n *\n * @author Sean Owen\n */\nvar DecodedBitStreamParser = /** @class */ (function () {\n function DecodedBitStreamParser() {\n }\n DecodedBitStreamParser.decode = function (bytes, version, ecLevel, hints) {\n var bits = new BitSource(bytes);\n var result = new StringBuilder();\n var byteSegments = new Array(); // 1\n // TYPESCRIPTPORT: I do not use constructor with size 1 as in original Java means capacity and the array length is checked below\n var symbolSequence = -1;\n var parityData = -1;\n try {\n var currentCharacterSetECI = null;\n var fc1InEffect = false;\n var mode = void 0;\n do {\n // While still another segment to read...\n if (bits.available() < 4) {\n // OK, assume we're done. Really, a TERMINATOR mode should have been recorded here\n mode = Mode.TERMINATOR;\n }\n else {\n var modeBits = bits.readBits(4);\n mode = Mode.forBits(modeBits); // mode is encoded by 4 bits\n }\n switch (mode) {\n case Mode.TERMINATOR:\n break;\n case Mode.FNC1_FIRST_POSITION:\n case Mode.FNC1_SECOND_POSITION:\n // We do little with FNC1 except alter the parsed result a bit according to the spec\n fc1InEffect = true;\n break;\n case Mode.STRUCTURED_APPEND:\n if (bits.available() < 16) {\n throw new FormatException();\n }\n // sequence number and parity is added later to the result metadata\n // Read next 8 bits (symbol sequence #) and 8 bits (data: parity), then continue\n symbolSequence = bits.readBits(8);\n parityData = bits.readBits(8);\n break;\n case Mode.ECI:\n // Count doesn't apply to ECI\n var value = DecodedBitStreamParser.parseECIValue(bits);\n currentCharacterSetECI = CharacterSetECI.getCharacterSetECIByValue(value);\n if (currentCharacterSetECI === null) {\n throw new FormatException();\n }\n break;\n case Mode.HANZI:\n // First handle Hanzi mode which does not start with character count\n // Chinese mode contains a sub set indicator right after mode indicator\n var subset = bits.readBits(4);\n var countHanzi = bits.readBits(mode.getCharacterCountBits(version));\n if (subset === DecodedBitStreamParser.GB2312_SUBSET) {\n DecodedBitStreamParser.decodeHanziSegment(bits, result, countHanzi);\n }\n break;\n default:\n // \"Normal\" QR code modes:\n // How many characters will follow, encoded in this mode?\n var count = bits.readBits(mode.getCharacterCountBits(version));\n switch (mode) {\n case Mode.NUMERIC:\n DecodedBitStreamParser.decodeNumericSegment(bits, result, count);\n break;\n case Mode.ALPHANUMERIC:\n DecodedBitStreamParser.decodeAlphanumericSegment(bits, result, count, fc1InEffect);\n break;\n case Mode.BYTE:\n DecodedBitStreamParser.decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments, hints);\n break;\n case Mode.KANJI:\n DecodedBitStreamParser.decodeKanjiSegment(bits, result, count);\n break;\n default:\n throw new FormatException();\n }\n break;\n }\n } while (mode !== Mode.TERMINATOR);\n }\n catch (iae /*: IllegalArgumentException*/) {\n // from readBits() calls\n throw new FormatException();\n }\n return new DecoderResult(bytes, result.toString(), byteSegments.length === 0 ? null : byteSegments, ecLevel === null ? null : ecLevel.toString(), symbolSequence, parityData);\n };\n /**\n * See specification GBT 18284-2000\n */\n DecodedBitStreamParser.decodeHanziSegment = function (bits, result, count /*int*/) {\n // Don't crash trying to read more bits than we have available.\n if (count * 13 > bits.available()) {\n throw new FormatException();\n }\n // Each character will require 2 bytes. Read the characters as 2-byte pairs\n // and decode as GB2312 afterwards\n var buffer = new Uint8Array(2 * count);\n var offset = 0;\n while (count > 0) {\n // Each 13 bits encodes a 2-byte character\n var twoBytes = bits.readBits(13);\n var assembledTwoBytes = (((twoBytes / 0x060) << 8) & 0xFFFFFFFF) | (twoBytes % 0x060);\n if (assembledTwoBytes < 0x003BF) {\n // In the 0xA1A1 to 0xAAFE range\n assembledTwoBytes += 0x0A1A1;\n }\n else {\n // In the 0xB0A1 to 0xFAFE range\n assembledTwoBytes += 0x0A6A1;\n }\n buffer[offset] = /*(byte) */ ((assembledTwoBytes >> 8) & 0xFF);\n buffer[offset + 1] = /*(byte) */ (assembledTwoBytes & 0xFF);\n offset += 2;\n count--;\n }\n try {\n result.append(StringEncoding.decode(buffer, StringUtils.GB2312));\n // TYPESCRIPTPORT: TODO: implement GB2312 decode. StringView from MDN could be a starting point\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n throw new FormatException(ignored);\n }\n };\n DecodedBitStreamParser.decodeKanjiSegment = function (bits, result, count /*int*/) {\n // Don't crash trying to read more bits than we have available.\n if (count * 13 > bits.available()) {\n throw new FormatException();\n }\n // Each character will require 2 bytes. Read the characters as 2-byte pairs\n // and decode as Shift_JIS afterwards\n var buffer = new Uint8Array(2 * count);\n var offset = 0;\n while (count > 0) {\n // Each 13 bits encodes a 2-byte character\n var twoBytes = bits.readBits(13);\n var assembledTwoBytes = (((twoBytes / 0x0C0) << 8) & 0xFFFFFFFF) | (twoBytes % 0x0C0);\n if (assembledTwoBytes < 0x01F00) {\n // In the 0x8140 to 0x9FFC range\n assembledTwoBytes += 0x08140;\n }\n else {\n // In the 0xE040 to 0xEBBF range\n assembledTwoBytes += 0x0C140;\n }\n buffer[offset] = /*(byte) */ (assembledTwoBytes >> 8);\n buffer[offset + 1] = /*(byte) */ assembledTwoBytes;\n offset += 2;\n count--;\n }\n // Shift_JIS may not be supported in some environments:\n try {\n result.append(StringEncoding.decode(buffer, StringUtils.SHIFT_JIS));\n // TYPESCRIPTPORT: TODO: implement SHIFT_JIS decode. StringView from MDN could be a starting point\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n throw new FormatException(ignored);\n }\n };\n DecodedBitStreamParser.decodeByteSegment = function (bits, result, count /*int*/, currentCharacterSetECI, byteSegments, hints) {\n // Don't crash trying to read more bits than we have available.\n if (8 * count > bits.available()) {\n throw new FormatException();\n }\n var readBytes = new Uint8Array(count);\n for (var i = 0; i < count; i++) {\n readBytes[i] = /*(byte) */ bits.readBits(8);\n }\n var encoding;\n if (currentCharacterSetECI === null) {\n // The spec isn't clear on this mode; see\n // section 6.4.5: t does not say which encoding to assuming\n // upon decoding. I have seen ISO-8859-1 used as well as\n // Shift_JIS -- without anything like an ECI designator to\n // give a hint.\n encoding = StringUtils.guessEncoding(readBytes, hints);\n }\n else {\n encoding = currentCharacterSetECI.getName();\n }\n try {\n result.append(StringEncoding.decode(readBytes, encoding));\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n throw new FormatException(ignored);\n }\n byteSegments.push(readBytes);\n };\n DecodedBitStreamParser.toAlphaNumericChar = function (value /*int*/) {\n if (value >= DecodedBitStreamParser.ALPHANUMERIC_CHARS.length) {\n throw new FormatException();\n }\n return DecodedBitStreamParser.ALPHANUMERIC_CHARS[value];\n };\n DecodedBitStreamParser.decodeAlphanumericSegment = function (bits, result, count /*int*/, fc1InEffect) {\n // Read two characters at a time\n var start = result.length();\n while (count > 1) {\n if (bits.available() < 11) {\n throw new FormatException();\n }\n var nextTwoCharsBits = bits.readBits(11);\n result.append(DecodedBitStreamParser.toAlphaNumericChar(Math.floor(nextTwoCharsBits / 45)));\n result.append(DecodedBitStreamParser.toAlphaNumericChar(nextTwoCharsBits % 45));\n count -= 2;\n }\n if (count === 1) {\n // special case: one character left\n if (bits.available() < 6) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser.toAlphaNumericChar(bits.readBits(6)));\n }\n // See section 6.4.8.1, 6.4.8.2\n if (fc1InEffect) {\n // We need to massage the result a bit if in an FNC1 mode:\n for (var i = start; i < result.length(); i++) {\n if (result.charAt(i) === '%') {\n if (i < result.length() - 1 && result.charAt(i + 1) === '%') {\n // %% is rendered as %\n result.deleteCharAt(i + 1);\n }\n else {\n // In alpha mode, % should be converted to FNC1 separator 0x1D\n result.setCharAt(i, String.fromCharCode(0x1D));\n }\n }\n }\n }\n };\n DecodedBitStreamParser.decodeNumericSegment = function (bits, result, count /*int*/) {\n // Read three digits at a time\n while (count >= 3) {\n // Each 10 bits encodes three digits\n if (bits.available() < 10) {\n throw new FormatException();\n }\n var threeDigitsBits = bits.readBits(10);\n if (threeDigitsBits >= 1000) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser.toAlphaNumericChar(Math.floor(threeDigitsBits / 100)));\n result.append(DecodedBitStreamParser.toAlphaNumericChar(Math.floor(threeDigitsBits / 10) % 10));\n result.append(DecodedBitStreamParser.toAlphaNumericChar(threeDigitsBits % 10));\n count -= 3;\n }\n if (count === 2) {\n // Two digits left over to read, encoded in 7 bits\n if (bits.available() < 7) {\n throw new FormatException();\n }\n var twoDigitsBits = bits.readBits(7);\n if (twoDigitsBits >= 100) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser.toAlphaNumericChar(Math.floor(twoDigitsBits / 10)));\n result.append(DecodedBitStreamParser.toAlphaNumericChar(twoDigitsBits % 10));\n }\n else if (count === 1) {\n // One digit left over to read\n if (bits.available() < 4) {\n throw new FormatException();\n }\n var digitBits = bits.readBits(4);\n if (digitBits >= 10) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser.toAlphaNumericChar(digitBits));\n }\n };\n DecodedBitStreamParser.parseECIValue = function (bits) {\n var firstByte = bits.readBits(8);\n if ((firstByte & 0x80) === 0) {\n // just one byte\n return firstByte & 0x7F;\n }\n if ((firstByte & 0xC0) === 0x80) {\n // two bytes\n var secondByte = bits.readBits(8);\n return (((firstByte & 0x3F) << 8) & 0xFFFFFFFF) | secondByte;\n }\n if ((firstByte & 0xE0) === 0xC0) {\n // three bytes\n var secondThirdBytes = bits.readBits(16);\n return (((firstByte & 0x1F) << 16) & 0xFFFFFFFF) | secondThirdBytes;\n }\n throw new FormatException();\n };\n /**\n * See ISO 18004:2006, 6.4.4 Table 5\n */\n DecodedBitStreamParser.ALPHANUMERIC_CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:';\n DecodedBitStreamParser.GB2312_SUBSET = 1;\n return DecodedBitStreamParser;\n}());\nexport default DecodedBitStreamParser;\n// function Uint8ArrayToString(a: Uint8Array): string {\n// const CHUNK_SZ = 0x8000;\n// const c = new StringBuilder();\n// for (let i = 0, length = a.length; i < length; i += CHUNK_SZ) {\n// c.append(String.fromCharCode.apply(null, a.subarray(i, i + CHUNK_SZ)));\n// }\n// return c.toString();\n// }\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Meta-data container for QR Code decoding. Instances of this class may be used to convey information back to the\n * decoding caller. Callers are expected to process this.\n *\n * @see com.google.zxing.common.DecoderResult#getOther()\n */\nvar QRCodeDecoderMetaData = /** @class */ (function () {\n function QRCodeDecoderMetaData(mirrored) {\n this.mirrored = mirrored;\n }\n /**\n * @return true if the QR Code was mirrored.\n */\n QRCodeDecoderMetaData.prototype.isMirrored = function () {\n return this.mirrored;\n };\n /**\n * Apply the result points' order correction due to mirroring.\n *\n * @param points Array of points to apply mirror correction to.\n */\n QRCodeDecoderMetaData.prototype.applyMirroredCorrection = function (points) {\n if (!this.mirrored || points === null || points.length < 3) {\n return;\n }\n var bottomLeft = points[0];\n points[0] = points[2];\n points[2] = bottomLeft;\n // No need to 'fix' top-left and alignment pattern.\n };\n return QRCodeDecoderMetaData;\n}());\nexport default QRCodeDecoderMetaData;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.decoder {*/\nimport ChecksumException from '../../ChecksumException';\nimport BitMatrix from '../../common/BitMatrix';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport ReedSolomonDecoder from '../../common/reedsolomon/ReedSolomonDecoder';\nimport BitMatrixParser from './BitMatrixParser';\nimport DataBlock from './DataBlock';\nimport DecodedBitStreamParser from './DecodedBitStreamParser';\nimport QRCodeDecoderMetaData from './QRCodeDecoderMetaData';\n/*import java.util.Map;*/\n/**\n *

The main class which implements QR Code decoding -- as opposed to locating and extracting\n * the QR Code from an image.

\n *\n * @author Sean Owen\n */\nvar Decoder = /** @class */ (function () {\n function Decoder() {\n this.rsDecoder = new ReedSolomonDecoder(GenericGF.QR_CODE_FIELD_256);\n }\n // public decode(image: boolean[][]): DecoderResult /*throws ChecksumException, FormatException*/ {\n // return decode(image, null)\n // }\n /**\n *

Convenience method that can decode a QR Code represented as a 2D array of booleans.\n * \"true\" is taken to mean a black module.

\n *\n * @param image booleans representing white/black QR Code modules\n * @param hints decoding hints that should be used to influence decoding\n * @return text and bytes encoded within the QR Code\n * @throws FormatException if the QR Code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n Decoder.prototype.decodeBooleanArray = function (image, hints) {\n return this.decodeBitMatrix(BitMatrix.parseFromBooleanArray(image), hints);\n };\n // public decodeBitMatrix(bits: BitMatrix): DecoderResult /*throws ChecksumException, FormatException*/ {\n // return decode(bits, null)\n // }\n /**\n *

Decodes a QR Code represented as a {@link BitMatrix}. A 1 or \"true\" is taken to mean a black module.

\n *\n * @param bits booleans representing white/black QR Code modules\n * @param hints decoding hints that should be used to influence decoding\n * @return text and bytes encoded within the QR Code\n * @throws FormatException if the QR Code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n Decoder.prototype.decodeBitMatrix = function (bits, hints) {\n // Construct a parser and read version, error-correction level\n var parser = new BitMatrixParser(bits);\n var ex = null;\n try {\n return this.decodeBitMatrixParser(parser, hints);\n }\n catch (e /*: FormatException, ChecksumException*/) {\n ex = e;\n }\n try {\n // Revert the bit matrix\n parser.remask();\n // Will be attempting a mirrored reading of the version and format info.\n parser.setMirror(true);\n // Preemptively read the version.\n parser.readVersion();\n // Preemptively read the format information.\n parser.readFormatInformation();\n /*\n * Since we're here, this means we have successfully detected some kind\n * of version and format information when mirrored. This is a good sign,\n * that the QR code may be mirrored, and we should try once more with a\n * mirrored content.\n */\n // Prepare for a mirrored reading.\n parser.mirror();\n var result = this.decodeBitMatrixParser(parser, hints);\n // Success! Notify the caller that the code was mirrored.\n result.setOther(new QRCodeDecoderMetaData(true));\n return result;\n }\n catch (e /*FormatException | ChecksumException*/) {\n // Throw the exception from the original reading\n if (ex !== null) {\n throw ex;\n }\n throw e;\n }\n };\n Decoder.prototype.decodeBitMatrixParser = function (parser, hints) {\n var e_1, _a, e_2, _b;\n var version = parser.readVersion();\n var ecLevel = parser.readFormatInformation().getErrorCorrectionLevel();\n // Read codewords\n var codewords = parser.readCodewords();\n // Separate into data blocks\n var dataBlocks = DataBlock.getDataBlocks(codewords, version, ecLevel);\n // Count total number of data bytes\n var totalBytes = 0;\n try {\n for (var dataBlocks_1 = __values(dataBlocks), dataBlocks_1_1 = dataBlocks_1.next(); !dataBlocks_1_1.done; dataBlocks_1_1 = dataBlocks_1.next()) {\n var dataBlock = dataBlocks_1_1.value;\n totalBytes += dataBlock.getNumDataCodewords();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (dataBlocks_1_1 && !dataBlocks_1_1.done && (_a = dataBlocks_1.return)) _a.call(dataBlocks_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var resultBytes = new Uint8Array(totalBytes);\n var resultOffset = 0;\n try {\n // Error-correct and copy data blocks together into a stream of bytes\n for (var dataBlocks_2 = __values(dataBlocks), dataBlocks_2_1 = dataBlocks_2.next(); !dataBlocks_2_1.done; dataBlocks_2_1 = dataBlocks_2.next()) {\n var dataBlock = dataBlocks_2_1.value;\n var codewordBytes = dataBlock.getCodewords();\n var numDataCodewords = dataBlock.getNumDataCodewords();\n this.correctErrors(codewordBytes, numDataCodewords);\n for (var i = 0; i < numDataCodewords; i++) {\n resultBytes[resultOffset++] = codewordBytes[i];\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (dataBlocks_2_1 && !dataBlocks_2_1.done && (_b = dataBlocks_2.return)) _b.call(dataBlocks_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // Decode the contents of that stream of bytes\n return DecodedBitStreamParser.decode(resultBytes, version, ecLevel, hints);\n };\n /**\n *

Given data and error-correction codewords received, possibly corrupted by errors, attempts to\n * correct the errors in-place using Reed-Solomon error correction.

\n *\n * @param codewordBytes data and error correction codewords\n * @param numDataCodewords number of codewords that are data bytes\n * @throws ChecksumException if error correction fails\n */\n Decoder.prototype.correctErrors = function (codewordBytes, numDataCodewords /*int*/) {\n // const numCodewords = codewordBytes.length;\n // First read into an array of ints\n var codewordsInts = new Int32Array(codewordBytes);\n // TYPESCRIPTPORT: not realy necessary to transform to ints? could redesign everything to work with unsigned bytes?\n // const codewordsInts = new Int32Array(numCodewords)\n // for (let i = 0; i < numCodewords; i++) {\n // codewordsInts[i] = codewordBytes[i] & 0xFF\n // }\n try {\n this.rsDecoder.decode(codewordsInts, codewordBytes.length - numDataCodewords);\n }\n catch (ignored /*: ReedSolomonException*/) {\n throw new ChecksumException();\n }\n // Copy back into array of bytes -- only need to worry about the bytes that were data\n // We don't care about errors in the error-correction codewords\n for (var i = 0; i < numDataCodewords; i++) {\n codewordBytes[i] = /*(byte) */ codewordsInts[i];\n }\n };\n return Decoder;\n}());\nexport default Decoder;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.qrcode.detector {*/\nimport ResultPoint from '../../ResultPoint';\n/**\n *

Encapsulates an alignment pattern, which are the smaller square patterns found in\n * all but the simplest QR Codes.

\n *\n * @author Sean Owen\n */\nvar AlignmentPattern = /** @class */ (function (_super) {\n __extends(AlignmentPattern, _super);\n function AlignmentPattern(posX /*float*/, posY /*float*/, estimatedModuleSize /*float*/) {\n var _this = _super.call(this, posX, posY) || this;\n _this.estimatedModuleSize = estimatedModuleSize;\n return _this;\n }\n /**\n *

Determines if this alignment pattern \"about equals\" an alignment pattern at the stated\n * position and size -- meaning, it is at nearly the same center with nearly the same size.

\n */\n AlignmentPattern.prototype.aboutEquals = function (moduleSize /*float*/, i /*float*/, j /*float*/) {\n if (Math.abs(i - this.getY()) <= moduleSize && Math.abs(j - this.getX()) <= moduleSize) {\n var moduleSizeDiff = Math.abs(moduleSize - this.estimatedModuleSize);\n return moduleSizeDiff <= 1.0 || moduleSizeDiff <= this.estimatedModuleSize;\n }\n return false;\n };\n /**\n * Combines this object's current estimate of a finder pattern position and module size\n * with a new estimate. It returns a new {@code FinderPattern} containing an average of the two.\n */\n AlignmentPattern.prototype.combineEstimate = function (i /*float*/, j /*float*/, newModuleSize /*float*/) {\n var combinedX = (this.getX() + j) / 2.0;\n var combinedY = (this.getY() + i) / 2.0;\n var combinedModuleSize = (this.estimatedModuleSize + newModuleSize) / 2.0;\n return new AlignmentPattern(combinedX, combinedY, combinedModuleSize);\n };\n return AlignmentPattern;\n}(ResultPoint));\nexport default AlignmentPattern;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport AlignmentPattern from './AlignmentPattern';\nimport NotFoundException from '../../NotFoundException';\n/*import java.util.ArrayList;*/\n/*import java.util.List;*/\n/**\n *

This class attempts to find alignment patterns in a QR Code. Alignment patterns look like finder\n * patterns but are smaller and appear at regular intervals throughout the image.

\n *\n *

At the moment this only looks for the bottom-right alignment pattern.

\n *\n *

This is mostly a simplified copy of {@link FinderPatternFinder}. It is copied,\n * pasted and stripped down here for maximum performance but does unfortunately duplicate\n * some code.

\n *\n *

This class is thread-safe but not reentrant. Each thread must allocate its own object.

\n *\n * @author Sean Owen\n */\nvar AlignmentPatternFinder = /** @class */ (function () {\n /**\n *

Creates a finder that will look in a portion of the whole image.

\n *\n * @param image image to search\n * @param startX left column from which to start searching\n * @param startY top row from which to start searching\n * @param width width of region to search\n * @param height height of region to search\n * @param moduleSize estimated module size so far\n */\n function AlignmentPatternFinder(image, startX /*int*/, startY /*int*/, width /*int*/, height /*int*/, moduleSize /*float*/, resultPointCallback) {\n this.image = image;\n this.startX = startX;\n this.startY = startY;\n this.width = width;\n this.height = height;\n this.moduleSize = moduleSize;\n this.resultPointCallback = resultPointCallback;\n this.possibleCenters = []; // new Array(5))\n // TYPESCRIPTPORT: array initialization without size as the length is checked below\n this.crossCheckStateCount = new Int32Array(3);\n }\n /**\n *

This method attempts to find the bottom-right alignment pattern in the image. It is a bit messy since\n * it's pretty performance-critical and so is written to be fast foremost.

\n *\n * @return {@link AlignmentPattern} if found\n * @throws NotFoundException if not found\n */\n AlignmentPatternFinder.prototype.find = function () {\n var startX = this.startX;\n var height = this.height;\n var width = this.width;\n var maxJ = startX + width;\n var middleI = this.startY + (height / 2);\n // We are looking for black/white/black modules in 1:1:1 ratio\n // this tracks the number of black/white/black modules seen so far\n var stateCount = new Int32Array(3);\n var image = this.image;\n for (var iGen = 0; iGen < height; iGen++) {\n // Search from middle outwards\n var i = middleI + ((iGen & 0x01) === 0 ? Math.floor((iGen + 1) / 2) : -Math.floor((iGen + 1) / 2));\n stateCount[0] = 0;\n stateCount[1] = 0;\n stateCount[2] = 0;\n var j = startX;\n // Burn off leading white pixels before anything else; if we start in the middle of\n // a white run, it doesn't make sense to count its length, since we don't know if the\n // white run continued to the left of the start point\n while (j < maxJ && !image.get(j, i)) {\n j++;\n }\n var currentState = 0;\n while (j < maxJ) {\n if (image.get(j, i)) {\n // Black pixel\n if (currentState === 1) { // Counting black pixels\n stateCount[1]++;\n }\n else { // Counting white pixels\n if (currentState === 2) { // A winner?\n if (this.foundPatternCross(stateCount)) { // Yes\n var confirmed = this.handlePossibleCenter(stateCount, i, j);\n if (confirmed !== null) {\n return confirmed;\n }\n }\n stateCount[0] = stateCount[2];\n stateCount[1] = 1;\n stateCount[2] = 0;\n currentState = 1;\n }\n else {\n stateCount[++currentState]++;\n }\n }\n }\n else { // White pixel\n if (currentState === 1) { // Counting black pixels\n currentState++;\n }\n stateCount[currentState]++;\n }\n j++;\n }\n if (this.foundPatternCross(stateCount)) {\n var confirmed = this.handlePossibleCenter(stateCount, i, maxJ);\n if (confirmed !== null) {\n return confirmed;\n }\n }\n }\n // Hmm, nothing we saw was observed and confirmed twice. If we had\n // any guess at all, return it.\n if (this.possibleCenters.length !== 0) {\n return this.possibleCenters[0];\n }\n throw new NotFoundException();\n };\n /**\n * Given a count of black/white/black pixels just seen and an end position,\n * figures the location of the center of this black/white/black run.\n */\n AlignmentPatternFinder.centerFromEnd = function (stateCount, end /*int*/) {\n return (end - stateCount[2]) - stateCount[1] / 2.0;\n };\n /**\n * @param stateCount count of black/white/black pixels just read\n * @return true iff the proportions of the counts is close enough to the 1/1/1 ratios\n * used by alignment patterns to be considered a match\n */\n AlignmentPatternFinder.prototype.foundPatternCross = function (stateCount) {\n var moduleSize = this.moduleSize;\n var maxVariance = moduleSize / 2.0;\n for (var i = 0; i < 3; i++) {\n if (Math.abs(moduleSize - stateCount[i]) >= maxVariance) {\n return false;\n }\n }\n return true;\n };\n /**\n *

After a horizontal scan finds a potential alignment pattern, this method\n * \"cross-checks\" by scanning down vertically through the center of the possible\n * alignment pattern to see if the same proportion is detected.

\n *\n * @param startI row where an alignment pattern was detected\n * @param centerJ center of the section that appears to cross an alignment pattern\n * @param maxCount maximum reasonable number of modules that should be\n * observed in any reading state, based on the results of the horizontal scan\n * @return vertical center of alignment pattern, or {@link Float#NaN} if not found\n */\n AlignmentPatternFinder.prototype.crossCheckVertical = function (startI /*int*/, centerJ /*int*/, maxCount /*int*/, originalStateCountTotal /*int*/) {\n var image = this.image;\n var maxI = image.getHeight();\n var stateCount = this.crossCheckStateCount;\n stateCount[0] = 0;\n stateCount[1] = 0;\n stateCount[2] = 0;\n // Start counting up from center\n var i = startI;\n while (i >= 0 && image.get(centerJ, i) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n i--;\n }\n // If already too many modules in this state or ran off the edge:\n if (i < 0 || stateCount[1] > maxCount) {\n return NaN;\n }\n while (i >= 0 && !image.get(centerJ, i) && stateCount[0] <= maxCount) {\n stateCount[0]++;\n i--;\n }\n if (stateCount[0] > maxCount) {\n return NaN;\n }\n // Now also count down from center\n i = startI + 1;\n while (i < maxI && image.get(centerJ, i) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n i++;\n }\n if (i === maxI || stateCount[1] > maxCount) {\n return NaN;\n }\n while (i < maxI && !image.get(centerJ, i) && stateCount[2] <= maxCount) {\n stateCount[2]++;\n i++;\n }\n if (stateCount[2] > maxCount) {\n return NaN;\n }\n var stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2];\n if (5 * Math.abs(stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) {\n return NaN;\n }\n return this.foundPatternCross(stateCount) ? AlignmentPatternFinder.centerFromEnd(stateCount, i) : NaN;\n };\n /**\n *

This is called when a horizontal scan finds a possible alignment pattern. It will\n * cross check with a vertical scan, and if successful, will see if this pattern had been\n * found on a previous horizontal scan. If so, we consider it confirmed and conclude we have\n * found the alignment pattern.

\n *\n * @param stateCount reading state module counts from horizontal scan\n * @param i row where alignment pattern may be found\n * @param j end of possible alignment pattern in row\n * @return {@link AlignmentPattern} if we have found the same pattern twice, or null if not\n */\n AlignmentPatternFinder.prototype.handlePossibleCenter = function (stateCount, i /*int*/, j /*int*/) {\n var e_1, _a;\n var stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2];\n var centerJ = AlignmentPatternFinder.centerFromEnd(stateCount, j);\n var centerI = this.crossCheckVertical(i, /*(int) */ centerJ, 2 * stateCount[1], stateCountTotal);\n if (!isNaN(centerI)) {\n var estimatedModuleSize = (stateCount[0] + stateCount[1] + stateCount[2]) / 3.0;\n try {\n for (var _b = __values(this.possibleCenters), _c = _b.next(); !_c.done; _c = _b.next()) {\n var center = _c.value;\n // Look for about the same center and module size:\n if (center.aboutEquals(estimatedModuleSize, centerI, centerJ)) {\n return center.combineEstimate(centerI, centerJ, estimatedModuleSize);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // Hadn't found this before; save it\n var point = new AlignmentPattern(centerJ, centerI, estimatedModuleSize);\n this.possibleCenters.push(point);\n if (this.resultPointCallback !== null && this.resultPointCallback !== undefined) {\n this.resultPointCallback.foundPossibleResultPoint(point);\n }\n }\n return null;\n };\n return AlignmentPatternFinder;\n}());\nexport default AlignmentPatternFinder;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.qrcode.detector {*/\nimport ResultPoint from '../../ResultPoint';\n/**\n *

Encapsulates a finder pattern, which are the three square patterns found in\n * the corners of QR Codes. It also encapsulates a count of similar finder patterns,\n * as a convenience to the finder's bookkeeping.

\n *\n * @author Sean Owen\n */\nvar FinderPattern = /** @class */ (function (_super) {\n __extends(FinderPattern, _super);\n // FinderPattern(posX: number/*float*/, posY: number/*float*/, estimatedModuleSize: number/*float*/) {\n // this(posX, posY, estimatedModuleSize, 1)\n // }\n function FinderPattern(posX /*float*/, posY /*float*/, estimatedModuleSize /*float*/, count /*int*/) {\n var _this = _super.call(this, posX, posY) || this;\n _this.estimatedModuleSize = estimatedModuleSize;\n _this.count = count;\n if (undefined === count) {\n _this.count = 1;\n }\n return _this;\n }\n FinderPattern.prototype.getEstimatedModuleSize = function () {\n return this.estimatedModuleSize;\n };\n FinderPattern.prototype.getCount = function () {\n return this.count;\n };\n /*\n void incrementCount() {\n this.count++\n }\n */\n /**\n *

Determines if this finder pattern \"about equals\" a finder pattern at the stated\n * position and size -- meaning, it is at nearly the same center with nearly the same size.

\n */\n FinderPattern.prototype.aboutEquals = function (moduleSize /*float*/, i /*float*/, j /*float*/) {\n if (Math.abs(i - this.getY()) <= moduleSize && Math.abs(j - this.getX()) <= moduleSize) {\n var moduleSizeDiff = Math.abs(moduleSize - this.estimatedModuleSize);\n return moduleSizeDiff <= 1.0 || moduleSizeDiff <= this.estimatedModuleSize;\n }\n return false;\n };\n /**\n * Combines this object's current estimate of a finder pattern position and module size\n * with a new estimate. It returns a new {@code FinderPattern} containing a weighted average\n * based on count.\n */\n FinderPattern.prototype.combineEstimate = function (i /*float*/, j /*float*/, newModuleSize /*float*/) {\n var combinedCount = this.count + 1;\n var combinedX = (this.count * this.getX() + j) / combinedCount;\n var combinedY = (this.count * this.getY() + i) / combinedCount;\n var combinedModuleSize = (this.count * this.estimatedModuleSize + newModuleSize) / combinedCount;\n return new FinderPattern(combinedX, combinedY, combinedModuleSize, combinedCount);\n };\n return FinderPattern;\n}(ResultPoint));\nexport default FinderPattern;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n *

Encapsulates information about finder patterns in an image, including the location of\n * the three finder patterns, and their estimated module size.

\n *\n * @author Sean Owen\n */\nvar FinderPatternInfo = /** @class */ (function () {\n function FinderPatternInfo(patternCenters) {\n this.bottomLeft = patternCenters[0];\n this.topLeft = patternCenters[1];\n this.topRight = patternCenters[2];\n }\n FinderPatternInfo.prototype.getBottomLeft = function () {\n return this.bottomLeft;\n };\n FinderPatternInfo.prototype.getTopLeft = function () {\n return this.topLeft;\n };\n FinderPatternInfo.prototype.getTopRight = function () {\n return this.topRight;\n };\n return FinderPatternInfo;\n}());\nexport default FinderPatternInfo;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.detector {*/\nimport DecodeHintType from '../../DecodeHintType';\nimport ResultPoint from '../../ResultPoint';\nimport FinderPattern from './FinderPattern';\nimport FinderPatternInfo from './FinderPatternInfo';\nimport NotFoundException from '../../NotFoundException';\n/*import java.io.Serializable;*/\n/*import java.util.ArrayList;*/\n/*import java.util.Collections;*/\n/*import java.util.Comparator;*/\n/*import java.util.List;*/\n/*import java.util.Map;*/\n/**\n *

This class attempts to find finder patterns in a QR Code. Finder patterns are the square\n * markers at three corners of a QR Code.

\n *\n *

This class is thread-safe but not reentrant. Each thread must allocate its own object.\n *\n * @author Sean Owen\n */\nvar FinderPatternFinder = /** @class */ (function () {\n /**\n *

Creates a finder that will search the image for three finder patterns.

\n *\n * @param image image to search\n */\n // public constructor(image: BitMatrix) {\n // this(image, null)\n // }\n function FinderPatternFinder(image, resultPointCallback) {\n this.image = image;\n this.resultPointCallback = resultPointCallback;\n this.possibleCenters = [];\n this.crossCheckStateCount = new Int32Array(5);\n this.resultPointCallback = resultPointCallback;\n }\n FinderPatternFinder.prototype.getImage = function () {\n return this.image;\n };\n FinderPatternFinder.prototype.getPossibleCenters = function () {\n return this.possibleCenters;\n };\n FinderPatternFinder.prototype.find = function (hints) {\n var tryHarder = (hints !== null && hints !== undefined) && undefined !== hints.get(DecodeHintType.TRY_HARDER);\n var pureBarcode = (hints !== null && hints !== undefined) && undefined !== hints.get(DecodeHintType.PURE_BARCODE);\n var image = this.image;\n var maxI = image.getHeight();\n var maxJ = image.getWidth();\n // We are looking for black/white/black/white/black modules in\n // 1:1:3:1:1 ratio; this tracks the number of such modules seen so far\n // Let's assume that the maximum version QR Code we support takes up 1/4 the height of the\n // image, and then account for the center being 3 modules in size. This gives the smallest\n // number of pixels the center could be, so skip this often. When trying harder, look for all\n // QR versions regardless of how dense they are.\n var iSkip = Math.floor((3 * maxI) / (4 * FinderPatternFinder.MAX_MODULES));\n if (iSkip < FinderPatternFinder.MIN_SKIP || tryHarder) {\n iSkip = FinderPatternFinder.MIN_SKIP;\n }\n var done = false;\n var stateCount = new Int32Array(5);\n for (var i = iSkip - 1; i < maxI && !done; i += iSkip) {\n // Get a row of black/white values\n stateCount[0] = 0;\n stateCount[1] = 0;\n stateCount[2] = 0;\n stateCount[3] = 0;\n stateCount[4] = 0;\n var currentState = 0;\n for (var j = 0; j < maxJ; j++) {\n if (image.get(j, i)) {\n // Black pixel\n if ((currentState & 1) === 1) { // Counting white pixels\n currentState++;\n }\n stateCount[currentState]++;\n }\n else { // White pixel\n if ((currentState & 1) === 0) { // Counting black pixels\n if (currentState === 4) { // A winner?\n if (FinderPatternFinder.foundPatternCross(stateCount)) { // Yes\n var confirmed = this.handlePossibleCenter(stateCount, i, j, pureBarcode);\n if (confirmed === true) {\n // Start examining every other line. Checking each line turned out to be too\n // expensive and didn't improve performance.\n iSkip = 2;\n if (this.hasSkipped === true) {\n done = this.haveMultiplyConfirmedCenters();\n }\n else {\n var rowSkip = this.findRowSkip();\n if (rowSkip > stateCount[2]) {\n // Skip rows between row of lower confirmed center\n // and top of presumed third confirmed center\n // but back up a bit to get a full chance of detecting\n // it, entire width of center of finder pattern\n // Skip by rowSkip, but back off by stateCount[2] (size of last center\n // of pattern we saw) to be conservative, and also back off by iSkip which\n // is about to be re-added\n i += rowSkip - stateCount[2] - iSkip;\n j = maxJ - 1;\n }\n }\n }\n else {\n stateCount[0] = stateCount[2];\n stateCount[1] = stateCount[3];\n stateCount[2] = stateCount[4];\n stateCount[3] = 1;\n stateCount[4] = 0;\n currentState = 3;\n continue;\n }\n // Clear state to start looking again\n currentState = 0;\n stateCount[0] = 0;\n stateCount[1] = 0;\n stateCount[2] = 0;\n stateCount[3] = 0;\n stateCount[4] = 0;\n }\n else { // No, shift counts back by two\n stateCount[0] = stateCount[2];\n stateCount[1] = stateCount[3];\n stateCount[2] = stateCount[4];\n stateCount[3] = 1;\n stateCount[4] = 0;\n currentState = 3;\n }\n }\n else {\n stateCount[++currentState]++;\n }\n }\n else { // Counting white pixels\n stateCount[currentState]++;\n }\n }\n }\n if (FinderPatternFinder.foundPatternCross(stateCount)) {\n var confirmed = this.handlePossibleCenter(stateCount, i, maxJ, pureBarcode);\n if (confirmed === true) {\n iSkip = stateCount[0];\n if (this.hasSkipped) {\n // Found a third one\n done = this.haveMultiplyConfirmedCenters();\n }\n }\n }\n }\n var patternInfo = this.selectBestPatterns();\n ResultPoint.orderBestPatterns(patternInfo);\n return new FinderPatternInfo(patternInfo);\n };\n /**\n * Given a count of black/white/black/white/black pixels just seen and an end position,\n * figures the location of the center of this run.\n */\n FinderPatternFinder.centerFromEnd = function (stateCount, end /*int*/) {\n return (end - stateCount[4] - stateCount[3]) - stateCount[2] / 2.0;\n };\n /**\n * @param stateCount count of black/white/black/white/black pixels just read\n * @return true iff the proportions of the counts is close enough to the 1/1/3/1/1 ratios\n * used by finder patterns to be considered a match\n */\n FinderPatternFinder.foundPatternCross = function (stateCount) {\n var totalModuleSize = 0;\n for (var i = 0; i < 5; i++) {\n var count = stateCount[i];\n if (count === 0) {\n return false;\n }\n totalModuleSize += count;\n }\n if (totalModuleSize < 7) {\n return false;\n }\n var moduleSize = totalModuleSize / 7.0;\n var maxVariance = moduleSize / 2.0;\n // Allow less than 50% variance from 1-1-3-1-1 proportions\n return Math.abs(moduleSize - stateCount[0]) < maxVariance &&\n Math.abs(moduleSize - stateCount[1]) < maxVariance &&\n Math.abs(3.0 * moduleSize - stateCount[2]) < 3 * maxVariance &&\n Math.abs(moduleSize - stateCount[3]) < maxVariance &&\n Math.abs(moduleSize - stateCount[4]) < maxVariance;\n };\n FinderPatternFinder.prototype.getCrossCheckStateCount = function () {\n var crossCheckStateCount = this.crossCheckStateCount;\n crossCheckStateCount[0] = 0;\n crossCheckStateCount[1] = 0;\n crossCheckStateCount[2] = 0;\n crossCheckStateCount[3] = 0;\n crossCheckStateCount[4] = 0;\n return crossCheckStateCount;\n };\n /**\n * After a vertical and horizontal scan finds a potential finder pattern, this method\n * \"cross-cross-cross-checks\" by scanning down diagonally through the center of the possible\n * finder pattern to see if the same proportion is detected.\n *\n * @param startI row where a finder pattern was detected\n * @param centerJ center of the section that appears to cross a finder pattern\n * @param maxCount maximum reasonable number of modules that should be\n * observed in any reading state, based on the results of the horizontal scan\n * @param originalStateCountTotal The original state count total.\n * @return true if proportions are withing expected limits\n */\n FinderPatternFinder.prototype.crossCheckDiagonal = function (startI /*int*/, centerJ /*int*/, maxCount /*int*/, originalStateCountTotal /*int*/) {\n var stateCount = this.getCrossCheckStateCount();\n // Start counting up, left from center finding black center mass\n var i = 0;\n var image = this.image;\n while (startI >= i && centerJ >= i && image.get(centerJ - i, startI - i)) {\n stateCount[2]++;\n i++;\n }\n if (startI < i || centerJ < i) {\n return false;\n }\n // Continue up, left finding white space\n while (startI >= i && centerJ >= i && !image.get(centerJ - i, startI - i) &&\n stateCount[1] <= maxCount) {\n stateCount[1]++;\n i++;\n }\n // If already too many modules in this state or ran off the edge:\n if (startI < i || centerJ < i || stateCount[1] > maxCount) {\n return false;\n }\n // Continue up, left finding black border\n while (startI >= i && centerJ >= i && image.get(centerJ - i, startI - i) &&\n stateCount[0] <= maxCount) {\n stateCount[0]++;\n i++;\n }\n if (stateCount[0] > maxCount) {\n return false;\n }\n var maxI = image.getHeight();\n var maxJ = image.getWidth();\n // Now also count down, right from center\n i = 1;\n while (startI + i < maxI && centerJ + i < maxJ && image.get(centerJ + i, startI + i)) {\n stateCount[2]++;\n i++;\n }\n // Ran off the edge?\n if (startI + i >= maxI || centerJ + i >= maxJ) {\n return false;\n }\n while (startI + i < maxI && centerJ + i < maxJ && !image.get(centerJ + i, startI + i) &&\n stateCount[3] < maxCount) {\n stateCount[3]++;\n i++;\n }\n if (startI + i >= maxI || centerJ + i >= maxJ || stateCount[3] >= maxCount) {\n return false;\n }\n while (startI + i < maxI && centerJ + i < maxJ && image.get(centerJ + i, startI + i) &&\n stateCount[4] < maxCount) {\n stateCount[4]++;\n i++;\n }\n if (stateCount[4] >= maxCount) {\n return false;\n }\n // If we found a finder-pattern-like section, but its size is more than 100% different than\n // the original, assume it's a false positive\n var stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4];\n return Math.abs(stateCountTotal - originalStateCountTotal) < 2 * originalStateCountTotal &&\n FinderPatternFinder.foundPatternCross(stateCount);\n };\n /**\n *

After a horizontal scan finds a potential finder pattern, this method\n * \"cross-checks\" by scanning down vertically through the center of the possible\n * finder pattern to see if the same proportion is detected.

\n *\n * @param startI row where a finder pattern was detected\n * @param centerJ center of the section that appears to cross a finder pattern\n * @param maxCount maximum reasonable number of modules that should be\n * observed in any reading state, based on the results of the horizontal scan\n * @return vertical center of finder pattern, or {@link Float#NaN} if not found\n */\n FinderPatternFinder.prototype.crossCheckVertical = function (startI /*int*/, centerJ /*int*/, maxCount /*int*/, originalStateCountTotal /*int*/) {\n var image = this.image;\n var maxI = image.getHeight();\n var stateCount = this.getCrossCheckStateCount();\n // Start counting up from center\n var i = startI;\n while (i >= 0 && image.get(centerJ, i)) {\n stateCount[2]++;\n i--;\n }\n if (i < 0) {\n return NaN;\n }\n while (i >= 0 && !image.get(centerJ, i) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n i--;\n }\n // If already too many modules in this state or ran off the edge:\n if (i < 0 || stateCount[1] > maxCount) {\n return NaN;\n }\n while (i >= 0 && image.get(centerJ, i) && stateCount[0] <= maxCount) {\n stateCount[0]++;\n i--;\n }\n if (stateCount[0] > maxCount) {\n return NaN;\n }\n // Now also count down from center\n i = startI + 1;\n while (i < maxI && image.get(centerJ, i)) {\n stateCount[2]++;\n i++;\n }\n if (i === maxI) {\n return NaN;\n }\n while (i < maxI && !image.get(centerJ, i) && stateCount[3] < maxCount) {\n stateCount[3]++;\n i++;\n }\n if (i === maxI || stateCount[3] >= maxCount) {\n return NaN;\n }\n while (i < maxI && image.get(centerJ, i) && stateCount[4] < maxCount) {\n stateCount[4]++;\n i++;\n }\n if (stateCount[4] >= maxCount) {\n return NaN;\n }\n // If we found a finder-pattern-like section, but its size is more than 40% different than\n // the original, assume it's a false positive\n var stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] +\n stateCount[4];\n if (5 * Math.abs(stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) {\n return NaN;\n }\n return FinderPatternFinder.foundPatternCross(stateCount) ? FinderPatternFinder.centerFromEnd(stateCount, i) : NaN;\n };\n /**\n *

Like {@link #crossCheckVertical(int, int, int, int)}, and in fact is basically identical,\n * except it reads horizontally instead of vertically. This is used to cross-cross\n * check a vertical cross check and locate the real center of the alignment pattern.

\n */\n FinderPatternFinder.prototype.crossCheckHorizontal = function (startJ /*int*/, centerI /*int*/, maxCount /*int*/, originalStateCountTotal /*int*/) {\n var image = this.image;\n var maxJ = image.getWidth();\n var stateCount = this.getCrossCheckStateCount();\n var j = startJ;\n while (j >= 0 && image.get(j, centerI)) {\n stateCount[2]++;\n j--;\n }\n if (j < 0) {\n return NaN;\n }\n while (j >= 0 && !image.get(j, centerI) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n j--;\n }\n if (j < 0 || stateCount[1] > maxCount) {\n return NaN;\n }\n while (j >= 0 && image.get(j, centerI) && stateCount[0] <= maxCount) {\n stateCount[0]++;\n j--;\n }\n if (stateCount[0] > maxCount) {\n return NaN;\n }\n j = startJ + 1;\n while (j < maxJ && image.get(j, centerI)) {\n stateCount[2]++;\n j++;\n }\n if (j === maxJ) {\n return NaN;\n }\n while (j < maxJ && !image.get(j, centerI) && stateCount[3] < maxCount) {\n stateCount[3]++;\n j++;\n }\n if (j === maxJ || stateCount[3] >= maxCount) {\n return NaN;\n }\n while (j < maxJ && image.get(j, centerI) && stateCount[4] < maxCount) {\n stateCount[4]++;\n j++;\n }\n if (stateCount[4] >= maxCount) {\n return NaN;\n }\n // If we found a finder-pattern-like section, but its size is significantly different than\n // the original, assume it's a false positive\n var stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] +\n stateCount[4];\n if (5 * Math.abs(stateCountTotal - originalStateCountTotal) >= originalStateCountTotal) {\n return NaN;\n }\n return FinderPatternFinder.foundPatternCross(stateCount) ? FinderPatternFinder.centerFromEnd(stateCount, j) : NaN;\n };\n /**\n *

This is called when a horizontal scan finds a possible alignment pattern. It will\n * cross check with a vertical scan, and if successful, will, ah, cross-cross-check\n * with another horizontal scan. This is needed primarily to locate the real horizontal\n * center of the pattern in cases of extreme skew.\n * And then we cross-cross-cross check with another diagonal scan.

\n *\n *

If that succeeds the finder pattern location is added to a list that tracks\n * the number of times each location has been nearly-matched as a finder pattern.\n * Each additional find is more evidence that the location is in fact a finder\n * pattern center\n *\n * @param stateCount reading state module counts from horizontal scan\n * @param i row where finder pattern may be found\n * @param j end of possible finder pattern in row\n * @param pureBarcode true if in \"pure barcode\" mode\n * @return true if a finder pattern candidate was found this time\n */\n FinderPatternFinder.prototype.handlePossibleCenter = function (stateCount, i /*int*/, j /*int*/, pureBarcode) {\n var stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] +\n stateCount[4];\n var centerJ = FinderPatternFinder.centerFromEnd(stateCount, j);\n var centerI = this.crossCheckVertical(i, /*(int) */ Math.floor(centerJ), stateCount[2], stateCountTotal);\n if (!isNaN(centerI)) {\n // Re-cross check\n centerJ = this.crossCheckHorizontal(/*(int) */ Math.floor(centerJ), /*(int) */ Math.floor(centerI), stateCount[2], stateCountTotal);\n if (!isNaN(centerJ) &&\n (!pureBarcode || this.crossCheckDiagonal(/*(int) */ Math.floor(centerI), /*(int) */ Math.floor(centerJ), stateCount[2], stateCountTotal))) {\n var estimatedModuleSize = stateCountTotal / 7.0;\n var found = false;\n var possibleCenters = this.possibleCenters;\n for (var index = 0, length_1 = possibleCenters.length; index < length_1; index++) {\n var center = possibleCenters[index];\n // Look for about the same center and module size:\n if (center.aboutEquals(estimatedModuleSize, centerI, centerJ)) {\n possibleCenters[index] = center.combineEstimate(centerI, centerJ, estimatedModuleSize);\n found = true;\n break;\n }\n }\n if (!found) {\n var point = new FinderPattern(centerJ, centerI, estimatedModuleSize);\n possibleCenters.push(point);\n if (this.resultPointCallback !== null && this.resultPointCallback !== undefined) {\n this.resultPointCallback.foundPossibleResultPoint(point);\n }\n }\n return true;\n }\n }\n return false;\n };\n /**\n * @return number of rows we could safely skip during scanning, based on the first\n * two finder patterns that have been located. In some cases their position will\n * allow us to infer that the third pattern must lie below a certain point farther\n * down in the image.\n */\n FinderPatternFinder.prototype.findRowSkip = function () {\n var e_1, _a;\n var max = this.possibleCenters.length;\n if (max <= 1) {\n return 0;\n }\n var firstConfirmedCenter = null;\n try {\n for (var _b = __values(this.possibleCenters), _c = _b.next(); !_c.done; _c = _b.next()) {\n var center = _c.value;\n if (center.getCount() >= FinderPatternFinder.CENTER_QUORUM) {\n if (firstConfirmedCenter == null) {\n firstConfirmedCenter = center;\n }\n else {\n // We have two confirmed centers\n // How far down can we skip before resuming looking for the next\n // pattern? In the worst case, only the difference between the\n // difference in the x / y coordinates of the two centers.\n // This is the case where you find top left last.\n this.hasSkipped = true;\n return /*(int) */ Math.floor((Math.abs(firstConfirmedCenter.getX() - center.getX()) -\n Math.abs(firstConfirmedCenter.getY() - center.getY())) / 2);\n }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return 0;\n };\n /**\n * @return true iff we have found at least 3 finder patterns that have been detected\n * at least {@link #CENTER_QUORUM} times each, and, the estimated module size of the\n * candidates is \"pretty similar\"\n */\n FinderPatternFinder.prototype.haveMultiplyConfirmedCenters = function () {\n var e_2, _a, e_3, _b;\n var confirmedCount = 0;\n var totalModuleSize = 0.0;\n var max = this.possibleCenters.length;\n try {\n for (var _c = __values(this.possibleCenters), _d = _c.next(); !_d.done; _d = _c.next()) {\n var pattern = _d.value;\n if (pattern.getCount() >= FinderPatternFinder.CENTER_QUORUM) {\n confirmedCount++;\n totalModuleSize += pattern.getEstimatedModuleSize();\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_2) throw e_2.error; }\n }\n if (confirmedCount < 3) {\n return false;\n }\n // OK, we have at least 3 confirmed centers, but, it's possible that one is a \"false positive\"\n // and that we need to keep looking. We detect this by asking if the estimated module sizes\n // vary too much. We arbitrarily say that when the total deviation from average exceeds\n // 5% of the total module size estimates, it's too much.\n var average = totalModuleSize / max;\n var totalDeviation = 0.0;\n try {\n for (var _e = __values(this.possibleCenters), _f = _e.next(); !_f.done; _f = _e.next()) {\n var pattern = _f.value;\n totalDeviation += Math.abs(pattern.getEstimatedModuleSize() - average);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return totalDeviation <= 0.05 * totalModuleSize;\n };\n /**\n * @return the 3 best {@link FinderPattern}s from our list of candidates. The \"best\" are\n * those that have been detected at least {@link #CENTER_QUORUM} times, and whose module\n * size differs from the average among those patterns the least\n * @throws NotFoundException if 3 such finder patterns do not exist\n */\n FinderPatternFinder.prototype.selectBestPatterns = function () {\n var e_4, _a, e_5, _b;\n var startSize = this.possibleCenters.length;\n if (startSize < 3) {\n // Couldn't find enough finder patterns\n throw new NotFoundException();\n }\n var possibleCenters = this.possibleCenters;\n var average;\n // Filter outlier possibilities whose module size is too different\n if (startSize > 3) {\n // But we can only afford to do so if we have at least 4 possibilities to choose from\n var totalModuleSize = 0.0;\n var square = 0.0;\n try {\n for (var _c = __values(this.possibleCenters), _d = _c.next(); !_d.done; _d = _c.next()) {\n var center = _d.value;\n var size = center.getEstimatedModuleSize();\n totalModuleSize += size;\n square += size * size;\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_4) throw e_4.error; }\n }\n average = totalModuleSize / startSize;\n var stdDev = Math.sqrt(square / startSize - average * average);\n possibleCenters.sort(\n /**\n *

Orders by furthest from average

\n */\n // FurthestFromAverageComparator implements Comparator\n function (center1, center2) {\n var dA = Math.abs(center2.getEstimatedModuleSize() - average);\n var dB = Math.abs(center1.getEstimatedModuleSize() - average);\n return dA < dB ? -1 : dA > dB ? 1 : 0;\n });\n var limit = Math.max(0.2 * average, stdDev);\n for (var i = 0; i < possibleCenters.length && possibleCenters.length > 3; i++) {\n var pattern = possibleCenters[i];\n if (Math.abs(pattern.getEstimatedModuleSize() - average) > limit) {\n possibleCenters.splice(i, 1);\n i--;\n }\n }\n }\n if (possibleCenters.length > 3) {\n // Throw away all but those first size candidate points we found.\n var totalModuleSize = 0.0;\n try {\n for (var possibleCenters_1 = __values(possibleCenters), possibleCenters_1_1 = possibleCenters_1.next(); !possibleCenters_1_1.done; possibleCenters_1_1 = possibleCenters_1.next()) {\n var possibleCenter = possibleCenters_1_1.value;\n totalModuleSize += possibleCenter.getEstimatedModuleSize();\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (possibleCenters_1_1 && !possibleCenters_1_1.done && (_b = possibleCenters_1.return)) _b.call(possibleCenters_1);\n }\n finally { if (e_5) throw e_5.error; }\n }\n average = totalModuleSize / possibleCenters.length;\n possibleCenters.sort(\n /**\n *

Orders by {@link FinderPattern#getCount()}, descending.

\n */\n // CenterComparator implements Comparator\n function (center1, center2) {\n if (center2.getCount() === center1.getCount()) {\n var dA = Math.abs(center2.getEstimatedModuleSize() - average);\n var dB = Math.abs(center1.getEstimatedModuleSize() - average);\n return dA < dB ? 1 : dA > dB ? -1 : 0;\n }\n else {\n return center2.getCount() - center1.getCount();\n }\n });\n possibleCenters.splice(3); // this is not realy necessary as we only return first 3 anyway\n }\n return [\n possibleCenters[0],\n possibleCenters[1],\n possibleCenters[2]\n ];\n };\n FinderPatternFinder.CENTER_QUORUM = 2;\n FinderPatternFinder.MIN_SKIP = 3; // 1 pixel/module times 3 modules/center\n FinderPatternFinder.MAX_MODULES = 57; // support up to version 10 for mobile clients\n return FinderPatternFinder;\n}());\nexport default FinderPatternFinder;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport MathUtils from '../../common/detector/MathUtils';\nimport DetectorResult from '../../common/DetectorResult';\n// import GridSampler from '../../common/GridSampler';\nimport GridSamplerInstance from '../../common/GridSamplerInstance';\nimport PerspectiveTransform from '../../common/PerspectiveTransform';\nimport DecodeHintType from '../../DecodeHintType';\nimport NotFoundException from '../../NotFoundException';\nimport ResultPoint from '../../ResultPoint';\nimport Version from '../decoder/Version';\nimport AlignmentPatternFinder from './AlignmentPatternFinder';\nimport FinderPatternFinder from './FinderPatternFinder';\n/*import java.util.Map;*/\n/**\n *

Encapsulates logic that can detect a QR Code in an image, even if the QR Code\n * is rotated or skewed, or partially obscured.

\n *\n * @author Sean Owen\n */\nvar Detector = /** @class */ (function () {\n function Detector(image) {\n this.image = image;\n }\n Detector.prototype.getImage = function () {\n return this.image;\n };\n Detector.prototype.getResultPointCallback = function () {\n return this.resultPointCallback;\n };\n /**\n *

Detects a QR Code in an image.

\n *\n * @return {@link DetectorResult} encapsulating results of detecting a QR Code\n * @throws NotFoundException if QR Code cannot be found\n * @throws FormatException if a QR Code cannot be decoded\n */\n // public detect(): DetectorResult /*throws NotFoundException, FormatException*/ {\n // return detect(null)\n // }\n /**\n *

Detects a QR Code in an image.

\n *\n * @param hints optional hints to detector\n * @return {@link DetectorResult} encapsulating results of detecting a QR Code\n * @throws NotFoundException if QR Code cannot be found\n * @throws FormatException if a QR Code cannot be decoded\n */\n Detector.prototype.detect = function (hints) {\n this.resultPointCallback = (hints === null || hints === undefined) ? null :\n /*(ResultPointCallback) */ hints.get(DecodeHintType.NEED_RESULT_POINT_CALLBACK);\n var finder = new FinderPatternFinder(this.image, this.resultPointCallback);\n var info = finder.find(hints);\n return this.processFinderPatternInfo(info);\n };\n Detector.prototype.processFinderPatternInfo = function (info) {\n var topLeft = info.getTopLeft();\n var topRight = info.getTopRight();\n var bottomLeft = info.getBottomLeft();\n var moduleSize = this.calculateModuleSize(topLeft, topRight, bottomLeft);\n if (moduleSize < 1.0) {\n throw new NotFoundException('No pattern found in proccess finder.');\n }\n var dimension = Detector.computeDimension(topLeft, topRight, bottomLeft, moduleSize);\n var provisionalVersion = Version.getProvisionalVersionForDimension(dimension);\n var modulesBetweenFPCenters = provisionalVersion.getDimensionForVersion() - 7;\n var alignmentPattern = null;\n // Anything above version 1 has an alignment pattern\n if (provisionalVersion.getAlignmentPatternCenters().length > 0) {\n // Guess where a \"bottom right\" finder pattern would have been\n var bottomRightX = topRight.getX() - topLeft.getX() + bottomLeft.getX();\n var bottomRightY = topRight.getY() - topLeft.getY() + bottomLeft.getY();\n // Estimate that alignment pattern is closer by 3 modules\n // from \"bottom right\" to known top left location\n var correctionToTopLeft = 1.0 - 3.0 / modulesBetweenFPCenters;\n var estAlignmentX = /*(int) */ Math.floor(topLeft.getX() + correctionToTopLeft * (bottomRightX - topLeft.getX()));\n var estAlignmentY = /*(int) */ Math.floor(topLeft.getY() + correctionToTopLeft * (bottomRightY - topLeft.getY()));\n // Kind of arbitrary -- expand search radius before giving up\n for (var i = 4; i <= 16; i <<= 1) {\n try {\n alignmentPattern = this.findAlignmentInRegion(moduleSize, estAlignmentX, estAlignmentY, i);\n break;\n }\n catch (re /*NotFoundException*/) {\n if (!(re instanceof NotFoundException)) {\n throw re;\n }\n // try next round\n }\n }\n // If we didn't find alignment pattern... well try anyway without it\n }\n var transform = Detector.createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension);\n var bits = Detector.sampleGrid(this.image, transform, dimension);\n var points;\n if (alignmentPattern === null) {\n points = [bottomLeft, topLeft, topRight];\n }\n else {\n points = [bottomLeft, topLeft, topRight, alignmentPattern];\n }\n return new DetectorResult(bits, points);\n };\n Detector.createTransform = function (topLeft, topRight, bottomLeft, alignmentPattern, dimension /*int*/) {\n var dimMinusThree = dimension - 3.5;\n var bottomRightX; /*float*/\n var bottomRightY; /*float*/\n var sourceBottomRightX; /*float*/\n var sourceBottomRightY; /*float*/\n if (alignmentPattern !== null) {\n bottomRightX = alignmentPattern.getX();\n bottomRightY = alignmentPattern.getY();\n sourceBottomRightX = dimMinusThree - 3.0;\n sourceBottomRightY = sourceBottomRightX;\n }\n else {\n // Don't have an alignment pattern, just make up the bottom-right point\n bottomRightX = (topRight.getX() - topLeft.getX()) + bottomLeft.getX();\n bottomRightY = (topRight.getY() - topLeft.getY()) + bottomLeft.getY();\n sourceBottomRightX = dimMinusThree;\n sourceBottomRightY = dimMinusThree;\n }\n return PerspectiveTransform.quadrilateralToQuadrilateral(3.5, 3.5, dimMinusThree, 3.5, sourceBottomRightX, sourceBottomRightY, 3.5, dimMinusThree, topLeft.getX(), topLeft.getY(), topRight.getX(), topRight.getY(), bottomRightX, bottomRightY, bottomLeft.getX(), bottomLeft.getY());\n };\n Detector.sampleGrid = function (image, transform, dimension /*int*/) {\n var sampler = GridSamplerInstance.getInstance();\n return sampler.sampleGridWithTransform(image, dimension, dimension, transform);\n };\n /**\n *

Computes the dimension (number of modules on a size) of the QR Code based on the position\n * of the finder patterns and estimated module size.

\n */\n Detector.computeDimension = function (topLeft, topRight, bottomLeft, moduleSize /*float*/) {\n var tltrCentersDimension = MathUtils.round(ResultPoint.distance(topLeft, topRight) / moduleSize);\n var tlblCentersDimension = MathUtils.round(ResultPoint.distance(topLeft, bottomLeft) / moduleSize);\n var dimension = Math.floor((tltrCentersDimension + tlblCentersDimension) / 2) + 7;\n switch (dimension & 0x03) { // mod 4\n case 0:\n dimension++;\n break;\n // 1? do nothing\n case 2:\n dimension--;\n break;\n case 3:\n throw new NotFoundException('Dimensions could be not found.');\n }\n return dimension;\n };\n /**\n *

Computes an average estimated module size based on estimated derived from the positions\n * of the three finder patterns.

\n *\n * @param topLeft detected top-left finder pattern center\n * @param topRight detected top-right finder pattern center\n * @param bottomLeft detected bottom-left finder pattern center\n * @return estimated module size\n */\n Detector.prototype.calculateModuleSize = function (topLeft, topRight, bottomLeft) {\n // Take the average\n return (this.calculateModuleSizeOneWay(topLeft, topRight) +\n this.calculateModuleSizeOneWay(topLeft, bottomLeft)) / 2.0;\n };\n /**\n *

Estimates module size based on two finder patterns -- it uses\n * {@link #sizeOfBlackWhiteBlackRunBothWays(int, int, int, int)} to figure the\n * width of each, measuring along the axis between their centers.

\n */\n Detector.prototype.calculateModuleSizeOneWay = function (pattern, otherPattern) {\n var moduleSizeEst1 = this.sizeOfBlackWhiteBlackRunBothWays(/*(int) */ Math.floor(pattern.getX()), \n /*(int) */ Math.floor(pattern.getY()), \n /*(int) */ Math.floor(otherPattern.getX()), \n /*(int) */ Math.floor(otherPattern.getY()));\n var moduleSizeEst2 = this.sizeOfBlackWhiteBlackRunBothWays(/*(int) */ Math.floor(otherPattern.getX()), \n /*(int) */ Math.floor(otherPattern.getY()), \n /*(int) */ Math.floor(pattern.getX()), \n /*(int) */ Math.floor(pattern.getY()));\n if (isNaN(moduleSizeEst1)) {\n return moduleSizeEst2 / 7.0;\n }\n if (isNaN(moduleSizeEst2)) {\n return moduleSizeEst1 / 7.0;\n }\n // Average them, and divide by 7 since we've counted the width of 3 black modules,\n // and 1 white and 1 black module on either side. Ergo, divide sum by 14.\n return (moduleSizeEst1 + moduleSizeEst2) / 14.0;\n };\n /**\n * See {@link #sizeOfBlackWhiteBlackRun(int, int, int, int)}; computes the total width of\n * a finder pattern by looking for a black-white-black run from the center in the direction\n * of another point (another finder pattern center), and in the opposite direction too.\n */\n Detector.prototype.sizeOfBlackWhiteBlackRunBothWays = function (fromX /*int*/, fromY /*int*/, toX /*int*/, toY /*int*/) {\n var result = this.sizeOfBlackWhiteBlackRun(fromX, fromY, toX, toY);\n // Now count other way -- don't run off image though of course\n var scale = 1.0;\n var otherToX = fromX - (toX - fromX);\n if (otherToX < 0) {\n scale = fromX / /*(float) */ (fromX - otherToX);\n otherToX = 0;\n }\n else if (otherToX >= this.image.getWidth()) {\n scale = (this.image.getWidth() - 1 - fromX) / /*(float) */ (otherToX - fromX);\n otherToX = this.image.getWidth() - 1;\n }\n var otherToY = /*(int) */ Math.floor(fromY - (toY - fromY) * scale);\n scale = 1.0;\n if (otherToY < 0) {\n scale = fromY / /*(float) */ (fromY - otherToY);\n otherToY = 0;\n }\n else if (otherToY >= this.image.getHeight()) {\n scale = (this.image.getHeight() - 1 - fromY) / /*(float) */ (otherToY - fromY);\n otherToY = this.image.getHeight() - 1;\n }\n otherToX = /*(int) */ Math.floor(fromX + (otherToX - fromX) * scale);\n result += this.sizeOfBlackWhiteBlackRun(fromX, fromY, otherToX, otherToY);\n // Middle pixel is double-counted this way; subtract 1\n return result - 1.0;\n };\n /**\n *

This method traces a line from a point in the image, in the direction towards another point.\n * It begins in a black region, and keeps going until it finds white, then black, then white again.\n * It reports the distance from the start to this point.

\n *\n *

This is used when figuring out how wide a finder pattern is, when the finder pattern\n * may be skewed or rotated.

\n */\n Detector.prototype.sizeOfBlackWhiteBlackRun = function (fromX /*int*/, fromY /*int*/, toX /*int*/, toY /*int*/) {\n // Mild variant of Bresenham's algorithm\n // see http://en.wikipedia.org/wiki/Bresenham's_line_algorithm\n var steep = Math.abs(toY - fromY) > Math.abs(toX - fromX);\n if (steep) {\n var temp = fromX;\n fromX = fromY;\n fromY = temp;\n temp = toX;\n toX = toY;\n toY = temp;\n }\n var dx = Math.abs(toX - fromX);\n var dy = Math.abs(toY - fromY);\n var error = -dx / 2;\n var xstep = fromX < toX ? 1 : -1;\n var ystep = fromY < toY ? 1 : -1;\n // In black pixels, looking for white, first or second time.\n var state = 0;\n // Loop up until x == toX, but not beyond\n var xLimit = toX + xstep;\n for (var x = fromX, y = fromY; x !== xLimit; x += xstep) {\n var realX = steep ? y : x;\n var realY = steep ? x : y;\n // Does current pixel mean we have moved white to black or vice versa?\n // Scanning black in state 0,2 and white in state 1, so if we find the wrong\n // color, advance to next state or end if we are in state 2 already\n if ((state === 1) === this.image.get(realX, realY)) {\n if (state === 2) {\n return MathUtils.distance(x, y, fromX, fromY);\n }\n state++;\n }\n error += dy;\n if (error > 0) {\n if (y === toY) {\n break;\n }\n y += ystep;\n error -= dx;\n }\n }\n // Found black-white-black; give the benefit of the doubt that the next pixel outside the image\n // is \"white\" so this last point at (toX+xStep,toY) is the right ending. This is really a\n // small approximation; (toX+xStep,toY+yStep) might be really correct. Ignore this.\n if (state === 2) {\n return MathUtils.distance(toX + xstep, toY, fromX, fromY);\n }\n // else we didn't find even black-white-black; no estimate is really possible\n return NaN;\n };\n /**\n *

Attempts to locate an alignment pattern in a limited region of the image, which is\n * guessed to contain it. This method uses {@link AlignmentPattern}.

\n *\n * @param overallEstModuleSize estimated module size so far\n * @param estAlignmentX x coordinate of center of area probably containing alignment pattern\n * @param estAlignmentY y coordinate of above\n * @param allowanceFactor number of pixels in all directions to search from the center\n * @return {@link AlignmentPattern} if found, or null otherwise\n * @throws NotFoundException if an unexpected error occurs during detection\n */\n Detector.prototype.findAlignmentInRegion = function (overallEstModuleSize /*float*/, estAlignmentX /*int*/, estAlignmentY /*int*/, allowanceFactor /*float*/) {\n // Look for an alignment pattern (3 modules in size) around where it\n // should be\n var allowance = /*(int) */ Math.floor(allowanceFactor * overallEstModuleSize);\n var alignmentAreaLeftX = Math.max(0, estAlignmentX - allowance);\n var alignmentAreaRightX = Math.min(this.image.getWidth() - 1, estAlignmentX + allowance);\n if (alignmentAreaRightX - alignmentAreaLeftX < overallEstModuleSize * 3) {\n throw new NotFoundException('Alignment top exceeds estimated module size.');\n }\n var alignmentAreaTopY = Math.max(0, estAlignmentY - allowance);\n var alignmentAreaBottomY = Math.min(this.image.getHeight() - 1, estAlignmentY + allowance);\n if (alignmentAreaBottomY - alignmentAreaTopY < overallEstModuleSize * 3) {\n throw new NotFoundException('Alignment bottom exceeds estimated module size.');\n }\n var alignmentFinder = new AlignmentPatternFinder(this.image, alignmentAreaLeftX, alignmentAreaTopY, alignmentAreaRightX - alignmentAreaLeftX, alignmentAreaBottomY - alignmentAreaTopY, overallEstModuleSize, this.resultPointCallback);\n return alignmentFinder.find();\n };\n return Detector;\n}());\nexport default Detector;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.qrcode {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport BitMatrix from '../common/BitMatrix';\nimport DecodeHintType from '../DecodeHintType';\nimport NotFoundException from '../NotFoundException';\nimport Result from '../Result';\nimport ResultMetadataType from '../ResultMetadataType';\n// import DetectorResult from '../common/DetectorResult';\nimport Decoder from './decoder/Decoder';\nimport QRCodeDecoderMetaData from './decoder/QRCodeDecoderMetaData';\nimport Detector from './detector/Detector';\n/*import java.util.List;*/\n/*import java.util.Map;*/\n/**\n * This implementation can detect and decode QR Codes in an image.\n *\n * @author Sean Owen\n */\nvar QRCodeReader = /** @class */ (function () {\n function QRCodeReader() {\n this.decoder = new Decoder();\n }\n QRCodeReader.prototype.getDecoder = function () {\n return this.decoder;\n };\n /**\n * Locates and decodes a QR code in an image.\n *\n * @return a representing: string the content encoded by the QR code\n * @throws NotFoundException if a QR code cannot be found\n * @throws FormatException if a QR code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n /*@Override*/\n // public decode(image: BinaryBitmap): Result /*throws NotFoundException, ChecksumException, FormatException */ {\n // return this.decode(image, null)\n // }\n /*@Override*/\n QRCodeReader.prototype.decode = function (image, hints) {\n var decoderResult;\n var points;\n if (hints !== undefined && hints !== null && undefined !== hints.get(DecodeHintType.PURE_BARCODE)) {\n var bits = QRCodeReader.extractPureBits(image.getBlackMatrix());\n decoderResult = this.decoder.decodeBitMatrix(bits, hints);\n points = QRCodeReader.NO_POINTS;\n }\n else {\n var detectorResult = new Detector(image.getBlackMatrix()).detect(hints);\n decoderResult = this.decoder.decodeBitMatrix(detectorResult.getBits(), hints);\n points = detectorResult.getPoints();\n }\n // If the code was mirrored: swap the bottom-left and the top-right points.\n if (decoderResult.getOther() instanceof QRCodeDecoderMetaData) {\n decoderResult.getOther().applyMirroredCorrection(points);\n }\n var result = new Result(decoderResult.getText(), decoderResult.getRawBytes(), undefined, points, BarcodeFormat.QR_CODE, undefined);\n var byteSegments = decoderResult.getByteSegments();\n if (byteSegments !== null) {\n result.putMetadata(ResultMetadataType.BYTE_SEGMENTS, byteSegments);\n }\n var ecLevel = decoderResult.getECLevel();\n if (ecLevel !== null) {\n result.putMetadata(ResultMetadataType.ERROR_CORRECTION_LEVEL, ecLevel);\n }\n if (decoderResult.hasStructuredAppend()) {\n result.putMetadata(ResultMetadataType.STRUCTURED_APPEND_SEQUENCE, decoderResult.getStructuredAppendSequenceNumber());\n result.putMetadata(ResultMetadataType.STRUCTURED_APPEND_PARITY, decoderResult.getStructuredAppendParity());\n }\n return result;\n };\n /*@Override*/\n QRCodeReader.prototype.reset = function () {\n // do nothing\n };\n /**\n * This method detects a code in a \"pure\" image -- that is, pure monochrome image\n * which contains only an unrotated, unskewed, image of a code, with some white border\n * around it. This is a specialized method that works exceptionally fast in this special\n * case.\n *\n * @see com.google.zxing.datamatrix.DataMatrixReader#extractPureBits(BitMatrix)\n */\n QRCodeReader.extractPureBits = function (image) {\n var leftTopBlack = image.getTopLeftOnBit();\n var rightBottomBlack = image.getBottomRightOnBit();\n if (leftTopBlack === null || rightBottomBlack === null) {\n throw new NotFoundException();\n }\n var moduleSize = this.moduleSize(leftTopBlack, image);\n var top = leftTopBlack[1];\n var bottom = rightBottomBlack[1];\n var left = leftTopBlack[0];\n var right = rightBottomBlack[0];\n // Sanity check!\n if (left >= right || top >= bottom) {\n throw new NotFoundException();\n }\n if (bottom - top !== right - left) {\n // Special case, where bottom-right module wasn't black so we found something else in the last row\n // Assume it's a square, so use height as the width\n right = left + (bottom - top);\n if (right >= image.getWidth()) {\n // Abort if that would not make sense -- off image\n throw new NotFoundException();\n }\n }\n var matrixWidth = Math.round((right - left + 1) / moduleSize);\n var matrixHeight = Math.round((bottom - top + 1) / moduleSize);\n if (matrixWidth <= 0 || matrixHeight <= 0) {\n throw new NotFoundException();\n }\n if (matrixHeight !== matrixWidth) {\n // Only possibly decode square regions\n throw new NotFoundException();\n }\n // Push in the \"border\" by half the module width so that we start\n // sampling in the middle of the module. Just in case the image is a\n // little off, this will help recover.\n var nudge = /*(int) */ Math.floor(moduleSize / 2.0);\n top += nudge;\n left += nudge;\n // But careful that this does not sample off the edge\n // \"right\" is the farthest-right valid pixel location -- right+1 is not necessarily\n // This is positive by how much the inner x loop below would be too large\n var nudgedTooFarRight = left + /*(int) */ Math.floor((matrixWidth - 1) * moduleSize) - right;\n if (nudgedTooFarRight > 0) {\n if (nudgedTooFarRight > nudge) {\n // Neither way fits; abort\n throw new NotFoundException();\n }\n left -= nudgedTooFarRight;\n }\n // See logic above\n var nudgedTooFarDown = top + /*(int) */ Math.floor((matrixHeight - 1) * moduleSize) - bottom;\n if (nudgedTooFarDown > 0) {\n if (nudgedTooFarDown > nudge) {\n // Neither way fits; abort\n throw new NotFoundException();\n }\n top -= nudgedTooFarDown;\n }\n // Now just read off the bits\n var bits = new BitMatrix(matrixWidth, matrixHeight);\n for (var y = 0; y < matrixHeight; y++) {\n var iOffset = top + /*(int) */ Math.floor(y * moduleSize);\n for (var x = 0; x < matrixWidth; x++) {\n if (image.get(left + /*(int) */ Math.floor(x * moduleSize), iOffset)) {\n bits.set(x, y);\n }\n }\n }\n return bits;\n };\n QRCodeReader.moduleSize = function (leftTopBlack, image) {\n var height = image.getHeight();\n var width = image.getWidth();\n var x = leftTopBlack[0];\n var y = leftTopBlack[1];\n var inBlack = true;\n var transitions = 0;\n while (x < width && y < height) {\n if (inBlack !== image.get(x, y)) {\n if (++transitions === 5) {\n break;\n }\n inBlack = !inBlack;\n }\n x++;\n y++;\n }\n if (x === width || y === height) {\n throw new NotFoundException();\n }\n return (x - leftTopBlack[0]) / 7.0;\n };\n QRCodeReader.NO_POINTS = new Array();\n return QRCodeReader;\n}());\nexport default QRCodeReader;\n","/*\n* Copyright 2009 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n// package com.google.zxing.pdf417;\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// import java.util.Arrays;\nimport Arrays from '../util/Arrays';\n// import java.util.Collection;\n// import com.google.zxing.common.detector.MathUtils;\nimport MathUtils from '../common/detector/MathUtils';\n/**\n * @author SITA Lab (kevin.osullivan@sita.aero)\n * @author Guenther Grau\n */\nvar PDF417Common = /** @class */ (function () {\n function PDF417Common() {\n }\n PDF417Common.prototype.PDF417Common = function () {\n };\n /**\n * @param moduleBitCount values to sum\n * @return sum of values\n * @deprecated call {@link MathUtils#sum(int[])}\n */\n // @Deprecated\n PDF417Common.getBitCountSum = function (moduleBitCount) {\n return MathUtils.sum(moduleBitCount);\n };\n PDF417Common.toIntArray = function (list) {\n var e_1, _a;\n if (list == null || !list.length) {\n return PDF417Common.EMPTY_INT_ARRAY;\n }\n var result = new Int32Array(list.length);\n var i = 0;\n try {\n for (var list_1 = __values(list), list_1_1 = list_1.next(); !list_1_1.done; list_1_1 = list_1.next()) {\n var integer = list_1_1.value;\n result[i++] = integer;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (list_1_1 && !list_1_1.done && (_a = list_1.return)) _a.call(list_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return result;\n };\n /**\n * @param symbol encoded symbol to translate to a codeword\n * @return the codeword corresponding to the symbol.\n */\n PDF417Common.getCodeword = function (symbol /*int*/) {\n var i = Arrays.binarySearch(PDF417Common.SYMBOL_TABLE, symbol & 0x3FFFF);\n if (i < 0) {\n return -1;\n }\n return (PDF417Common.CODEWORD_TABLE[i] - 1) % PDF417Common.NUMBER_OF_CODEWORDS;\n };\n PDF417Common.NUMBER_OF_CODEWORDS = 929;\n // Maximum Codewords (Data + Error).\n PDF417Common.MAX_CODEWORDS_IN_BARCODE = PDF417Common.NUMBER_OF_CODEWORDS - 1;\n PDF417Common.MIN_ROWS_IN_BARCODE = 3;\n PDF417Common.MAX_ROWS_IN_BARCODE = 90;\n // One left row indication column + max 30 data columns + one right row indicator column\n // public static /*final*/ MAX_CODEWORDS_IN_ROW: /*int*/ number = 32;\n PDF417Common.MODULES_IN_CODEWORD = 17;\n PDF417Common.MODULES_IN_STOP_PATTERN = 18;\n PDF417Common.BARS_IN_MODULE = 8;\n PDF417Common.EMPTY_INT_ARRAY = new Int32Array([]);\n /**\n * The sorted table of all possible symbols. Extracted from the PDF417\n * specification. The index of a symbol in this table corresponds to the\n * index into the codeword table.\n */\n PDF417Common.SYMBOL_TABLE = Int32Array.from([\n 0x1025e, 0x1027a, 0x1029e, 0x102bc, 0x102f2, 0x102f4, 0x1032e, 0x1034e, 0x1035c, 0x10396, 0x103a6, 0x103ac,\n 0x10422, 0x10428, 0x10436, 0x10442, 0x10444, 0x10448, 0x10450, 0x1045e, 0x10466, 0x1046c, 0x1047a, 0x10482,\n 0x1049e, 0x104a0, 0x104bc, 0x104c6, 0x104d8, 0x104ee, 0x104f2, 0x104f4, 0x10504, 0x10508, 0x10510, 0x1051e,\n 0x10520, 0x1053c, 0x10540, 0x10578, 0x10586, 0x1058c, 0x10598, 0x105b0, 0x105be, 0x105ce, 0x105dc, 0x105e2,\n 0x105e4, 0x105e8, 0x105f6, 0x1062e, 0x1064e, 0x1065c, 0x1068e, 0x1069c, 0x106b8, 0x106de, 0x106fa, 0x10716,\n 0x10726, 0x1072c, 0x10746, 0x1074c, 0x10758, 0x1076e, 0x10792, 0x10794, 0x107a2, 0x107a4, 0x107a8, 0x107b6,\n 0x10822, 0x10828, 0x10842, 0x10848, 0x10850, 0x1085e, 0x10866, 0x1086c, 0x1087a, 0x10882, 0x10884, 0x10890,\n 0x1089e, 0x108a0, 0x108bc, 0x108c6, 0x108cc, 0x108d8, 0x108ee, 0x108f2, 0x108f4, 0x10902, 0x10908, 0x1091e,\n 0x10920, 0x1093c, 0x10940, 0x10978, 0x10986, 0x10998, 0x109b0, 0x109be, 0x109ce, 0x109dc, 0x109e2, 0x109e4,\n 0x109e8, 0x109f6, 0x10a08, 0x10a10, 0x10a1e, 0x10a20, 0x10a3c, 0x10a40, 0x10a78, 0x10af0, 0x10b06, 0x10b0c,\n 0x10b18, 0x10b30, 0x10b3e, 0x10b60, 0x10b7c, 0x10b8e, 0x10b9c, 0x10bb8, 0x10bc2, 0x10bc4, 0x10bc8, 0x10bd0,\n 0x10bde, 0x10be6, 0x10bec, 0x10c2e, 0x10c4e, 0x10c5c, 0x10c62, 0x10c64, 0x10c68, 0x10c76, 0x10c8e, 0x10c9c,\n 0x10cb8, 0x10cc2, 0x10cc4, 0x10cc8, 0x10cd0, 0x10cde, 0x10ce6, 0x10cec, 0x10cfa, 0x10d0e, 0x10d1c, 0x10d38,\n 0x10d70, 0x10d7e, 0x10d82, 0x10d84, 0x10d88, 0x10d90, 0x10d9e, 0x10da0, 0x10dbc, 0x10dc6, 0x10dcc, 0x10dd8,\n 0x10dee, 0x10df2, 0x10df4, 0x10e16, 0x10e26, 0x10e2c, 0x10e46, 0x10e58, 0x10e6e, 0x10e86, 0x10e8c, 0x10e98,\n 0x10eb0, 0x10ebe, 0x10ece, 0x10edc, 0x10f0a, 0x10f12, 0x10f14, 0x10f22, 0x10f28, 0x10f36, 0x10f42, 0x10f44,\n 0x10f48, 0x10f50, 0x10f5e, 0x10f66, 0x10f6c, 0x10fb2, 0x10fb4, 0x11022, 0x11028, 0x11042, 0x11048, 0x11050,\n 0x1105e, 0x1107a, 0x11082, 0x11084, 0x11090, 0x1109e, 0x110a0, 0x110bc, 0x110c6, 0x110cc, 0x110d8, 0x110ee,\n 0x110f2, 0x110f4, 0x11102, 0x1111e, 0x11120, 0x1113c, 0x11140, 0x11178, 0x11186, 0x11198, 0x111b0, 0x111be,\n 0x111ce, 0x111dc, 0x111e2, 0x111e4, 0x111e8, 0x111f6, 0x11208, 0x1121e, 0x11220, 0x11278, 0x112f0, 0x1130c,\n 0x11330, 0x1133e, 0x11360, 0x1137c, 0x1138e, 0x1139c, 0x113b8, 0x113c2, 0x113c8, 0x113d0, 0x113de, 0x113e6,\n 0x113ec, 0x11408, 0x11410, 0x1141e, 0x11420, 0x1143c, 0x11440, 0x11478, 0x114f0, 0x115e0, 0x1160c, 0x11618,\n 0x11630, 0x1163e, 0x11660, 0x1167c, 0x116c0, 0x116f8, 0x1171c, 0x11738, 0x11770, 0x1177e, 0x11782, 0x11784,\n 0x11788, 0x11790, 0x1179e, 0x117a0, 0x117bc, 0x117c6, 0x117cc, 0x117d8, 0x117ee, 0x1182e, 0x11834, 0x1184e,\n 0x1185c, 0x11862, 0x11864, 0x11868, 0x11876, 0x1188e, 0x1189c, 0x118b8, 0x118c2, 0x118c8, 0x118d0, 0x118de,\n 0x118e6, 0x118ec, 0x118fa, 0x1190e, 0x1191c, 0x11938, 0x11970, 0x1197e, 0x11982, 0x11984, 0x11990, 0x1199e,\n 0x119a0, 0x119bc, 0x119c6, 0x119cc, 0x119d8, 0x119ee, 0x119f2, 0x119f4, 0x11a0e, 0x11a1c, 0x11a38, 0x11a70,\n 0x11a7e, 0x11ae0, 0x11afc, 0x11b08, 0x11b10, 0x11b1e, 0x11b20, 0x11b3c, 0x11b40, 0x11b78, 0x11b8c, 0x11b98,\n 0x11bb0, 0x11bbe, 0x11bce, 0x11bdc, 0x11be2, 0x11be4, 0x11be8, 0x11bf6, 0x11c16, 0x11c26, 0x11c2c, 0x11c46,\n 0x11c4c, 0x11c58, 0x11c6e, 0x11c86, 0x11c98, 0x11cb0, 0x11cbe, 0x11cce, 0x11cdc, 0x11ce2, 0x11ce4, 0x11ce8,\n 0x11cf6, 0x11d06, 0x11d0c, 0x11d18, 0x11d30, 0x11d3e, 0x11d60, 0x11d7c, 0x11d8e, 0x11d9c, 0x11db8, 0x11dc4,\n 0x11dc8, 0x11dd0, 0x11dde, 0x11de6, 0x11dec, 0x11dfa, 0x11e0a, 0x11e12, 0x11e14, 0x11e22, 0x11e24, 0x11e28,\n 0x11e36, 0x11e42, 0x11e44, 0x11e50, 0x11e5e, 0x11e66, 0x11e6c, 0x11e82, 0x11e84, 0x11e88, 0x11e90, 0x11e9e,\n 0x11ea0, 0x11ebc, 0x11ec6, 0x11ecc, 0x11ed8, 0x11eee, 0x11f1a, 0x11f2e, 0x11f32, 0x11f34, 0x11f4e, 0x11f5c,\n 0x11f62, 0x11f64, 0x11f68, 0x11f76, 0x12048, 0x1205e, 0x12082, 0x12084, 0x12090, 0x1209e, 0x120a0, 0x120bc,\n 0x120d8, 0x120f2, 0x120f4, 0x12108, 0x1211e, 0x12120, 0x1213c, 0x12140, 0x12178, 0x12186, 0x12198, 0x121b0,\n 0x121be, 0x121e2, 0x121e4, 0x121e8, 0x121f6, 0x12204, 0x12210, 0x1221e, 0x12220, 0x12278, 0x122f0, 0x12306,\n 0x1230c, 0x12330, 0x1233e, 0x12360, 0x1237c, 0x1238e, 0x1239c, 0x123b8, 0x123c2, 0x123c8, 0x123d0, 0x123e6,\n 0x123ec, 0x1241e, 0x12420, 0x1243c, 0x124f0, 0x125e0, 0x12618, 0x1263e, 0x12660, 0x1267c, 0x126c0, 0x126f8,\n 0x12738, 0x12770, 0x1277e, 0x12782, 0x12784, 0x12790, 0x1279e, 0x127a0, 0x127bc, 0x127c6, 0x127cc, 0x127d8,\n 0x127ee, 0x12820, 0x1283c, 0x12840, 0x12878, 0x128f0, 0x129e0, 0x12bc0, 0x12c18, 0x12c30, 0x12c3e, 0x12c60,\n 0x12c7c, 0x12cc0, 0x12cf8, 0x12df0, 0x12e1c, 0x12e38, 0x12e70, 0x12e7e, 0x12ee0, 0x12efc, 0x12f04, 0x12f08,\n 0x12f10, 0x12f20, 0x12f3c, 0x12f40, 0x12f78, 0x12f86, 0x12f8c, 0x12f98, 0x12fb0, 0x12fbe, 0x12fce, 0x12fdc,\n 0x1302e, 0x1304e, 0x1305c, 0x13062, 0x13068, 0x1308e, 0x1309c, 0x130b8, 0x130c2, 0x130c8, 0x130d0, 0x130de,\n 0x130ec, 0x130fa, 0x1310e, 0x13138, 0x13170, 0x1317e, 0x13182, 0x13184, 0x13190, 0x1319e, 0x131a0, 0x131bc,\n 0x131c6, 0x131cc, 0x131d8, 0x131f2, 0x131f4, 0x1320e, 0x1321c, 0x13270, 0x1327e, 0x132e0, 0x132fc, 0x13308,\n 0x1331e, 0x13320, 0x1333c, 0x13340, 0x13378, 0x13386, 0x13398, 0x133b0, 0x133be, 0x133ce, 0x133dc, 0x133e2,\n 0x133e4, 0x133e8, 0x133f6, 0x1340e, 0x1341c, 0x13438, 0x13470, 0x1347e, 0x134e0, 0x134fc, 0x135c0, 0x135f8,\n 0x13608, 0x13610, 0x1361e, 0x13620, 0x1363c, 0x13640, 0x13678, 0x136f0, 0x1370c, 0x13718, 0x13730, 0x1373e,\n 0x13760, 0x1377c, 0x1379c, 0x137b8, 0x137c2, 0x137c4, 0x137c8, 0x137d0, 0x137de, 0x137e6, 0x137ec, 0x13816,\n 0x13826, 0x1382c, 0x13846, 0x1384c, 0x13858, 0x1386e, 0x13874, 0x13886, 0x13898, 0x138b0, 0x138be, 0x138ce,\n 0x138dc, 0x138e2, 0x138e4, 0x138e8, 0x13906, 0x1390c, 0x13930, 0x1393e, 0x13960, 0x1397c, 0x1398e, 0x1399c,\n 0x139b8, 0x139c8, 0x139d0, 0x139de, 0x139e6, 0x139ec, 0x139fa, 0x13a06, 0x13a0c, 0x13a18, 0x13a30, 0x13a3e,\n 0x13a60, 0x13a7c, 0x13ac0, 0x13af8, 0x13b0e, 0x13b1c, 0x13b38, 0x13b70, 0x13b7e, 0x13b88, 0x13b90, 0x13b9e,\n 0x13ba0, 0x13bbc, 0x13bcc, 0x13bd8, 0x13bee, 0x13bf2, 0x13bf4, 0x13c12, 0x13c14, 0x13c22, 0x13c24, 0x13c28,\n 0x13c36, 0x13c42, 0x13c48, 0x13c50, 0x13c5e, 0x13c66, 0x13c6c, 0x13c82, 0x13c84, 0x13c90, 0x13c9e, 0x13ca0,\n 0x13cbc, 0x13cc6, 0x13ccc, 0x13cd8, 0x13cee, 0x13d02, 0x13d04, 0x13d08, 0x13d10, 0x13d1e, 0x13d20, 0x13d3c,\n 0x13d40, 0x13d78, 0x13d86, 0x13d8c, 0x13d98, 0x13db0, 0x13dbe, 0x13dce, 0x13ddc, 0x13de4, 0x13de8, 0x13df6,\n 0x13e1a, 0x13e2e, 0x13e32, 0x13e34, 0x13e4e, 0x13e5c, 0x13e62, 0x13e64, 0x13e68, 0x13e76, 0x13e8e, 0x13e9c,\n 0x13eb8, 0x13ec2, 0x13ec4, 0x13ec8, 0x13ed0, 0x13ede, 0x13ee6, 0x13eec, 0x13f26, 0x13f2c, 0x13f3a, 0x13f46,\n 0x13f4c, 0x13f58, 0x13f6e, 0x13f72, 0x13f74, 0x14082, 0x1409e, 0x140a0, 0x140bc, 0x14104, 0x14108, 0x14110,\n 0x1411e, 0x14120, 0x1413c, 0x14140, 0x14178, 0x1418c, 0x14198, 0x141b0, 0x141be, 0x141e2, 0x141e4, 0x141e8,\n 0x14208, 0x14210, 0x1421e, 0x14220, 0x1423c, 0x14240, 0x14278, 0x142f0, 0x14306, 0x1430c, 0x14318, 0x14330,\n 0x1433e, 0x14360, 0x1437c, 0x1438e, 0x143c2, 0x143c4, 0x143c8, 0x143d0, 0x143e6, 0x143ec, 0x14408, 0x14410,\n 0x1441e, 0x14420, 0x1443c, 0x14440, 0x14478, 0x144f0, 0x145e0, 0x1460c, 0x14618, 0x14630, 0x1463e, 0x14660,\n 0x1467c, 0x146c0, 0x146f8, 0x1471c, 0x14738, 0x14770, 0x1477e, 0x14782, 0x14784, 0x14788, 0x14790, 0x147a0,\n 0x147bc, 0x147c6, 0x147cc, 0x147d8, 0x147ee, 0x14810, 0x14820, 0x1483c, 0x14840, 0x14878, 0x148f0, 0x149e0,\n 0x14bc0, 0x14c30, 0x14c3e, 0x14c60, 0x14c7c, 0x14cc0, 0x14cf8, 0x14df0, 0x14e38, 0x14e70, 0x14e7e, 0x14ee0,\n 0x14efc, 0x14f04, 0x14f08, 0x14f10, 0x14f1e, 0x14f20, 0x14f3c, 0x14f40, 0x14f78, 0x14f86, 0x14f8c, 0x14f98,\n 0x14fb0, 0x14fce, 0x14fdc, 0x15020, 0x15040, 0x15078, 0x150f0, 0x151e0, 0x153c0, 0x15860, 0x1587c, 0x158c0,\n 0x158f8, 0x159f0, 0x15be0, 0x15c70, 0x15c7e, 0x15ce0, 0x15cfc, 0x15dc0, 0x15df8, 0x15e08, 0x15e10, 0x15e20,\n 0x15e40, 0x15e78, 0x15ef0, 0x15f0c, 0x15f18, 0x15f30, 0x15f60, 0x15f7c, 0x15f8e, 0x15f9c, 0x15fb8, 0x1604e,\n 0x1605c, 0x1608e, 0x1609c, 0x160b8, 0x160c2, 0x160c4, 0x160c8, 0x160de, 0x1610e, 0x1611c, 0x16138, 0x16170,\n 0x1617e, 0x16184, 0x16188, 0x16190, 0x1619e, 0x161a0, 0x161bc, 0x161c6, 0x161cc, 0x161d8, 0x161f2, 0x161f4,\n 0x1620e, 0x1621c, 0x16238, 0x16270, 0x1627e, 0x162e0, 0x162fc, 0x16304, 0x16308, 0x16310, 0x1631e, 0x16320,\n 0x1633c, 0x16340, 0x16378, 0x16386, 0x1638c, 0x16398, 0x163b0, 0x163be, 0x163ce, 0x163dc, 0x163e2, 0x163e4,\n 0x163e8, 0x163f6, 0x1640e, 0x1641c, 0x16438, 0x16470, 0x1647e, 0x164e0, 0x164fc, 0x165c0, 0x165f8, 0x16610,\n 0x1661e, 0x16620, 0x1663c, 0x16640, 0x16678, 0x166f0, 0x16718, 0x16730, 0x1673e, 0x16760, 0x1677c, 0x1678e,\n 0x1679c, 0x167b8, 0x167c2, 0x167c4, 0x167c8, 0x167d0, 0x167de, 0x167e6, 0x167ec, 0x1681c, 0x16838, 0x16870,\n 0x168e0, 0x168fc, 0x169c0, 0x169f8, 0x16bf0, 0x16c10, 0x16c1e, 0x16c20, 0x16c3c, 0x16c40, 0x16c78, 0x16cf0,\n 0x16de0, 0x16e18, 0x16e30, 0x16e3e, 0x16e60, 0x16e7c, 0x16ec0, 0x16ef8, 0x16f1c, 0x16f38, 0x16f70, 0x16f7e,\n 0x16f84, 0x16f88, 0x16f90, 0x16f9e, 0x16fa0, 0x16fbc, 0x16fc6, 0x16fcc, 0x16fd8, 0x17026, 0x1702c, 0x17046,\n 0x1704c, 0x17058, 0x1706e, 0x17086, 0x1708c, 0x17098, 0x170b0, 0x170be, 0x170ce, 0x170dc, 0x170e8, 0x17106,\n 0x1710c, 0x17118, 0x17130, 0x1713e, 0x17160, 0x1717c, 0x1718e, 0x1719c, 0x171b8, 0x171c2, 0x171c4, 0x171c8,\n 0x171d0, 0x171de, 0x171e6, 0x171ec, 0x171fa, 0x17206, 0x1720c, 0x17218, 0x17230, 0x1723e, 0x17260, 0x1727c,\n 0x172c0, 0x172f8, 0x1730e, 0x1731c, 0x17338, 0x17370, 0x1737e, 0x17388, 0x17390, 0x1739e, 0x173a0, 0x173bc,\n 0x173cc, 0x173d8, 0x173ee, 0x173f2, 0x173f4, 0x1740c, 0x17418, 0x17430, 0x1743e, 0x17460, 0x1747c, 0x174c0,\n 0x174f8, 0x175f0, 0x1760e, 0x1761c, 0x17638, 0x17670, 0x1767e, 0x176e0, 0x176fc, 0x17708, 0x17710, 0x1771e,\n 0x17720, 0x1773c, 0x17740, 0x17778, 0x17798, 0x177b0, 0x177be, 0x177dc, 0x177e2, 0x177e4, 0x177e8, 0x17822,\n 0x17824, 0x17828, 0x17836, 0x17842, 0x17844, 0x17848, 0x17850, 0x1785e, 0x17866, 0x1786c, 0x17882, 0x17884,\n 0x17888, 0x17890, 0x1789e, 0x178a0, 0x178bc, 0x178c6, 0x178cc, 0x178d8, 0x178ee, 0x178f2, 0x178f4, 0x17902,\n 0x17904, 0x17908, 0x17910, 0x1791e, 0x17920, 0x1793c, 0x17940, 0x17978, 0x17986, 0x1798c, 0x17998, 0x179b0,\n 0x179be, 0x179ce, 0x179dc, 0x179e2, 0x179e4, 0x179e8, 0x179f6, 0x17a04, 0x17a08, 0x17a10, 0x17a1e, 0x17a20,\n 0x17a3c, 0x17a40, 0x17a78, 0x17af0, 0x17b06, 0x17b0c, 0x17b18, 0x17b30, 0x17b3e, 0x17b60, 0x17b7c, 0x17b8e,\n 0x17b9c, 0x17bb8, 0x17bc4, 0x17bc8, 0x17bd0, 0x17bde, 0x17be6, 0x17bec, 0x17c2e, 0x17c32, 0x17c34, 0x17c4e,\n 0x17c5c, 0x17c62, 0x17c64, 0x17c68, 0x17c76, 0x17c8e, 0x17c9c, 0x17cb8, 0x17cc2, 0x17cc4, 0x17cc8, 0x17cd0,\n 0x17cde, 0x17ce6, 0x17cec, 0x17d0e, 0x17d1c, 0x17d38, 0x17d70, 0x17d82, 0x17d84, 0x17d88, 0x17d90, 0x17d9e,\n 0x17da0, 0x17dbc, 0x17dc6, 0x17dcc, 0x17dd8, 0x17dee, 0x17e26, 0x17e2c, 0x17e3a, 0x17e46, 0x17e4c, 0x17e58,\n 0x17e6e, 0x17e72, 0x17e74, 0x17e86, 0x17e8c, 0x17e98, 0x17eb0, 0x17ece, 0x17edc, 0x17ee2, 0x17ee4, 0x17ee8,\n 0x17ef6, 0x1813a, 0x18172, 0x18174, 0x18216, 0x18226, 0x1823a, 0x1824c, 0x18258, 0x1826e, 0x18272, 0x18274,\n 0x18298, 0x182be, 0x182e2, 0x182e4, 0x182e8, 0x182f6, 0x1835e, 0x1837a, 0x183ae, 0x183d6, 0x18416, 0x18426,\n 0x1842c, 0x1843a, 0x18446, 0x18458, 0x1846e, 0x18472, 0x18474, 0x18486, 0x184b0, 0x184be, 0x184ce, 0x184dc,\n 0x184e2, 0x184e4, 0x184e8, 0x184f6, 0x18506, 0x1850c, 0x18518, 0x18530, 0x1853e, 0x18560, 0x1857c, 0x1858e,\n 0x1859c, 0x185b8, 0x185c2, 0x185c4, 0x185c8, 0x185d0, 0x185de, 0x185e6, 0x185ec, 0x185fa, 0x18612, 0x18614,\n 0x18622, 0x18628, 0x18636, 0x18642, 0x18650, 0x1865e, 0x1867a, 0x18682, 0x18684, 0x18688, 0x18690, 0x1869e,\n 0x186a0, 0x186bc, 0x186c6, 0x186cc, 0x186d8, 0x186ee, 0x186f2, 0x186f4, 0x1872e, 0x1874e, 0x1875c, 0x18796,\n 0x187a6, 0x187ac, 0x187d2, 0x187d4, 0x18826, 0x1882c, 0x1883a, 0x18846, 0x1884c, 0x18858, 0x1886e, 0x18872,\n 0x18874, 0x18886, 0x18898, 0x188b0, 0x188be, 0x188ce, 0x188dc, 0x188e2, 0x188e4, 0x188e8, 0x188f6, 0x1890c,\n 0x18930, 0x1893e, 0x18960, 0x1897c, 0x1898e, 0x189b8, 0x189c2, 0x189c8, 0x189d0, 0x189de, 0x189e6, 0x189ec,\n 0x189fa, 0x18a18, 0x18a30, 0x18a3e, 0x18a60, 0x18a7c, 0x18ac0, 0x18af8, 0x18b1c, 0x18b38, 0x18b70, 0x18b7e,\n 0x18b82, 0x18b84, 0x18b88, 0x18b90, 0x18b9e, 0x18ba0, 0x18bbc, 0x18bc6, 0x18bcc, 0x18bd8, 0x18bee, 0x18bf2,\n 0x18bf4, 0x18c22, 0x18c24, 0x18c28, 0x18c36, 0x18c42, 0x18c48, 0x18c50, 0x18c5e, 0x18c66, 0x18c7a, 0x18c82,\n 0x18c84, 0x18c90, 0x18c9e, 0x18ca0, 0x18cbc, 0x18ccc, 0x18cf2, 0x18cf4, 0x18d04, 0x18d08, 0x18d10, 0x18d1e,\n 0x18d20, 0x18d3c, 0x18d40, 0x18d78, 0x18d86, 0x18d98, 0x18dce, 0x18de2, 0x18de4, 0x18de8, 0x18e2e, 0x18e32,\n 0x18e34, 0x18e4e, 0x18e5c, 0x18e62, 0x18e64, 0x18e68, 0x18e8e, 0x18e9c, 0x18eb8, 0x18ec2, 0x18ec4, 0x18ec8,\n 0x18ed0, 0x18efa, 0x18f16, 0x18f26, 0x18f2c, 0x18f46, 0x18f4c, 0x18f58, 0x18f6e, 0x18f8a, 0x18f92, 0x18f94,\n 0x18fa2, 0x18fa4, 0x18fa8, 0x18fb6, 0x1902c, 0x1903a, 0x19046, 0x1904c, 0x19058, 0x19072, 0x19074, 0x19086,\n 0x19098, 0x190b0, 0x190be, 0x190ce, 0x190dc, 0x190e2, 0x190e8, 0x190f6, 0x19106, 0x1910c, 0x19130, 0x1913e,\n 0x19160, 0x1917c, 0x1918e, 0x1919c, 0x191b8, 0x191c2, 0x191c8, 0x191d0, 0x191de, 0x191e6, 0x191ec, 0x191fa,\n 0x19218, 0x1923e, 0x19260, 0x1927c, 0x192c0, 0x192f8, 0x19338, 0x19370, 0x1937e, 0x19382, 0x19384, 0x19390,\n 0x1939e, 0x193a0, 0x193bc, 0x193c6, 0x193cc, 0x193d8, 0x193ee, 0x193f2, 0x193f4, 0x19430, 0x1943e, 0x19460,\n 0x1947c, 0x194c0, 0x194f8, 0x195f0, 0x19638, 0x19670, 0x1967e, 0x196e0, 0x196fc, 0x19702, 0x19704, 0x19708,\n 0x19710, 0x19720, 0x1973c, 0x19740, 0x19778, 0x19786, 0x1978c, 0x19798, 0x197b0, 0x197be, 0x197ce, 0x197dc,\n 0x197e2, 0x197e4, 0x197e8, 0x19822, 0x19824, 0x19842, 0x19848, 0x19850, 0x1985e, 0x19866, 0x1987a, 0x19882,\n 0x19884, 0x19890, 0x1989e, 0x198a0, 0x198bc, 0x198cc, 0x198f2, 0x198f4, 0x19902, 0x19908, 0x1991e, 0x19920,\n 0x1993c, 0x19940, 0x19978, 0x19986, 0x19998, 0x199ce, 0x199e2, 0x199e4, 0x199e8, 0x19a08, 0x19a10, 0x19a1e,\n 0x19a20, 0x19a3c, 0x19a40, 0x19a78, 0x19af0, 0x19b18, 0x19b3e, 0x19b60, 0x19b9c, 0x19bc2, 0x19bc4, 0x19bc8,\n 0x19bd0, 0x19be6, 0x19c2e, 0x19c34, 0x19c4e, 0x19c5c, 0x19c62, 0x19c64, 0x19c68, 0x19c8e, 0x19c9c, 0x19cb8,\n 0x19cc2, 0x19cc8, 0x19cd0, 0x19ce6, 0x19cfa, 0x19d0e, 0x19d1c, 0x19d38, 0x19d70, 0x19d7e, 0x19d82, 0x19d84,\n 0x19d88, 0x19d90, 0x19da0, 0x19dcc, 0x19df2, 0x19df4, 0x19e16, 0x19e26, 0x19e2c, 0x19e46, 0x19e4c, 0x19e58,\n 0x19e74, 0x19e86, 0x19e8c, 0x19e98, 0x19eb0, 0x19ebe, 0x19ece, 0x19ee2, 0x19ee4, 0x19ee8, 0x19f0a, 0x19f12,\n 0x19f14, 0x19f22, 0x19f24, 0x19f28, 0x19f42, 0x19f44, 0x19f48, 0x19f50, 0x19f5e, 0x19f6c, 0x19f9a, 0x19fae,\n 0x19fb2, 0x19fb4, 0x1a046, 0x1a04c, 0x1a072, 0x1a074, 0x1a086, 0x1a08c, 0x1a098, 0x1a0b0, 0x1a0be, 0x1a0e2,\n 0x1a0e4, 0x1a0e8, 0x1a0f6, 0x1a106, 0x1a10c, 0x1a118, 0x1a130, 0x1a13e, 0x1a160, 0x1a17c, 0x1a18e, 0x1a19c,\n 0x1a1b8, 0x1a1c2, 0x1a1c4, 0x1a1c8, 0x1a1d0, 0x1a1de, 0x1a1e6, 0x1a1ec, 0x1a218, 0x1a230, 0x1a23e, 0x1a260,\n 0x1a27c, 0x1a2c0, 0x1a2f8, 0x1a31c, 0x1a338, 0x1a370, 0x1a37e, 0x1a382, 0x1a384, 0x1a388, 0x1a390, 0x1a39e,\n 0x1a3a0, 0x1a3bc, 0x1a3c6, 0x1a3cc, 0x1a3d8, 0x1a3ee, 0x1a3f2, 0x1a3f4, 0x1a418, 0x1a430, 0x1a43e, 0x1a460,\n 0x1a47c, 0x1a4c0, 0x1a4f8, 0x1a5f0, 0x1a61c, 0x1a638, 0x1a670, 0x1a67e, 0x1a6e0, 0x1a6fc, 0x1a702, 0x1a704,\n 0x1a708, 0x1a710, 0x1a71e, 0x1a720, 0x1a73c, 0x1a740, 0x1a778, 0x1a786, 0x1a78c, 0x1a798, 0x1a7b0, 0x1a7be,\n 0x1a7ce, 0x1a7dc, 0x1a7e2, 0x1a7e4, 0x1a7e8, 0x1a830, 0x1a860, 0x1a87c, 0x1a8c0, 0x1a8f8, 0x1a9f0, 0x1abe0,\n 0x1ac70, 0x1ac7e, 0x1ace0, 0x1acfc, 0x1adc0, 0x1adf8, 0x1ae04, 0x1ae08, 0x1ae10, 0x1ae20, 0x1ae3c, 0x1ae40,\n 0x1ae78, 0x1aef0, 0x1af06, 0x1af0c, 0x1af18, 0x1af30, 0x1af3e, 0x1af60, 0x1af7c, 0x1af8e, 0x1af9c, 0x1afb8,\n 0x1afc4, 0x1afc8, 0x1afd0, 0x1afde, 0x1b042, 0x1b05e, 0x1b07a, 0x1b082, 0x1b084, 0x1b088, 0x1b090, 0x1b09e,\n 0x1b0a0, 0x1b0bc, 0x1b0cc, 0x1b0f2, 0x1b0f4, 0x1b102, 0x1b104, 0x1b108, 0x1b110, 0x1b11e, 0x1b120, 0x1b13c,\n 0x1b140, 0x1b178, 0x1b186, 0x1b198, 0x1b1ce, 0x1b1e2, 0x1b1e4, 0x1b1e8, 0x1b204, 0x1b208, 0x1b210, 0x1b21e,\n 0x1b220, 0x1b23c, 0x1b240, 0x1b278, 0x1b2f0, 0x1b30c, 0x1b33e, 0x1b360, 0x1b39c, 0x1b3c2, 0x1b3c4, 0x1b3c8,\n 0x1b3d0, 0x1b3e6, 0x1b410, 0x1b41e, 0x1b420, 0x1b43c, 0x1b440, 0x1b478, 0x1b4f0, 0x1b5e0, 0x1b618, 0x1b660,\n 0x1b67c, 0x1b6c0, 0x1b738, 0x1b782, 0x1b784, 0x1b788, 0x1b790, 0x1b79e, 0x1b7a0, 0x1b7cc, 0x1b82e, 0x1b84e,\n 0x1b85c, 0x1b88e, 0x1b89c, 0x1b8b8, 0x1b8c2, 0x1b8c4, 0x1b8c8, 0x1b8d0, 0x1b8e6, 0x1b8fa, 0x1b90e, 0x1b91c,\n 0x1b938, 0x1b970, 0x1b97e, 0x1b982, 0x1b984, 0x1b988, 0x1b990, 0x1b99e, 0x1b9a0, 0x1b9cc, 0x1b9f2, 0x1b9f4,\n 0x1ba0e, 0x1ba1c, 0x1ba38, 0x1ba70, 0x1ba7e, 0x1bae0, 0x1bafc, 0x1bb08, 0x1bb10, 0x1bb20, 0x1bb3c, 0x1bb40,\n 0x1bb98, 0x1bbce, 0x1bbe2, 0x1bbe4, 0x1bbe8, 0x1bc16, 0x1bc26, 0x1bc2c, 0x1bc46, 0x1bc4c, 0x1bc58, 0x1bc72,\n 0x1bc74, 0x1bc86, 0x1bc8c, 0x1bc98, 0x1bcb0, 0x1bcbe, 0x1bcce, 0x1bce2, 0x1bce4, 0x1bce8, 0x1bd06, 0x1bd0c,\n 0x1bd18, 0x1bd30, 0x1bd3e, 0x1bd60, 0x1bd7c, 0x1bd9c, 0x1bdc2, 0x1bdc4, 0x1bdc8, 0x1bdd0, 0x1bde6, 0x1bdfa,\n 0x1be12, 0x1be14, 0x1be22, 0x1be24, 0x1be28, 0x1be42, 0x1be44, 0x1be48, 0x1be50, 0x1be5e, 0x1be66, 0x1be82,\n 0x1be84, 0x1be88, 0x1be90, 0x1be9e, 0x1bea0, 0x1bebc, 0x1becc, 0x1bef4, 0x1bf1a, 0x1bf2e, 0x1bf32, 0x1bf34,\n 0x1bf4e, 0x1bf5c, 0x1bf62, 0x1bf64, 0x1bf68, 0x1c09a, 0x1c0b2, 0x1c0b4, 0x1c11a, 0x1c132, 0x1c134, 0x1c162,\n 0x1c164, 0x1c168, 0x1c176, 0x1c1ba, 0x1c21a, 0x1c232, 0x1c234, 0x1c24e, 0x1c25c, 0x1c262, 0x1c264, 0x1c268,\n 0x1c276, 0x1c28e, 0x1c2c2, 0x1c2c4, 0x1c2c8, 0x1c2d0, 0x1c2de, 0x1c2e6, 0x1c2ec, 0x1c2fa, 0x1c316, 0x1c326,\n 0x1c33a, 0x1c346, 0x1c34c, 0x1c372, 0x1c374, 0x1c41a, 0x1c42e, 0x1c432, 0x1c434, 0x1c44e, 0x1c45c, 0x1c462,\n 0x1c464, 0x1c468, 0x1c476, 0x1c48e, 0x1c49c, 0x1c4b8, 0x1c4c2, 0x1c4c8, 0x1c4d0, 0x1c4de, 0x1c4e6, 0x1c4ec,\n 0x1c4fa, 0x1c51c, 0x1c538, 0x1c570, 0x1c57e, 0x1c582, 0x1c584, 0x1c588, 0x1c590, 0x1c59e, 0x1c5a0, 0x1c5bc,\n 0x1c5c6, 0x1c5cc, 0x1c5d8, 0x1c5ee, 0x1c5f2, 0x1c5f4, 0x1c616, 0x1c626, 0x1c62c, 0x1c63a, 0x1c646, 0x1c64c,\n 0x1c658, 0x1c66e, 0x1c672, 0x1c674, 0x1c686, 0x1c68c, 0x1c698, 0x1c6b0, 0x1c6be, 0x1c6ce, 0x1c6dc, 0x1c6e2,\n 0x1c6e4, 0x1c6e8, 0x1c712, 0x1c714, 0x1c722, 0x1c728, 0x1c736, 0x1c742, 0x1c744, 0x1c748, 0x1c750, 0x1c75e,\n 0x1c766, 0x1c76c, 0x1c77a, 0x1c7ae, 0x1c7d6, 0x1c7ea, 0x1c81a, 0x1c82e, 0x1c832, 0x1c834, 0x1c84e, 0x1c85c,\n 0x1c862, 0x1c864, 0x1c868, 0x1c876, 0x1c88e, 0x1c89c, 0x1c8b8, 0x1c8c2, 0x1c8c8, 0x1c8d0, 0x1c8de, 0x1c8e6,\n 0x1c8ec, 0x1c8fa, 0x1c90e, 0x1c938, 0x1c970, 0x1c97e, 0x1c982, 0x1c984, 0x1c990, 0x1c99e, 0x1c9a0, 0x1c9bc,\n 0x1c9c6, 0x1c9cc, 0x1c9d8, 0x1c9ee, 0x1c9f2, 0x1c9f4, 0x1ca38, 0x1ca70, 0x1ca7e, 0x1cae0, 0x1cafc, 0x1cb02,\n 0x1cb04, 0x1cb08, 0x1cb10, 0x1cb20, 0x1cb3c, 0x1cb40, 0x1cb78, 0x1cb86, 0x1cb8c, 0x1cb98, 0x1cbb0, 0x1cbbe,\n 0x1cbce, 0x1cbdc, 0x1cbe2, 0x1cbe4, 0x1cbe8, 0x1cbf6, 0x1cc16, 0x1cc26, 0x1cc2c, 0x1cc3a, 0x1cc46, 0x1cc58,\n 0x1cc72, 0x1cc74, 0x1cc86, 0x1ccb0, 0x1ccbe, 0x1ccce, 0x1cce2, 0x1cce4, 0x1cce8, 0x1cd06, 0x1cd0c, 0x1cd18,\n 0x1cd30, 0x1cd3e, 0x1cd60, 0x1cd7c, 0x1cd9c, 0x1cdc2, 0x1cdc4, 0x1cdc8, 0x1cdd0, 0x1cdde, 0x1cde6, 0x1cdfa,\n 0x1ce22, 0x1ce28, 0x1ce42, 0x1ce50, 0x1ce5e, 0x1ce66, 0x1ce7a, 0x1ce82, 0x1ce84, 0x1ce88, 0x1ce90, 0x1ce9e,\n 0x1cea0, 0x1cebc, 0x1cecc, 0x1cef2, 0x1cef4, 0x1cf2e, 0x1cf32, 0x1cf34, 0x1cf4e, 0x1cf5c, 0x1cf62, 0x1cf64,\n 0x1cf68, 0x1cf96, 0x1cfa6, 0x1cfac, 0x1cfca, 0x1cfd2, 0x1cfd4, 0x1d02e, 0x1d032, 0x1d034, 0x1d04e, 0x1d05c,\n 0x1d062, 0x1d064, 0x1d068, 0x1d076, 0x1d08e, 0x1d09c, 0x1d0b8, 0x1d0c2, 0x1d0c4, 0x1d0c8, 0x1d0d0, 0x1d0de,\n 0x1d0e6, 0x1d0ec, 0x1d0fa, 0x1d11c, 0x1d138, 0x1d170, 0x1d17e, 0x1d182, 0x1d184, 0x1d188, 0x1d190, 0x1d19e,\n 0x1d1a0, 0x1d1bc, 0x1d1c6, 0x1d1cc, 0x1d1d8, 0x1d1ee, 0x1d1f2, 0x1d1f4, 0x1d21c, 0x1d238, 0x1d270, 0x1d27e,\n 0x1d2e0, 0x1d2fc, 0x1d302, 0x1d304, 0x1d308, 0x1d310, 0x1d31e, 0x1d320, 0x1d33c, 0x1d340, 0x1d378, 0x1d386,\n 0x1d38c, 0x1d398, 0x1d3b0, 0x1d3be, 0x1d3ce, 0x1d3dc, 0x1d3e2, 0x1d3e4, 0x1d3e8, 0x1d3f6, 0x1d470, 0x1d47e,\n 0x1d4e0, 0x1d4fc, 0x1d5c0, 0x1d5f8, 0x1d604, 0x1d608, 0x1d610, 0x1d620, 0x1d640, 0x1d678, 0x1d6f0, 0x1d706,\n 0x1d70c, 0x1d718, 0x1d730, 0x1d73e, 0x1d760, 0x1d77c, 0x1d78e, 0x1d79c, 0x1d7b8, 0x1d7c2, 0x1d7c4, 0x1d7c8,\n 0x1d7d0, 0x1d7de, 0x1d7e6, 0x1d7ec, 0x1d826, 0x1d82c, 0x1d83a, 0x1d846, 0x1d84c, 0x1d858, 0x1d872, 0x1d874,\n 0x1d886, 0x1d88c, 0x1d898, 0x1d8b0, 0x1d8be, 0x1d8ce, 0x1d8e2, 0x1d8e4, 0x1d8e8, 0x1d8f6, 0x1d90c, 0x1d918,\n 0x1d930, 0x1d93e, 0x1d960, 0x1d97c, 0x1d99c, 0x1d9c2, 0x1d9c4, 0x1d9c8, 0x1d9d0, 0x1d9e6, 0x1d9fa, 0x1da0c,\n 0x1da18, 0x1da30, 0x1da3e, 0x1da60, 0x1da7c, 0x1dac0, 0x1daf8, 0x1db38, 0x1db82, 0x1db84, 0x1db88, 0x1db90,\n 0x1db9e, 0x1dba0, 0x1dbcc, 0x1dbf2, 0x1dbf4, 0x1dc22, 0x1dc42, 0x1dc44, 0x1dc48, 0x1dc50, 0x1dc5e, 0x1dc66,\n 0x1dc7a, 0x1dc82, 0x1dc84, 0x1dc88, 0x1dc90, 0x1dc9e, 0x1dca0, 0x1dcbc, 0x1dccc, 0x1dcf2, 0x1dcf4, 0x1dd04,\n 0x1dd08, 0x1dd10, 0x1dd1e, 0x1dd20, 0x1dd3c, 0x1dd40, 0x1dd78, 0x1dd86, 0x1dd98, 0x1ddce, 0x1dde2, 0x1dde4,\n 0x1dde8, 0x1de2e, 0x1de32, 0x1de34, 0x1de4e, 0x1de5c, 0x1de62, 0x1de64, 0x1de68, 0x1de8e, 0x1de9c, 0x1deb8,\n 0x1dec2, 0x1dec4, 0x1dec8, 0x1ded0, 0x1dee6, 0x1defa, 0x1df16, 0x1df26, 0x1df2c, 0x1df46, 0x1df4c, 0x1df58,\n 0x1df72, 0x1df74, 0x1df8a, 0x1df92, 0x1df94, 0x1dfa2, 0x1dfa4, 0x1dfa8, 0x1e08a, 0x1e092, 0x1e094, 0x1e0a2,\n 0x1e0a4, 0x1e0a8, 0x1e0b6, 0x1e0da, 0x1e10a, 0x1e112, 0x1e114, 0x1e122, 0x1e124, 0x1e128, 0x1e136, 0x1e142,\n 0x1e144, 0x1e148, 0x1e150, 0x1e166, 0x1e16c, 0x1e17a, 0x1e19a, 0x1e1b2, 0x1e1b4, 0x1e20a, 0x1e212, 0x1e214,\n 0x1e222, 0x1e224, 0x1e228, 0x1e236, 0x1e242, 0x1e248, 0x1e250, 0x1e25e, 0x1e266, 0x1e26c, 0x1e27a, 0x1e282,\n 0x1e284, 0x1e288, 0x1e290, 0x1e2a0, 0x1e2bc, 0x1e2c6, 0x1e2cc, 0x1e2d8, 0x1e2ee, 0x1e2f2, 0x1e2f4, 0x1e31a,\n 0x1e332, 0x1e334, 0x1e35c, 0x1e362, 0x1e364, 0x1e368, 0x1e3ba, 0x1e40a, 0x1e412, 0x1e414, 0x1e422, 0x1e428,\n 0x1e436, 0x1e442, 0x1e448, 0x1e450, 0x1e45e, 0x1e466, 0x1e46c, 0x1e47a, 0x1e482, 0x1e484, 0x1e490, 0x1e49e,\n 0x1e4a0, 0x1e4bc, 0x1e4c6, 0x1e4cc, 0x1e4d8, 0x1e4ee, 0x1e4f2, 0x1e4f4, 0x1e502, 0x1e504, 0x1e508, 0x1e510,\n 0x1e51e, 0x1e520, 0x1e53c, 0x1e540, 0x1e578, 0x1e586, 0x1e58c, 0x1e598, 0x1e5b0, 0x1e5be, 0x1e5ce, 0x1e5dc,\n 0x1e5e2, 0x1e5e4, 0x1e5e8, 0x1e5f6, 0x1e61a, 0x1e62e, 0x1e632, 0x1e634, 0x1e64e, 0x1e65c, 0x1e662, 0x1e668,\n 0x1e68e, 0x1e69c, 0x1e6b8, 0x1e6c2, 0x1e6c4, 0x1e6c8, 0x1e6d0, 0x1e6e6, 0x1e6fa, 0x1e716, 0x1e726, 0x1e72c,\n 0x1e73a, 0x1e746, 0x1e74c, 0x1e758, 0x1e772, 0x1e774, 0x1e792, 0x1e794, 0x1e7a2, 0x1e7a4, 0x1e7a8, 0x1e7b6,\n 0x1e812, 0x1e814, 0x1e822, 0x1e824, 0x1e828, 0x1e836, 0x1e842, 0x1e844, 0x1e848, 0x1e850, 0x1e85e, 0x1e866,\n 0x1e86c, 0x1e87a, 0x1e882, 0x1e884, 0x1e888, 0x1e890, 0x1e89e, 0x1e8a0, 0x1e8bc, 0x1e8c6, 0x1e8cc, 0x1e8d8,\n 0x1e8ee, 0x1e8f2, 0x1e8f4, 0x1e902, 0x1e904, 0x1e908, 0x1e910, 0x1e920, 0x1e93c, 0x1e940, 0x1e978, 0x1e986,\n 0x1e98c, 0x1e998, 0x1e9b0, 0x1e9be, 0x1e9ce, 0x1e9dc, 0x1e9e2, 0x1e9e4, 0x1e9e8, 0x1e9f6, 0x1ea04, 0x1ea08,\n 0x1ea10, 0x1ea20, 0x1ea40, 0x1ea78, 0x1eaf0, 0x1eb06, 0x1eb0c, 0x1eb18, 0x1eb30, 0x1eb3e, 0x1eb60, 0x1eb7c,\n 0x1eb8e, 0x1eb9c, 0x1ebb8, 0x1ebc2, 0x1ebc4, 0x1ebc8, 0x1ebd0, 0x1ebde, 0x1ebe6, 0x1ebec, 0x1ec1a, 0x1ec2e,\n 0x1ec32, 0x1ec34, 0x1ec4e, 0x1ec5c, 0x1ec62, 0x1ec64, 0x1ec68, 0x1ec8e, 0x1ec9c, 0x1ecb8, 0x1ecc2, 0x1ecc4,\n 0x1ecc8, 0x1ecd0, 0x1ece6, 0x1ecfa, 0x1ed0e, 0x1ed1c, 0x1ed38, 0x1ed70, 0x1ed7e, 0x1ed82, 0x1ed84, 0x1ed88,\n 0x1ed90, 0x1ed9e, 0x1eda0, 0x1edcc, 0x1edf2, 0x1edf4, 0x1ee16, 0x1ee26, 0x1ee2c, 0x1ee3a, 0x1ee46, 0x1ee4c,\n 0x1ee58, 0x1ee6e, 0x1ee72, 0x1ee74, 0x1ee86, 0x1ee8c, 0x1ee98, 0x1eeb0, 0x1eebe, 0x1eece, 0x1eedc, 0x1eee2,\n 0x1eee4, 0x1eee8, 0x1ef12, 0x1ef22, 0x1ef24, 0x1ef28, 0x1ef36, 0x1ef42, 0x1ef44, 0x1ef48, 0x1ef50, 0x1ef5e,\n 0x1ef66, 0x1ef6c, 0x1ef7a, 0x1efae, 0x1efb2, 0x1efb4, 0x1efd6, 0x1f096, 0x1f0a6, 0x1f0ac, 0x1f0ba, 0x1f0ca,\n 0x1f0d2, 0x1f0d4, 0x1f116, 0x1f126, 0x1f12c, 0x1f13a, 0x1f146, 0x1f14c, 0x1f158, 0x1f16e, 0x1f172, 0x1f174,\n 0x1f18a, 0x1f192, 0x1f194, 0x1f1a2, 0x1f1a4, 0x1f1a8, 0x1f1da, 0x1f216, 0x1f226, 0x1f22c, 0x1f23a, 0x1f246,\n 0x1f258, 0x1f26e, 0x1f272, 0x1f274, 0x1f286, 0x1f28c, 0x1f298, 0x1f2b0, 0x1f2be, 0x1f2ce, 0x1f2dc, 0x1f2e2,\n 0x1f2e4, 0x1f2e8, 0x1f2f6, 0x1f30a, 0x1f312, 0x1f314, 0x1f322, 0x1f328, 0x1f342, 0x1f344, 0x1f348, 0x1f350,\n 0x1f35e, 0x1f366, 0x1f37a, 0x1f39a, 0x1f3ae, 0x1f3b2, 0x1f3b4, 0x1f416, 0x1f426, 0x1f42c, 0x1f43a, 0x1f446,\n 0x1f44c, 0x1f458, 0x1f46e, 0x1f472, 0x1f474, 0x1f486, 0x1f48c, 0x1f498, 0x1f4b0, 0x1f4be, 0x1f4ce, 0x1f4dc,\n 0x1f4e2, 0x1f4e4, 0x1f4e8, 0x1f4f6, 0x1f506, 0x1f50c, 0x1f518, 0x1f530, 0x1f53e, 0x1f560, 0x1f57c, 0x1f58e,\n 0x1f59c, 0x1f5b8, 0x1f5c2, 0x1f5c4, 0x1f5c8, 0x1f5d0, 0x1f5de, 0x1f5e6, 0x1f5ec, 0x1f5fa, 0x1f60a, 0x1f612,\n 0x1f614, 0x1f622, 0x1f624, 0x1f628, 0x1f636, 0x1f642, 0x1f644, 0x1f648, 0x1f650, 0x1f65e, 0x1f666, 0x1f67a,\n 0x1f682, 0x1f684, 0x1f688, 0x1f690, 0x1f69e, 0x1f6a0, 0x1f6bc, 0x1f6cc, 0x1f6f2, 0x1f6f4, 0x1f71a, 0x1f72e,\n 0x1f732, 0x1f734, 0x1f74e, 0x1f75c, 0x1f762, 0x1f764, 0x1f768, 0x1f776, 0x1f796, 0x1f7a6, 0x1f7ac, 0x1f7ba,\n 0x1f7d2, 0x1f7d4, 0x1f89a, 0x1f8ae, 0x1f8b2, 0x1f8b4, 0x1f8d6, 0x1f8ea, 0x1f91a, 0x1f92e, 0x1f932, 0x1f934,\n 0x1f94e, 0x1f95c, 0x1f962, 0x1f964, 0x1f968, 0x1f976, 0x1f996, 0x1f9a6, 0x1f9ac, 0x1f9ba, 0x1f9ca, 0x1f9d2,\n 0x1f9d4, 0x1fa1a, 0x1fa2e, 0x1fa32, 0x1fa34, 0x1fa4e, 0x1fa5c, 0x1fa62, 0x1fa64, 0x1fa68, 0x1fa76, 0x1fa8e,\n 0x1fa9c, 0x1fab8, 0x1fac2, 0x1fac4, 0x1fac8, 0x1fad0, 0x1fade, 0x1fae6, 0x1faec, 0x1fb16, 0x1fb26, 0x1fb2c,\n 0x1fb3a, 0x1fb46, 0x1fb4c, 0x1fb58, 0x1fb6e, 0x1fb72, 0x1fb74, 0x1fb8a, 0x1fb92, 0x1fb94, 0x1fba2, 0x1fba4,\n 0x1fba8, 0x1fbb6, 0x1fbda\n ]);\n /**\n * This table contains to codewords for all symbols.\n */\n PDF417Common.CODEWORD_TABLE = Int32Array.from([\n 2627, 1819, 2622, 2621, 1813, 1812, 2729, 2724, 2723, 2779, 2774, 2773, 902, 896, 908, 868, 865, 861, 859, 2511,\n 873, 871, 1780, 835, 2493, 825, 2491, 842, 837, 844, 1764, 1762, 811, 810, 809, 2483, 807, 2482, 806, 2480, 815,\n 814, 813, 812, 2484, 817, 816, 1745, 1744, 1742, 1746, 2655, 2637, 2635, 2626, 2625, 2623, 2628, 1820, 2752,\n 2739, 2737, 2728, 2727, 2725, 2730, 2785, 2783, 2778, 2777, 2775, 2780, 787, 781, 747, 739, 736, 2413, 754, 752,\n 1719, 692, 689, 681, 2371, 678, 2369, 700, 697, 694, 703, 1688, 1686, 642, 638, 2343, 631, 2341, 627, 2338, 651,\n 646, 643, 2345, 654, 652, 1652, 1650, 1647, 1654, 601, 599, 2322, 596, 2321, 594, 2319, 2317, 611, 610, 608, 606,\n 2324, 603, 2323, 615, 614, 612, 1617, 1616, 1614, 1612, 616, 1619, 1618, 2575, 2538, 2536, 905, 901, 898, 909,\n 2509, 2507, 2504, 870, 867, 864, 860, 2512, 875, 872, 1781, 2490, 2489, 2487, 2485, 1748, 836, 834, 832, 830,\n 2494, 827, 2492, 843, 841, 839, 845, 1765, 1763, 2701, 2676, 2674, 2653, 2648, 2656, 2634, 2633, 2631, 2629,\n 1821, 2638, 2636, 2770, 2763, 2761, 2750, 2745, 2753, 2736, 2735, 2733, 2731, 1848, 2740, 2738, 2786, 2784, 591,\n 588, 576, 569, 566, 2296, 1590, 537, 534, 526, 2276, 522, 2274, 545, 542, 539, 548, 1572, 1570, 481, 2245, 466,\n 2242, 462, 2239, 492, 485, 482, 2249, 496, 494, 1534, 1531, 1528, 1538, 413, 2196, 406, 2191, 2188, 425, 419,\n 2202, 415, 2199, 432, 430, 427, 1472, 1467, 1464, 433, 1476, 1474, 368, 367, 2160, 365, 2159, 362, 2157, 2155,\n 2152, 378, 377, 375, 2166, 372, 2165, 369, 2162, 383, 381, 379, 2168, 1419, 1418, 1416, 1414, 385, 1411, 384,\n 1423, 1422, 1420, 1424, 2461, 802, 2441, 2439, 790, 786, 783, 794, 2409, 2406, 2403, 750, 742, 738, 2414, 756,\n 753, 1720, 2367, 2365, 2362, 2359, 1663, 693, 691, 684, 2373, 680, 2370, 702, 699, 696, 704, 1690, 1687, 2337,\n 2336, 2334, 2332, 1624, 2329, 1622, 640, 637, 2344, 634, 2342, 630, 2340, 650, 648, 645, 2346, 655, 653, 1653,\n 1651, 1649, 1655, 2612, 2597, 2595, 2571, 2568, 2565, 2576, 2534, 2529, 2526, 1787, 2540, 2537, 907, 904, 900,\n 910, 2503, 2502, 2500, 2498, 1768, 2495, 1767, 2510, 2508, 2506, 869, 866, 863, 2513, 876, 874, 1782, 2720, 2713,\n 2711, 2697, 2694, 2691, 2702, 2672, 2670, 2664, 1828, 2678, 2675, 2647, 2646, 2644, 2642, 1823, 2639, 1822, 2654,\n 2652, 2650, 2657, 2771, 1855, 2765, 2762, 1850, 1849, 2751, 2749, 2747, 2754, 353, 2148, 344, 342, 336, 2142,\n 332, 2140, 345, 1375, 1373, 306, 2130, 299, 2128, 295, 2125, 319, 314, 311, 2132, 1354, 1352, 1349, 1356, 262,\n 257, 2101, 253, 2096, 2093, 274, 273, 267, 2107, 263, 2104, 280, 278, 275, 1316, 1311, 1308, 1320, 1318, 2052,\n 202, 2050, 2044, 2040, 219, 2063, 212, 2060, 208, 2055, 224, 221, 2066, 1260, 1258, 1252, 231, 1248, 229, 1266,\n 1264, 1261, 1268, 155, 1998, 153, 1996, 1994, 1991, 1988, 165, 164, 2007, 162, 2006, 159, 2003, 2000, 172, 171,\n 169, 2012, 166, 2010, 1186, 1184, 1182, 1179, 175, 1176, 173, 1192, 1191, 1189, 1187, 176, 1194, 1193, 2313,\n 2307, 2305, 592, 589, 2294, 2292, 2289, 578, 572, 568, 2297, 580, 1591, 2272, 2267, 2264, 1547, 538, 536, 529,\n 2278, 525, 2275, 547, 544, 541, 1574, 1571, 2237, 2235, 2229, 1493, 2225, 1489, 478, 2247, 470, 2244, 465, 2241,\n 493, 488, 484, 2250, 498, 495, 1536, 1533, 1530, 1539, 2187, 2186, 2184, 2182, 1432, 2179, 1430, 2176, 1427, 414,\n 412, 2197, 409, 2195, 405, 2193, 2190, 426, 424, 421, 2203, 418, 2201, 431, 429, 1473, 1471, 1469, 1466, 434,\n 1477, 1475, 2478, 2472, 2470, 2459, 2457, 2454, 2462, 803, 2437, 2432, 2429, 1726, 2443, 2440, 792, 789, 785,\n 2401, 2399, 2393, 1702, 2389, 1699, 2411, 2408, 2405, 745, 741, 2415, 758, 755, 1721, 2358, 2357, 2355, 2353,\n 1661, 2350, 1660, 2347, 1657, 2368, 2366, 2364, 2361, 1666, 690, 687, 2374, 683, 2372, 701, 698, 705, 1691, 1689,\n 2619, 2617, 2610, 2608, 2605, 2613, 2593, 2588, 2585, 1803, 2599, 2596, 2563, 2561, 2555, 1797, 2551, 1795, 2573,\n 2570, 2567, 2577, 2525, 2524, 2522, 2520, 1786, 2517, 1785, 2514, 1783, 2535, 2533, 2531, 2528, 1788, 2541, 2539,\n 906, 903, 911, 2721, 1844, 2715, 2712, 1838, 1836, 2699, 2696, 2693, 2703, 1827, 1826, 1824, 2673, 2671, 2669,\n 2666, 1829, 2679, 2677, 1858, 1857, 2772, 1854, 1853, 1851, 1856, 2766, 2764, 143, 1987, 139, 1986, 135, 133,\n 131, 1984, 128, 1983, 125, 1981, 138, 137, 136, 1985, 1133, 1132, 1130, 112, 110, 1974, 107, 1973, 104, 1971,\n 1969, 122, 121, 119, 117, 1977, 114, 1976, 124, 1115, 1114, 1112, 1110, 1117, 1116, 84, 83, 1953, 81, 1952, 78,\n 1950, 1948, 1945, 94, 93, 91, 1959, 88, 1958, 85, 1955, 99, 97, 95, 1961, 1086, 1085, 1083, 1081, 1078, 100,\n 1090, 1089, 1087, 1091, 49, 47, 1917, 44, 1915, 1913, 1910, 1907, 59, 1926, 56, 1925, 53, 1922, 1919, 66, 64,\n 1931, 61, 1929, 1042, 1040, 1038, 71, 1035, 70, 1032, 68, 1048, 1047, 1045, 1043, 1050, 1049, 12, 10, 1869, 1867,\n 1864, 1861, 21, 1880, 19, 1877, 1874, 1871, 28, 1888, 25, 1886, 22, 1883, 982, 980, 977, 974, 32, 30, 991, 989,\n 987, 984, 34, 995, 994, 992, 2151, 2150, 2147, 2146, 2144, 356, 355, 354, 2149, 2139, 2138, 2136, 2134, 1359,\n 343, 341, 338, 2143, 335, 2141, 348, 347, 346, 1376, 1374, 2124, 2123, 2121, 2119, 1326, 2116, 1324, 310, 308,\n 305, 2131, 302, 2129, 298, 2127, 320, 318, 316, 313, 2133, 322, 321, 1355, 1353, 1351, 1357, 2092, 2091, 2089,\n 2087, 1276, 2084, 1274, 2081, 1271, 259, 2102, 256, 2100, 252, 2098, 2095, 272, 269, 2108, 266, 2106, 281, 279,\n 277, 1317, 1315, 1313, 1310, 282, 1321, 1319, 2039, 2037, 2035, 2032, 1203, 2029, 1200, 1197, 207, 2053, 205,\n 2051, 201, 2049, 2046, 2043, 220, 218, 2064, 215, 2062, 211, 2059, 228, 226, 223, 2069, 1259, 1257, 1254, 232,\n 1251, 230, 1267, 1265, 1263, 2316, 2315, 2312, 2311, 2309, 2314, 2304, 2303, 2301, 2299, 1593, 2308, 2306, 590,\n 2288, 2287, 2285, 2283, 1578, 2280, 1577, 2295, 2293, 2291, 579, 577, 574, 571, 2298, 582, 581, 1592, 2263, 2262,\n 2260, 2258, 1545, 2255, 1544, 2252, 1541, 2273, 2271, 2269, 2266, 1550, 535, 532, 2279, 528, 2277, 546, 543, 549,\n 1575, 1573, 2224, 2222, 2220, 1486, 2217, 1485, 2214, 1482, 1479, 2238, 2236, 2234, 2231, 1496, 2228, 1492, 480,\n 477, 2248, 473, 2246, 469, 2243, 490, 487, 2251, 497, 1537, 1535, 1532, 2477, 2476, 2474, 2479, 2469, 2468, 2466,\n 2464, 1730, 2473, 2471, 2453, 2452, 2450, 2448, 1729, 2445, 1728, 2460, 2458, 2456, 2463, 805, 804, 2428, 2427,\n 2425, 2423, 1725, 2420, 1724, 2417, 1722, 2438, 2436, 2434, 2431, 1727, 2444, 2442, 793, 791, 788, 795, 2388,\n 2386, 2384, 1697, 2381, 1696, 2378, 1694, 1692, 2402, 2400, 2398, 2395, 1703, 2392, 1701, 2412, 2410, 2407, 751,\n 748, 744, 2416, 759, 757, 1807, 2620, 2618, 1806, 1805, 2611, 2609, 2607, 2614, 1802, 1801, 1799, 2594, 2592,\n 2590, 2587, 1804, 2600, 2598, 1794, 1793, 1791, 1789, 2564, 2562, 2560, 2557, 1798, 2554, 1796, 2574, 2572, 2569,\n 2578, 1847, 1846, 2722, 1843, 1842, 1840, 1845, 2716, 2714, 1835, 1834, 1832, 1830, 1839, 1837, 2700, 2698, 2695,\n 2704, 1817, 1811, 1810, 897, 862, 1777, 829, 826, 838, 1760, 1758, 808, 2481, 1741, 1740, 1738, 1743, 2624, 1818,\n 2726, 2776, 782, 740, 737, 1715, 686, 679, 695, 1682, 1680, 639, 628, 2339, 647, 644, 1645, 1643, 1640, 1648,\n 602, 600, 597, 595, 2320, 593, 2318, 609, 607, 604, 1611, 1610, 1608, 1606, 613, 1615, 1613, 2328, 926, 924, 892,\n 886, 899, 857, 850, 2505, 1778, 824, 823, 821, 819, 2488, 818, 2486, 833, 831, 828, 840, 1761, 1759, 2649, 2632,\n 2630, 2746, 2734, 2732, 2782, 2781, 570, 567, 1587, 531, 527, 523, 540, 1566, 1564, 476, 467, 463, 2240, 486,\n 483, 1524, 1521, 1518, 1529, 411, 403, 2192, 399, 2189, 423, 416, 1462, 1457, 1454, 428, 1468, 1465, 2210, 366,\n 363, 2158, 360, 2156, 357, 2153, 376, 373, 370, 2163, 1410, 1409, 1407, 1405, 382, 1402, 380, 1417, 1415, 1412,\n 1421, 2175, 2174, 777, 774, 771, 784, 732, 725, 722, 2404, 743, 1716, 676, 674, 668, 2363, 665, 2360, 685, 1684,\n 1681, 626, 624, 622, 2335, 620, 2333, 617, 2330, 641, 635, 649, 1646, 1644, 1642, 2566, 928, 925, 2530, 2527,\n 894, 891, 888, 2501, 2499, 2496, 858, 856, 854, 851, 1779, 2692, 2668, 2665, 2645, 2643, 2640, 2651, 2768, 2759,\n 2757, 2744, 2743, 2741, 2748, 352, 1382, 340, 337, 333, 1371, 1369, 307, 300, 296, 2126, 315, 312, 1347, 1342,\n 1350, 261, 258, 250, 2097, 246, 2094, 271, 268, 264, 1306, 1301, 1298, 276, 1312, 1309, 2115, 203, 2048, 195,\n 2045, 191, 2041, 213, 209, 2056, 1246, 1244, 1238, 225, 1234, 222, 1256, 1253, 1249, 1262, 2080, 2079, 154, 1997,\n 150, 1995, 147, 1992, 1989, 163, 160, 2004, 156, 2001, 1175, 1174, 1172, 1170, 1167, 170, 1164, 167, 1185, 1183,\n 1180, 1177, 174, 1190, 1188, 2025, 2024, 2022, 587, 586, 564, 559, 556, 2290, 573, 1588, 520, 518, 512, 2268,\n 508, 2265, 530, 1568, 1565, 461, 457, 2233, 450, 2230, 446, 2226, 479, 471, 489, 1526, 1523, 1520, 397, 395,\n 2185, 392, 2183, 389, 2180, 2177, 410, 2194, 402, 422, 1463, 1461, 1459, 1456, 1470, 2455, 799, 2433, 2430, 779,\n 776, 773, 2397, 2394, 2390, 734, 728, 724, 746, 1717, 2356, 2354, 2351, 2348, 1658, 677, 675, 673, 670, 667, 688,\n 1685, 1683, 2606, 2589, 2586, 2559, 2556, 2552, 927, 2523, 2521, 2518, 2515, 1784, 2532, 895, 893, 890, 2718,\n 2709, 2707, 2689, 2687, 2684, 2663, 2662, 2660, 2658, 1825, 2667, 2769, 1852, 2760, 2758, 142, 141, 1139, 1138,\n 134, 132, 129, 126, 1982, 1129, 1128, 1126, 1131, 113, 111, 108, 105, 1972, 101, 1970, 120, 118, 115, 1109, 1108,\n 1106, 1104, 123, 1113, 1111, 82, 79, 1951, 75, 1949, 72, 1946, 92, 89, 86, 1956, 1077, 1076, 1074, 1072, 98,\n 1069, 96, 1084, 1082, 1079, 1088, 1968, 1967, 48, 45, 1916, 42, 1914, 39, 1911, 1908, 60, 57, 54, 1923, 50, 1920,\n 1031, 1030, 1028, 1026, 67, 1023, 65, 1020, 62, 1041, 1039, 1036, 1033, 69, 1046, 1044, 1944, 1943, 1941, 11, 9,\n 1868, 7, 1865, 1862, 1859, 20, 1878, 16, 1875, 13, 1872, 970, 968, 966, 963, 29, 960, 26, 23, 983, 981, 978, 975,\n 33, 971, 31, 990, 988, 985, 1906, 1904, 1902, 993, 351, 2145, 1383, 331, 330, 328, 326, 2137, 323, 2135, 339,\n 1372, 1370, 294, 293, 291, 289, 2122, 286, 2120, 283, 2117, 309, 303, 317, 1348, 1346, 1344, 245, 244, 242, 2090,\n 239, 2088, 236, 2085, 2082, 260, 2099, 249, 270, 1307, 1305, 1303, 1300, 1314, 189, 2038, 186, 2036, 183, 2033,\n 2030, 2026, 206, 198, 2047, 194, 216, 1247, 1245, 1243, 1240, 227, 1237, 1255, 2310, 2302, 2300, 2286, 2284,\n 2281, 565, 563, 561, 558, 575, 1589, 2261, 2259, 2256, 2253, 1542, 521, 519, 517, 514, 2270, 511, 533, 1569,\n 1567, 2223, 2221, 2218, 2215, 1483, 2211, 1480, 459, 456, 453, 2232, 449, 474, 491, 1527, 1525, 1522, 2475, 2467,\n 2465, 2451, 2449, 2446, 801, 800, 2426, 2424, 2421, 2418, 1723, 2435, 780, 778, 775, 2387, 2385, 2382, 2379,\n 1695, 2375, 1693, 2396, 735, 733, 730, 727, 749, 1718, 2616, 2615, 2604, 2603, 2601, 2584, 2583, 2581, 2579,\n 1800, 2591, 2550, 2549, 2547, 2545, 1792, 2542, 1790, 2558, 929, 2719, 1841, 2710, 2708, 1833, 1831, 2690, 2688,\n 2686, 1815, 1809, 1808, 1774, 1756, 1754, 1737, 1736, 1734, 1739, 1816, 1711, 1676, 1674, 633, 629, 1638, 1636,\n 1633, 1641, 598, 1605, 1604, 1602, 1600, 605, 1609, 1607, 2327, 887, 853, 1775, 822, 820, 1757, 1755, 1584, 524,\n 1560, 1558, 468, 464, 1514, 1511, 1508, 1519, 408, 404, 400, 1452, 1447, 1444, 417, 1458, 1455, 2208, 364, 361,\n 358, 2154, 1401, 1400, 1398, 1396, 374, 1393, 371, 1408, 1406, 1403, 1413, 2173, 2172, 772, 726, 723, 1712, 672,\n 669, 666, 682, 1678, 1675, 625, 623, 621, 618, 2331, 636, 632, 1639, 1637, 1635, 920, 918, 884, 880, 889, 849,\n 848, 847, 846, 2497, 855, 852, 1776, 2641, 2742, 2787, 1380, 334, 1367, 1365, 301, 297, 1340, 1338, 1335, 1343,\n 255, 251, 247, 1296, 1291, 1288, 265, 1302, 1299, 2113, 204, 196, 192, 2042, 1232, 1230, 1224, 214, 1220, 210,\n 1242, 1239, 1235, 1250, 2077, 2075, 151, 148, 1993, 144, 1990, 1163, 1162, 1160, 1158, 1155, 161, 1152, 157,\n 1173, 1171, 1168, 1165, 168, 1181, 1178, 2021, 2020, 2018, 2023, 585, 560, 557, 1585, 516, 509, 1562, 1559, 458,\n 447, 2227, 472, 1516, 1513, 1510, 398, 396, 393, 390, 2181, 386, 2178, 407, 1453, 1451, 1449, 1446, 420, 1460,\n 2209, 769, 764, 720, 712, 2391, 729, 1713, 664, 663, 661, 659, 2352, 656, 2349, 671, 1679, 1677, 2553, 922, 919,\n 2519, 2516, 885, 883, 881, 2685, 2661, 2659, 2767, 2756, 2755, 140, 1137, 1136, 130, 127, 1125, 1124, 1122, 1127,\n 109, 106, 102, 1103, 1102, 1100, 1098, 116, 1107, 1105, 1980, 80, 76, 73, 1947, 1068, 1067, 1065, 1063, 90, 1060,\n 87, 1075, 1073, 1070, 1080, 1966, 1965, 46, 43, 40, 1912, 36, 1909, 1019, 1018, 1016, 1014, 58, 1011, 55, 1008,\n 51, 1029, 1027, 1024, 1021, 63, 1037, 1034, 1940, 1939, 1937, 1942, 8, 1866, 4, 1863, 1, 1860, 956, 954, 952,\n 949, 946, 17, 14, 969, 967, 964, 961, 27, 957, 24, 979, 976, 972, 1901, 1900, 1898, 1896, 986, 1905, 1903, 350,\n 349, 1381, 329, 327, 324, 1368, 1366, 292, 290, 287, 284, 2118, 304, 1341, 1339, 1337, 1345, 243, 240, 237, 2086,\n 233, 2083, 254, 1297, 1295, 1293, 1290, 1304, 2114, 190, 187, 184, 2034, 180, 2031, 177, 2027, 199, 1233, 1231,\n 1229, 1226, 217, 1223, 1241, 2078, 2076, 584, 555, 554, 552, 550, 2282, 562, 1586, 507, 506, 504, 502, 2257, 499,\n 2254, 515, 1563, 1561, 445, 443, 441, 2219, 438, 2216, 435, 2212, 460, 454, 475, 1517, 1515, 1512, 2447, 798,\n 797, 2422, 2419, 770, 768, 766, 2383, 2380, 2376, 721, 719, 717, 714, 731, 1714, 2602, 2582, 2580, 2548, 2546,\n 2543, 923, 921, 2717, 2706, 2705, 2683, 2682, 2680, 1771, 1752, 1750, 1733, 1732, 1731, 1735, 1814, 1707, 1670,\n 1668, 1631, 1629, 1626, 1634, 1599, 1598, 1596, 1594, 1603, 1601, 2326, 1772, 1753, 1751, 1581, 1554, 1552, 1504,\n 1501, 1498, 1509, 1442, 1437, 1434, 401, 1448, 1445, 2206, 1392, 1391, 1389, 1387, 1384, 359, 1399, 1397, 1394,\n 1404, 2171, 2170, 1708, 1672, 1669, 619, 1632, 1630, 1628, 1773, 1378, 1363, 1361, 1333, 1328, 1336, 1286, 1281,\n 1278, 248, 1292, 1289, 2111, 1218, 1216, 1210, 197, 1206, 193, 1228, 1225, 1221, 1236, 2073, 2071, 1151, 1150,\n 1148, 1146, 152, 1143, 149, 1140, 145, 1161, 1159, 1156, 1153, 158, 1169, 1166, 2017, 2016, 2014, 2019, 1582,\n 510, 1556, 1553, 452, 448, 1506, 1500, 394, 391, 387, 1443, 1441, 1439, 1436, 1450, 2207, 765, 716, 713, 1709,\n 662, 660, 657, 1673, 1671, 916, 914, 879, 878, 877, 882, 1135, 1134, 1121, 1120, 1118, 1123, 1097, 1096, 1094,\n 1092, 103, 1101, 1099, 1979, 1059, 1058, 1056, 1054, 77, 1051, 74, 1066, 1064, 1061, 1071, 1964, 1963, 1007,\n 1006, 1004, 1002, 999, 41, 996, 37, 1017, 1015, 1012, 1009, 52, 1025, 1022, 1936, 1935, 1933, 1938, 942, 940,\n 938, 935, 932, 5, 2, 955, 953, 950, 947, 18, 943, 15, 965, 962, 958, 1895, 1894, 1892, 1890, 973, 1899, 1897,\n 1379, 325, 1364, 1362, 288, 285, 1334, 1332, 1330, 241, 238, 234, 1287, 1285, 1283, 1280, 1294, 2112, 188, 185,\n 181, 178, 2028, 1219, 1217, 1215, 1212, 200, 1209, 1227, 2074, 2072, 583, 553, 551, 1583, 505, 503, 500, 513,\n 1557, 1555, 444, 442, 439, 436, 2213, 455, 451, 1507, 1505, 1502, 796, 763, 762, 760, 767, 711, 710, 708, 706,\n 2377, 718, 715, 1710, 2544, 917, 915, 2681, 1627, 1597, 1595, 2325, 1769, 1749, 1747, 1499, 1438, 1435, 2204,\n 1390, 1388, 1385, 1395, 2169, 2167, 1704, 1665, 1662, 1625, 1623, 1620, 1770, 1329, 1282, 1279, 2109, 1214, 1207,\n 1222, 2068, 2065, 1149, 1147, 1144, 1141, 146, 1157, 1154, 2013, 2011, 2008, 2015, 1579, 1549, 1546, 1495, 1487,\n 1433, 1431, 1428, 1425, 388, 1440, 2205, 1705, 658, 1667, 1664, 1119, 1095, 1093, 1978, 1057, 1055, 1052, 1062,\n 1962, 1960, 1005, 1003, 1000, 997, 38, 1013, 1010, 1932, 1930, 1927, 1934, 941, 939, 936, 933, 6, 930, 3, 951,\n 948, 944, 1889, 1887, 1884, 1881, 959, 1893, 1891, 35, 1377, 1360, 1358, 1327, 1325, 1322, 1331, 1277, 1275,\n 1272, 1269, 235, 1284, 2110, 1205, 1204, 1201, 1198, 182, 1195, 179, 1213, 2070, 2067, 1580, 501, 1551, 1548,\n 440, 437, 1497, 1494, 1490, 1503, 761, 709, 707, 1706, 913, 912, 2198, 1386, 2164, 2161, 1621, 1766, 2103, 1208,\n 2058, 2054, 1145, 1142, 2005, 2002, 1999, 2009, 1488, 1429, 1426, 2200, 1698, 1659, 1656, 1975, 1053, 1957, 1954,\n 1001, 998, 1924, 1921, 1918, 1928, 937, 934, 931, 1879, 1876, 1873, 1870, 945, 1885, 1882, 1323, 1273, 1270,\n 2105, 1202, 1199, 1196, 1211, 2061, 2057, 1576, 1543, 1540, 1484, 1481, 1478, 1491, 1700\n ]);\n return PDF417Common;\n}());\nexport default PDF417Common;\n","/*\n* Copyright 2007 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n// import java.util.List;\n/**\n * @author Guenther Grau\n */\nvar PDF417DetectorResult = /** @class */ (function () {\n function PDF417DetectorResult(bits, points) {\n this.bits = bits;\n this.points = points;\n }\n PDF417DetectorResult.prototype.getBits = function () {\n return this.bits;\n };\n PDF417DetectorResult.prototype.getPoints = function () {\n return this.points;\n };\n return PDF417DetectorResult;\n}());\nexport default PDF417DetectorResult;\n","/*\n* Copyright 2009 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// import com.google.zxing.NotFoundException;\n// import com.google.zxing.ResultPoint;\nimport ResultPoint from '../../ResultPoint';\nimport System from '../../util/System';\nimport Arrays from '../../util/Arrays';\nimport PDF417DetectorResult from './PDF417DetectorResult';\n// import java.util.ArrayList;\n// import java.util.Arrays;\n// import java.util.List;\n// import java.util.Map;\n/**\n *

Encapsulates logic that can detect a PDF417 Code in an image, even if the\n * PDF417 Code is rotated or skewed, or partially obscured.

\n *\n * @author SITA Lab (kevin.osullivan@sita.aero)\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Guenther Grau\n */\nvar Detector = /** @class */ (function () {\n function Detector() {\n }\n /**\n *

Detects a PDF417 Code in an image. Only checks 0 and 180 degree rotations.

\n *\n * @param image barcode image to decode\n * @param hints optional hints to detector\n * @param multiple if true, then the image is searched for multiple codes. If false, then at most one code will\n * be found and returned\n * @return {@link PDF417DetectorResult} encapsulating results of detecting a PDF417 code\n * @throws NotFoundException if no PDF417 Code can be found\n */\n Detector.detectMultiple = function (image, hints, multiple) {\n // TODO detection improvement, tryHarder could try several different luminance thresholds/blackpoints or even\n // different binarizers\n // boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);\n var bitMatrix = image.getBlackMatrix();\n var barcodeCoordinates = Detector.detect(multiple, bitMatrix);\n if (!barcodeCoordinates.length) {\n bitMatrix = bitMatrix.clone();\n bitMatrix.rotate180();\n barcodeCoordinates = Detector.detect(multiple, bitMatrix);\n }\n return new PDF417DetectorResult(bitMatrix, barcodeCoordinates);\n };\n /**\n * Detects PDF417 codes in an image. Only checks 0 degree rotation\n * @param multiple if true, then the image is searched for multiple codes. If false, then at most one code will\n * be found and returned\n * @param bitMatrix bit matrix to detect barcodes in\n * @return List of ResultPoint arrays containing the coordinates of found barcodes\n */\n Detector.detect = function (multiple, bitMatrix) {\n var e_1, _a;\n var barcodeCoordinates = new Array();\n var row = 0;\n var column = 0;\n var foundBarcodeInRow = false;\n while (row < bitMatrix.getHeight()) {\n var vertices = Detector.findVertices(bitMatrix, row, column);\n if (vertices[0] == null && vertices[3] == null) {\n if (!foundBarcodeInRow) {\n // we didn't find any barcode so that's the end of searching\n break;\n }\n // we didn't find a barcode starting at the given column and row. Try again from the first column and slightly\n // below the lowest barcode we found so far.\n foundBarcodeInRow = false;\n column = 0;\n try {\n for (var barcodeCoordinates_1 = (e_1 = void 0, __values(barcodeCoordinates)), barcodeCoordinates_1_1 = barcodeCoordinates_1.next(); !barcodeCoordinates_1_1.done; barcodeCoordinates_1_1 = barcodeCoordinates_1.next()) {\n var barcodeCoordinate = barcodeCoordinates_1_1.value;\n if (barcodeCoordinate[1] != null) {\n row = Math.trunc(Math.max(row, barcodeCoordinate[1].getY()));\n }\n if (barcodeCoordinate[3] != null) {\n row = Math.max(row, Math.trunc(barcodeCoordinate[3].getY()));\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (barcodeCoordinates_1_1 && !barcodeCoordinates_1_1.done && (_a = barcodeCoordinates_1.return)) _a.call(barcodeCoordinates_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n row += Detector.ROW_STEP;\n continue;\n }\n foundBarcodeInRow = true;\n barcodeCoordinates.push(vertices);\n if (!multiple) {\n break;\n }\n // if we didn't find a right row indicator column, then continue the search for the next barcode after the\n // start pattern of the barcode just found.\n if (vertices[2] != null) {\n column = Math.trunc(vertices[2].getX());\n row = Math.trunc(vertices[2].getY());\n }\n else {\n column = Math.trunc(vertices[4].getX());\n row = Math.trunc(vertices[4].getY());\n }\n }\n return barcodeCoordinates;\n };\n /**\n * Locate the vertices and the codewords area of a black blob using the Start\n * and Stop patterns as locators.\n *\n * @param matrix the scanned barcode image.\n * @return an array containing the vertices:\n * vertices[0] x, y top left barcode\n * vertices[1] x, y bottom left barcode\n * vertices[2] x, y top right barcode\n * vertices[3] x, y bottom right barcode\n * vertices[4] x, y top left codeword area\n * vertices[5] x, y bottom left codeword area\n * vertices[6] x, y top right codeword area\n * vertices[7] x, y bottom right codeword area\n */\n Detector.findVertices = function (matrix, startRow, startColumn) {\n var height = matrix.getHeight();\n var width = matrix.getWidth();\n // const result = new ResultPoint[8];\n var result = new Array(8);\n Detector.copyToResult(result, Detector.findRowsWithPattern(matrix, height, width, startRow, startColumn, Detector.START_PATTERN), Detector.INDEXES_START_PATTERN);\n if (result[4] != null) {\n startColumn = Math.trunc(result[4].getX());\n startRow = Math.trunc(result[4].getY());\n }\n Detector.copyToResult(result, Detector.findRowsWithPattern(matrix, height, width, startRow, startColumn, Detector.STOP_PATTERN), Detector.INDEXES_STOP_PATTERN);\n return result;\n };\n Detector.copyToResult = function (result, tmpResult, destinationIndexes) {\n for (var i = 0; i < destinationIndexes.length; i++) {\n result[destinationIndexes[i]] = tmpResult[i];\n }\n };\n Detector.findRowsWithPattern = function (matrix, height, width, startRow, startColumn, pattern) {\n // const result = new ResultPoint[4];\n var result = new Array(4);\n var found = false;\n var counters = new Int32Array(pattern.length);\n for (; startRow < height; startRow += Detector.ROW_STEP) {\n var loc = Detector.findGuardPattern(matrix, startColumn, startRow, width, false, pattern, counters);\n if (loc != null) {\n while (startRow > 0) {\n var previousRowLoc = Detector.findGuardPattern(matrix, startColumn, --startRow, width, false, pattern, counters);\n if (previousRowLoc != null) {\n loc = previousRowLoc;\n }\n else {\n startRow++;\n break;\n }\n }\n result[0] = new ResultPoint(loc[0], startRow);\n result[1] = new ResultPoint(loc[1], startRow);\n found = true;\n break;\n }\n }\n var stopRow = startRow + 1;\n // Last row of the current symbol that contains pattern\n if (found) {\n var skippedRowCount = 0;\n var previousRowLoc = Int32Array.from([Math.trunc(result[0].getX()), Math.trunc(result[1].getX())]);\n for (; stopRow < height; stopRow++) {\n var loc = Detector.findGuardPattern(matrix, previousRowLoc[0], stopRow, width, false, pattern, counters);\n // a found pattern is only considered to belong to the same barcode if the start and end positions\n // don't differ too much. Pattern drift should be not bigger than two for consecutive rows. With\n // a higher number of skipped rows drift could be larger. To keep it simple for now, we allow a slightly\n // larger drift and don't check for skipped rows.\n if (loc != null &&\n Math.abs(previousRowLoc[0] - loc[0]) < Detector.MAX_PATTERN_DRIFT &&\n Math.abs(previousRowLoc[1] - loc[1]) < Detector.MAX_PATTERN_DRIFT) {\n previousRowLoc = loc;\n skippedRowCount = 0;\n }\n else {\n if (skippedRowCount > Detector.SKIPPED_ROW_COUNT_MAX) {\n break;\n }\n else {\n skippedRowCount++;\n }\n }\n }\n stopRow -= skippedRowCount + 1;\n result[2] = new ResultPoint(previousRowLoc[0], stopRow);\n result[3] = new ResultPoint(previousRowLoc[1], stopRow);\n }\n if (stopRow - startRow < Detector.BARCODE_MIN_HEIGHT) {\n Arrays.fill(result, null);\n }\n return result;\n };\n /**\n * @param matrix row of black/white values to search\n * @param column x position to start search\n * @param row y position to start search\n * @param width the number of pixels to search on this row\n * @param pattern pattern of counts of number of black and white pixels that are\n * being searched for as a pattern\n * @param counters array of counters, as long as pattern, to re-use\n * @return start/end horizontal offset of guard pattern, as an array of two ints.\n */\n Detector.findGuardPattern = function (matrix, column, row, width, whiteFirst, pattern, counters) {\n Arrays.fillWithin(counters, 0, counters.length, 0);\n var patternStart = column;\n var pixelDrift = 0;\n // if there are black pixels left of the current pixel shift to the left, but only for MAX_PIXEL_DRIFT pixels\n while (matrix.get(patternStart, row) && patternStart > 0 && pixelDrift++ < Detector.MAX_PIXEL_DRIFT) {\n patternStart--;\n }\n var x = patternStart;\n var counterPosition = 0;\n var patternLength = pattern.length;\n for (var isWhite = whiteFirst; x < width; x++) {\n var pixel = matrix.get(x, row);\n if (pixel !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === patternLength - 1) {\n if (Detector.patternMatchVariance(counters, pattern, Detector.MAX_INDIVIDUAL_VARIANCE) < Detector.MAX_AVG_VARIANCE) {\n return new Int32Array([patternStart, x]);\n }\n patternStart += counters[0] + counters[1];\n System.arraycopy(counters, 2, counters, 0, counterPosition - 1);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n if (counterPosition === patternLength - 1 &&\n Detector.patternMatchVariance(counters, pattern, Detector.MAX_INDIVIDUAL_VARIANCE) < Detector.MAX_AVG_VARIANCE) {\n return new Int32Array([patternStart, x - 1]);\n }\n return null;\n };\n /**\n * Determines how closely a set of observed counts of runs of black/white\n * values matches a given target pattern. This is reported as the ratio of\n * the total variance from the expected pattern proportions across all\n * pattern elements, to the length of the pattern.\n *\n * @param counters observed counters\n * @param pattern expected pattern\n * @param maxIndividualVariance The most any counter can differ before we give up\n * @return ratio of total variance between counters and pattern compared to total pattern size\n */\n Detector.patternMatchVariance = function (counters, pattern, maxIndividualVariance) {\n var numCounters = counters.length;\n var total = 0;\n var patternLength = 0;\n for (var i = 0; i < numCounters; i++) {\n total += counters[i];\n patternLength += pattern[i];\n }\n if (total < patternLength) {\n // If we don't even have one pixel per unit of bar width, assume this\n // is too small to reliably match, so fail:\n return /*Float.POSITIVE_INFINITY*/ Infinity;\n }\n // We're going to fake floating-point math in integers. We just need to use more bits.\n // Scale up patternLength so that intermediate values below like scaledCounter will have\n // more \"significant digits\".\n var unitBarWidth = total / patternLength;\n maxIndividualVariance *= unitBarWidth;\n var totalVariance = 0.0;\n for (var x = 0; x < numCounters; x++) {\n var counter = counters[x];\n var scaledPattern = pattern[x] * unitBarWidth;\n var variance = counter > scaledPattern ? counter - scaledPattern : scaledPattern - counter;\n if (variance > maxIndividualVariance) {\n return /*Float.POSITIVE_INFINITY*/ Infinity;\n }\n totalVariance += variance;\n }\n return totalVariance / total;\n };\n Detector.INDEXES_START_PATTERN = Int32Array.from([0, 4, 1, 5]);\n Detector.INDEXES_STOP_PATTERN = Int32Array.from([6, 2, 7, 3]);\n Detector.MAX_AVG_VARIANCE = 0.42;\n Detector.MAX_INDIVIDUAL_VARIANCE = 0.8;\n // B S B S B S B S Bar/Space pattern\n // 11111111 0 1 0 1 0 1 000\n Detector.START_PATTERN = Int32Array.from([8, 1, 1, 1, 1, 1, 1, 3]);\n // 1111111 0 1 000 1 0 1 00 1\n Detector.STOP_PATTERN = Int32Array.from([7, 1, 1, 3, 1, 1, 1, 2, 1]);\n Detector.MAX_PIXEL_DRIFT = 3;\n Detector.MAX_PATTERN_DRIFT = 5;\n // if we set the value too low, then we don't detect the correct height of the bar if the start patterns are damaged.\n // if we set the value too high, then we might detect the start pattern from a neighbor barcode.\n Detector.SKIPPED_ROW_COUNT_MAX = 25;\n // A PDF471 barcode should have at least 3 rows, with each row being >= 3 times the module width. Therefore it should be at least\n // 9 pixels tall. To be conservative, we use about half the size to ensure we don't miss it.\n Detector.ROW_STEP = 5;\n Detector.BARCODE_MIN_HEIGHT = 10;\n return Detector;\n}());\nexport default Detector;\n","/*\n* Copyright 2012 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417.decoder.ec;\nimport IllegalArgumentException from '../../../IllegalArgumentException';\nimport System from '../../../util/System';\nimport StringBuilder from '../../../util/StringBuilder';\n/**\n * @author Sean Owen\n * @see com.google.zxing.common.reedsolomon.GenericGFPoly\n */\nvar ModulusPoly = /** @class */ (function () {\n function ModulusPoly(field, coefficients) {\n if (coefficients.length === 0) {\n throw new IllegalArgumentException();\n }\n this.field = field;\n var coefficientsLength = /*int*/ coefficients.length;\n if (coefficientsLength > 1 && coefficients[0] === 0) {\n // Leading term must be non-zero for anything except the constant polynomial \"0\"\n var firstNonZero = /*int*/ 1;\n while (firstNonZero < coefficientsLength && coefficients[firstNonZero] === 0) {\n firstNonZero++;\n }\n if (firstNonZero === coefficientsLength) {\n this.coefficients = new Int32Array([0]);\n }\n else {\n this.coefficients = new Int32Array(coefficientsLength - firstNonZero);\n System.arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length);\n }\n }\n else {\n this.coefficients = coefficients;\n }\n }\n ModulusPoly.prototype.getCoefficients = function () {\n return this.coefficients;\n };\n /**\n * @return degree of this polynomial\n */\n ModulusPoly.prototype.getDegree = function () {\n return this.coefficients.length - 1;\n };\n /**\n * @return true iff this polynomial is the monomial \"0\"\n */\n ModulusPoly.prototype.isZero = function () {\n return this.coefficients[0] === 0;\n };\n /**\n * @return coefficient of x^degree term in this polynomial\n */\n ModulusPoly.prototype.getCoefficient = function (degree) {\n return this.coefficients[this.coefficients.length - 1 - degree];\n };\n /**\n * @return evaluation of this polynomial at a given point\n */\n ModulusPoly.prototype.evaluateAt = function (a) {\n var e_1, _a;\n if (a === 0) {\n // Just return the x^0 coefficient\n return this.getCoefficient(0);\n }\n if (a === 1) {\n // Just the sum of the coefficients\n var sum = /*int*/ 0;\n try {\n for (var _b = __values(this.coefficients), _c = _b.next(); !_c.done; _c = _b.next()) {\n var coefficient = _c.value /*int*/;\n sum = this.field.add(sum, coefficient);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return sum;\n }\n var result = /*int*/ this.coefficients[0];\n var size = /*int*/ this.coefficients.length;\n for (var i /*int*/ = 1; i < size; i++) {\n result = this.field.add(this.field.multiply(a, result), this.coefficients[i]);\n }\n return result;\n };\n ModulusPoly.prototype.add = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('ModulusPolys do not have same ModulusGF field');\n }\n if (this.isZero()) {\n return other;\n }\n if (other.isZero()) {\n return this;\n }\n var smallerCoefficients = this.coefficients;\n var largerCoefficients = other.coefficients;\n if (smallerCoefficients.length > largerCoefficients.length) {\n var temp = smallerCoefficients;\n smallerCoefficients = largerCoefficients;\n largerCoefficients = temp;\n }\n var sumDiff = new Int32Array(largerCoefficients.length);\n var lengthDiff = /*int*/ largerCoefficients.length - smallerCoefficients.length;\n // Copy high-order terms only found in higher-degree polynomial's coefficients\n System.arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff);\n for (var i /*int*/ = lengthDiff; i < largerCoefficients.length; i++) {\n sumDiff[i] = this.field.add(smallerCoefficients[i - lengthDiff], largerCoefficients[i]);\n }\n return new ModulusPoly(this.field, sumDiff);\n };\n ModulusPoly.prototype.subtract = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('ModulusPolys do not have same ModulusGF field');\n }\n if (other.isZero()) {\n return this;\n }\n return this.add(other.negative());\n };\n ModulusPoly.prototype.multiply = function (other) {\n if (other instanceof ModulusPoly) {\n return this.multiplyOther(other);\n }\n return this.multiplyScalar(other);\n };\n ModulusPoly.prototype.multiplyOther = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('ModulusPolys do not have same ModulusGF field');\n }\n if (this.isZero() || other.isZero()) {\n // return this.field.getZero();\n return new ModulusPoly(this.field, new Int32Array([0]));\n }\n var aCoefficients = this.coefficients;\n var aLength = /*int*/ aCoefficients.length;\n var bCoefficients = other.coefficients;\n var bLength = /*int*/ bCoefficients.length;\n var product = new Int32Array(aLength + bLength - 1);\n for (var i /*int*/ = 0; i < aLength; i++) {\n var aCoeff = /*int*/ aCoefficients[i];\n for (var j /*int*/ = 0; j < bLength; j++) {\n product[i + j] = this.field.add(product[i + j], this.field.multiply(aCoeff, bCoefficients[j]));\n }\n }\n return new ModulusPoly(this.field, product);\n };\n ModulusPoly.prototype.negative = function () {\n var size = /*int*/ this.coefficients.length;\n var negativeCoefficients = new Int32Array(size);\n for (var i /*int*/ = 0; i < size; i++) {\n negativeCoefficients[i] = this.field.subtract(0, this.coefficients[i]);\n }\n return new ModulusPoly(this.field, negativeCoefficients);\n };\n ModulusPoly.prototype.multiplyScalar = function (scalar) {\n if (scalar === 0) {\n return new ModulusPoly(this.field, new Int32Array([0]));\n }\n if (scalar === 1) {\n return this;\n }\n var size = /*int*/ this.coefficients.length;\n var product = new Int32Array(size);\n for (var i /*int*/ = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], scalar);\n }\n return new ModulusPoly(this.field, product);\n };\n ModulusPoly.prototype.multiplyByMonomial = function (degree, coefficient) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return new ModulusPoly(this.field, new Int32Array([0]));\n }\n var size = /*int*/ this.coefficients.length;\n var product = new Int32Array(size + degree);\n for (var i /*int*/ = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], coefficient);\n }\n return new ModulusPoly(this.field, product);\n };\n /*\n ModulusPoly[] divide(other: ModulusPoly) {\n if (!field.equals(other.field)) {\n throw new IllegalArgumentException(\"ModulusPolys do not have same ModulusGF field\");\n }\n if (other.isZero()) {\n throw new IllegalArgumentException(\"Divide by 0\");\n }\n \n let quotient: ModulusPoly = field.getZero();\n let remainder: ModulusPoly = this;\n \n let denominatorLeadingTerm: /*int/ number = other.getCoefficient(other.getDegree());\n let inverseDenominatorLeadingTerm: /*int/ number = field.inverse(denominatorLeadingTerm);\n \n while (remainder.getDegree() >= other.getDegree() && !remainder.isZero()) {\n let degreeDifference: /*int/ number = remainder.getDegree() - other.getDegree();\n let scale: /*int/ number = field.multiply(remainder.getCoefficient(remainder.getDegree()), inverseDenominatorLeadingTerm);\n let term: ModulusPoly = other.multiplyByMonomial(degreeDifference, scale);\n let iterationQuotient: ModulusPoly = field.buildMonomial(degreeDifference, scale);\n quotient = quotient.add(iterationQuotient);\n remainder = remainder.subtract(term);\n }\n \n return new ModulusPoly[] { quotient, remainder };\n }\n */\n // @Override\n ModulusPoly.prototype.toString = function () {\n var result = new StringBuilder( /*8 * this.getDegree()*/); // dynamic string size in JS\n for (var degree /*int*/ = this.getDegree(); degree >= 0; degree--) {\n var coefficient = /*int*/ this.getCoefficient(degree);\n if (coefficient !== 0) {\n if (coefficient < 0) {\n result.append(' - ');\n coefficient = -coefficient;\n }\n else {\n if (result.length() > 0) {\n result.append(' + ');\n }\n }\n if (degree === 0 || coefficient !== 1) {\n result.append(coefficient);\n }\n if (degree !== 0) {\n if (degree === 1) {\n result.append('x');\n }\n else {\n result.append('x^');\n result.append(degree);\n }\n }\n }\n }\n return result.toString();\n };\n return ModulusPoly;\n}());\nexport default ModulusPoly;\n","import IllegalArgumentException from '../../../IllegalArgumentException';\nimport ArithmeticException from '../../../ArithmeticException';\nvar ModulusBase = /** @class */ (function () {\n function ModulusBase() {\n }\n ModulusBase.prototype.add = function (a, b) {\n return (a + b) % this.modulus;\n };\n ModulusBase.prototype.subtract = function (a, b) {\n return (this.modulus + a - b) % this.modulus;\n };\n ModulusBase.prototype.exp = function (a) {\n return this.expTable[a];\n };\n ModulusBase.prototype.log = function (a) {\n if (a === 0) {\n throw new IllegalArgumentException();\n }\n return this.logTable[a];\n };\n ModulusBase.prototype.inverse = function (a) {\n if (a === 0) {\n throw new ArithmeticException();\n }\n return this.expTable[this.modulus - this.logTable[a] - 1];\n };\n ModulusBase.prototype.multiply = function (a, b) {\n if (a === 0 || b === 0) {\n return 0;\n }\n return this.expTable[(this.logTable[a] + this.logTable[b]) % (this.modulus - 1)];\n };\n ModulusBase.prototype.getSize = function () {\n return this.modulus;\n };\n ModulusBase.prototype.equals = function (o) {\n return o === this;\n };\n return ModulusBase;\n}());\nexport default ModulusBase;\n","/*\n * Copyright 2012 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n// package com.google.zxing.pdf417.decoder.ec;\n// import com.google.zxing.pdf417.PDF417Common;\nimport PDF417Common from '../../PDF417Common';\nimport ModulusPoly from './ModulusPoly';\nimport IllegalArgumentException from '../../../IllegalArgumentException';\nimport ModulusBase from './ModulusBase';\n/**\n *

A field based on powers of a generator integer, modulo some modulus.

\n *\n * @author Sean Owen\n * @see com.google.zxing.common.reedsolomon.GenericGF\n */\nvar ModulusGF = /** @class */ (function (_super) {\n __extends(ModulusGF, _super);\n // private /*final*/ modulus: /*int*/ number;\n function ModulusGF(modulus, generator) {\n var _this = _super.call(this) || this;\n _this.modulus = modulus;\n _this.expTable = new Int32Array(modulus);\n _this.logTable = new Int32Array(modulus);\n var x = /*int*/ 1;\n for (var i /*int*/ = 0; i < modulus; i++) {\n _this.expTable[i] = x;\n x = (x * generator) % modulus;\n }\n for (var i /*int*/ = 0; i < modulus - 1; i++) {\n _this.logTable[_this.expTable[i]] = i;\n }\n // logTable[0] == 0 but this should never be used\n _this.zero = new ModulusPoly(_this, new Int32Array([0]));\n _this.one = new ModulusPoly(_this, new Int32Array([1]));\n return _this;\n }\n ModulusGF.prototype.getZero = function () {\n return this.zero;\n };\n ModulusGF.prototype.getOne = function () {\n return this.one;\n };\n ModulusGF.prototype.buildMonomial = function (degree, coefficient) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return this.zero;\n }\n var coefficients = new Int32Array(degree + 1);\n coefficients[0] = coefficient;\n return new ModulusPoly(this, coefficients);\n };\n ModulusGF.PDF417_GF = new ModulusGF(PDF417Common.NUMBER_OF_CODEWORDS, 3);\n return ModulusGF;\n}(ModulusBase));\nexport default ModulusGF;\n","/*\n* Copyright 2012 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417.decoder.ec;\n// import com.google.zxing.ChecksumException;\nimport ChecksumException from '../../../ChecksumException';\nimport ModulusPoly from './ModulusPoly';\nimport ModulusGF from './ModulusGF';\n/**\n *

PDF417 error correction implementation.

\n *\n *

This example\n * is quite useful in understanding the algorithm.

\n *\n * @author Sean Owen\n * @see com.google.zxing.common.reedsolomon.ReedSolomonDecoder\n */\nvar ErrorCorrection = /** @class */ (function () {\n function ErrorCorrection() {\n this.field = ModulusGF.PDF417_GF;\n }\n /**\n * @param received received codewords\n * @param numECCodewords number of those codewords used for EC\n * @param erasures location of erasures\n * @return number of errors\n * @throws ChecksumException if errors cannot be corrected, maybe because of too many errors\n */\n ErrorCorrection.prototype.decode = function (received, numECCodewords, erasures) {\n var e_1, _a;\n var poly = new ModulusPoly(this.field, received);\n var S = new Int32Array(numECCodewords);\n var error = false;\n for (var i /*int*/ = numECCodewords; i > 0; i--) {\n var evaluation = poly.evaluateAt(this.field.exp(i));\n S[numECCodewords - i] = evaluation;\n if (evaluation !== 0) {\n error = true;\n }\n }\n if (!error) {\n return 0;\n }\n var knownErrors = this.field.getOne();\n if (erasures != null) {\n try {\n for (var erasures_1 = __values(erasures), erasures_1_1 = erasures_1.next(); !erasures_1_1.done; erasures_1_1 = erasures_1.next()) {\n var erasure = erasures_1_1.value;\n var b = this.field.exp(received.length - 1 - erasure);\n // Add (1 - bx) term:\n var term = new ModulusPoly(this.field, new Int32Array([this.field.subtract(0, b), 1]));\n knownErrors = knownErrors.multiply(term);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (erasures_1_1 && !erasures_1_1.done && (_a = erasures_1.return)) _a.call(erasures_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n var syndrome = new ModulusPoly(this.field, S);\n // syndrome = syndrome.multiply(knownErrors);\n var sigmaOmega = this.runEuclideanAlgorithm(this.field.buildMonomial(numECCodewords, 1), syndrome, numECCodewords);\n var sigma = sigmaOmega[0];\n var omega = sigmaOmega[1];\n // sigma = sigma.multiply(knownErrors);\n var errorLocations = this.findErrorLocations(sigma);\n var errorMagnitudes = this.findErrorMagnitudes(omega, sigma, errorLocations);\n for (var i /*int*/ = 0; i < errorLocations.length; i++) {\n var position = received.length - 1 - this.field.log(errorLocations[i]);\n if (position < 0) {\n throw ChecksumException.getChecksumInstance();\n }\n received[position] = this.field.subtract(received[position], errorMagnitudes[i]);\n }\n return errorLocations.length;\n };\n /**\n *\n * @param ModulusPoly\n * @param a\n * @param ModulusPoly\n * @param b\n * @param int\n * @param R\n * @throws ChecksumException\n */\n ErrorCorrection.prototype.runEuclideanAlgorithm = function (a, b, R) {\n // Assume a's degree is >= b's\n if (a.getDegree() < b.getDegree()) {\n var temp = a;\n a = b;\n b = temp;\n }\n var rLast = a;\n var r = b;\n var tLast = this.field.getZero();\n var t = this.field.getOne();\n // Run Euclidean algorithm until r's degree is less than R/2\n while (r.getDegree() >= Math.round(R / 2)) {\n var rLastLast = rLast;\n var tLastLast = tLast;\n rLast = r;\n tLast = t;\n // Divide rLastLast by rLast, with quotient in q and remainder in r\n if (rLast.isZero()) {\n // Oops, Euclidean algorithm already terminated?\n throw ChecksumException.getChecksumInstance();\n }\n r = rLastLast;\n var q = this.field.getZero();\n var denominatorLeadingTerm = rLast.getCoefficient(rLast.getDegree());\n var dltInverse = this.field.inverse(denominatorLeadingTerm);\n while (r.getDegree() >= rLast.getDegree() && !r.isZero()) {\n var degreeDiff = r.getDegree() - rLast.getDegree();\n var scale = this.field.multiply(r.getCoefficient(r.getDegree()), dltInverse);\n q = q.add(this.field.buildMonomial(degreeDiff, scale));\n r = r.subtract(rLast.multiplyByMonomial(degreeDiff, scale));\n }\n t = q.multiply(tLast).subtract(tLastLast).negative();\n }\n var sigmaTildeAtZero = t.getCoefficient(0);\n if (sigmaTildeAtZero === 0) {\n throw ChecksumException.getChecksumInstance();\n }\n var inverse = this.field.inverse(sigmaTildeAtZero);\n var sigma = t.multiply(inverse);\n var omega = r.multiply(inverse);\n return [sigma, omega];\n };\n /**\n *\n * @param errorLocator\n * @throws ChecksumException\n */\n ErrorCorrection.prototype.findErrorLocations = function (errorLocator) {\n // This is a direct application of Chien's search\n var numErrors = errorLocator.getDegree();\n var result = new Int32Array(numErrors);\n var e = 0;\n for (var i /*int*/ = 1; i < this.field.getSize() && e < numErrors; i++) {\n if (errorLocator.evaluateAt(i) === 0) {\n result[e] = this.field.inverse(i);\n e++;\n }\n }\n if (e !== numErrors) {\n throw ChecksumException.getChecksumInstance();\n }\n return result;\n };\n ErrorCorrection.prototype.findErrorMagnitudes = function (errorEvaluator, errorLocator, errorLocations) {\n var errorLocatorDegree = errorLocator.getDegree();\n var formalDerivativeCoefficients = new Int32Array(errorLocatorDegree);\n for (var i /*int*/ = 1; i <= errorLocatorDegree; i++) {\n formalDerivativeCoefficients[errorLocatorDegree - i] =\n this.field.multiply(i, errorLocator.getCoefficient(i));\n }\n var formalDerivative = new ModulusPoly(this.field, formalDerivativeCoefficients);\n // This is directly applying Forney's Formula\n var s = errorLocations.length;\n var result = new Int32Array(s);\n for (var i /*int*/ = 0; i < s; i++) {\n var xiInverse = this.field.inverse(errorLocations[i]);\n var numerator = this.field.subtract(0, errorEvaluator.evaluateAt(xiInverse));\n var denominator = this.field.inverse(formalDerivative.evaluateAt(xiInverse));\n result[i] = this.field.multiply(numerator, denominator);\n }\n return result;\n };\n return ErrorCorrection;\n}());\nexport default ErrorCorrection;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n// package com.google.zxing.pdf417.decoder;\n// import com.google.zxing.NotFoundException;\nimport NotFoundException from '../../NotFoundException';\n// import com.google.zxing.ResultPoint;\nimport ResultPoint from '../../ResultPoint';\n/**\n * @author Guenther Grau\n */\nvar BoundingBox = /** @class */ (function () {\n function BoundingBox(image, topLeft, bottomLeft, topRight, bottomRight) {\n if (image instanceof BoundingBox) {\n this.constructor_2(image);\n }\n else {\n this.constructor_1(image, topLeft, bottomLeft, topRight, bottomRight);\n }\n }\n /**\n *\n * @param image\n * @param topLeft\n * @param bottomLeft\n * @param topRight\n * @param bottomRight\n *\n * @throws NotFoundException\n */\n BoundingBox.prototype.constructor_1 = function (image, topLeft, bottomLeft, topRight, bottomRight) {\n var leftUnspecified = topLeft == null || bottomLeft == null;\n var rightUnspecified = topRight == null || bottomRight == null;\n if (leftUnspecified && rightUnspecified) {\n throw new NotFoundException();\n }\n if (leftUnspecified) {\n topLeft = new ResultPoint(0, topRight.getY());\n bottomLeft = new ResultPoint(0, bottomRight.getY());\n }\n else if (rightUnspecified) {\n topRight = new ResultPoint(image.getWidth() - 1, topLeft.getY());\n bottomRight = new ResultPoint(image.getWidth() - 1, bottomLeft.getY());\n }\n this.image = image;\n this.topLeft = topLeft;\n this.bottomLeft = bottomLeft;\n this.topRight = topRight;\n this.bottomRight = bottomRight;\n this.minX = Math.trunc(Math.min(topLeft.getX(), bottomLeft.getX()));\n this.maxX = Math.trunc(Math.max(topRight.getX(), bottomRight.getX()));\n this.minY = Math.trunc(Math.min(topLeft.getY(), topRight.getY()));\n this.maxY = Math.trunc(Math.max(bottomLeft.getY(), bottomRight.getY()));\n };\n BoundingBox.prototype.constructor_2 = function (boundingBox) {\n this.image = boundingBox.image;\n this.topLeft = boundingBox.getTopLeft();\n this.bottomLeft = boundingBox.getBottomLeft();\n this.topRight = boundingBox.getTopRight();\n this.bottomRight = boundingBox.getBottomRight();\n this.minX = boundingBox.getMinX();\n this.maxX = boundingBox.getMaxX();\n this.minY = boundingBox.getMinY();\n this.maxY = boundingBox.getMaxY();\n };\n /**\n * @throws NotFoundException\n */\n BoundingBox.merge = function (leftBox, rightBox) {\n if (leftBox == null) {\n return rightBox;\n }\n if (rightBox == null) {\n return leftBox;\n }\n return new BoundingBox(leftBox.image, leftBox.topLeft, leftBox.bottomLeft, rightBox.topRight, rightBox.bottomRight);\n };\n /**\n * @throws NotFoundException\n */\n BoundingBox.prototype.addMissingRows = function (missingStartRows, missingEndRows, isLeft) {\n var newTopLeft = this.topLeft;\n var newBottomLeft = this.bottomLeft;\n var newTopRight = this.topRight;\n var newBottomRight = this.bottomRight;\n if (missingStartRows > 0) {\n var top_1 = isLeft ? this.topLeft : this.topRight;\n var newMinY = Math.trunc(top_1.getY() - missingStartRows);\n if (newMinY < 0) {\n newMinY = 0;\n }\n var newTop = new ResultPoint(top_1.getX(), newMinY);\n if (isLeft) {\n newTopLeft = newTop;\n }\n else {\n newTopRight = newTop;\n }\n }\n if (missingEndRows > 0) {\n var bottom = isLeft ? this.bottomLeft : this.bottomRight;\n var newMaxY = Math.trunc(bottom.getY() + missingEndRows);\n if (newMaxY >= this.image.getHeight()) {\n newMaxY = this.image.getHeight() - 1;\n }\n var newBottom = new ResultPoint(bottom.getX(), newMaxY);\n if (isLeft) {\n newBottomLeft = newBottom;\n }\n else {\n newBottomRight = newBottom;\n }\n }\n return new BoundingBox(this.image, newTopLeft, newBottomLeft, newTopRight, newBottomRight);\n };\n BoundingBox.prototype.getMinX = function () {\n return this.minX;\n };\n BoundingBox.prototype.getMaxX = function () {\n return this.maxX;\n };\n BoundingBox.prototype.getMinY = function () {\n return this.minY;\n };\n BoundingBox.prototype.getMaxY = function () {\n return this.maxY;\n };\n BoundingBox.prototype.getTopLeft = function () {\n return this.topLeft;\n };\n BoundingBox.prototype.getTopRight = function () {\n return this.topRight;\n };\n BoundingBox.prototype.getBottomLeft = function () {\n return this.bottomLeft;\n };\n BoundingBox.prototype.getBottomRight = function () {\n return this.bottomRight;\n };\n return BoundingBox;\n}());\nexport default BoundingBox;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// package com.google.zxing.pdf417.decoder;\n/**\n * @author Guenther Grau\n */\nvar BarcodeMetadata = /** @class */ (function () {\n function BarcodeMetadata(columnCount, rowCountUpperPart, rowCountLowerPart, errorCorrectionLevel) {\n this.columnCount = columnCount;\n this.errorCorrectionLevel = errorCorrectionLevel;\n this.rowCountUpperPart = rowCountUpperPart;\n this.rowCountLowerPart = rowCountLowerPart;\n this.rowCount = rowCountUpperPart + rowCountLowerPart;\n }\n BarcodeMetadata.prototype.getColumnCount = function () {\n return this.columnCount;\n };\n BarcodeMetadata.prototype.getErrorCorrectionLevel = function () {\n return this.errorCorrectionLevel;\n };\n BarcodeMetadata.prototype.getRowCount = function () {\n return this.rowCount;\n };\n BarcodeMetadata.prototype.getRowCountUpperPart = function () {\n return this.rowCountUpperPart;\n };\n BarcodeMetadata.prototype.getRowCountLowerPart = function () {\n return this.rowCountLowerPart;\n };\n return BarcodeMetadata;\n}());\nexport default BarcodeMetadata;\n","/**\n * Java Formatter class polyfill that works in the JS way.\n */\nvar Formatter = /** @class */ (function () {\n function Formatter() {\n this.buffer = '';\n }\n /**\n *\n * @see https://stackoverflow.com/a/13439711/4367683\n *\n * @param str\n * @param arr\n */\n Formatter.form = function (str, arr) {\n var i = -1;\n function callback(exp, p0, p1, p2, p3, p4) {\n if (exp === '%%')\n return '%';\n if (arr[++i] === undefined)\n return undefined;\n exp = p2 ? parseInt(p2.substr(1)) : undefined;\n var base = p3 ? parseInt(p3.substr(1)) : undefined;\n var val;\n switch (p4) {\n case 's':\n val = arr[i];\n break;\n case 'c':\n val = arr[i][0];\n break;\n case 'f':\n val = parseFloat(arr[i]).toFixed(exp);\n break;\n case 'p':\n val = parseFloat(arr[i]).toPrecision(exp);\n break;\n case 'e':\n val = parseFloat(arr[i]).toExponential(exp);\n break;\n case 'x':\n val = parseInt(arr[i]).toString(base ? base : 16);\n break;\n case 'd':\n val = parseFloat(parseInt(arr[i], base ? base : 10).toPrecision(exp)).toFixed(0);\n break;\n }\n val = typeof val === 'object' ? JSON.stringify(val) : (+val).toString(base);\n var size = parseInt(p1); /* padding size */\n var ch = p1 && (p1[0] + '') === '0' ? '0' : ' '; /* isnull? */\n while (val.length < size)\n val = p0 !== undefined ? val + ch : ch + val; /* isminus? */\n return val;\n }\n var regex = /%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;\n return str.replace(regex, callback);\n };\n /**\n *\n * @param append The new string to append.\n * @param args Argumets values to be formated.\n */\n Formatter.prototype.format = function (append) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n this.buffer += Formatter.form(append, args);\n };\n /**\n * Returns the Formatter string value.\n */\n Formatter.prototype.toString = function () {\n return this.buffer;\n };\n return Formatter;\n}());\nexport default Formatter;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417.decoder;\n// import java.util.Formatter;\nimport Formatter from '../../util/Formatter';\nimport BoundingBox from './BoundingBox';\n/**\n * @author Guenther Grau\n */\nvar DetectionResultColumn = /** @class */ (function () {\n function DetectionResultColumn(boundingBox) {\n this.boundingBox = new BoundingBox(boundingBox);\n // this.codewords = new Codeword[boundingBox.getMaxY() - boundingBox.getMinY() + 1];\n this.codewords = new Array(boundingBox.getMaxY() - boundingBox.getMinY() + 1);\n }\n /*final*/ DetectionResultColumn.prototype.getCodewordNearby = function (imageRow) {\n var codeword = this.getCodeword(imageRow);\n if (codeword != null) {\n return codeword;\n }\n for (var i = 1; i < DetectionResultColumn.MAX_NEARBY_DISTANCE; i++) {\n var nearImageRow = this.imageRowToCodewordIndex(imageRow) - i;\n if (nearImageRow >= 0) {\n codeword = this.codewords[nearImageRow];\n if (codeword != null) {\n return codeword;\n }\n }\n nearImageRow = this.imageRowToCodewordIndex(imageRow) + i;\n if (nearImageRow < this.codewords.length) {\n codeword = this.codewords[nearImageRow];\n if (codeword != null) {\n return codeword;\n }\n }\n }\n return null;\n };\n /*final int*/ DetectionResultColumn.prototype.imageRowToCodewordIndex = function (imageRow) {\n return imageRow - this.boundingBox.getMinY();\n };\n /*final void*/ DetectionResultColumn.prototype.setCodeword = function (imageRow, codeword) {\n this.codewords[this.imageRowToCodewordIndex(imageRow)] = codeword;\n };\n /*final*/ DetectionResultColumn.prototype.getCodeword = function (imageRow) {\n return this.codewords[this.imageRowToCodewordIndex(imageRow)];\n };\n /*final*/ DetectionResultColumn.prototype.getBoundingBox = function () {\n return this.boundingBox;\n };\n /*final*/ DetectionResultColumn.prototype.getCodewords = function () {\n return this.codewords;\n };\n // @Override\n DetectionResultColumn.prototype.toString = function () {\n var e_1, _a;\n var formatter = new Formatter();\n var row = 0;\n try {\n for (var _b = __values(this.codewords), _c = _b.next(); !_c.done; _c = _b.next()) {\n var codeword = _c.value;\n if (codeword == null) {\n formatter.format('%3d: | %n', row++);\n continue;\n }\n formatter.format('%3d: %3d|%3d%n', row++, codeword.getRowNumber(), codeword.getValue());\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return formatter.toString();\n };\n DetectionResultColumn.MAX_NEARBY_DISTANCE = 5;\n return DetectionResultColumn;\n}());\nexport default DetectionResultColumn;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n// package com.google.zxing.pdf417.decoder;\n// import com.google.zxing.pdf417.PDF417Common;\nimport PDF417Common from '../PDF417Common';\n// import java.util.ArrayList;\n// import java.util.Collection;\n// import java.util.HashMap;\n// import java.util.Map;\n// import java.util.Map.Entry;\n/**\n * @author Guenther Grau\n */\nvar BarcodeValue = /** @class */ (function () {\n function BarcodeValue() {\n this.values = new Map();\n }\n /**\n * Add an occurrence of a value\n */\n BarcodeValue.prototype.setValue = function (value) {\n value = Math.trunc(value);\n var confidence = this.values.get(value);\n if (confidence == null) {\n confidence = 0;\n }\n confidence++;\n this.values.set(value, confidence);\n };\n /**\n * Determines the maximum occurrence of a set value and returns all values which were set with this occurrence.\n * @return an array of int, containing the values with the highest occurrence, or null, if no value was set\n */\n BarcodeValue.prototype.getValue = function () {\n var e_1, _a;\n var maxConfidence = -1;\n var result = new Array();\n var _loop_1 = function (key, value) {\n var entry = {\n getKey: function () { return key; },\n getValue: function () { return value; },\n };\n if (entry.getValue() > maxConfidence) {\n maxConfidence = entry.getValue();\n result = [];\n result.push(entry.getKey());\n }\n else if (entry.getValue() === maxConfidence) {\n result.push(entry.getKey());\n }\n };\n try {\n for (var _b = __values(this.values.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = __read(_c.value, 2), key = _d[0], value = _d[1];\n _loop_1(key, value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return PDF417Common.toIntArray(result);\n };\n BarcodeValue.prototype.getConfidence = function (value) {\n return this.values.get(value);\n };\n return BarcodeValue;\n}());\nexport default BarcodeValue;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// import com.google.zxing.pdf417.PDF417Common;\nimport PDF417Common from '../PDF417Common';\nimport BarcodeMetadata from './BarcodeMetadata';\nimport DetectionResultColumn from './DetectionResultColumn';\nimport BarcodeValue from './BarcodeValue';\n/**\n * @author Guenther Grau\n */\nvar DetectionResultRowIndicatorColumn = /** @class */ (function (_super) {\n __extends(DetectionResultRowIndicatorColumn, _super);\n function DetectionResultRowIndicatorColumn(boundingBox, isLeft) {\n var _this = _super.call(this, boundingBox) || this;\n _this._isLeft = isLeft;\n return _this;\n }\n DetectionResultRowIndicatorColumn.prototype.setRowNumbers = function () {\n var e_1, _a;\n try {\n for (var _b = __values(this.getCodewords()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var codeword = _c.value /*Codeword*/;\n if (codeword != null) {\n codeword.setRowNumberAsRowIndicatorColumn();\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n // TODO implement properly\n // TODO maybe we should add missing codewords to store the correct row number to make\n // finding row numbers for other columns easier\n // use row height count to make detection of invalid row numbers more reliable\n DetectionResultRowIndicatorColumn.prototype.adjustCompleteIndicatorColumnRowNumbers = function (barcodeMetadata) {\n var codewords = this.getCodewords();\n this.setRowNumbers();\n this.removeIncorrectCodewords(codewords, barcodeMetadata);\n var boundingBox = this.getBoundingBox();\n var top = this._isLeft ? boundingBox.getTopLeft() : boundingBox.getTopRight();\n var bottom = this._isLeft ? boundingBox.getBottomLeft() : boundingBox.getBottomRight();\n var firstRow = this.imageRowToCodewordIndex(Math.trunc(top.getY()));\n var lastRow = this.imageRowToCodewordIndex(Math.trunc(bottom.getY()));\n // We need to be careful using the average row height. Barcode could be skewed so that we have smaller and\n // taller rows\n // float averageRowHeight = (lastRow - firstRow) / /*(float)*/ barcodeMetadata.getRowCount();\n var barcodeRow = -1;\n var maxRowHeight = 1;\n var currentRowHeight = 0;\n for (var codewordsRow /*int*/ = firstRow; codewordsRow < lastRow; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n var codeword = codewords[codewordsRow];\n // float expectedRowNumber = (codewordsRow - firstRow) / averageRowHeight;\n // if (Math.abs(codeword.getRowNumber() - expectedRowNumber) > 2) {\n // SimpleLog.log(LEVEL.WARNING,\n // \"Removing codeword, rowNumberSkew too high, codeword[\" + codewordsRow + \"]: Expected Row: \" +\n // expectedRowNumber + \", RealRow: \" + codeword.getRowNumber() + \", value: \" + codeword.getValue());\n // codewords[codewordsRow] = null;\n // }\n var rowDifference = codeword.getRowNumber() - barcodeRow;\n // TODO improve handling with case where first row indicator doesn't start with 0\n if (rowDifference === 0) {\n currentRowHeight++;\n }\n else if (rowDifference === 1) {\n maxRowHeight = Math.max(maxRowHeight, currentRowHeight);\n currentRowHeight = 1;\n barcodeRow = codeword.getRowNumber();\n }\n else if (rowDifference < 0 ||\n codeword.getRowNumber() >= barcodeMetadata.getRowCount() ||\n rowDifference > codewordsRow) {\n codewords[codewordsRow] = null;\n }\n else {\n var checkedRows = void 0;\n if (maxRowHeight > 2) {\n checkedRows = (maxRowHeight - 2) * rowDifference;\n }\n else {\n checkedRows = rowDifference;\n }\n var closePreviousCodewordFound = checkedRows >= codewordsRow;\n for (var i /*int*/ = 1; i <= checkedRows && !closePreviousCodewordFound; i++) {\n // there must be (height * rowDifference) number of codewords missing. For now we assume height = 1.\n // This should hopefully get rid of most problems already.\n closePreviousCodewordFound = codewords[codewordsRow - i] != null;\n }\n if (closePreviousCodewordFound) {\n codewords[codewordsRow] = null;\n }\n else {\n barcodeRow = codeword.getRowNumber();\n currentRowHeight = 1;\n }\n }\n }\n // return (int) (averageRowHeight + 0.5);\n };\n DetectionResultRowIndicatorColumn.prototype.getRowHeights = function () {\n var e_2, _a;\n var barcodeMetadata = this.getBarcodeMetadata();\n if (barcodeMetadata == null) {\n return null;\n }\n this.adjustIncompleteIndicatorColumnRowNumbers(barcodeMetadata);\n var result = new Int32Array(barcodeMetadata.getRowCount());\n try {\n for (var _b = __values(this.getCodewords()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var codeword = _c.value /*Codeword*/;\n if (codeword != null) {\n var rowNumber = codeword.getRowNumber();\n if (rowNumber >= result.length) {\n // We have more rows than the barcode metadata allows for, ignore them.\n continue;\n }\n result[rowNumber]++;\n } // else throw exception?\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return result;\n };\n // TODO maybe we should add missing codewords to store the correct row number to make\n // finding row numbers for other columns easier\n // use row height count to make detection of invalid row numbers more reliable\n DetectionResultRowIndicatorColumn.prototype.adjustIncompleteIndicatorColumnRowNumbers = function (barcodeMetadata) {\n var boundingBox = this.getBoundingBox();\n var top = this._isLeft ? boundingBox.getTopLeft() : boundingBox.getTopRight();\n var bottom = this._isLeft ? boundingBox.getBottomLeft() : boundingBox.getBottomRight();\n var firstRow = this.imageRowToCodewordIndex(Math.trunc(top.getY()));\n var lastRow = this.imageRowToCodewordIndex(Math.trunc(bottom.getY()));\n // float averageRowHeight = (lastRow - firstRow) / /*(float)*/ barcodeMetadata.getRowCount();\n var codewords = this.getCodewords();\n var barcodeRow = -1;\n var maxRowHeight = 1;\n var currentRowHeight = 0;\n for (var codewordsRow /*int*/ = firstRow; codewordsRow < lastRow; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n var codeword = codewords[codewordsRow];\n codeword.setRowNumberAsRowIndicatorColumn();\n var rowDifference = codeword.getRowNumber() - barcodeRow;\n // TODO improve handling with case where first row indicator doesn't start with 0\n if (rowDifference === 0) {\n currentRowHeight++;\n }\n else if (rowDifference === 1) {\n maxRowHeight = Math.max(maxRowHeight, currentRowHeight);\n currentRowHeight = 1;\n barcodeRow = codeword.getRowNumber();\n }\n else if (codeword.getRowNumber() >= barcodeMetadata.getRowCount()) {\n codewords[codewordsRow] = null;\n }\n else {\n barcodeRow = codeword.getRowNumber();\n currentRowHeight = 1;\n }\n }\n // return (int) (averageRowHeight + 0.5);\n };\n DetectionResultRowIndicatorColumn.prototype.getBarcodeMetadata = function () {\n var e_3, _a;\n var codewords = this.getCodewords();\n var barcodeColumnCount = new BarcodeValue();\n var barcodeRowCountUpperPart = new BarcodeValue();\n var barcodeRowCountLowerPart = new BarcodeValue();\n var barcodeECLevel = new BarcodeValue();\n try {\n for (var codewords_1 = __values(codewords), codewords_1_1 = codewords_1.next(); !codewords_1_1.done; codewords_1_1 = codewords_1.next()) {\n var codeword = codewords_1_1.value /*Codeword*/;\n if (codeword == null) {\n continue;\n }\n codeword.setRowNumberAsRowIndicatorColumn();\n var rowIndicatorValue = codeword.getValue() % 30;\n var codewordRowNumber = codeword.getRowNumber();\n if (!this._isLeft) {\n codewordRowNumber += 2;\n }\n switch (codewordRowNumber % 3) {\n case 0:\n barcodeRowCountUpperPart.setValue(rowIndicatorValue * 3 + 1);\n break;\n case 1:\n barcodeECLevel.setValue(rowIndicatorValue / 3);\n barcodeRowCountLowerPart.setValue(rowIndicatorValue % 3);\n break;\n case 2:\n barcodeColumnCount.setValue(rowIndicatorValue + 1);\n break;\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (codewords_1_1 && !codewords_1_1.done && (_a = codewords_1.return)) _a.call(codewords_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n // Maybe we should check if we have ambiguous values?\n if ((barcodeColumnCount.getValue().length === 0) ||\n (barcodeRowCountUpperPart.getValue().length === 0) ||\n (barcodeRowCountLowerPart.getValue().length === 0) ||\n (barcodeECLevel.getValue().length === 0) ||\n barcodeColumnCount.getValue()[0] < 1 ||\n barcodeRowCountUpperPart.getValue()[0] + barcodeRowCountLowerPart.getValue()[0] < PDF417Common.MIN_ROWS_IN_BARCODE ||\n barcodeRowCountUpperPart.getValue()[0] + barcodeRowCountLowerPart.getValue()[0] > PDF417Common.MAX_ROWS_IN_BARCODE) {\n return null;\n }\n var barcodeMetadata = new BarcodeMetadata(barcodeColumnCount.getValue()[0], barcodeRowCountUpperPart.getValue()[0], barcodeRowCountLowerPart.getValue()[0], barcodeECLevel.getValue()[0]);\n this.removeIncorrectCodewords(codewords, barcodeMetadata);\n return barcodeMetadata;\n };\n DetectionResultRowIndicatorColumn.prototype.removeIncorrectCodewords = function (codewords, barcodeMetadata) {\n // Remove codewords which do not match the metadata\n // TODO Maybe we should keep the incorrect codewords for the start and end positions?\n for (var codewordRow /*int*/ = 0; codewordRow < codewords.length; codewordRow++) {\n var codeword = codewords[codewordRow];\n if (codewords[codewordRow] == null) {\n continue;\n }\n var rowIndicatorValue = codeword.getValue() % 30;\n var codewordRowNumber = codeword.getRowNumber();\n if (codewordRowNumber > barcodeMetadata.getRowCount()) {\n codewords[codewordRow] = null;\n continue;\n }\n if (!this._isLeft) {\n codewordRowNumber += 2;\n }\n switch (codewordRowNumber % 3) {\n case 0:\n if (rowIndicatorValue * 3 + 1 !== barcodeMetadata.getRowCountUpperPart()) {\n codewords[codewordRow] = null;\n }\n break;\n case 1:\n if (Math.trunc(rowIndicatorValue / 3) !== barcodeMetadata.getErrorCorrectionLevel() ||\n rowIndicatorValue % 3 !== barcodeMetadata.getRowCountLowerPart()) {\n codewords[codewordRow] = null;\n }\n break;\n case 2:\n if (rowIndicatorValue + 1 !== barcodeMetadata.getColumnCount()) {\n codewords[codewordRow] = null;\n }\n break;\n }\n }\n };\n DetectionResultRowIndicatorColumn.prototype.isLeft = function () {\n return this._isLeft;\n };\n // @Override\n DetectionResultRowIndicatorColumn.prototype.toString = function () {\n return 'IsLeft: ' + this._isLeft + '\\n' + _super.prototype.toString.call(this);\n };\n return DetectionResultRowIndicatorColumn;\n}(DetectionResultColumn));\nexport default DetectionResultRowIndicatorColumn;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417.decoder;\n// import com.google.zxing.pdf417.PDF417Common;\nimport PDF417Common from '../PDF417Common';\nimport Formatter from '../../util/Formatter';\n/**\n * @author Guenther Grau\n */\nvar DetectionResult = /** @class */ (function () {\n function DetectionResult(barcodeMetadata, boundingBox) {\n /*final*/ this.ADJUST_ROW_NUMBER_SKIP = 2;\n this.barcodeMetadata = barcodeMetadata;\n this.barcodeColumnCount = barcodeMetadata.getColumnCount();\n this.boundingBox = boundingBox;\n // this.detectionResultColumns = new DetectionResultColumn[this.barcodeColumnCount + 2];\n this.detectionResultColumns = new Array(this.barcodeColumnCount + 2);\n }\n DetectionResult.prototype.getDetectionResultColumns = function () {\n this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[0]);\n this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[this.barcodeColumnCount + 1]);\n var unadjustedCodewordCount = PDF417Common.MAX_CODEWORDS_IN_BARCODE;\n var previousUnadjustedCount;\n do {\n previousUnadjustedCount = unadjustedCodewordCount;\n unadjustedCodewordCount = this.adjustRowNumbersAndGetCount();\n } while (unadjustedCodewordCount > 0 && unadjustedCodewordCount < previousUnadjustedCount);\n return this.detectionResultColumns;\n };\n DetectionResult.prototype.adjustIndicatorColumnRowNumbers = function (detectionResultColumn) {\n if (detectionResultColumn != null) {\n detectionResultColumn\n .adjustCompleteIndicatorColumnRowNumbers(this.barcodeMetadata);\n }\n };\n // TODO ensure that no detected codewords with unknown row number are left\n // we should be able to estimate the row height and use it as a hint for the row number\n // we should also fill the rows top to bottom and bottom to top\n /**\n * @return number of codewords which don't have a valid row number. Note that the count is not accurate as codewords\n * will be counted several times. It just serves as an indicator to see when we can stop adjusting row numbers\n */\n DetectionResult.prototype.adjustRowNumbersAndGetCount = function () {\n var unadjustedCount = this.adjustRowNumbersByRow();\n if (unadjustedCount === 0) {\n return 0;\n }\n for (var barcodeColumn /*int*/ = 1; barcodeColumn < this.barcodeColumnCount + 1; barcodeColumn++) {\n var codewords = this.detectionResultColumns[barcodeColumn].getCodewords();\n for (var codewordsRow /*int*/ = 0; codewordsRow < codewords.length; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n if (!codewords[codewordsRow].hasValidRowNumber()) {\n this.adjustRowNumbers(barcodeColumn, codewordsRow, codewords);\n }\n }\n }\n return unadjustedCount;\n };\n DetectionResult.prototype.adjustRowNumbersByRow = function () {\n this.adjustRowNumbersFromBothRI();\n // TODO we should only do full row adjustments if row numbers of left and right row indicator column match.\n // Maybe it's even better to calculated the height (rows: d) and divide it by the number of barcode\n // rows. This, together with the LRI and RRI row numbers should allow us to get a good estimate where a row\n // number starts and ends.\n var unadjustedCount = this.adjustRowNumbersFromLRI();\n return unadjustedCount + this.adjustRowNumbersFromRRI();\n };\n DetectionResult.prototype.adjustRowNumbersFromBothRI = function () {\n if (this.detectionResultColumns[0] == null || this.detectionResultColumns[this.barcodeColumnCount + 1] == null) {\n return;\n }\n var LRIcodewords = this.detectionResultColumns[0].getCodewords();\n var RRIcodewords = this.detectionResultColumns[this.barcodeColumnCount + 1].getCodewords();\n for (var codewordsRow /*int*/ = 0; codewordsRow < LRIcodewords.length; codewordsRow++) {\n if (LRIcodewords[codewordsRow] != null &&\n RRIcodewords[codewordsRow] != null &&\n LRIcodewords[codewordsRow].getRowNumber() === RRIcodewords[codewordsRow].getRowNumber()) {\n for (var barcodeColumn /*int*/ = 1; barcodeColumn <= this.barcodeColumnCount; barcodeColumn++) {\n var codeword = this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow];\n if (codeword == null) {\n continue;\n }\n codeword.setRowNumber(LRIcodewords[codewordsRow].getRowNumber());\n if (!codeword.hasValidRowNumber()) {\n this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow] = null;\n }\n }\n }\n }\n };\n DetectionResult.prototype.adjustRowNumbersFromRRI = function () {\n if (this.detectionResultColumns[this.barcodeColumnCount + 1] == null) {\n return 0;\n }\n var unadjustedCount = 0;\n var codewords = this.detectionResultColumns[this.barcodeColumnCount + 1].getCodewords();\n for (var codewordsRow /*int*/ = 0; codewordsRow < codewords.length; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n var rowIndicatorRowNumber = codewords[codewordsRow].getRowNumber();\n var invalidRowCounts = 0;\n for (var barcodeColumn /*int*/ = this.barcodeColumnCount + 1; barcodeColumn > 0 && invalidRowCounts < this.ADJUST_ROW_NUMBER_SKIP; barcodeColumn--) {\n var codeword = this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow];\n if (codeword != null) {\n invalidRowCounts = DetectionResult.adjustRowNumberIfValid(rowIndicatorRowNumber, invalidRowCounts, codeword);\n if (!codeword.hasValidRowNumber()) {\n unadjustedCount++;\n }\n }\n }\n }\n return unadjustedCount;\n };\n DetectionResult.prototype.adjustRowNumbersFromLRI = function () {\n if (this.detectionResultColumns[0] == null) {\n return 0;\n }\n var unadjustedCount = 0;\n var codewords = this.detectionResultColumns[0].getCodewords();\n for (var codewordsRow /*int*/ = 0; codewordsRow < codewords.length; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n var rowIndicatorRowNumber = codewords[codewordsRow].getRowNumber();\n var invalidRowCounts = 0;\n for (var barcodeColumn /*int*/ = 1; barcodeColumn < this.barcodeColumnCount + 1 && invalidRowCounts < this.ADJUST_ROW_NUMBER_SKIP; barcodeColumn++) {\n var codeword = this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow];\n if (codeword != null) {\n invalidRowCounts = DetectionResult.adjustRowNumberIfValid(rowIndicatorRowNumber, invalidRowCounts, codeword);\n if (!codeword.hasValidRowNumber()) {\n unadjustedCount++;\n }\n }\n }\n }\n return unadjustedCount;\n };\n DetectionResult.adjustRowNumberIfValid = function (rowIndicatorRowNumber, invalidRowCounts, codeword) {\n if (codeword == null) {\n return invalidRowCounts;\n }\n if (!codeword.hasValidRowNumber()) {\n if (codeword.isValidRowNumber(rowIndicatorRowNumber)) {\n codeword.setRowNumber(rowIndicatorRowNumber);\n invalidRowCounts = 0;\n }\n else {\n ++invalidRowCounts;\n }\n }\n return invalidRowCounts;\n };\n DetectionResult.prototype.adjustRowNumbers = function (barcodeColumn, codewordsRow, codewords) {\n var e_1, _a;\n if (this.detectionResultColumns[barcodeColumn - 1] == null) {\n return;\n }\n var codeword = codewords[codewordsRow];\n var previousColumnCodewords = this.detectionResultColumns[barcodeColumn - 1].getCodewords();\n var nextColumnCodewords = previousColumnCodewords;\n if (this.detectionResultColumns[barcodeColumn + 1] != null) {\n nextColumnCodewords = this.detectionResultColumns[barcodeColumn + 1].getCodewords();\n }\n // let otherCodewords: Codeword[] = new Codeword[14];\n var otherCodewords = new Array(14);\n otherCodewords[2] = previousColumnCodewords[codewordsRow];\n otherCodewords[3] = nextColumnCodewords[codewordsRow];\n if (codewordsRow > 0) {\n otherCodewords[0] = codewords[codewordsRow - 1];\n otherCodewords[4] = previousColumnCodewords[codewordsRow - 1];\n otherCodewords[5] = nextColumnCodewords[codewordsRow - 1];\n }\n if (codewordsRow > 1) {\n otherCodewords[8] = codewords[codewordsRow - 2];\n otherCodewords[10] = previousColumnCodewords[codewordsRow - 2];\n otherCodewords[11] = nextColumnCodewords[codewordsRow - 2];\n }\n if (codewordsRow < codewords.length - 1) {\n otherCodewords[1] = codewords[codewordsRow + 1];\n otherCodewords[6] = previousColumnCodewords[codewordsRow + 1];\n otherCodewords[7] = nextColumnCodewords[codewordsRow + 1];\n }\n if (codewordsRow < codewords.length - 2) {\n otherCodewords[9] = codewords[codewordsRow + 2];\n otherCodewords[12] = previousColumnCodewords[codewordsRow + 2];\n otherCodewords[13] = nextColumnCodewords[codewordsRow + 2];\n }\n try {\n for (var otherCodewords_1 = __values(otherCodewords), otherCodewords_1_1 = otherCodewords_1.next(); !otherCodewords_1_1.done; otherCodewords_1_1 = otherCodewords_1.next()) {\n var otherCodeword = otherCodewords_1_1.value;\n if (DetectionResult.adjustRowNumber(codeword, otherCodeword)) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (otherCodewords_1_1 && !otherCodewords_1_1.done && (_a = otherCodewords_1.return)) _a.call(otherCodewords_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n /**\n * @return true, if row number was adjusted, false otherwise\n */\n DetectionResult.adjustRowNumber = function (codeword, otherCodeword) {\n if (otherCodeword == null) {\n return false;\n }\n if (otherCodeword.hasValidRowNumber() && otherCodeword.getBucket() === codeword.getBucket()) {\n codeword.setRowNumber(otherCodeword.getRowNumber());\n return true;\n }\n return false;\n };\n DetectionResult.prototype.getBarcodeColumnCount = function () {\n return this.barcodeColumnCount;\n };\n DetectionResult.prototype.getBarcodeRowCount = function () {\n return this.barcodeMetadata.getRowCount();\n };\n DetectionResult.prototype.getBarcodeECLevel = function () {\n return this.barcodeMetadata.getErrorCorrectionLevel();\n };\n DetectionResult.prototype.setBoundingBox = function (boundingBox) {\n this.boundingBox = boundingBox;\n };\n DetectionResult.prototype.getBoundingBox = function () {\n return this.boundingBox;\n };\n DetectionResult.prototype.setDetectionResultColumn = function (barcodeColumn, detectionResultColumn) {\n this.detectionResultColumns[barcodeColumn] = detectionResultColumn;\n };\n DetectionResult.prototype.getDetectionResultColumn = function (barcodeColumn) {\n return this.detectionResultColumns[barcodeColumn];\n };\n // @Override\n DetectionResult.prototype.toString = function () {\n var rowIndicatorColumn = this.detectionResultColumns[0];\n if (rowIndicatorColumn == null) {\n rowIndicatorColumn = this.detectionResultColumns[this.barcodeColumnCount + 1];\n }\n // try (\n var formatter = new Formatter();\n // ) {\n for (var codewordsRow /*int*/ = 0; codewordsRow < rowIndicatorColumn.getCodewords().length; codewordsRow++) {\n formatter.format('CW %3d:', codewordsRow);\n for (var barcodeColumn /*int*/ = 0; barcodeColumn < this.barcodeColumnCount + 2; barcodeColumn++) {\n if (this.detectionResultColumns[barcodeColumn] == null) {\n formatter.format(' | ');\n continue;\n }\n var codeword = this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow];\n if (codeword == null) {\n formatter.format(' | ');\n continue;\n }\n formatter.format(' %3d|%3d', codeword.getRowNumber(), codeword.getValue());\n }\n formatter.format('%n');\n }\n return formatter.toString();\n // }\n };\n return DetectionResult;\n}());\nexport default DetectionResult;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// package com.google.zxing.pdf417.decoder;\n/**\n * @author Guenther Grau\n */\nvar Codeword = /** @class */ (function () {\n function Codeword(startX, endX, bucket, value) {\n this.rowNumber = Codeword.BARCODE_ROW_UNKNOWN;\n this.startX = Math.trunc(startX);\n this.endX = Math.trunc(endX);\n this.bucket = Math.trunc(bucket);\n this.value = Math.trunc(value);\n }\n Codeword.prototype.hasValidRowNumber = function () {\n return this.isValidRowNumber(this.rowNumber);\n };\n Codeword.prototype.isValidRowNumber = function (rowNumber) {\n return rowNumber !== Codeword.BARCODE_ROW_UNKNOWN && this.bucket === (rowNumber % 3) * 3;\n };\n Codeword.prototype.setRowNumberAsRowIndicatorColumn = function () {\n this.rowNumber = Math.trunc((Math.trunc(this.value / 30)) * 3 + Math.trunc(this.bucket / 3));\n };\n Codeword.prototype.getWidth = function () {\n return this.endX - this.startX;\n };\n Codeword.prototype.getStartX = function () {\n return this.startX;\n };\n Codeword.prototype.getEndX = function () {\n return this.endX;\n };\n Codeword.prototype.getBucket = function () {\n return this.bucket;\n };\n Codeword.prototype.getValue = function () {\n return this.value;\n };\n Codeword.prototype.getRowNumber = function () {\n return this.rowNumber;\n };\n Codeword.prototype.setRowNumber = function (rowNumber) {\n this.rowNumber = rowNumber;\n };\n // @Override\n Codeword.prototype.toString = function () {\n return this.rowNumber + '|' + this.value;\n };\n Codeword.BARCODE_ROW_UNKNOWN = -1;\n return Codeword;\n}());\nexport default Codeword;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n// package com.google.zxing.pdf417.decoder;\n// import com.google.zxing.common.detector.MathUtils;\nimport MathUtils from '../../common/detector/MathUtils';\n// import com.google.zxing.pdf417.PDF417Common;\nimport PDF417Common from '../PDF417Common';\nimport Float from '../../util/Float';\n/**\n * @author Guenther Grau\n * @author creatale GmbH (christoph.schulz@creatale.de)\n */\nvar PDF417CodewordDecoder = /** @class */ (function () {\n function PDF417CodewordDecoder() {\n }\n /* @note\n * this action have to be performed before first use of class\n * - static constructor\n * working with 32bit float (based from Java logic)\n */\n PDF417CodewordDecoder.initialize = function () {\n // Pre-computes the symbol ratio table.\n for ( /*int*/var i = 0; i < PDF417Common.SYMBOL_TABLE.length; i++) {\n var currentSymbol = PDF417Common.SYMBOL_TABLE[i];\n var currentBit = currentSymbol & 0x1;\n for ( /*int*/var j = 0; j < PDF417Common.BARS_IN_MODULE; j++) {\n var size = 0.0;\n while ((currentSymbol & 0x1) === currentBit) {\n size += 1.0;\n currentSymbol >>= 1;\n }\n currentBit = currentSymbol & 0x1;\n if (!PDF417CodewordDecoder.RATIOS_TABLE[i]) {\n PDF417CodewordDecoder.RATIOS_TABLE[i] = new Array(PDF417Common.BARS_IN_MODULE);\n }\n PDF417CodewordDecoder.RATIOS_TABLE[i][PDF417Common.BARS_IN_MODULE - j - 1] = Math.fround(size / PDF417Common.MODULES_IN_CODEWORD);\n }\n }\n this.bSymbolTableReady = true;\n };\n PDF417CodewordDecoder.getDecodedValue = function (moduleBitCount) {\n var decodedValue = PDF417CodewordDecoder.getDecodedCodewordValue(PDF417CodewordDecoder.sampleBitCounts(moduleBitCount));\n if (decodedValue !== -1) {\n return decodedValue;\n }\n return PDF417CodewordDecoder.getClosestDecodedValue(moduleBitCount);\n };\n PDF417CodewordDecoder.sampleBitCounts = function (moduleBitCount) {\n var bitCountSum = MathUtils.sum(moduleBitCount);\n var result = new Int32Array(PDF417Common.BARS_IN_MODULE);\n var bitCountIndex = 0;\n var sumPreviousBits = 0;\n for ( /*int*/var i = 0; i < PDF417Common.MODULES_IN_CODEWORD; i++) {\n var sampleIndex = bitCountSum / (2 * PDF417Common.MODULES_IN_CODEWORD) +\n (i * bitCountSum) / PDF417Common.MODULES_IN_CODEWORD;\n if (sumPreviousBits + moduleBitCount[bitCountIndex] <= sampleIndex) {\n sumPreviousBits += moduleBitCount[bitCountIndex];\n bitCountIndex++;\n }\n result[bitCountIndex]++;\n }\n return result;\n };\n PDF417CodewordDecoder.getDecodedCodewordValue = function (moduleBitCount) {\n var decodedValue = PDF417CodewordDecoder.getBitValue(moduleBitCount);\n return PDF417Common.getCodeword(decodedValue) === -1 ? -1 : decodedValue;\n };\n PDF417CodewordDecoder.getBitValue = function (moduleBitCount) {\n var result = /*long*/ 0;\n for (var /*int*/ i = 0; i < moduleBitCount.length; i++) {\n for ( /*int*/var bit = 0; bit < moduleBitCount[i]; bit++) {\n result = (result << 1) | (i % 2 === 0 ? 1 : 0);\n }\n }\n return Math.trunc(result);\n };\n // working with 32bit float (as in Java)\n PDF417CodewordDecoder.getClosestDecodedValue = function (moduleBitCount) {\n var bitCountSum = MathUtils.sum(moduleBitCount);\n var bitCountRatios = new Array(PDF417Common.BARS_IN_MODULE);\n if (bitCountSum > 1) {\n for (var /*int*/ i = 0; i < bitCountRatios.length; i++) {\n bitCountRatios[i] = Math.fround(moduleBitCount[i] / bitCountSum);\n }\n }\n var bestMatchError = Float.MAX_VALUE;\n var bestMatch = -1;\n if (!this.bSymbolTableReady) {\n PDF417CodewordDecoder.initialize();\n }\n for ( /*int*/var j = 0; j < PDF417CodewordDecoder.RATIOS_TABLE.length; j++) {\n var error = 0.0;\n var ratioTableRow = PDF417CodewordDecoder.RATIOS_TABLE[j];\n for ( /*int*/var k = 0; k < PDF417Common.BARS_IN_MODULE; k++) {\n var diff = Math.fround(ratioTableRow[k] - bitCountRatios[k]);\n error += Math.fround(diff * diff);\n if (error >= bestMatchError) {\n break;\n }\n }\n if (error < bestMatchError) {\n bestMatchError = error;\n bestMatch = PDF417Common.SYMBOL_TABLE[j];\n }\n }\n return bestMatch;\n };\n // flag that the table is ready for use\n PDF417CodewordDecoder.bSymbolTableReady = false;\n PDF417CodewordDecoder.RATIOS_TABLE = new Array(PDF417Common.SYMBOL_TABLE.length).map(function (x) { return x = new Array(PDF417Common.BARS_IN_MODULE); });\n return PDF417CodewordDecoder;\n}());\nexport default PDF417CodewordDecoder;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// package com.google.zxing.pdf417;\n/**\n * @author Guenther Grau\n */\nvar PDF417ResultMetadata = /** @class */ (function () {\n function PDF417ResultMetadata() {\n this.segmentCount = -1;\n this.fileSize = -1;\n this.timestamp = -1;\n this.checksum = -1;\n }\n /**\n * The Segment ID represents the segment of the whole file distributed over different symbols.\n *\n * @return File segment index\n */\n PDF417ResultMetadata.prototype.getSegmentIndex = function () {\n return this.segmentIndex;\n };\n PDF417ResultMetadata.prototype.setSegmentIndex = function (segmentIndex) {\n this.segmentIndex = segmentIndex;\n };\n /**\n * Is the same for each related PDF417 symbol\n *\n * @return File ID\n */\n PDF417ResultMetadata.prototype.getFileId = function () {\n return this.fileId;\n };\n PDF417ResultMetadata.prototype.setFileId = function (fileId) {\n this.fileId = fileId;\n };\n /**\n * @return always null\n * @deprecated use dedicated already parsed fields\n */\n // @Deprecated\n PDF417ResultMetadata.prototype.getOptionalData = function () {\n return this.optionalData;\n };\n /**\n * @param optionalData old optional data format as int array\n * @deprecated parse and use new fields\n */\n // @Deprecated\n PDF417ResultMetadata.prototype.setOptionalData = function (optionalData) {\n this.optionalData = optionalData;\n };\n /**\n * @return true if it is the last segment\n */\n PDF417ResultMetadata.prototype.isLastSegment = function () {\n return this.lastSegment;\n };\n PDF417ResultMetadata.prototype.setLastSegment = function (lastSegment) {\n this.lastSegment = lastSegment;\n };\n /**\n * @return count of segments, -1 if not set\n */\n PDF417ResultMetadata.prototype.getSegmentCount = function () {\n return this.segmentCount;\n };\n PDF417ResultMetadata.prototype.setSegmentCount = function (segmentCount /*int*/) {\n this.segmentCount = segmentCount;\n };\n PDF417ResultMetadata.prototype.getSender = function () {\n return this.sender || null;\n };\n PDF417ResultMetadata.prototype.setSender = function (sender) {\n this.sender = sender;\n };\n PDF417ResultMetadata.prototype.getAddressee = function () {\n return this.addressee || null;\n };\n PDF417ResultMetadata.prototype.setAddressee = function (addressee) {\n this.addressee = addressee;\n };\n /**\n * Filename of the encoded file\n *\n * @return filename\n */\n PDF417ResultMetadata.prototype.getFileName = function () {\n return this.fileName;\n };\n PDF417ResultMetadata.prototype.setFileName = function (fileName) {\n this.fileName = fileName;\n };\n /**\n * filesize in bytes of the encoded file\n *\n * @return filesize in bytes, -1 if not set\n */\n PDF417ResultMetadata.prototype.getFileSize = function () {\n return this.fileSize;\n };\n PDF417ResultMetadata.prototype.setFileSize = function (fileSize /*long*/) {\n this.fileSize = fileSize;\n };\n /**\n * 16-bit CRC checksum using CCITT-16\n *\n * @return crc checksum, -1 if not set\n */\n PDF417ResultMetadata.prototype.getChecksum = function () {\n return this.checksum;\n };\n PDF417ResultMetadata.prototype.setChecksum = function (checksum /*int*/) {\n this.checksum = checksum;\n };\n /**\n * unix epock timestamp, elapsed seconds since 1970-01-01\n *\n * @return elapsed seconds, -1 if not set\n */\n PDF417ResultMetadata.prototype.getTimestamp = function () {\n return this.timestamp;\n };\n PDF417ResultMetadata.prototype.setTimestamp = function (timestamp /*long*/) {\n this.timestamp = timestamp;\n };\n return PDF417ResultMetadata;\n}());\nexport default PDF417ResultMetadata;\n","/**\n * Ponyfill for Java's Long class.\n */\nvar Long = /** @class */ (function () {\n function Long() {\n }\n /**\n * Parses a string to a number, since JS has no really Int64.\n *\n * @param num Numeric string.\n * @param radix Destination radix.\n */\n Long.parseLong = function (num, radix) {\n if (radix === void 0) { radix = undefined; }\n return parseInt(num, radix);\n };\n return Long;\n}());\nexport default Long;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar NullPointerException = /** @class */ (function (_super) {\n __extends(NullPointerException, _super);\n function NullPointerException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NullPointerException.kind = 'NullPointerException';\n return NullPointerException;\n}(Exception));\nexport default NullPointerException;\n","import IndexOutOfBoundsException from '../IndexOutOfBoundsException';\nimport NullPointerException from '../NullPointerException';\n/*\n * Copyright (c) 1994, 2004, Oracle and/or its affiliates. All rights reserved.\n * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.\n *\n * This code is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License version 2 only, as\n * published by the Free Software Foundation. Oracle designates this\n * particular file as subject to the \"Classpath\" exception as provided\n * by Oracle in the LICENSE file that accompanied this code.\n *\n * This code is distributed in the hope that it will be useful, but WITHOUT\n * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\n * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n * version 2 for more details (a copy is included in the LICENSE file that\n * accompanied this code).\n *\n * You should have received a copy of the GNU General Public License version\n * 2 along with this work; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.\n *\n * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA\n * or visit www.oracle.com if you need additional information or have any\n * questions.\n */\n// package java.io;\n/**\n * This abstract class is the superclass of all classes representing\n * an output stream of bytes. An output stream accepts output bytes\n * and sends them to some sink.\n *

\n * Applications that need to define a subclass of\n * OutputStream must always provide at least a method\n * that writes one byte of output.\n *\n * @author Arthur van Hoff\n * @see java.io.BufferedOutputStream\n * @see java.io.ByteArrayOutputStream\n * @see java.io.DataOutputStream\n * @see java.io.FilterOutputStream\n * @see java.io.InputStream\n * @see java.io.OutputStream#write(int)\n * @since JDK1.0\n */\nvar OutputStream /*implements Closeable, Flushable*/ = /** @class */ (function () {\n function OutputStream() {\n }\n /**\n * Writes b.length bytes from the specified byte array\n * to this output stream. The general contract for write(b)\n * is that it should have exactly the same effect as the call\n * write(b, 0, b.length).\n *\n * @param b the data.\n * @exception IOException if an I/O error occurs.\n * @see java.io.OutputStream#write(byte[], int, int)\n */\n OutputStream.prototype.writeBytes = function (b) {\n this.writeBytesOffset(b, 0, b.length);\n };\n /**\n * Writes len bytes from the specified byte array\n * starting at offset off to this output stream.\n * The general contract for write(b, off, len) is that\n * some of the bytes in the array b are written to the\n * output stream in order; element b[off] is the first\n * byte written and b[off+len-1] is the last byte written\n * by this operation.\n *

\n * The write method of OutputStream calls\n * the write method of one argument on each of the bytes to be\n * written out. Subclasses are encouraged to override this method and\n * provide a more efficient implementation.\n *

\n * If b is null, a\n * NullPointerException is thrown.\n *

\n * If off is negative, or len is negative, or\n * off+len is greater than the length of the array\n * b, then an IndexOutOfBoundsException is thrown.\n *\n * @param b the data.\n * @param off the start offset in the data.\n * @param len the number of bytes to write.\n * @exception IOException if an I/O error occurs. In particular,\n * an IOException is thrown if the output\n * stream is closed.\n */\n OutputStream.prototype.writeBytesOffset = function (b, off, len) {\n if (b == null) {\n throw new NullPointerException();\n }\n else if ((off < 0) || (off > b.length) || (len < 0) ||\n ((off + len) > b.length) || ((off + len) < 0)) {\n throw new IndexOutOfBoundsException();\n }\n else if (len === 0) {\n return;\n }\n for (var i = 0; i < len; i++) {\n this.write(b[off + i]);\n }\n };\n /**\n * Flushes this output stream and forces any buffered output bytes\n * to be written out. The general contract of flush is\n * that calling it is an indication that, if any bytes previously\n * written have been buffered by the implementation of the output\n * stream, such bytes should immediately be written to their\n * intended destination.\n *

\n * If the intended destination of this stream is an abstraction provided by\n * the underlying operating system, for example a file, then flushing the\n * stream guarantees only that bytes previously written to the stream are\n * passed to the operating system for writing; it does not guarantee that\n * they are actually written to a physical device such as a disk drive.\n *

\n * The flush method of OutputStream does nothing.\n *\n * @exception IOException if an I/O error occurs.\n */\n OutputStream.prototype.flush = function () {\n };\n /**\n * Closes this output stream and releases any system resources\n * associated with this stream. The general contract of close\n * is that it closes the output stream. A closed stream cannot perform\n * output operations and cannot be reopened.\n *

\n * The close method of OutputStream does nothing.\n *\n * @exception IOException if an I/O error occurs.\n */\n OutputStream.prototype.close = function () {\n };\n return OutputStream;\n}());\nexport default OutputStream;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar OutOfMemoryError = /** @class */ (function (_super) {\n __extends(OutOfMemoryError, _super);\n function OutOfMemoryError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return OutOfMemoryError;\n}(Exception));\nexport default OutOfMemoryError;\n","/*\n * Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved.\n * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.\n *\n * This code is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License version 2 only, as\n * published by the Free Software Foundation. Oracle designates this\n * particular file as subject to the \"Classpath\" exception as provided\n * by Oracle in the LICENSE file that accompanied this code.\n *\n * This code is distributed in the hope that it will be useful, but WITHOUT\n * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\n * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n * version 2 for more details (a copy is included in the LICENSE file that\n * accompanied this code).\n *\n * You should have received a copy of the GNU General Public License version\n * 2 along with this work; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.\n *\n * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA\n * or visit www.oracle.com if you need additional information or have any\n * questions.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n// package java.io;\n// import java.util.Arrays;\nimport Arrays from './Arrays';\nimport OutputStream from './OutputStream';\nimport Integer from './Integer';\nimport IllegalArgumentException from '../IllegalArgumentException';\nimport OutOfMemoryError from '../OutOfMemoryError';\nimport System from './System';\nimport IndexOutOfBoundsException from '../IndexOutOfBoundsException';\n/**\n * This class implements an output stream in which the data is\n * written into a byte array. The buffer automatically grows as data\n * is written to it.\n * The data can be retrieved using toByteArray() and\n * toString().\n *

\n * Closing a ByteArrayOutputStream has no effect. The methods in\n * this class can be called after the stream has been closed without\n * generating an IOException.\n *\n * @author Arthur van Hoff\n * @since JDK1.0\n */\nvar ByteArrayOutputStream = /** @class */ (function (_super) {\n __extends(ByteArrayOutputStream, _super);\n /**\n * Creates a new byte array output stream. The buffer capacity is\n * initially 32 bytes, though its size increases if necessary.\n */\n // public constructor() {\n // this(32);\n // }\n /**\n * Creates a new byte array output stream, with a buffer capacity of\n * the specified size, in bytes.\n *\n * @param size the initial size.\n * @exception IllegalArgumentException if size is negative.\n */\n function ByteArrayOutputStream(size) {\n if (size === void 0) { size = 32; }\n var _this = _super.call(this) || this;\n /**\n * The number of valid bytes in the buffer.\n */\n _this.count = 0;\n if (size < 0) {\n throw new IllegalArgumentException('Negative initial size: '\n + size);\n }\n _this.buf = new Uint8Array(size);\n return _this;\n }\n /**\n * Increases the capacity if necessary to ensure that it can hold\n * at least the number of elements specified by the minimum\n * capacity argument.\n *\n * @param minCapacity the desired minimum capacity\n * @throws OutOfMemoryError if {@code minCapacity < 0}. This is\n * interpreted as a request for the unsatisfiably large capacity\n * {@code (long) Integer.MAX_VALUE + (minCapacity - Integer.MAX_VALUE)}.\n */\n ByteArrayOutputStream.prototype.ensureCapacity = function (minCapacity) {\n // overflow-conscious code\n if (minCapacity - this.buf.length > 0)\n this.grow(minCapacity);\n };\n /**\n * Increases the capacity to ensure that it can hold at least the\n * number of elements specified by the minimum capacity argument.\n *\n * @param minCapacity the desired minimum capacity\n */\n ByteArrayOutputStream.prototype.grow = function (minCapacity) {\n // overflow-conscious code\n var oldCapacity = this.buf.length;\n var newCapacity = oldCapacity << 1;\n if (newCapacity - minCapacity < 0)\n newCapacity = minCapacity;\n if (newCapacity < 0) {\n if (minCapacity < 0) // overflow\n throw new OutOfMemoryError();\n newCapacity = Integer.MAX_VALUE;\n }\n this.buf = Arrays.copyOfUint8Array(this.buf, newCapacity);\n };\n /**\n * Writes the specified byte to this byte array output stream.\n *\n * @param b the byte to be written.\n */\n ByteArrayOutputStream.prototype.write = function (b) {\n this.ensureCapacity(this.count + 1);\n this.buf[this.count] = /*(byte)*/ b;\n this.count += 1;\n };\n /**\n * Writes len bytes from the specified byte array\n * starting at offset off to this byte array output stream.\n *\n * @param b the data.\n * @param off the start offset in the data.\n * @param len the number of bytes to write.\n */\n ByteArrayOutputStream.prototype.writeBytesOffset = function (b, off, len) {\n if ((off < 0) || (off > b.length) || (len < 0) ||\n ((off + len) - b.length > 0)) {\n throw new IndexOutOfBoundsException();\n }\n this.ensureCapacity(this.count + len);\n System.arraycopy(b, off, this.buf, this.count, len);\n this.count += len;\n };\n /**\n * Writes the complete contents of this byte array output stream to\n * the specified output stream argument, as if by calling the output\n * stream's write method using out.write(buf, 0, count).\n *\n * @param out the output stream to which to write the data.\n * @exception IOException if an I/O error occurs.\n */\n ByteArrayOutputStream.prototype.writeTo = function (out) {\n out.writeBytesOffset(this.buf, 0, this.count);\n };\n /**\n * Resets the count field of this byte array output\n * stream to zero, so that all currently accumulated output in the\n * output stream is discarded. The output stream can be used again,\n * reusing the already allocated buffer space.\n *\n * @see java.io.ByteArrayInputStream#count\n */\n ByteArrayOutputStream.prototype.reset = function () {\n this.count = 0;\n };\n /**\n * Creates a newly allocated byte array. Its size is the current\n * size of this output stream and the valid contents of the buffer\n * have been copied into it.\n *\n * @return the current contents of this output stream, as a byte array.\n * @see java.io.ByteArrayOutputStream#size()\n */\n ByteArrayOutputStream.prototype.toByteArray = function () {\n return Arrays.copyOfUint8Array(this.buf, this.count);\n };\n /**\n * Returns the current size of the buffer.\n *\n * @return the value of the count field, which is the number\n * of valid bytes in this output stream.\n * @see java.io.ByteArrayOutputStream#count\n */\n ByteArrayOutputStream.prototype.size = function () {\n return this.count;\n };\n ByteArrayOutputStream.prototype.toString = function (param) {\n if (!param) {\n return this.toString_void();\n }\n if (typeof param === 'string') {\n return this.toString_string(param);\n }\n return this.toString_number(param);\n };\n /**\n * Converts the buffer's contents into a string decoding bytes using the\n * platform's default character set. The length of the new String\n * is a function of the character set, and hence may not be equal to the\n * size of the buffer.\n *\n *

This method always replaces malformed-input and unmappable-character\n * sequences with the default replacement string for the platform's\n * default character set. The {@linkplain java.nio.charset.CharsetDecoder}\n * class should be used when more control over the decoding process is\n * required.\n *\n * @return String decoded from the buffer's contents.\n * @since JDK1.1\n */\n ByteArrayOutputStream.prototype.toString_void = function () {\n return new String(this.buf /*, 0, this.count*/).toString();\n };\n /**\n * Converts the buffer's contents into a string by decoding the bytes using\n * the specified {@link java.nio.charset.Charset charsetName}. The length of\n * the new String is a function of the charset, and hence may not be\n * equal to the length of the byte array.\n *\n *

This method always replaces malformed-input and unmappable-character\n * sequences with this charset's default replacement string. The {@link\n * java.nio.charset.CharsetDecoder} class should be used when more control\n * over the decoding process is required.\n *\n * @param charsetName the name of a supported\n * {@linkplain java.nio.charset.Charset charset}\n * @return String decoded from the buffer's contents.\n * @exception UnsupportedEncodingException\n * If the named charset is not supported\n * @since JDK1.1\n */\n ByteArrayOutputStream.prototype.toString_string = function (charsetName) {\n return new String(this.buf /*, 0, this.count, charsetName*/).toString();\n };\n /**\n * Creates a newly allocated string. Its size is the current size of\n * the output stream and the valid contents of the buffer have been\n * copied into it. Each character c in the resulting string is\n * constructed from the corresponding element b in the byte\n * array such that:\n *

\n     *     c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))\n     * 
\n *\n * @deprecated This method does not properly convert bytes into characters.\n * As of JDK 1.1, the preferred way to do this is via the\n * toString(String enc) method, which takes an encoding-name\n * argument, or the toString() method, which uses the\n * platform's default character encoding.\n *\n * @param hibyte the high byte of each resulting Unicode character.\n * @return the current contents of the output stream, as a string.\n * @see java.io.ByteArrayOutputStream#size()\n * @see java.io.ByteArrayOutputStream#toString(String)\n * @see java.io.ByteArrayOutputStream#toString()\n */\n // @Deprecated\n ByteArrayOutputStream.prototype.toString_number = function (hibyte) {\n return new String(this.buf /*, hibyte, 0, this.count*/).toString();\n };\n /**\n * Closing a ByteArrayOutputStream has no effect. The methods in\n * this class can be called after the stream has been closed without\n * generating an IOException.\n *

\n *\n * @throws IOException\n */\n ByteArrayOutputStream.prototype.close = function () {\n };\n return ByteArrayOutputStream;\n}(OutputStream));\nexport default ByteArrayOutputStream;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing {*/\n/**\n * These are a set of hints that you may pass to Writers to specify their behavior.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar EncodeHintType;\n(function (EncodeHintType) {\n /**\n * Specifies what degree of error correction to use, for example in QR Codes.\n * Type depends on the encoder. For example for QR codes it's type\n * {@link com.google.zxing.qrcode.decoder.ErrorCorrectionLevel ErrorCorrectionLevel}.\n * For Aztec it is of type {@link Integer}, representing the minimal percentage of error correction words.\n * For PDF417 it is of type {@link Integer}, valid values being 0 to 8.\n * In all cases, it can also be a {@link String} representation of the desired value as well.\n * Note: an Aztec symbol should have a minimum of 25% EC words.\n */\n EncodeHintType[EncodeHintType[\"ERROR_CORRECTION\"] = 0] = \"ERROR_CORRECTION\";\n /**\n * Specifies what character encoding to use where applicable (type {@link String})\n */\n EncodeHintType[EncodeHintType[\"CHARACTER_SET\"] = 1] = \"CHARACTER_SET\";\n /**\n * Specifies the matrix shape for Data Matrix (type {@link com.google.zxing.datamatrix.encoder.SymbolShapeHint})\n */\n EncodeHintType[EncodeHintType[\"DATA_MATRIX_SHAPE\"] = 2] = \"DATA_MATRIX_SHAPE\";\n /**\n * Specifies whether to use compact mode for Data Matrix (type {@link Boolean}, or \"true\" or \"false\"\n * {@link String } value).\n * The compact encoding mode also supports the encoding of characters that are not in the ISO-8859-1\n * character set via ECIs.\n * Please note that in that case, the most compact character encoding is chosen for characters in\n * the input that are not in the ISO-8859-1 character set. Based on experience, some scanners do not\n * support encodings like cp-1256 (Arabic). In such cases the encoding can be forced to UTF-8 by\n * means of the {@link #CHARACTER_SET} encoding hint.\n * Compact encoding also provides GS1-FNC1 support when {@link #GS1_FORMAT} is selected. In this case\n * group-separator character (ASCII 29 decimal) can be used to encode the positions of FNC1 codewords\n * for the purpose of delimiting AIs.\n * This option and {@link #FORCE_C40} are mutually exclusive.\n */\n EncodeHintType[EncodeHintType[\"DATA_MATRIX_COMPACT\"] = 3] = \"DATA_MATRIX_COMPACT\";\n /**\n * Specifies a minimum barcode size (type {@link Dimension}). Only applicable to Data Matrix now.\n *\n * @deprecated use width/height params in\n * {@link com.google.zxing.datamatrix.DataMatrixWriter#encode(String, BarcodeFormat, int, int)}\n */\n /*@Deprecated*/\n EncodeHintType[EncodeHintType[\"MIN_SIZE\"] = 4] = \"MIN_SIZE\";\n /**\n * Specifies a maximum barcode size (type {@link Dimension}). Only applicable to Data Matrix now.\n *\n * @deprecated without replacement\n */\n /*@Deprecated*/\n EncodeHintType[EncodeHintType[\"MAX_SIZE\"] = 5] = \"MAX_SIZE\";\n /**\n * Specifies margin, in pixels, to use when generating the barcode. The meaning can vary\n * by format; for example it controls margin before and after the barcode horizontally for\n * most 1D formats. (Type {@link Integer}, or {@link String} representation of the integer value).\n */\n EncodeHintType[EncodeHintType[\"MARGIN\"] = 6] = \"MARGIN\";\n /**\n * Specifies whether to use compact mode for PDF417 (type {@link Boolean}, or \"true\" or \"false\"\n * {@link String} value).\n */\n EncodeHintType[EncodeHintType[\"PDF417_COMPACT\"] = 7] = \"PDF417_COMPACT\";\n /**\n * Specifies what compaction mode to use for PDF417 (type\n * {@link com.google.zxing.pdf417.encoder.Compaction Compaction} or {@link String} value of one of its\n * enum values).\n */\n EncodeHintType[EncodeHintType[\"PDF417_COMPACTION\"] = 8] = \"PDF417_COMPACTION\";\n /**\n * Specifies the minimum and maximum number of rows and columns for PDF417 (type\n * {@link com.google.zxing.pdf417.encoder.Dimensions Dimensions}).\n */\n EncodeHintType[EncodeHintType[\"PDF417_DIMENSIONS\"] = 9] = \"PDF417_DIMENSIONS\";\n /**\n * Specifies the required number of layers for an Aztec code.\n * A negative number (-1, -2, -3, -4) specifies a compact Aztec code.\n * 0 indicates to use the minimum number of layers (the default).\n * A positive number (1, 2, .. 32) specifies a normal (non-compact) Aztec code.\n * (Type {@link Integer}, or {@link String} representation of the integer value).\n */\n EncodeHintType[EncodeHintType[\"AZTEC_LAYERS\"] = 10] = \"AZTEC_LAYERS\";\n /**\n * Specifies the exact version of QR code to be encoded.\n * (Type {@link Integer}, or {@link String} representation of the integer value).\n */\n EncodeHintType[EncodeHintType[\"QR_VERSION\"] = 11] = \"QR_VERSION\";\n /**\n * Specifies whether the data should be encoded to the GS1 standard (type {@link Boolean}, or \"true\" or \"false\"\n * {@link String } value).\n */\n EncodeHintType[EncodeHintType[\"GS1_FORMAT\"] = 12] = \"GS1_FORMAT\";\n /**\n * Forces C40 encoding for data-matrix (type {@link Boolean}, or \"true\" or \"false\") {@link String } value). This\n * option and {@link #DATA_MATRIX_COMPACT} are mutually exclusive.\n */\n EncodeHintType[EncodeHintType[\"FORCE_C40\"] = 13] = \"FORCE_C40\";\n})(EncodeHintType || (EncodeHintType = {}));\nexport default EncodeHintType;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417.decoder;\n// import com.google.zxing.ChecksumException;\nimport ChecksumException from '../../ChecksumException';\n// import com.google.zxing.FormatException;\nimport FormatException from '../../FormatException';\n// import com.google.zxing.NotFoundException;\nimport NotFoundException from '../../NotFoundException';\n// import com.google.zxing.common.detector.MathUtils;\nimport MathUtils from '../../common/detector/MathUtils';\n// import com.google.zxing.pdf417.PDF417Common;\nimport PDF417Common from '../PDF417Common';\n// import com.google.zxing.pdf417.decoder.ec.ErrorCorrection;\nimport ErrorCorrection from './ec/ErrorCorrection';\n// local\nimport BoundingBox from './BoundingBox';\nimport DetectionResultRowIndicatorColumn from './DetectionResultRowIndicatorColumn';\nimport DetectionResult from './DetectionResult';\nimport DetectionResultColumn from './DetectionResultColumn';\nimport Codeword from './Codeword';\nimport BarcodeValue from './BarcodeValue';\nimport PDF417CodewordDecoder from './PDF417CodewordDecoder';\nimport DecodedBitStreamParser from './DecodedBitStreamParser';\n// utils\nimport Formatter from '../../util/Formatter';\n// import java.util.ArrayList;\n// import java.util.Collection;\n// import java.util.Formatter;\n// import java.util.List;\n/**\n * @author Guenther Grau\n */\nvar PDF417ScanningDecoder = /** @class */ (function () {\n function PDF417ScanningDecoder() {\n }\n /**\n * @TODO don't pass in minCodewordWidth and maxCodewordWidth, pass in barcode columns for start and stop pattern\n *\n * columns. That way width can be deducted from the pattern column.\n * This approach also allows to detect more details about the barcode, e.g. if a bar type (white or black) is wider\n * than it should be. This can happen if the scanner used a bad blackpoint.\n *\n * @param BitMatrix\n * @param image\n * @param ResultPoint\n * @param imageTopLeft\n * @param ResultPoint\n * @param imageBottomLeft\n * @param ResultPoint\n * @param imageTopRight\n * @param ResultPoint\n * @param imageBottomRight\n * @param int\n * @param minCodewordWidth\n * @param int\n * @param maxCodewordWidth\n *\n * @throws NotFoundException\n * @throws FormatException\n * @throws ChecksumException\n */\n PDF417ScanningDecoder.decode = function (image, imageTopLeft, imageBottomLeft, imageTopRight, imageBottomRight, minCodewordWidth, maxCodewordWidth) {\n var boundingBox = new BoundingBox(image, imageTopLeft, imageBottomLeft, imageTopRight, imageBottomRight);\n var leftRowIndicatorColumn = null;\n var rightRowIndicatorColumn = null;\n var detectionResult;\n for (var firstPass /*boolean*/ = true;; firstPass = false) {\n if (imageTopLeft != null) {\n leftRowIndicatorColumn = PDF417ScanningDecoder.getRowIndicatorColumn(image, boundingBox, imageTopLeft, true, minCodewordWidth, maxCodewordWidth);\n }\n if (imageTopRight != null) {\n rightRowIndicatorColumn = PDF417ScanningDecoder.getRowIndicatorColumn(image, boundingBox, imageTopRight, false, minCodewordWidth, maxCodewordWidth);\n }\n detectionResult = PDF417ScanningDecoder.merge(leftRowIndicatorColumn, rightRowIndicatorColumn);\n if (detectionResult == null) {\n throw NotFoundException.getNotFoundInstance();\n }\n var resultBox = detectionResult.getBoundingBox();\n if (firstPass && resultBox != null &&\n (resultBox.getMinY() < boundingBox.getMinY() || resultBox.getMaxY() > boundingBox.getMaxY())) {\n boundingBox = resultBox;\n }\n else {\n break;\n }\n }\n detectionResult.setBoundingBox(boundingBox);\n var maxBarcodeColumn = detectionResult.getBarcodeColumnCount() + 1;\n detectionResult.setDetectionResultColumn(0, leftRowIndicatorColumn);\n detectionResult.setDetectionResultColumn(maxBarcodeColumn, rightRowIndicatorColumn);\n var leftToRight = leftRowIndicatorColumn != null;\n for (var barcodeColumnCount /*int*/ = 1; barcodeColumnCount <= maxBarcodeColumn; barcodeColumnCount++) {\n var barcodeColumn = leftToRight ? barcodeColumnCount : maxBarcodeColumn - barcodeColumnCount;\n if (detectionResult.getDetectionResultColumn(barcodeColumn) !== /* null */ undefined) {\n // This will be the case for the opposite row indicator column, which doesn't need to be decoded again.\n continue;\n }\n var detectionResultColumn = void 0;\n if (barcodeColumn === 0 || barcodeColumn === maxBarcodeColumn) {\n detectionResultColumn = new DetectionResultRowIndicatorColumn(boundingBox, barcodeColumn === 0);\n }\n else {\n detectionResultColumn = new DetectionResultColumn(boundingBox);\n }\n detectionResult.setDetectionResultColumn(barcodeColumn, detectionResultColumn);\n var startColumn = -1;\n var previousStartColumn = startColumn;\n // TODO start at a row for which we know the start position, then detect upwards and downwards from there.\n for (var imageRow /*int*/ = boundingBox.getMinY(); imageRow <= boundingBox.getMaxY(); imageRow++) {\n startColumn = PDF417ScanningDecoder.getStartColumn(detectionResult, barcodeColumn, imageRow, leftToRight);\n if (startColumn < 0 || startColumn > boundingBox.getMaxX()) {\n if (previousStartColumn === -1) {\n continue;\n }\n startColumn = previousStartColumn;\n }\n var codeword = PDF417ScanningDecoder.detectCodeword(image, boundingBox.getMinX(), boundingBox.getMaxX(), leftToRight, startColumn, imageRow, minCodewordWidth, maxCodewordWidth);\n if (codeword != null) {\n detectionResultColumn.setCodeword(imageRow, codeword);\n previousStartColumn = startColumn;\n minCodewordWidth = Math.min(minCodewordWidth, codeword.getWidth());\n maxCodewordWidth = Math.max(maxCodewordWidth, codeword.getWidth());\n }\n }\n }\n return PDF417ScanningDecoder.createDecoderResult(detectionResult);\n };\n /**\n *\n * @param leftRowIndicatorColumn\n * @param rightRowIndicatorColumn\n *\n * @throws NotFoundException\n */\n PDF417ScanningDecoder.merge = function (leftRowIndicatorColumn, rightRowIndicatorColumn) {\n if (leftRowIndicatorColumn == null && rightRowIndicatorColumn == null) {\n return null;\n }\n var barcodeMetadata = PDF417ScanningDecoder.getBarcodeMetadata(leftRowIndicatorColumn, rightRowIndicatorColumn);\n if (barcodeMetadata == null) {\n return null;\n }\n var boundingBox = BoundingBox.merge(PDF417ScanningDecoder.adjustBoundingBox(leftRowIndicatorColumn), PDF417ScanningDecoder.adjustBoundingBox(rightRowIndicatorColumn));\n return new DetectionResult(barcodeMetadata, boundingBox);\n };\n /**\n *\n * @param rowIndicatorColumn\n *\n * @throws NotFoundException\n */\n PDF417ScanningDecoder.adjustBoundingBox = function (rowIndicatorColumn) {\n var e_1, _a;\n if (rowIndicatorColumn == null) {\n return null;\n }\n var rowHeights = rowIndicatorColumn.getRowHeights();\n if (rowHeights == null) {\n return null;\n }\n var maxRowHeight = PDF417ScanningDecoder.getMax(rowHeights);\n var missingStartRows = 0;\n try {\n for (var rowHeights_1 = __values(rowHeights), rowHeights_1_1 = rowHeights_1.next(); !rowHeights_1_1.done; rowHeights_1_1 = rowHeights_1.next()) {\n var rowHeight = rowHeights_1_1.value /*int*/;\n missingStartRows += maxRowHeight - rowHeight;\n if (rowHeight > 0) {\n break;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (rowHeights_1_1 && !rowHeights_1_1.done && (_a = rowHeights_1.return)) _a.call(rowHeights_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var codewords = rowIndicatorColumn.getCodewords();\n for (var row /*int*/ = 0; missingStartRows > 0 && codewords[row] == null; row++) {\n missingStartRows--;\n }\n var missingEndRows = 0;\n for (var row /*int*/ = rowHeights.length - 1; row >= 0; row--) {\n missingEndRows += maxRowHeight - rowHeights[row];\n if (rowHeights[row] > 0) {\n break;\n }\n }\n for (var row /*int*/ = codewords.length - 1; missingEndRows > 0 && codewords[row] == null; row--) {\n missingEndRows--;\n }\n return rowIndicatorColumn.getBoundingBox().addMissingRows(missingStartRows, missingEndRows, rowIndicatorColumn.isLeft());\n };\n PDF417ScanningDecoder.getMax = function (values) {\n var e_2, _a;\n var maxValue = -1;\n try {\n for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n var value = values_1_1.value /*int*/;\n maxValue = Math.max(maxValue, value);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return maxValue;\n };\n PDF417ScanningDecoder.getBarcodeMetadata = function (leftRowIndicatorColumn, rightRowIndicatorColumn) {\n var leftBarcodeMetadata;\n if (leftRowIndicatorColumn == null ||\n (leftBarcodeMetadata = leftRowIndicatorColumn.getBarcodeMetadata()) == null) {\n return rightRowIndicatorColumn == null ? null : rightRowIndicatorColumn.getBarcodeMetadata();\n }\n var rightBarcodeMetadata;\n if (rightRowIndicatorColumn == null ||\n (rightBarcodeMetadata = rightRowIndicatorColumn.getBarcodeMetadata()) == null) {\n return leftBarcodeMetadata;\n }\n if (leftBarcodeMetadata.getColumnCount() !== rightBarcodeMetadata.getColumnCount() &&\n leftBarcodeMetadata.getErrorCorrectionLevel() !== rightBarcodeMetadata.getErrorCorrectionLevel() &&\n leftBarcodeMetadata.getRowCount() !== rightBarcodeMetadata.getRowCount()) {\n return null;\n }\n return leftBarcodeMetadata;\n };\n PDF417ScanningDecoder.getRowIndicatorColumn = function (image, boundingBox, startPoint, leftToRight, minCodewordWidth, maxCodewordWidth) {\n var rowIndicatorColumn = new DetectionResultRowIndicatorColumn(boundingBox, leftToRight);\n for (var i /*int*/ = 0; i < 2; i++) {\n var increment = i === 0 ? 1 : -1;\n var startColumn = Math.trunc(Math.trunc(startPoint.getX()));\n for (var imageRow /*int*/ = Math.trunc(Math.trunc(startPoint.getY())); imageRow <= boundingBox.getMaxY() &&\n imageRow >= boundingBox.getMinY(); imageRow += increment) {\n var codeword = PDF417ScanningDecoder.detectCodeword(image, 0, image.getWidth(), leftToRight, startColumn, imageRow, minCodewordWidth, maxCodewordWidth);\n if (codeword != null) {\n rowIndicatorColumn.setCodeword(imageRow, codeword);\n if (leftToRight) {\n startColumn = codeword.getStartX();\n }\n else {\n startColumn = codeword.getEndX();\n }\n }\n }\n }\n return rowIndicatorColumn;\n };\n /**\n *\n * @param detectionResult\n * @param BarcodeValue\n * @param param2\n * @param param3\n * @param barcodeMatrix\n *\n * @throws NotFoundException\n */\n PDF417ScanningDecoder.adjustCodewordCount = function (detectionResult, barcodeMatrix) {\n var barcodeMatrix01 = barcodeMatrix[0][1];\n var numberOfCodewords = barcodeMatrix01.getValue();\n var calculatedNumberOfCodewords = detectionResult.getBarcodeColumnCount() *\n detectionResult.getBarcodeRowCount() -\n PDF417ScanningDecoder.getNumberOfECCodeWords(detectionResult.getBarcodeECLevel());\n if (numberOfCodewords.length === 0) {\n if (calculatedNumberOfCodewords < 1 || calculatedNumberOfCodewords > PDF417Common.MAX_CODEWORDS_IN_BARCODE) {\n throw NotFoundException.getNotFoundInstance();\n }\n barcodeMatrix01.setValue(calculatedNumberOfCodewords);\n }\n else if (numberOfCodewords[0] !== calculatedNumberOfCodewords) {\n // The calculated one is more reliable as it is derived from the row indicator columns\n barcodeMatrix01.setValue(calculatedNumberOfCodewords);\n }\n };\n /**\n *\n * @param detectionResult\n *\n * @throws FormatException\n * @throws ChecksumException\n * @throws NotFoundException\n */\n PDF417ScanningDecoder.createDecoderResult = function (detectionResult) {\n var barcodeMatrix = PDF417ScanningDecoder.createBarcodeMatrix(detectionResult);\n PDF417ScanningDecoder.adjustCodewordCount(detectionResult, barcodeMatrix);\n var erasures /*Collection*/ = new Array();\n var codewords = new Int32Array(detectionResult.getBarcodeRowCount() * detectionResult.getBarcodeColumnCount());\n var ambiguousIndexValuesList = /*List*/ [];\n var ambiguousIndexesList = /*Collection*/ new Array();\n for (var row /*int*/ = 0; row < detectionResult.getBarcodeRowCount(); row++) {\n for (var column /*int*/ = 0; column < detectionResult.getBarcodeColumnCount(); column++) {\n var values = barcodeMatrix[row][column + 1].getValue();\n var codewordIndex = row * detectionResult.getBarcodeColumnCount() + column;\n if (values.length === 0) {\n erasures.push(codewordIndex);\n }\n else if (values.length === 1) {\n codewords[codewordIndex] = values[0];\n }\n else {\n ambiguousIndexesList.push(codewordIndex);\n ambiguousIndexValuesList.push(values);\n }\n }\n }\n var ambiguousIndexValues = new Array(ambiguousIndexValuesList.length);\n for (var i /*int*/ = 0; i < ambiguousIndexValues.length; i++) {\n ambiguousIndexValues[i] = ambiguousIndexValuesList[i];\n }\n return PDF417ScanningDecoder.createDecoderResultFromAmbiguousValues(detectionResult.getBarcodeECLevel(), codewords, PDF417Common.toIntArray(erasures), PDF417Common.toIntArray(ambiguousIndexesList), ambiguousIndexValues);\n };\n /**\n * This method deals with the fact, that the decoding process doesn't always yield a single most likely value. The\n * current error correction implementation doesn't deal with erasures very well, so it's better to provide a value\n * for these ambiguous codewords instead of treating it as an erasure. The problem is that we don't know which of\n * the ambiguous values to choose. We try decode using the first value, and if that fails, we use another of the\n * ambiguous values and try to decode again. This usually only happens on very hard to read and decode barcodes,\n * so decoding the normal barcodes is not affected by this.\n *\n * @param erasureArray contains the indexes of erasures\n * @param ambiguousIndexes array with the indexes that have more than one most likely value\n * @param ambiguousIndexValues two dimensional array that contains the ambiguous values. The first dimension must\n * be the same length as the ambiguousIndexes array\n *\n * @throws FormatException\n * @throws ChecksumException\n */\n PDF417ScanningDecoder.createDecoderResultFromAmbiguousValues = function (ecLevel, codewords, erasureArray, ambiguousIndexes, ambiguousIndexValues) {\n var ambiguousIndexCount = new Int32Array(ambiguousIndexes.length);\n var tries = 100;\n while (tries-- > 0) {\n for (var i /*int*/ = 0; i < ambiguousIndexCount.length; i++) {\n codewords[ambiguousIndexes[i]] = ambiguousIndexValues[i][ambiguousIndexCount[i]];\n }\n try {\n return PDF417ScanningDecoder.decodeCodewords(codewords, ecLevel, erasureArray);\n }\n catch (err) {\n var ignored = err instanceof ChecksumException;\n if (!ignored) {\n throw err;\n }\n }\n if (ambiguousIndexCount.length === 0) {\n throw ChecksumException.getChecksumInstance();\n }\n for (var i /*int*/ = 0; i < ambiguousIndexCount.length; i++) {\n if (ambiguousIndexCount[i] < ambiguousIndexValues[i].length - 1) {\n ambiguousIndexCount[i]++;\n break;\n }\n else {\n ambiguousIndexCount[i] = 0;\n if (i === ambiguousIndexCount.length - 1) {\n throw ChecksumException.getChecksumInstance();\n }\n }\n }\n }\n throw ChecksumException.getChecksumInstance();\n };\n PDF417ScanningDecoder.createBarcodeMatrix = function (detectionResult) {\n var e_3, _a, e_4, _b;\n // let barcodeMatrix: BarcodeValue[][] =\n // new BarcodeValue[detectionResult.getBarcodeRowCount()][detectionResult.getBarcodeColumnCount() + 2];\n var barcodeMatrix = Array.from({ length: detectionResult.getBarcodeRowCount() }, function () { return new Array(detectionResult.getBarcodeColumnCount() + 2); });\n for (var row /*int*/ = 0; row < barcodeMatrix.length; row++) {\n for (var column_1 /*int*/ = 0; column_1 < barcodeMatrix[row].length; column_1++) {\n barcodeMatrix[row][column_1] = new BarcodeValue();\n }\n }\n var column = 0;\n try {\n for (var _c = __values(detectionResult.getDetectionResultColumns()), _d = _c.next(); !_d.done; _d = _c.next()) {\n var detectionResultColumn = _d.value /*DetectionResultColumn*/;\n if (detectionResultColumn != null) {\n try {\n for (var _e = (e_4 = void 0, __values(detectionResultColumn.getCodewords())), _f = _e.next(); !_f.done; _f = _e.next()) {\n var codeword = _f.value /*Codeword*/;\n if (codeword != null) {\n var rowNumber = codeword.getRowNumber();\n if (rowNumber >= 0) {\n if (rowNumber >= barcodeMatrix.length) {\n // We have more rows than the barcode metadata allows for, ignore them.\n continue;\n }\n barcodeMatrix[rowNumber][column].setValue(codeword.getValue());\n }\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n column++;\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return barcodeMatrix;\n };\n PDF417ScanningDecoder.isValidBarcodeColumn = function (detectionResult, barcodeColumn) {\n return barcodeColumn >= 0 && barcodeColumn <= detectionResult.getBarcodeColumnCount() + 1;\n };\n PDF417ScanningDecoder.getStartColumn = function (detectionResult, barcodeColumn, imageRow, leftToRight) {\n var e_5, _a;\n var offset = leftToRight ? 1 : -1;\n var codeword = null;\n if (PDF417ScanningDecoder.isValidBarcodeColumn(detectionResult, barcodeColumn - offset)) {\n codeword = detectionResult.getDetectionResultColumn(barcodeColumn - offset).getCodeword(imageRow);\n }\n if (codeword != null) {\n return leftToRight ? codeword.getEndX() : codeword.getStartX();\n }\n codeword = detectionResult.getDetectionResultColumn(barcodeColumn).getCodewordNearby(imageRow);\n if (codeword != null) {\n return leftToRight ? codeword.getStartX() : codeword.getEndX();\n }\n if (PDF417ScanningDecoder.isValidBarcodeColumn(detectionResult, barcodeColumn - offset)) {\n codeword = detectionResult.getDetectionResultColumn(barcodeColumn - offset).getCodewordNearby(imageRow);\n }\n if (codeword != null) {\n return leftToRight ? codeword.getEndX() : codeword.getStartX();\n }\n var skippedColumns = 0;\n while (PDF417ScanningDecoder.isValidBarcodeColumn(detectionResult, barcodeColumn - offset)) {\n barcodeColumn -= offset;\n try {\n for (var _b = (e_5 = void 0, __values(detectionResult.getDetectionResultColumn(barcodeColumn).getCodewords())), _c = _b.next(); !_c.done; _c = _b.next()) {\n var previousRowCodeword = _c.value /*Codeword*/;\n if (previousRowCodeword != null) {\n return (leftToRight ? previousRowCodeword.getEndX() : previousRowCodeword.getStartX()) +\n offset *\n skippedColumns *\n (previousRowCodeword.getEndX() - previousRowCodeword.getStartX());\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_5) throw e_5.error; }\n }\n skippedColumns++;\n }\n return leftToRight ? detectionResult.getBoundingBox().getMinX() : detectionResult.getBoundingBox().getMaxX();\n };\n PDF417ScanningDecoder.detectCodeword = function (image, minColumn, maxColumn, leftToRight, startColumn, imageRow, minCodewordWidth, maxCodewordWidth) {\n startColumn = PDF417ScanningDecoder.adjustCodewordStartColumn(image, minColumn, maxColumn, leftToRight, startColumn, imageRow);\n // we usually know fairly exact now how long a codeword is. We should provide minimum and maximum expected length\n // and try to adjust the read pixels, e.g. remove single pixel errors or try to cut off exceeding pixels.\n // min and maxCodewordWidth should not be used as they are calculated for the whole barcode an can be inaccurate\n // for the current position\n var moduleBitCount = PDF417ScanningDecoder.getModuleBitCount(image, minColumn, maxColumn, leftToRight, startColumn, imageRow);\n if (moduleBitCount == null) {\n return null;\n }\n var endColumn;\n var codewordBitCount = MathUtils.sum(moduleBitCount);\n if (leftToRight) {\n endColumn = startColumn + codewordBitCount;\n }\n else {\n for (var i /*int*/ = 0; i < moduleBitCount.length / 2; i++) {\n var tmpCount = moduleBitCount[i];\n moduleBitCount[i] = moduleBitCount[moduleBitCount.length - 1 - i];\n moduleBitCount[moduleBitCount.length - 1 - i] = tmpCount;\n }\n endColumn = startColumn;\n startColumn = endColumn - codewordBitCount;\n }\n // TODO implement check for width and correction of black and white bars\n // use start (and maybe stop pattern) to determine if black bars are wider than white bars. If so, adjust.\n // should probably done only for codewords with a lot more than 17 bits.\n // The following fixes 10-1.png, which has wide black bars and small white bars\n // for (let i /*int*/ = 0; i < moduleBitCount.length; i++) {\n // if (i % 2 === 0) {\n // moduleBitCount[i]--;\n // } else {\n // moduleBitCount[i]++;\n // }\n // }\n // We could also use the width of surrounding codewords for more accurate results, but this seems\n // sufficient for now\n if (!PDF417ScanningDecoder.checkCodewordSkew(codewordBitCount, minCodewordWidth, maxCodewordWidth)) {\n // We could try to use the startX and endX position of the codeword in the same column in the previous row,\n // create the bit count from it and normalize it to 8. This would help with single pixel errors.\n return null;\n }\n var decodedValue = PDF417CodewordDecoder.getDecodedValue(moduleBitCount);\n var codeword = PDF417Common.getCodeword(decodedValue);\n if (codeword === -1) {\n return null;\n }\n return new Codeword(startColumn, endColumn, PDF417ScanningDecoder.getCodewordBucketNumber(decodedValue), codeword);\n };\n PDF417ScanningDecoder.getModuleBitCount = function (image, minColumn, maxColumn, leftToRight, startColumn, imageRow) {\n var imageColumn = startColumn;\n var moduleBitCount = new Int32Array(8);\n var moduleNumber = 0;\n var increment = leftToRight ? 1 : -1;\n var previousPixelValue = leftToRight;\n while ((leftToRight ? imageColumn < maxColumn : imageColumn >= minColumn) &&\n moduleNumber < moduleBitCount.length) {\n if (image.get(imageColumn, imageRow) === previousPixelValue) {\n moduleBitCount[moduleNumber]++;\n imageColumn += increment;\n }\n else {\n moduleNumber++;\n previousPixelValue = !previousPixelValue;\n }\n }\n if (moduleNumber === moduleBitCount.length ||\n ((imageColumn === (leftToRight ? maxColumn : minColumn)) &&\n moduleNumber === moduleBitCount.length - 1)) {\n return moduleBitCount;\n }\n return null;\n };\n PDF417ScanningDecoder.getNumberOfECCodeWords = function (barcodeECLevel) {\n return 2 << barcodeECLevel;\n };\n PDF417ScanningDecoder.adjustCodewordStartColumn = function (image, minColumn, maxColumn, leftToRight, codewordStartColumn, imageRow) {\n var correctedStartColumn = codewordStartColumn;\n var increment = leftToRight ? -1 : 1;\n // there should be no black pixels before the start column. If there are, then we need to start earlier.\n for (var i /*int*/ = 0; i < 2; i++) {\n while ((leftToRight ? correctedStartColumn >= minColumn : correctedStartColumn < maxColumn) &&\n leftToRight === image.get(correctedStartColumn, imageRow)) {\n if (Math.abs(codewordStartColumn - correctedStartColumn) > PDF417ScanningDecoder.CODEWORD_SKEW_SIZE) {\n return codewordStartColumn;\n }\n correctedStartColumn += increment;\n }\n increment = -increment;\n leftToRight = !leftToRight;\n }\n return correctedStartColumn;\n };\n PDF417ScanningDecoder.checkCodewordSkew = function (codewordSize, minCodewordWidth, maxCodewordWidth) {\n return minCodewordWidth - PDF417ScanningDecoder.CODEWORD_SKEW_SIZE <= codewordSize &&\n codewordSize <= maxCodewordWidth + PDF417ScanningDecoder.CODEWORD_SKEW_SIZE;\n };\n /**\n * @throws FormatException,\n * @throws ChecksumException\n */\n PDF417ScanningDecoder.decodeCodewords = function (codewords, ecLevel, erasures) {\n if (codewords.length === 0) {\n throw FormatException.getFormatInstance();\n }\n var numECCodewords = 1 << (ecLevel + 1);\n var correctedErrorsCount = PDF417ScanningDecoder.correctErrors(codewords, erasures, numECCodewords);\n PDF417ScanningDecoder.verifyCodewordCount(codewords, numECCodewords);\n // Decode the codewords\n var decoderResult = DecodedBitStreamParser.decode(codewords, '' + ecLevel);\n decoderResult.setErrorsCorrected(correctedErrorsCount);\n decoderResult.setErasures(erasures.length);\n return decoderResult;\n };\n /**\n *

Given data and error-correction codewords received, possibly corrupted by errors, attempts to\n * correct the errors in-place.

\n *\n * @param codewords data and error correction codewords\n * @param erasures positions of any known erasures\n * @param numECCodewords number of error correction codewords that are available in codewords\n * @throws ChecksumException if error correction fails\n */\n PDF417ScanningDecoder.correctErrors = function (codewords, erasures, numECCodewords) {\n if (erasures != null &&\n erasures.length > numECCodewords / 2 + PDF417ScanningDecoder.MAX_ERRORS ||\n numECCodewords < 0 ||\n numECCodewords > PDF417ScanningDecoder.MAX_EC_CODEWORDS) {\n // Too many errors or EC Codewords is corrupted\n throw ChecksumException.getChecksumInstance();\n }\n return PDF417ScanningDecoder.errorCorrection.decode(codewords, numECCodewords, erasures);\n };\n /**\n * Verify that all is OK with the codeword array.\n * @throws FormatException\n */\n PDF417ScanningDecoder.verifyCodewordCount = function (codewords, numECCodewords) {\n if (codewords.length < 4) {\n // Codeword array size should be at least 4 allowing for\n // Count CW, At least one Data CW, Error Correction CW, Error Correction CW\n throw FormatException.getFormatInstance();\n }\n // The first codeword, the Symbol Length Descriptor, shall always encode the total number of data\n // codewords in the symbol, including the Symbol Length Descriptor itself, data codewords and pad\n // codewords, but excluding the number of error correction codewords.\n var numberOfCodewords = codewords[0];\n if (numberOfCodewords > codewords.length) {\n throw FormatException.getFormatInstance();\n }\n if (numberOfCodewords === 0) {\n // Reset to the length of the array - 8 (Allow for at least level 3 Error Correction (8 Error Codewords)\n if (numECCodewords < codewords.length) {\n codewords[0] = codewords.length - numECCodewords;\n }\n else {\n throw FormatException.getFormatInstance();\n }\n }\n };\n PDF417ScanningDecoder.getBitCountForCodeword = function (codeword) {\n var result = new Int32Array(8);\n var previousValue = 0;\n var i = result.length - 1;\n while (true) {\n if ((codeword & 0x1) !== previousValue) {\n previousValue = codeword & 0x1;\n i--;\n if (i < 0) {\n break;\n }\n }\n result[i]++;\n codeword >>= 1;\n }\n return result;\n };\n PDF417ScanningDecoder.getCodewordBucketNumber = function (codeword) {\n if (codeword instanceof Int32Array) {\n return this.getCodewordBucketNumber_Int32Array(codeword);\n }\n return this.getCodewordBucketNumber_number(codeword);\n };\n PDF417ScanningDecoder.getCodewordBucketNumber_number = function (codeword) {\n return PDF417ScanningDecoder.getCodewordBucketNumber(PDF417ScanningDecoder.getBitCountForCodeword(codeword));\n };\n PDF417ScanningDecoder.getCodewordBucketNumber_Int32Array = function (moduleBitCount) {\n return (moduleBitCount[0] - moduleBitCount[2] + moduleBitCount[4] - moduleBitCount[6] + 9) % 9;\n };\n PDF417ScanningDecoder.toString = function (barcodeMatrix) {\n var formatter = new Formatter();\n // try (let formatter = new Formatter()) {\n for (var row /*int*/ = 0; row < barcodeMatrix.length; row++) {\n formatter.format('Row %2d: ', row);\n for (var column /*int*/ = 0; column < barcodeMatrix[row].length; column++) {\n var barcodeValue = barcodeMatrix[row][column];\n if (barcodeValue.getValue().length === 0) {\n formatter.format(' ', null);\n }\n else {\n formatter.format('%4d(%2d)', barcodeValue.getValue()[0], barcodeValue.getConfidence(barcodeValue.getValue()[0]));\n }\n }\n formatter.format('%n');\n }\n return formatter.toString();\n // }\n };\n /*final*/ PDF417ScanningDecoder.CODEWORD_SKEW_SIZE = 2;\n /*final*/ PDF417ScanningDecoder.MAX_ERRORS = 3;\n /*final*/ PDF417ScanningDecoder.MAX_EC_CODEWORDS = 512;\n /*final*/ PDF417ScanningDecoder.errorCorrection = new ErrorCorrection();\n return PDF417ScanningDecoder;\n}());\nexport default PDF417ScanningDecoder;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417;\n// import com.google.zxing.BarcodeFormat;\nimport BarcodeFormat from '../BarcodeFormat';\n// import com.google.zxing.ChecksumException;\nimport ChecksumException from '../ChecksumException';\n// import com.google.zxing.FormatException;\nimport FormatException from '../FormatException';\n// import com.google.zxing.NotFoundException;\nimport NotFoundException from '../NotFoundException';\n// import com.google.zxing.Result;\nimport Result from '../Result';\n// import com.google.zxing.common.DecoderResult;\n// import com.google.zxing.multi.MultipleBarcodeReader;\n// import com.google.zxing.pdf417.decoder.PDF417ScanningDecoder;\n// import com.google.zxing.pdf417.detector.Detector;\n// import com.google.zxing.pdf417.detector.PDF417DetectorResult;\nimport PDF417Common from './PDF417Common';\nimport Integer from '../util/Integer';\nimport ResultMetadataType from '../ResultMetadataType';\nimport Detector from './detector/Detector';\nimport PDF417ScanningDecoder from './decoder/PDF417ScanningDecoder';\n// import java.util.ArrayList;\n// import java.util.List;\n// import java.util.Map;\n/**\n * This implementation can detect and decode PDF417 codes in an image.\n *\n * @author Guenther Grau\n */\nvar PDF417Reader = /** @class */ (function () {\n function PDF417Reader() {\n }\n // private static /*final Result[]*/ EMPTY_RESULT_ARRAY: Result[] = new Result([0]);\n /**\n * Locates and decodes a PDF417 code in an image.\n *\n * @return a String representing the content encoded by the PDF417 code\n * @throws NotFoundException if a PDF417 code cannot be found,\n * @throws FormatException if a PDF417 cannot be decoded\n * @throws ChecksumException\n */\n // @Override\n PDF417Reader.prototype.decode = function (image, hints) {\n if (hints === void 0) { hints = null; }\n var result = PDF417Reader.decode(image, hints, false);\n if (result == null || result.length === 0 || result[0] == null) {\n throw NotFoundException.getNotFoundInstance();\n }\n return result[0];\n };\n /**\n *\n * @param BinaryBitmap\n * @param image\n * @throws NotFoundException\n */\n // @Override\n PDF417Reader.prototype.decodeMultiple = function (image, hints) {\n if (hints === void 0) { hints = null; }\n try {\n return PDF417Reader.decode(image, hints, true);\n }\n catch (ignored) {\n if (ignored instanceof FormatException || ignored instanceof ChecksumException) {\n throw NotFoundException.getNotFoundInstance();\n }\n throw ignored;\n }\n };\n /**\n *\n * @param image\n * @param hints\n * @param multiple\n *\n * @throws NotFoundException\n * @throws FormatExceptionß\n * @throws ChecksumException\n */\n PDF417Reader.decode = function (image, hints, multiple) {\n var e_1, _a;\n var results = new Array();\n var detectorResult = Detector.detectMultiple(image, hints, multiple);\n try {\n for (var _b = __values(detectorResult.getPoints()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var points = _c.value;\n var decoderResult = PDF417ScanningDecoder.decode(detectorResult.getBits(), points[4], points[5], points[6], points[7], PDF417Reader.getMinCodewordWidth(points), PDF417Reader.getMaxCodewordWidth(points));\n var result = new Result(decoderResult.getText(), decoderResult.getRawBytes(), undefined, points, BarcodeFormat.PDF_417);\n result.putMetadata(ResultMetadataType.ERROR_CORRECTION_LEVEL, decoderResult.getECLevel());\n var pdf417ResultMetadata = decoderResult.getOther();\n if (pdf417ResultMetadata != null) {\n result.putMetadata(ResultMetadataType.PDF417_EXTRA_METADATA, pdf417ResultMetadata);\n }\n results.push(result);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return results.map(function (x) { return x; });\n };\n PDF417Reader.getMaxWidth = function (p1, p2) {\n if (p1 == null || p2 == null) {\n return 0;\n }\n return Math.trunc(Math.abs(p1.getX() - p2.getX()));\n };\n PDF417Reader.getMinWidth = function (p1, p2) {\n if (p1 == null || p2 == null) {\n return Integer.MAX_VALUE;\n }\n return Math.trunc(Math.abs(p1.getX() - p2.getX()));\n };\n PDF417Reader.getMaxCodewordWidth = function (p) {\n return Math.floor(Math.max(Math.max(PDF417Reader.getMaxWidth(p[0], p[4]), PDF417Reader.getMaxWidth(p[6], p[2]) * PDF417Common.MODULES_IN_CODEWORD /\n PDF417Common.MODULES_IN_STOP_PATTERN), Math.max(PDF417Reader.getMaxWidth(p[1], p[5]), PDF417Reader.getMaxWidth(p[7], p[3]) * PDF417Common.MODULES_IN_CODEWORD /\n PDF417Common.MODULES_IN_STOP_PATTERN)));\n };\n PDF417Reader.getMinCodewordWidth = function (p) {\n return Math.floor(Math.min(Math.min(PDF417Reader.getMinWidth(p[0], p[4]), PDF417Reader.getMinWidth(p[6], p[2]) * PDF417Common.MODULES_IN_CODEWORD /\n PDF417Common.MODULES_IN_STOP_PATTERN), Math.min(PDF417Reader.getMinWidth(p[1], p[5]), PDF417Reader.getMinWidth(p[7], p[3]) * PDF417Common.MODULES_IN_CODEWORD /\n PDF417Common.MODULES_IN_STOP_PATTERN)));\n };\n // @Override\n PDF417Reader.prototype.reset = function () {\n // nothing needs to be reset\n };\n return PDF417Reader;\n}());\nexport default PDF417Reader;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ReaderException = /** @class */ (function (_super) {\n __extends(ReaderException, _super);\n function ReaderException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ReaderException.kind = 'ReaderException';\n return ReaderException;\n}(Exception));\nexport default ReaderException;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport DecodeHintType from './DecodeHintType';\nimport BarcodeFormat from './BarcodeFormat';\nimport QRCodeReader from './qrcode/QRCodeReader';\nimport AztecReader from './aztec/AztecReader';\nimport MultiFormatOneDReader from './oned/MultiFormatOneDReader';\nimport DataMatrixReader from './datamatrix/DataMatrixReader';\nimport NotFoundException from './NotFoundException';\nimport PDF417Reader from './pdf417/PDF417Reader';\nimport ReaderException from './ReaderException';\n/*namespace com.google.zxing {*/\n/**\n * MultiFormatReader is a convenience class and the main entry point into the library for most uses.\n * By default it attempts to decode all barcode formats that the library supports. Optionally, you\n * can provide a hints object to request different behavior, for example only decoding QR codes.\n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar MultiFormatReader = /** @class */ (function () {\n function MultiFormatReader() {\n }\n /**\n * This version of decode honors the intent of Reader.decode(BinaryBitmap) in that it\n * passes null as a hint to the decoders. However, that makes it inefficient to call repeatedly.\n * Use setHints() followed by decodeWithState() for continuous scan applications.\n *\n * @param image The pixel data to decode\n * @return The contents of the image\n *\n * @throws NotFoundException Any errors which occurred\n */\n /*@Override*/\n // public decode(image: BinaryBitmap): Result {\n // setHints(null)\n // return decodeInternal(image)\n // }\n /**\n * Decode an image using the hints provided. Does not honor existing state.\n *\n * @param image The pixel data to decode\n * @param hints The hints to use, clearing the previous state.\n * @return The contents of the image\n *\n * @throws NotFoundException Any errors which occurred\n */\n /*@Override*/\n MultiFormatReader.prototype.decode = function (image, hints) {\n this.setHints(hints);\n return this.decodeInternal(image);\n };\n /**\n * Decode an image using the state set up by calling setHints() previously. Continuous scan\n * clients will get a large speed increase by using this instead of decode().\n *\n * @param image The pixel data to decode\n * @return The contents of the image\n *\n * @throws NotFoundException Any errors which occurred\n */\n MultiFormatReader.prototype.decodeWithState = function (image) {\n // Make sure to set up the default state so we don't crash\n if (this.readers === null || this.readers === undefined) {\n this.setHints(null);\n }\n return this.decodeInternal(image);\n };\n /**\n * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls\n * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This\n * is important for performance in continuous scan clients.\n *\n * @param hints The set of hints to use for subsequent calls to decode(image)\n */\n MultiFormatReader.prototype.setHints = function (hints) {\n this.hints = hints;\n var tryHarder = hints !== null && hints !== undefined && undefined !== hints.get(DecodeHintType.TRY_HARDER);\n /*@SuppressWarnings(\"unchecked\")*/\n var formats = hints === null || hints === undefined ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS);\n var readers = new Array();\n if (formats !== null && formats !== undefined) {\n var addOneDReader = formats.some(function (f) {\n return f === BarcodeFormat.UPC_A ||\n f === BarcodeFormat.UPC_E ||\n f === BarcodeFormat.EAN_13 ||\n f === BarcodeFormat.EAN_8 ||\n f === BarcodeFormat.CODABAR ||\n f === BarcodeFormat.CODE_39 ||\n f === BarcodeFormat.CODE_93 ||\n f === BarcodeFormat.CODE_128 ||\n f === BarcodeFormat.ITF ||\n f === BarcodeFormat.RSS_14 ||\n f === BarcodeFormat.RSS_EXPANDED;\n });\n // Put 1D readers upfront in \"normal\" mode\n // TYPESCRIPTPORT: TODO: uncomment below as they are ported\n if (addOneDReader && !tryHarder) {\n readers.push(new MultiFormatOneDReader(hints));\n }\n if (formats.includes(BarcodeFormat.QR_CODE)) {\n readers.push(new QRCodeReader());\n }\n if (formats.includes(BarcodeFormat.DATA_MATRIX)) {\n readers.push(new DataMatrixReader());\n }\n if (formats.includes(BarcodeFormat.AZTEC)) {\n readers.push(new AztecReader());\n }\n if (formats.includes(BarcodeFormat.PDF_417)) {\n readers.push(new PDF417Reader());\n }\n // if (formats.includes(BarcodeFormat.MAXICODE)) {\n // readers.push(new MaxiCodeReader())\n // }\n // At end in \"try harder\" mode\n if (addOneDReader && tryHarder) {\n readers.push(new MultiFormatOneDReader(hints));\n }\n }\n if (readers.length === 0) {\n if (!tryHarder) {\n readers.push(new MultiFormatOneDReader(hints));\n }\n readers.push(new QRCodeReader());\n readers.push(new DataMatrixReader());\n readers.push(new AztecReader());\n readers.push(new PDF417Reader());\n // readers.push(new MaxiCodeReader())\n if (tryHarder) {\n readers.push(new MultiFormatOneDReader(hints));\n }\n }\n this.readers = readers; // .toArray(new Reader[readers.size()])\n };\n /*@Override*/\n MultiFormatReader.prototype.reset = function () {\n var e_1, _a;\n if (this.readers !== null) {\n try {\n for (var _b = __values(this.readers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var reader = _c.value;\n reader.reset();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n };\n /**\n * @throws NotFoundException\n */\n MultiFormatReader.prototype.decodeInternal = function (image) {\n var e_2, _a;\n if (this.readers === null) {\n throw new ReaderException('No readers where selected, nothing can be read.');\n }\n try {\n for (var _b = __values(this.readers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var reader = _c.value;\n // Trying to decode with ${reader} reader.\n try {\n return reader.decode(image, this.hints);\n }\n catch (ex) {\n if (ex instanceof ReaderException) {\n continue;\n }\n // Bad Exception.\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n throw new NotFoundException('No MultiFormat Readers were able to detect the code.');\n };\n return MultiFormatReader;\n}());\nexport default MultiFormatReader;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BrowserCodeReader } from './BrowserCodeReader';\nimport MultiFormatReader from '../core/MultiFormatReader';\nvar BrowserMultiFormatReader = /** @class */ (function (_super) {\n __extends(BrowserMultiFormatReader, _super);\n function BrowserMultiFormatReader(hints, timeBetweenScansMillis) {\n if (hints === void 0) { hints = null; }\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n var _this = this;\n var reader = new MultiFormatReader();\n reader.setHints(hints);\n _this = _super.call(this, reader, timeBetweenScansMillis) || this;\n return _this;\n }\n /**\n * Overwrite decodeBitmap to call decodeWithState, which will pay\n * attention to the hints set in the constructor function\n */\n BrowserMultiFormatReader.prototype.decodeBitmap = function (binaryBitmap) {\n return this.reader.decodeWithState(binaryBitmap);\n };\n return BrowserMultiFormatReader;\n}(BrowserCodeReader));\nexport { BrowserMultiFormatReader };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BrowserCodeReader } from './BrowserCodeReader';\nimport PDF417Reader from '../core/pdf417/PDF417Reader';\n/**\n * @deprecated Moving to @zxing/browser\n *\n * QR Code reader to use from browser.\n */\nvar BrowserPDF417Reader = /** @class */ (function (_super) {\n __extends(BrowserPDF417Reader, _super);\n /**\n * Creates an instance of BrowserPDF417Reader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n */\n function BrowserPDF417Reader(timeBetweenScansMillis) {\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n return _super.call(this, new PDF417Reader(), timeBetweenScansMillis) || this;\n }\n return BrowserPDF417Reader;\n}(BrowserCodeReader));\nexport { BrowserPDF417Reader };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BrowserCodeReader } from './BrowserCodeReader';\nimport QRCodeReader from '../core/qrcode/QRCodeReader';\n/**\n * @deprecated Moving to @zxing/browser\n *\n * QR Code reader to use from browser.\n */\nvar BrowserQRCodeReader = /** @class */ (function (_super) {\n __extends(BrowserQRCodeReader, _super);\n /**\n * Creates an instance of BrowserQRCodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n */\n function BrowserQRCodeReader(timeBetweenScansMillis) {\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n return _super.call(this, new QRCodeReader(), timeBetweenScansMillis) || this;\n }\n return BrowserQRCodeReader;\n}(BrowserCodeReader));\nexport { BrowserQRCodeReader };\n","var _a;\n/**\n * Lookup table which factors to use for which number of error correction codewords.\n * See FACTORS.\n */\nexport var FACTOR_SETS = [\n 5, 7, 10, 11, 12, 14, 18, 20, 24, 28, 36, 42, 48, 56, 62, 68,\n];\n/**\n * Precomputed polynomial factors for ECC 200.\n */\nexport var FACTORS = [\n [228, 48, 15, 111, 62],\n [23, 68, 144, 134, 240, 92, 254],\n [28, 24, 185, 166, 223, 248, 116, 255, 110, 61],\n [175, 138, 205, 12, 194, 168, 39, 245, 60, 97, 120],\n [41, 153, 158, 91, 61, 42, 142, 213, 97, 178, 100, 242],\n [156, 97, 192, 252, 95, 9, 157, 119, 138, 45, 18, 186, 83, 185],\n [\n 83, 195, 100, 39, 188, 75, 66, 61, 241, 213, 109, 129, 94, 254, 225, 48, 90,\n 188,\n ],\n [\n 15, 195, 244, 9, 233, 71, 168, 2, 188, 160, 153, 145, 253, 79, 108, 82, 27,\n 174, 186, 172,\n ],\n [\n 52, 190, 88, 205, 109, 39, 176, 21, 155, 197, 251, 223, 155, 21, 5, 172,\n 254, 124, 12, 181, 184, 96, 50, 193,\n ],\n [\n 211, 231, 43, 97, 71, 96, 103, 174, 37, 151, 170, 53, 75, 34, 249, 121, 17,\n 138, 110, 213, 141, 136, 120, 151, 233, 168, 93, 255,\n ],\n [\n 245, 127, 242, 218, 130, 250, 162, 181, 102, 120, 84, 179, 220, 251, 80,\n 182, 229, 18, 2, 4, 68, 33, 101, 137, 95, 119, 115, 44, 175, 184, 59, 25,\n 225, 98, 81, 112,\n ],\n [\n 77, 193, 137, 31, 19, 38, 22, 153, 247, 105, 122, 2, 245, 133, 242, 8, 175,\n 95, 100, 9, 167, 105, 214, 111, 57, 121, 21, 1, 253, 57, 54, 101, 248, 202,\n 69, 50, 150, 177, 226, 5, 9, 5,\n ],\n [\n 245, 132, 172, 223, 96, 32, 117, 22, 238, 133, 238, 231, 205, 188, 237, 87,\n 191, 106, 16, 147, 118, 23, 37, 90, 170, 205, 131, 88, 120, 100, 66, 138,\n 186, 240, 82, 44, 176, 87, 187, 147, 160, 175, 69, 213, 92, 253, 225, 19,\n ],\n [\n 175, 9, 223, 238, 12, 17, 220, 208, 100, 29, 175, 170, 230, 192, 215, 235,\n 150, 159, 36, 223, 38, 200, 132, 54, 228, 146, 218, 234, 117, 203, 29, 232,\n 144, 238, 22, 150, 201, 117, 62, 207, 164, 13, 137, 245, 127, 67, 247, 28,\n 155, 43, 203, 107, 233, 53, 143, 46,\n ],\n [\n 242, 93, 169, 50, 144, 210, 39, 118, 202, 188, 201, 189, 143, 108, 196, 37,\n 185, 112, 134, 230, 245, 63, 197, 190, 250, 106, 185, 221, 175, 64, 114, 71,\n 161, 44, 147, 6, 27, 218, 51, 63, 87, 10, 40, 130, 188, 17, 163, 31, 176,\n 170, 4, 107, 232, 7, 94, 166, 224, 124, 86, 47, 11, 204,\n ],\n [\n 220, 228, 173, 89, 251, 149, 159, 56, 89, 33, 147, 244, 154, 36, 73, 127,\n 213, 136, 248, 180, 234, 197, 158, 177, 68, 122, 93, 213, 15, 160, 227, 236,\n 66, 139, 153, 185, 202, 167, 179, 25, 220, 232, 96, 210, 231, 136, 223, 239,\n 181, 241, 59, 52, 172, 25, 49, 232, 211, 189, 64, 54, 108, 153, 132, 63, 96,\n 103, 82, 186,\n ],\n];\nexport var /*final*/ MODULO_VALUE = 0x12d;\nvar static_LOG = function (LOG, ALOG) {\n var p = 1;\n for (var i = 0; i < 255; i++) {\n ALOG[i] = p;\n LOG[p] = i;\n p *= 2;\n if (p >= 256) {\n p ^= MODULO_VALUE;\n }\n }\n return {\n LOG: LOG,\n ALOG: ALOG,\n };\n};\nexport var LOG = (_a = static_LOG([], []), _a.LOG), ALOG = _a.ALOG;\nexport var SymbolShapeHint;\n(function (SymbolShapeHint) {\n SymbolShapeHint[SymbolShapeHint[\"FORCE_NONE\"] = 0] = \"FORCE_NONE\";\n SymbolShapeHint[SymbolShapeHint[\"FORCE_SQUARE\"] = 1] = \"FORCE_SQUARE\";\n SymbolShapeHint[SymbolShapeHint[\"FORCE_RECTANGLE\"] = 2] = \"FORCE_RECTANGLE\";\n})(SymbolShapeHint || (SymbolShapeHint = {}));\n/**\n * Padding character\n */\nexport var PAD = 129;\n/**\n * mode latch to C40 encodation mode\n */\nexport var LATCH_TO_C40 = 230;\n/**\n * mode latch to Base 256 encodation mode\n */\nexport var LATCH_TO_BASE256 = 231;\n/**\n * FNC1 Codeword\n */\n// private static FNC1 = 232;\n/**\n * Structured Append Codeword\n */\n// private static STRUCTURED_APPEND = 233;\n/**\n * Reader Programming\n */\n// private static READER_PROGRAMMING = 234;\n/**\n * Upper Shift\n */\nexport var UPPER_SHIFT = 235;\n/**\n * 05 Macro\n */\nexport var MACRO_05 = 236;\n/**\n * 06 Macro\n */\nexport var MACRO_06 = 237;\n/**\n * mode latch to ANSI X.12 encodation mode\n */\nexport var LATCH_TO_ANSIX12 = 238;\n/**\n * mode latch to Text encodation mode\n */\nexport var LATCH_TO_TEXT = 239;\n/**\n * mode latch to EDIFACT encodation mode\n */\nexport var LATCH_TO_EDIFACT = 240;\n/**\n * ECI character (Extended Channel Interpretation)\n */\n// private export const ECI = 241;\n/**\n * Unlatch from C40 encodation\n */\nexport var C40_UNLATCH = 254;\n/**\n * Unlatch from X12 encodation\n */\nexport var X12_UNLATCH = 254;\n/**\n * 05 Macro header\n */\nexport var MACRO_05_HEADER = '[)>\\u001E05\\u001D';\n/**\n * 06 Macro header\n */\nexport var MACRO_06_HEADER = '[)>\\u001E06\\u001D';\n/**\n * Macro trailer\n */\nexport var MACRO_TRAILER = '\\u001E\\u0004';\nexport var ASCII_ENCODATION = 0;\nexport var C40_ENCODATION = 1;\nexport var TEXT_ENCODATION = 2;\nexport var X12_ENCODATION = 3;\nexport var EDIFACT_ENCODATION = 4;\nexport var BASE256_ENCODATION = 5;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport GenericGFPoly from './GenericGFPoly';\nimport System from '../../util/System';\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n *

Implements Reed-Solomon encoding, as the name implies.

\n *\n * @author Sean Owen\n * @author William Rucklidge\n */\nvar ReedSolomonEncoder = /** @class */ (function () {\n /**\n * A reed solomon error-correcting encoding constructor is created by\n * passing as Galois Field with of size equal to the number of code\n * words (symbols) in the alphabet (the number of values in each\n * element of arrays that are encoded/decoded).\n * @param field A galois field with a number of elements equal to the size\n * of the alphabet of symbols to encode.\n */\n function ReedSolomonEncoder(field) {\n this.field = field;\n this.cachedGenerators = [];\n this.cachedGenerators.push(new GenericGFPoly(field, Int32Array.from([1])));\n }\n ReedSolomonEncoder.prototype.buildGenerator = function (degree /*int*/) {\n var cachedGenerators = this.cachedGenerators;\n if (degree >= cachedGenerators.length) {\n var lastGenerator = cachedGenerators[cachedGenerators.length - 1];\n var field = this.field;\n for (var d = cachedGenerators.length; d <= degree; d++) {\n var nextGenerator = lastGenerator.multiply(new GenericGFPoly(field, Int32Array.from([1, field.exp(d - 1 + field.getGeneratorBase())])));\n cachedGenerators.push(nextGenerator);\n lastGenerator = nextGenerator;\n }\n }\n return cachedGenerators[degree];\n };\n /**\n *

Encode a sequence of code words (symbols) using Reed-Solomon to allow decoders\n * to detect and correct errors that may have been introduced when the resulting\n * data is stored or transmitted.

\n *\n * @param toEncode array used for both and output. Caller initializes the array with\n * the code words (symbols) to be encoded followed by empty elements allocated to make\n * space for error-correction code words in the encoded output. The array contains\n * the encdoded output when encode returns. Code words are encoded as numbers from\n * 0 to n-1, where n is the number of possible code words (symbols), as determined\n * by the size of the Galois Field passed in the constructor of this object.\n * @param ecBytes the number of elements reserved in the array (first parameter)\n * to store error-correction code words. Thus, the number of code words (symbols)\n * to encode in the first parameter is thus toEncode.length - ecBytes.\n * Note, the use of \"bytes\" in the name of this parameter is misleading, as there may\n * be more or fewer than 256 symbols being encoded, as determined by the number of\n * elements in the Galois Field passed as a constructor to this object.\n * @throws IllegalArgumentException thrown in response to validation errros.\n */\n ReedSolomonEncoder.prototype.encode = function (toEncode, ecBytes /*int*/) {\n if (ecBytes === 0) {\n throw new IllegalArgumentException('No error correction bytes');\n }\n var dataBytes = toEncode.length - ecBytes;\n if (dataBytes <= 0) {\n throw new IllegalArgumentException('No data bytes provided');\n }\n var generator = this.buildGenerator(ecBytes);\n var infoCoefficients = new Int32Array(dataBytes);\n System.arraycopy(toEncode, 0, infoCoefficients, 0, dataBytes);\n var info = new GenericGFPoly(this.field, infoCoefficients);\n info = info.multiplyByMonomial(ecBytes, 1);\n var remainder = info.divide(generator)[1];\n var coefficients = remainder.getCoefficients();\n var numZeroCoefficients = ecBytes - coefficients.length;\n for (var i = 0; i < numZeroCoefficients; i++) {\n toEncode[dataBytes + i] = 0;\n }\n System.arraycopy(coefficients, 0, toEncode, dataBytes + numZeroCoefficients, coefficients.length);\n };\n return ReedSolomonEncoder;\n}());\nexport default ReedSolomonEncoder;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n * @author Satoru Takabayashi\n * @author Daniel Switkin\n * @author Sean Owen\n */\nvar MaskUtil = /** @class */ (function () {\n function MaskUtil() {\n // do nothing\n }\n /**\n * Apply mask penalty rule 1 and return the penalty. Find repetitive cells with the same color and\n * give penalty to them. Example: 00000 or 11111.\n */\n MaskUtil.applyMaskPenaltyRule1 = function (matrix) {\n return MaskUtil.applyMaskPenaltyRule1Internal(matrix, true) + MaskUtil.applyMaskPenaltyRule1Internal(matrix, false);\n };\n /**\n * Apply mask penalty rule 2 and return the penalty. Find 2x2 blocks with the same color and give\n * penalty to them. This is actually equivalent to the spec's rule, which is to find MxN blocks and give a\n * penalty proportional to (M-1)x(N-1), because this is the number of 2x2 blocks inside such a block.\n */\n MaskUtil.applyMaskPenaltyRule2 = function (matrix) {\n var penalty = 0;\n var array = matrix.getArray();\n var width = matrix.getWidth();\n var height = matrix.getHeight();\n for (var y = 0; y < height - 1; y++) {\n var arrayY = array[y];\n for (var x = 0; x < width - 1; x++) {\n var value = arrayY[x];\n if (value === arrayY[x + 1] && value === array[y + 1][x] && value === array[y + 1][x + 1]) {\n penalty++;\n }\n }\n }\n return MaskUtil.N2 * penalty;\n };\n /**\n * Apply mask penalty rule 3 and return the penalty. Find consecutive runs of 1:1:3:1:1:4\n * starting with black, or 4:1:1:3:1:1 starting with white, and give penalty to them. If we\n * find patterns like 000010111010000, we give penalty once.\n */\n MaskUtil.applyMaskPenaltyRule3 = function (matrix) {\n var numPenalties = 0;\n var array = matrix.getArray();\n var width = matrix.getWidth();\n var height = matrix.getHeight();\n for (var y = 0; y < height; y++) {\n for (var x = 0; x < width; x++) {\n var arrayY = array[y]; // We can at least optimize this access\n if (x + 6 < width &&\n arrayY[x] === 1 &&\n arrayY[x + 1] === 0 &&\n arrayY[x + 2] === 1 &&\n arrayY[x + 3] === 1 &&\n arrayY[x + 4] === 1 &&\n arrayY[x + 5] === 0 &&\n arrayY[x + 6] === 1 &&\n (MaskUtil.isWhiteHorizontal(arrayY, x - 4, x) || MaskUtil.isWhiteHorizontal(arrayY, x + 7, x + 11))) {\n numPenalties++;\n }\n if (y + 6 < height &&\n array[y][x] === 1 &&\n array[y + 1][x] === 0 &&\n array[y + 2][x] === 1 &&\n array[y + 3][x] === 1 &&\n array[y + 4][x] === 1 &&\n array[y + 5][x] === 0 &&\n array[y + 6][x] === 1 &&\n (MaskUtil.isWhiteVertical(array, x, y - 4, y) || MaskUtil.isWhiteVertical(array, x, y + 7, y + 11))) {\n numPenalties++;\n }\n }\n }\n return numPenalties * MaskUtil.N3;\n };\n MaskUtil.isWhiteHorizontal = function (rowArray, from /*int*/, to /*int*/) {\n from = Math.max(from, 0);\n to = Math.min(to, rowArray.length);\n for (var i = from; i < to; i++) {\n if (rowArray[i] === 1) {\n return false;\n }\n }\n return true;\n };\n MaskUtil.isWhiteVertical = function (array, col /*int*/, from /*int*/, to /*int*/) {\n from = Math.max(from, 0);\n to = Math.min(to, array.length);\n for (var i = from; i < to; i++) {\n if (array[i][col] === 1) {\n return false;\n }\n }\n return true;\n };\n /**\n * Apply mask penalty rule 4 and return the penalty. Calculate the ratio of dark cells and give\n * penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.\n */\n MaskUtil.applyMaskPenaltyRule4 = function (matrix) {\n var numDarkCells = 0;\n var array = matrix.getArray();\n var width = matrix.getWidth();\n var height = matrix.getHeight();\n for (var y = 0; y < height; y++) {\n var arrayY = array[y];\n for (var x = 0; x < width; x++) {\n if (arrayY[x] === 1) {\n numDarkCells++;\n }\n }\n }\n var numTotalCells = matrix.getHeight() * matrix.getWidth();\n var fivePercentVariances = Math.floor(Math.abs(numDarkCells * 2 - numTotalCells) * 10 / numTotalCells);\n return fivePercentVariances * MaskUtil.N4;\n };\n /**\n * Return the mask bit for \"getMaskPattern\" at \"x\" and \"y\". See 8.8 of JISX0510:2004 for mask\n * pattern conditions.\n */\n MaskUtil.getDataMaskBit = function (maskPattern /*int*/, x /*int*/, y /*int*/) {\n var intermediate; /*int*/\n var temp; /*int*/\n switch (maskPattern) {\n case 0:\n intermediate = (y + x) & 0x1;\n break;\n case 1:\n intermediate = y & 0x1;\n break;\n case 2:\n intermediate = x % 3;\n break;\n case 3:\n intermediate = (y + x) % 3;\n break;\n case 4:\n intermediate = (Math.floor(y / 2) + Math.floor(x / 3)) & 0x1;\n break;\n case 5:\n temp = y * x;\n intermediate = (temp & 0x1) + (temp % 3);\n break;\n case 6:\n temp = y * x;\n intermediate = ((temp & 0x1) + (temp % 3)) & 0x1;\n break;\n case 7:\n temp = y * x;\n intermediate = ((temp % 3) + ((y + x) & 0x1)) & 0x1;\n break;\n default:\n throw new IllegalArgumentException('Invalid mask pattern: ' + maskPattern);\n }\n return intermediate === 0;\n };\n /**\n * Helper function for applyMaskPenaltyRule1. We need this for doing this calculation in both\n * vertical and horizontal orders respectively.\n */\n MaskUtil.applyMaskPenaltyRule1Internal = function (matrix, isHorizontal) {\n var penalty = 0;\n var iLimit = isHorizontal ? matrix.getHeight() : matrix.getWidth();\n var jLimit = isHorizontal ? matrix.getWidth() : matrix.getHeight();\n var array = matrix.getArray();\n for (var i = 0; i < iLimit; i++) {\n var numSameBitCells = 0;\n var prevBit = -1;\n for (var j = 0; j < jLimit; j++) {\n var bit = isHorizontal ? array[i][j] : array[j][i];\n if (bit === prevBit) {\n numSameBitCells++;\n }\n else {\n if (numSameBitCells >= 5) {\n penalty += MaskUtil.N1 + (numSameBitCells - 5);\n }\n numSameBitCells = 1; // Include the cell itself.\n prevBit = bit;\n }\n }\n if (numSameBitCells >= 5) {\n penalty += MaskUtil.N1 + (numSameBitCells - 5);\n }\n }\n return penalty;\n };\n // Penalty weights from section 6.8.2.1\n MaskUtil.N1 = 3;\n MaskUtil.N2 = 3;\n MaskUtil.N3 = 40;\n MaskUtil.N4 = 10;\n return MaskUtil;\n}());\nexport default MaskUtil;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.encoder {*/\n/*import java.util.Arrays;*/\nimport Arrays from '../../util/Arrays';\nimport StringBuilder from '../../util/StringBuilder';\n/**\n * JAVAPORT: The original code was a 2D array of ints, but since it only ever gets assigned\n * -1, 0, and 1, I'm going to use less memory and go with bytes.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar ByteMatrix = /** @class */ (function () {\n function ByteMatrix(width /*int*/, height /*int*/) {\n this.width = width;\n this.height = height;\n var bytes = new Array(height); // [height][width]\n for (var i = 0; i !== height; i++) {\n bytes[i] = new Uint8Array(width);\n }\n this.bytes = bytes;\n }\n ByteMatrix.prototype.getHeight = function () {\n return this.height;\n };\n ByteMatrix.prototype.getWidth = function () {\n return this.width;\n };\n ByteMatrix.prototype.get = function (x /*int*/, y /*int*/) {\n return this.bytes[y][x];\n };\n /**\n * @return an internal representation as bytes, in row-major order. array[y][x] represents point (x,y)\n */\n ByteMatrix.prototype.getArray = function () {\n return this.bytes;\n };\n // TYPESCRIPTPORT: preffer to let two methods instead of override to avoid type comparison inside\n ByteMatrix.prototype.setNumber = function (x /*int*/, y /*int*/, value /*byte|int*/) {\n this.bytes[y][x] = value;\n };\n // public set(x: number /*int*/, y: number /*int*/, value: number /*int*/): void {\n // bytes[y][x] = (byte) value\n // }\n ByteMatrix.prototype.setBoolean = function (x /*int*/, y /*int*/, value) {\n this.bytes[y][x] = /*(byte) */ (value ? 1 : 0);\n };\n ByteMatrix.prototype.clear = function (value /*byte*/) {\n var e_1, _a;\n try {\n for (var _b = __values(this.bytes), _c = _b.next(); !_c.done; _c = _b.next()) {\n var aByte = _c.value;\n Arrays.fill(aByte, value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n ByteMatrix.prototype.equals = function (o) {\n if (!(o instanceof ByteMatrix)) {\n return false;\n }\n var other = o;\n if (this.width !== other.width) {\n return false;\n }\n if (this.height !== other.height) {\n return false;\n }\n for (var y = 0, height = this.height; y < height; ++y) {\n var bytesY = this.bytes[y];\n var otherBytesY = other.bytes[y];\n for (var x = 0, width = this.width; x < width; ++x) {\n if (bytesY[x] !== otherBytesY[x]) {\n return false;\n }\n }\n }\n return true;\n };\n /*@Override*/\n ByteMatrix.prototype.toString = function () {\n var result = new StringBuilder(); // (2 * width * height + 2)\n for (var y = 0, height = this.height; y < height; ++y) {\n var bytesY = this.bytes[y];\n for (var x = 0, width = this.width; x < width; ++x) {\n switch (bytesY[x]) {\n case 0:\n result.append(' 0');\n break;\n case 1:\n result.append(' 1');\n break;\n default:\n result.append(' ');\n break;\n }\n }\n result.append('\\n');\n }\n return result.toString();\n };\n return ByteMatrix;\n}());\nexport default ByteMatrix;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport StringBuilder from '../../util/StringBuilder';\n/**\n * @author satorux@google.com (Satoru Takabayashi) - creator\n * @author dswitkin@google.com (Daniel Switkin) - ported from C++\n */\nvar QRCode = /** @class */ (function () {\n function QRCode() {\n this.maskPattern = -1;\n }\n QRCode.prototype.getMode = function () {\n return this.mode;\n };\n QRCode.prototype.getECLevel = function () {\n return this.ecLevel;\n };\n QRCode.prototype.getVersion = function () {\n return this.version;\n };\n QRCode.prototype.getMaskPattern = function () {\n return this.maskPattern;\n };\n QRCode.prototype.getMatrix = function () {\n return this.matrix;\n };\n /*@Override*/\n QRCode.prototype.toString = function () {\n var result = new StringBuilder(); // (200)\n result.append('<<\\n');\n result.append(' mode: ');\n result.append(this.mode ? this.mode.toString() : 'null');\n result.append('\\n ecLevel: ');\n result.append(this.ecLevel ? this.ecLevel.toString() : 'null');\n result.append('\\n version: ');\n result.append(this.version ? this.version.toString() : 'null');\n result.append('\\n maskPattern: ');\n result.append(this.maskPattern.toString());\n if (this.matrix) {\n result.append('\\n matrix:\\n');\n result.append(this.matrix.toString());\n }\n else {\n result.append('\\n matrix: null\\n');\n }\n result.append('>>\\n');\n return result.toString();\n };\n QRCode.prototype.setMode = function (value) {\n this.mode = value;\n };\n QRCode.prototype.setECLevel = function (value) {\n this.ecLevel = value;\n };\n QRCode.prototype.setVersion = function (version) {\n this.version = version;\n };\n QRCode.prototype.setMaskPattern = function (value /*int*/) {\n this.maskPattern = value;\n };\n QRCode.prototype.setMatrix = function (value) {\n this.matrix = value;\n };\n // Check if \"mask_pattern\" is valid.\n QRCode.isValidMaskPattern = function (maskPattern /*int*/) {\n return maskPattern >= 0 && maskPattern < QRCode.NUM_MASK_PATTERNS;\n };\n QRCode.NUM_MASK_PATTERNS = 8;\n return QRCode;\n}());\nexport default QRCode;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar WriterException = /** @class */ (function (_super) {\n __extends(WriterException, _super);\n function WriterException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n WriterException.kind = 'WriterException';\n return WriterException;\n}(Exception));\nexport default WriterException;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.qrcode.encoder {*/\nimport BitArray from '../../common/BitArray';\nimport Integer from '../../util/Integer';\nimport QRCode from './QRCode';\nimport MaskUtil from './MaskUtil';\nimport WriterException from '../../WriterException';\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n * @author satorux@google.com (Satoru Takabayashi) - creator\n * @author dswitkin@google.com (Daniel Switkin) - ported from C++\n */\nvar MatrixUtil = /** @class */ (function () {\n function MatrixUtil() {\n // do nothing\n }\n // Set all cells to -1 (TYPESCRIPTPORT: 255). -1 (TYPESCRIPTPORT: 255) means that the cell is empty (not set yet).\n //\n // JAVAPORT: We shouldn't need to do this at all. The code should be rewritten to begin encoding\n // with the ByteMatrix initialized all to zero.\n MatrixUtil.clearMatrix = function (matrix) {\n // TYPESCRIPTPORT: we use UintArray se changed here from -1 to 255\n matrix.clear(/*(byte) */ /*-1*/ 255);\n };\n // Build 2D matrix of QR Code from \"dataBits\" with \"ecLevel\", \"version\" and \"getMaskPattern\". On\n // success, store the result in \"matrix\" and return true.\n MatrixUtil.buildMatrix = function (dataBits, ecLevel, version, maskPattern /*int*/, matrix) {\n MatrixUtil.clearMatrix(matrix);\n MatrixUtil.embedBasicPatterns(version, matrix);\n // Type information appear with any version.\n MatrixUtil.embedTypeInfo(ecLevel, maskPattern, matrix);\n // Version info appear if version >= 7.\n MatrixUtil.maybeEmbedVersionInfo(version, matrix);\n // Data should be embedded at end.\n MatrixUtil.embedDataBits(dataBits, maskPattern, matrix);\n };\n // Embed basic patterns. On success, modify the matrix and return true.\n // The basic patterns are:\n // - Position detection patterns\n // - Timing patterns\n // - Dark dot at the left bottom corner\n // - Position adjustment patterns, if need be\n MatrixUtil.embedBasicPatterns = function (version, matrix) {\n // Let's get started with embedding big squares at corners.\n MatrixUtil.embedPositionDetectionPatternsAndSeparators(matrix);\n // Then, embed the dark dot at the left bottom corner.\n MatrixUtil.embedDarkDotAtLeftBottomCorner(matrix);\n // Position adjustment patterns appear if version >= 2.\n MatrixUtil.maybeEmbedPositionAdjustmentPatterns(version, matrix);\n // Timing patterns should be embedded after position adj. patterns.\n MatrixUtil.embedTimingPatterns(matrix);\n };\n // Embed type information. On success, modify the matrix.\n MatrixUtil.embedTypeInfo = function (ecLevel, maskPattern /*int*/, matrix) {\n var typeInfoBits = new BitArray();\n MatrixUtil.makeTypeInfoBits(ecLevel, maskPattern, typeInfoBits);\n for (var i = 0, size = typeInfoBits.getSize(); i < size; ++i) {\n // Place bits in LSB to MSB order. LSB (least significant bit) is the last value in\n // \"typeInfoBits\".\n var bit = typeInfoBits.get(typeInfoBits.getSize() - 1 - i);\n // Type info bits at the left top corner. See 8.9 of JISX0510:2004 (p.46).\n var coordinates = MatrixUtil.TYPE_INFO_COORDINATES[i];\n var x1 = coordinates[0];\n var y1 = coordinates[1];\n matrix.setBoolean(x1, y1, bit);\n if (i < 8) {\n // Right top corner.\n var x2 = matrix.getWidth() - i - 1;\n var y2 = 8;\n matrix.setBoolean(x2, y2, bit);\n }\n else {\n // Left bottom corner.\n var x2 = 8;\n var y2 = matrix.getHeight() - 7 + (i - 8);\n matrix.setBoolean(x2, y2, bit);\n }\n }\n };\n // Embed version information if need be. On success, modify the matrix and return true.\n // See 8.10 of JISX0510:2004 (p.47) for how to embed version information.\n MatrixUtil.maybeEmbedVersionInfo = function (version, matrix) {\n if (version.getVersionNumber() < 7) { // Version info is necessary if version >= 7.\n return; // Don't need version info.\n }\n var versionInfoBits = new BitArray();\n MatrixUtil.makeVersionInfoBits(version, versionInfoBits);\n var bitIndex = 6 * 3 - 1; // It will decrease from 17 to 0.\n for (var i = 0; i < 6; ++i) {\n for (var j = 0; j < 3; ++j) {\n // Place bits in LSB (least significant bit) to MSB order.\n var bit = versionInfoBits.get(bitIndex);\n bitIndex--;\n // Left bottom corner.\n matrix.setBoolean(i, matrix.getHeight() - 11 + j, bit);\n // Right bottom corner.\n matrix.setBoolean(matrix.getHeight() - 11 + j, i, bit);\n }\n }\n };\n // Embed \"dataBits\" using \"getMaskPattern\". On success, modify the matrix and return true.\n // For debugging purposes, it skips masking process if \"getMaskPattern\" is -1(TYPESCRIPTPORT: 255).\n // See 8.7 of JISX0510:2004 (p.38) for how to embed data bits.\n MatrixUtil.embedDataBits = function (dataBits, maskPattern /*int*/, matrix) {\n var bitIndex = 0;\n var direction = -1;\n // Start from the right bottom cell.\n var x = matrix.getWidth() - 1;\n var y = matrix.getHeight() - 1;\n while (x > 0) {\n // Skip the vertical timing pattern.\n if (x === 6) {\n x -= 1;\n }\n while (y >= 0 && y < matrix.getHeight()) {\n for (var i = 0; i < 2; ++i) {\n var xx = x - i;\n // Skip the cell if it's not empty.\n if (!MatrixUtil.isEmpty(matrix.get(xx, y))) {\n continue;\n }\n var bit = void 0;\n if (bitIndex < dataBits.getSize()) {\n bit = dataBits.get(bitIndex);\n ++bitIndex;\n }\n else {\n // Padding bit. If there is no bit left, we'll fill the left cells with 0, as described\n // in 8.4.9 of JISX0510:2004 (p. 24).\n bit = false;\n }\n // Skip masking if mask_pattern is -1 (TYPESCRIPTPORT: 255).\n if (maskPattern !== 255 && MaskUtil.getDataMaskBit(maskPattern, xx, y)) {\n bit = !bit;\n }\n matrix.setBoolean(xx, y, bit);\n }\n y += direction;\n }\n direction = -direction; // Reverse the direction.\n y += direction;\n x -= 2; // Move to the left.\n }\n // All bits should be consumed.\n if (bitIndex !== dataBits.getSize()) {\n throw new WriterException('Not all bits consumed: ' + bitIndex + '/' + dataBits.getSize());\n }\n };\n // Return the position of the most significant bit set (one: to) in the \"value\". The most\n // significant bit is position 32. If there is no bit set, return 0. Examples:\n // - findMSBSet(0) => 0\n // - findMSBSet(1) => 1\n // - findMSBSet(255) => 8\n MatrixUtil.findMSBSet = function (value /*int*/) {\n return 32 - Integer.numberOfLeadingZeros(value);\n };\n // Calculate BCH (Bose-Chaudhuri-Hocquenghem) code for \"value\" using polynomial \"poly\". The BCH\n // code is used for encoding type information and version information.\n // Example: Calculation of version information of 7.\n // f(x) is created from 7.\n // - 7 = 000111 in 6 bits\n // - f(x) = x^2 + x^1 + x^0\n // g(x) is given by the standard (p. 67)\n // - g(x) = x^12 + x^11 + x^10 + x^9 + x^8 + x^5 + x^2 + 1\n // Multiply f(x) by x^(18 - 6)\n // - f'(x) = f(x) * x^(18 - 6)\n // - f'(x) = x^14 + x^13 + x^12\n // Calculate the remainder of f'(x) / g(x)\n // x^2\n // __________________________________________________\n // g(x) )x^14 + x^13 + x^12\n // x^14 + x^13 + x^12 + x^11 + x^10 + x^7 + x^4 + x^2\n // --------------------------------------------------\n // x^11 + x^10 + x^7 + x^4 + x^2\n //\n // The remainder is x^11 + x^10 + x^7 + x^4 + x^2\n // Encode it in binary: 110010010100\n // The return value is 0xc94 (1100 1001 0100)\n //\n // Since all coefficients in the polynomials are 1 or 0, we can do the calculation by bit\n // operations. We don't care if coefficients are positive or negative.\n MatrixUtil.calculateBCHCode = function (value /*int*/, poly /*int*/) {\n if (poly === 0) {\n throw new IllegalArgumentException('0 polynomial');\n }\n // If poly is \"1 1111 0010 0101\" (version info poly), msbSetInPoly is 13. We'll subtract 1\n // from 13 to make it 12.\n var msbSetInPoly = MatrixUtil.findMSBSet(poly);\n value <<= msbSetInPoly - 1;\n // Do the division business using exclusive-or operations.\n while (MatrixUtil.findMSBSet(value) >= msbSetInPoly) {\n value ^= poly << (MatrixUtil.findMSBSet(value) - msbSetInPoly);\n }\n // Now the \"value\" is the remainder (i.e. the BCH code)\n return value;\n };\n // Make bit vector of type information. On success, store the result in \"bits\" and return true.\n // Encode error correction level and mask pattern. See 8.9 of\n // JISX0510:2004 (p.45) for details.\n MatrixUtil.makeTypeInfoBits = function (ecLevel, maskPattern /*int*/, bits) {\n if (!QRCode.isValidMaskPattern(maskPattern)) {\n throw new WriterException('Invalid mask pattern');\n }\n var typeInfo = (ecLevel.getBits() << 3) | maskPattern;\n bits.appendBits(typeInfo, 5);\n var bchCode = MatrixUtil.calculateBCHCode(typeInfo, MatrixUtil.TYPE_INFO_POLY);\n bits.appendBits(bchCode, 10);\n var maskBits = new BitArray();\n maskBits.appendBits(MatrixUtil.TYPE_INFO_MASK_PATTERN, 15);\n bits.xor(maskBits);\n if (bits.getSize() !== 15) { // Just in case.\n throw new WriterException('should not happen but we got: ' + bits.getSize());\n }\n };\n // Make bit vector of version information. On success, store the result in \"bits\" and return true.\n // See 8.10 of JISX0510:2004 (p.45) for details.\n MatrixUtil.makeVersionInfoBits = function (version, bits) {\n bits.appendBits(version.getVersionNumber(), 6);\n var bchCode = MatrixUtil.calculateBCHCode(version.getVersionNumber(), MatrixUtil.VERSION_INFO_POLY);\n bits.appendBits(bchCode, 12);\n if (bits.getSize() !== 18) { // Just in case.\n throw new WriterException('should not happen but we got: ' + bits.getSize());\n }\n };\n // Check if \"value\" is empty.\n MatrixUtil.isEmpty = function (value /*int*/) {\n return value === 255; // -1\n };\n MatrixUtil.embedTimingPatterns = function (matrix) {\n // -8 is for skipping position detection patterns (7: size), and two horizontal/vertical\n // separation patterns (1: size). Thus, 8 = 7 + 1.\n for (var i = 8; i < matrix.getWidth() - 8; ++i) {\n var bit = (i + 1) % 2;\n // Horizontal line.\n if (MatrixUtil.isEmpty(matrix.get(i, 6))) {\n matrix.setNumber(i, 6, bit);\n }\n // Vertical line.\n if (MatrixUtil.isEmpty(matrix.get(6, i))) {\n matrix.setNumber(6, i, bit);\n }\n }\n };\n // Embed the lonely dark dot at left bottom corner. JISX0510:2004 (p.46)\n MatrixUtil.embedDarkDotAtLeftBottomCorner = function (matrix) {\n if (matrix.get(8, matrix.getHeight() - 8) === 0) {\n throw new WriterException();\n }\n matrix.setNumber(8, matrix.getHeight() - 8, 1);\n };\n MatrixUtil.embedHorizontalSeparationPattern = function (xStart /*int*/, yStart /*int*/, matrix) {\n for (var x = 0; x < 8; ++x) {\n if (!MatrixUtil.isEmpty(matrix.get(xStart + x, yStart))) {\n throw new WriterException();\n }\n matrix.setNumber(xStart + x, yStart, 0);\n }\n };\n MatrixUtil.embedVerticalSeparationPattern = function (xStart /*int*/, yStart /*int*/, matrix) {\n for (var y = 0; y < 7; ++y) {\n if (!MatrixUtil.isEmpty(matrix.get(xStart, yStart + y))) {\n throw new WriterException();\n }\n matrix.setNumber(xStart, yStart + y, 0);\n }\n };\n MatrixUtil.embedPositionAdjustmentPattern = function (xStart /*int*/, yStart /*int*/, matrix) {\n for (var y = 0; y < 5; ++y) {\n var patternY = MatrixUtil.POSITION_ADJUSTMENT_PATTERN[y];\n for (var x = 0; x < 5; ++x) {\n matrix.setNumber(xStart + x, yStart + y, patternY[x]);\n }\n }\n };\n MatrixUtil.embedPositionDetectionPattern = function (xStart /*int*/, yStart /*int*/, matrix) {\n for (var y = 0; y < 7; ++y) {\n var patternY = MatrixUtil.POSITION_DETECTION_PATTERN[y];\n for (var x = 0; x < 7; ++x) {\n matrix.setNumber(xStart + x, yStart + y, patternY[x]);\n }\n }\n };\n // Embed position detection patterns and surrounding vertical/horizontal separators.\n MatrixUtil.embedPositionDetectionPatternsAndSeparators = function (matrix) {\n // Embed three big squares at corners.\n var pdpWidth = MatrixUtil.POSITION_DETECTION_PATTERN[0].length;\n // Left top corner.\n MatrixUtil.embedPositionDetectionPattern(0, 0, matrix);\n // Right top corner.\n MatrixUtil.embedPositionDetectionPattern(matrix.getWidth() - pdpWidth, 0, matrix);\n // Left bottom corner.\n MatrixUtil.embedPositionDetectionPattern(0, matrix.getWidth() - pdpWidth, matrix);\n // Embed horizontal separation patterns around the squares.\n var hspWidth = 8;\n // Left top corner.\n MatrixUtil.embedHorizontalSeparationPattern(0, hspWidth - 1, matrix);\n // Right top corner.\n MatrixUtil.embedHorizontalSeparationPattern(matrix.getWidth() - hspWidth, hspWidth - 1, matrix);\n // Left bottom corner.\n MatrixUtil.embedHorizontalSeparationPattern(0, matrix.getWidth() - hspWidth, matrix);\n // Embed vertical separation patterns around the squares.\n var vspSize = 7;\n // Left top corner.\n MatrixUtil.embedVerticalSeparationPattern(vspSize, 0, matrix);\n // Right top corner.\n MatrixUtil.embedVerticalSeparationPattern(matrix.getHeight() - vspSize - 1, 0, matrix);\n // Left bottom corner.\n MatrixUtil.embedVerticalSeparationPattern(vspSize, matrix.getHeight() - vspSize, matrix);\n };\n // Embed position adjustment patterns if need be.\n MatrixUtil.maybeEmbedPositionAdjustmentPatterns = function (version, matrix) {\n if (version.getVersionNumber() < 2) { // The patterns appear if version >= 2\n return;\n }\n var index = version.getVersionNumber() - 1;\n var coordinates = MatrixUtil.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE[index];\n for (var i = 0, length_1 = coordinates.length; i !== length_1; i++) {\n var y = coordinates[i];\n if (y >= 0) {\n for (var j = 0; j !== length_1; j++) {\n var x = coordinates[j];\n if (x >= 0 && MatrixUtil.isEmpty(matrix.get(x, y))) {\n // If the cell is unset, we embed the position adjustment pattern here.\n // -2 is necessary since the x/y coordinates point to the center of the pattern, not the\n // left top corner.\n MatrixUtil.embedPositionAdjustmentPattern(x - 2, y - 2, matrix);\n }\n }\n }\n }\n };\n MatrixUtil.POSITION_DETECTION_PATTERN = Array.from([\n Int32Array.from([1, 1, 1, 1, 1, 1, 1]),\n Int32Array.from([1, 0, 0, 0, 0, 0, 1]),\n Int32Array.from([1, 0, 1, 1, 1, 0, 1]),\n Int32Array.from([1, 0, 1, 1, 1, 0, 1]),\n Int32Array.from([1, 0, 1, 1, 1, 0, 1]),\n Int32Array.from([1, 0, 0, 0, 0, 0, 1]),\n Int32Array.from([1, 1, 1, 1, 1, 1, 1]),\n ]);\n MatrixUtil.POSITION_ADJUSTMENT_PATTERN = Array.from([\n Int32Array.from([1, 1, 1, 1, 1]),\n Int32Array.from([1, 0, 0, 0, 1]),\n Int32Array.from([1, 0, 1, 0, 1]),\n Int32Array.from([1, 0, 0, 0, 1]),\n Int32Array.from([1, 1, 1, 1, 1]),\n ]);\n // From Appendix E. Table 1, JIS0510X:2004 (71: p). The table was double-checked by komatsu.\n MatrixUtil.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE = Array.from([\n Int32Array.from([-1, -1, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 18, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 22, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 26, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 30, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 34, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 22, 38, -1, -1, -1, -1]),\n Int32Array.from([6, 24, 42, -1, -1, -1, -1]),\n Int32Array.from([6, 26, 46, -1, -1, -1, -1]),\n Int32Array.from([6, 28, 50, -1, -1, -1, -1]),\n Int32Array.from([6, 30, 54, -1, -1, -1, -1]),\n Int32Array.from([6, 32, 58, -1, -1, -1, -1]),\n Int32Array.from([6, 34, 62, -1, -1, -1, -1]),\n Int32Array.from([6, 26, 46, 66, -1, -1, -1]),\n Int32Array.from([6, 26, 48, 70, -1, -1, -1]),\n Int32Array.from([6, 26, 50, 74, -1, -1, -1]),\n Int32Array.from([6, 30, 54, 78, -1, -1, -1]),\n Int32Array.from([6, 30, 56, 82, -1, -1, -1]),\n Int32Array.from([6, 30, 58, 86, -1, -1, -1]),\n Int32Array.from([6, 34, 62, 90, -1, -1, -1]),\n Int32Array.from([6, 28, 50, 72, 94, -1, -1]),\n Int32Array.from([6, 26, 50, 74, 98, -1, -1]),\n Int32Array.from([6, 30, 54, 78, 102, -1, -1]),\n Int32Array.from([6, 28, 54, 80, 106, -1, -1]),\n Int32Array.from([6, 32, 58, 84, 110, -1, -1]),\n Int32Array.from([6, 30, 58, 86, 114, -1, -1]),\n Int32Array.from([6, 34, 62, 90, 118, -1, -1]),\n Int32Array.from([6, 26, 50, 74, 98, 122, -1]),\n Int32Array.from([6, 30, 54, 78, 102, 126, -1]),\n Int32Array.from([6, 26, 52, 78, 104, 130, -1]),\n Int32Array.from([6, 30, 56, 82, 108, 134, -1]),\n Int32Array.from([6, 34, 60, 86, 112, 138, -1]),\n Int32Array.from([6, 30, 58, 86, 114, 142, -1]),\n Int32Array.from([6, 34, 62, 90, 118, 146, -1]),\n Int32Array.from([6, 30, 54, 78, 102, 126, 150]),\n Int32Array.from([6, 24, 50, 76, 102, 128, 154]),\n Int32Array.from([6, 28, 54, 80, 106, 132, 158]),\n Int32Array.from([6, 32, 58, 84, 110, 136, 162]),\n Int32Array.from([6, 26, 54, 82, 110, 138, 166]),\n Int32Array.from([6, 30, 58, 86, 114, 142, 170]),\n ]);\n // Type info cells at the left top corner.\n MatrixUtil.TYPE_INFO_COORDINATES = Array.from([\n Int32Array.from([8, 0]),\n Int32Array.from([8, 1]),\n Int32Array.from([8, 2]),\n Int32Array.from([8, 3]),\n Int32Array.from([8, 4]),\n Int32Array.from([8, 5]),\n Int32Array.from([8, 7]),\n Int32Array.from([8, 8]),\n Int32Array.from([7, 8]),\n Int32Array.from([5, 8]),\n Int32Array.from([4, 8]),\n Int32Array.from([3, 8]),\n Int32Array.from([2, 8]),\n Int32Array.from([1, 8]),\n Int32Array.from([0, 8]),\n ]);\n // From Appendix D in JISX0510:2004 (p. 67)\n MatrixUtil.VERSION_INFO_POLY = 0x1f25; // 1 1111 0010 0101\n // From Appendix C in JISX0510:2004 (p.65).\n MatrixUtil.TYPE_INFO_POLY = 0x537;\n MatrixUtil.TYPE_INFO_MASK_PATTERN = 0x5412;\n return MatrixUtil;\n}());\nexport default MatrixUtil;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.qrcode.encoder {*/\nvar BlockPair = /** @class */ (function () {\n function BlockPair(dataBytes, errorCorrectionBytes) {\n this.dataBytes = dataBytes;\n this.errorCorrectionBytes = errorCorrectionBytes;\n }\n BlockPair.prototype.getDataBytes = function () {\n return this.dataBytes;\n };\n BlockPair.prototype.getErrorCorrectionBytes = function () {\n return this.errorCorrectionBytes;\n };\n return BlockPair;\n}());\nexport default BlockPair;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.encoder {*/\nimport EncodeHintType from '../../EncodeHintType';\nimport BitArray from '../../common/BitArray';\nimport CharacterSetECI from '../../common/CharacterSetECI';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport ReedSolomonEncoder from '../../common/reedsolomon/ReedSolomonEncoder';\nimport Mode from '../decoder/Mode';\nimport Version from '../decoder/Version';\nimport MaskUtil from './MaskUtil';\nimport ByteMatrix from './ByteMatrix';\nimport QRCode from './QRCode';\nimport MatrixUtil from './MatrixUtil';\nimport StringEncoding from '../../util/StringEncoding';\nimport BlockPair from './BlockPair';\nimport WriterException from '../../WriterException';\n/*import java.io.UnsupportedEncodingException;*/\n/*import java.util.ArrayList;*/\n/*import java.util.Collection;*/\n/*import java.util.Map;*/\n/**\n * @author satorux@google.com (Satoru Takabayashi) - creator\n * @author dswitkin@google.com (Daniel Switkin) - ported from C++\n */\nvar Encoder = /** @class */ (function () {\n // TYPESCRIPTPORT: changed to UTF8, the default for js\n function Encoder() {\n }\n // The mask penalty calculation is complicated. See Table 21 of JISX0510:2004 (p.45) for details.\n // Basically it applies four rules and summate all penalties.\n Encoder.calculateMaskPenalty = function (matrix) {\n return MaskUtil.applyMaskPenaltyRule1(matrix)\n + MaskUtil.applyMaskPenaltyRule2(matrix)\n + MaskUtil.applyMaskPenaltyRule3(matrix)\n + MaskUtil.applyMaskPenaltyRule4(matrix);\n };\n /**\n * @param content text to encode\n * @param ecLevel error correction level to use\n * @return {@link QRCode} representing the encoded QR code\n * @throws WriterException if encoding can't succeed, because of for example invalid content\n * or configuration\n */\n // public static encode(content: string, ecLevel: ErrorCorrectionLevel): QRCode /*throws WriterException*/ {\n // return encode(content, ecLevel, null)\n // }\n Encoder.encode = function (content, ecLevel, hints) {\n if (hints === void 0) { hints = null; }\n // Determine what character encoding has been specified by the caller, if any\n var encoding = Encoder.DEFAULT_BYTE_MODE_ENCODING;\n var hasEncodingHint = hints !== null && undefined !== hints.get(EncodeHintType.CHARACTER_SET);\n if (hasEncodingHint) {\n encoding = hints.get(EncodeHintType.CHARACTER_SET).toString();\n }\n // Pick an encoding mode appropriate for the content. Note that this will not attempt to use\n // multiple modes / segments even if that were more efficient. Twould be nice.\n var mode = this.chooseMode(content, encoding);\n // This will store the header information, like mode and\n // length, as well as \"header\" segments like an ECI segment.\n var headerBits = new BitArray();\n // Append ECI segment if applicable\n if (mode === Mode.BYTE && (hasEncodingHint || Encoder.DEFAULT_BYTE_MODE_ENCODING !== encoding)) {\n var eci = CharacterSetECI.getCharacterSetECIByName(encoding);\n if (eci !== undefined) {\n this.appendECI(eci, headerBits);\n }\n }\n // (With ECI in place,) Write the mode marker\n this.appendModeInfo(mode, headerBits);\n // Collect data within the main segment, separately, to count its size if needed. Don't add it to\n // main payload yet.\n var dataBits = new BitArray();\n this.appendBytes(content, mode, dataBits, encoding);\n var version;\n if (hints !== null && undefined !== hints.get(EncodeHintType.QR_VERSION)) {\n var versionNumber = Number.parseInt(hints.get(EncodeHintType.QR_VERSION).toString(), 10);\n version = Version.getVersionForNumber(versionNumber);\n var bitsNeeded = this.calculateBitsNeeded(mode, headerBits, dataBits, version);\n if (!this.willFit(bitsNeeded, version, ecLevel)) {\n throw new WriterException('Data too big for requested version');\n }\n }\n else {\n version = this.recommendVersion(ecLevel, mode, headerBits, dataBits);\n }\n var headerAndDataBits = new BitArray();\n headerAndDataBits.appendBitArray(headerBits);\n // Find \"length\" of main segment and write it\n var numLetters = mode === Mode.BYTE ? dataBits.getSizeInBytes() : content.length;\n this.appendLengthInfo(numLetters, version, mode, headerAndDataBits);\n // Put data together into the overall payload\n headerAndDataBits.appendBitArray(dataBits);\n var ecBlocks = version.getECBlocksForLevel(ecLevel);\n var numDataBytes = version.getTotalCodewords() - ecBlocks.getTotalECCodewords();\n // Terminate the bits properly.\n this.terminateBits(numDataBytes, headerAndDataBits);\n // Interleave data bits with error correction code.\n var finalBits = this.interleaveWithECBytes(headerAndDataBits, version.getTotalCodewords(), numDataBytes, ecBlocks.getNumBlocks());\n var qrCode = new QRCode();\n qrCode.setECLevel(ecLevel);\n qrCode.setMode(mode);\n qrCode.setVersion(version);\n // Choose the mask pattern and set to \"qrCode\".\n var dimension = version.getDimensionForVersion();\n var matrix = new ByteMatrix(dimension, dimension);\n var maskPattern = this.chooseMaskPattern(finalBits, ecLevel, version, matrix);\n qrCode.setMaskPattern(maskPattern);\n // Build the matrix and set it to \"qrCode\".\n MatrixUtil.buildMatrix(finalBits, ecLevel, version, maskPattern, matrix);\n qrCode.setMatrix(matrix);\n return qrCode;\n };\n /**\n * Decides the smallest version of QR code that will contain all of the provided data.\n *\n * @throws WriterException if the data cannot fit in any version\n */\n Encoder.recommendVersion = function (ecLevel, mode, headerBits, dataBits) {\n // Hard part: need to know version to know how many bits length takes. But need to know how many\n // bits it takes to know version. First we take a guess at version by assuming version will be\n // the minimum, 1:\n var provisionalBitsNeeded = this.calculateBitsNeeded(mode, headerBits, dataBits, Version.getVersionForNumber(1));\n var provisionalVersion = this.chooseVersion(provisionalBitsNeeded, ecLevel);\n // Use that guess to calculate the right version. I am still not sure this works in 100% of cases.\n var bitsNeeded = this.calculateBitsNeeded(mode, headerBits, dataBits, provisionalVersion);\n return this.chooseVersion(bitsNeeded, ecLevel);\n };\n Encoder.calculateBitsNeeded = function (mode, headerBits, dataBits, version) {\n return headerBits.getSize() + mode.getCharacterCountBits(version) + dataBits.getSize();\n };\n /**\n * @return the code point of the table used in alphanumeric mode or\n * -1 if there is no corresponding code in the table.\n */\n Encoder.getAlphanumericCode = function (code /*int*/) {\n if (code < Encoder.ALPHANUMERIC_TABLE.length) {\n return Encoder.ALPHANUMERIC_TABLE[code];\n }\n return -1;\n };\n // public static chooseMode(content: string): Mode {\n // return chooseMode(content, null);\n // }\n /**\n * Choose the best mode by examining the content. Note that 'encoding' is used as a hint;\n * if it is Shift_JIS, and the input is only double-byte Kanji, then we return {@link Mode#KANJI}.\n */\n Encoder.chooseMode = function (content, encoding) {\n if (encoding === void 0) { encoding = null; }\n if (CharacterSetECI.SJIS.getName() === encoding && this.isOnlyDoubleByteKanji(content)) {\n // Choose Kanji mode if all input are double-byte characters\n return Mode.KANJI;\n }\n var hasNumeric = false;\n var hasAlphanumeric = false;\n for (var i = 0, length_1 = content.length; i < length_1; ++i) {\n var c = content.charAt(i);\n if (Encoder.isDigit(c)) {\n hasNumeric = true;\n }\n else if (this.getAlphanumericCode(c.charCodeAt(0)) !== -1) {\n hasAlphanumeric = true;\n }\n else {\n return Mode.BYTE;\n }\n }\n if (hasAlphanumeric) {\n return Mode.ALPHANUMERIC;\n }\n if (hasNumeric) {\n return Mode.NUMERIC;\n }\n return Mode.BYTE;\n };\n Encoder.isOnlyDoubleByteKanji = function (content) {\n var bytes;\n try {\n bytes = StringEncoding.encode(content, CharacterSetECI.SJIS); // content.getBytes(\"Shift_JIS\"))\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n return false;\n }\n var length = bytes.length;\n if (length % 2 !== 0) {\n return false;\n }\n for (var i = 0; i < length; i += 2) {\n var byte1 = bytes[i] & 0xFF;\n if ((byte1 < 0x81 || byte1 > 0x9F) && (byte1 < 0xE0 || byte1 > 0xEB)) {\n return false;\n }\n }\n return true;\n };\n Encoder.chooseMaskPattern = function (bits, ecLevel, version, matrix) {\n var minPenalty = Number.MAX_SAFE_INTEGER; // Lower penalty is better.\n var bestMaskPattern = -1;\n // We try all mask patterns to choose the best one.\n for (var maskPattern = 0; maskPattern < QRCode.NUM_MASK_PATTERNS; maskPattern++) {\n MatrixUtil.buildMatrix(bits, ecLevel, version, maskPattern, matrix);\n var penalty = this.calculateMaskPenalty(matrix);\n if (penalty < minPenalty) {\n minPenalty = penalty;\n bestMaskPattern = maskPattern;\n }\n }\n return bestMaskPattern;\n };\n Encoder.chooseVersion = function (numInputBits /*int*/, ecLevel) {\n for (var versionNum = 1; versionNum <= 40; versionNum++) {\n var version = Version.getVersionForNumber(versionNum);\n if (Encoder.willFit(numInputBits, version, ecLevel)) {\n return version;\n }\n }\n throw new WriterException('Data too big');\n };\n /**\n * @return true if the number of input bits will fit in a code with the specified version and\n * error correction level.\n */\n Encoder.willFit = function (numInputBits /*int*/, version, ecLevel) {\n // In the following comments, we use numbers of Version 7-H.\n // numBytes = 196\n var numBytes = version.getTotalCodewords();\n // getNumECBytes = 130\n var ecBlocks = version.getECBlocksForLevel(ecLevel);\n var numEcBytes = ecBlocks.getTotalECCodewords();\n // getNumDataBytes = 196 - 130 = 66\n var numDataBytes = numBytes - numEcBytes;\n var totalInputBytes = (numInputBits + 7) / 8;\n return numDataBytes >= totalInputBytes;\n };\n /**\n * Terminate bits as described in 8.4.8 and 8.4.9 of JISX0510:2004 (p.24).\n */\n Encoder.terminateBits = function (numDataBytes /*int*/, bits) {\n var capacity = numDataBytes * 8;\n if (bits.getSize() > capacity) {\n throw new WriterException('data bits cannot fit in the QR Code' + bits.getSize() + ' > ' +\n capacity);\n }\n for (var i = 0; i < 4 && bits.getSize() < capacity; ++i) {\n bits.appendBit(false);\n }\n // Append termination bits. See 8.4.8 of JISX0510:2004 (p.24) for details.\n // If the last byte isn't 8-bit aligned, we'll add padding bits.\n var numBitsInLastByte = bits.getSize() & 0x07;\n if (numBitsInLastByte > 0) {\n for (var i = numBitsInLastByte; i < 8; i++) {\n bits.appendBit(false);\n }\n }\n // If we have more space, we'll fill the space with padding patterns defined in 8.4.9 (p.24).\n var numPaddingBytes = numDataBytes - bits.getSizeInBytes();\n for (var i = 0; i < numPaddingBytes; ++i) {\n bits.appendBits((i & 0x01) === 0 ? 0xEC : 0x11, 8);\n }\n if (bits.getSize() !== capacity) {\n throw new WriterException('Bits size does not equal capacity');\n }\n };\n /**\n * Get number of data bytes and number of error correction bytes for block id \"blockID\". Store\n * the result in \"numDataBytesInBlock\", and \"numECBytesInBlock\". See table 12 in 8.5.1 of\n * JISX0510:2004 (p.30)\n */\n Encoder.getNumDataBytesAndNumECBytesForBlockID = function (numTotalBytes /*int*/, numDataBytes /*int*/, numRSBlocks /*int*/, blockID /*int*/, numDataBytesInBlock, numECBytesInBlock) {\n if (blockID >= numRSBlocks) {\n throw new WriterException('Block ID too large');\n }\n // numRsBlocksInGroup2 = 196 % 5 = 1\n var numRsBlocksInGroup2 = numTotalBytes % numRSBlocks;\n // numRsBlocksInGroup1 = 5 - 1 = 4\n var numRsBlocksInGroup1 = numRSBlocks - numRsBlocksInGroup2;\n // numTotalBytesInGroup1 = 196 / 5 = 39\n var numTotalBytesInGroup1 = Math.floor(numTotalBytes / numRSBlocks);\n // numTotalBytesInGroup2 = 39 + 1 = 40\n var numTotalBytesInGroup2 = numTotalBytesInGroup1 + 1;\n // numDataBytesInGroup1 = 66 / 5 = 13\n var numDataBytesInGroup1 = Math.floor(numDataBytes / numRSBlocks);\n // numDataBytesInGroup2 = 13 + 1 = 14\n var numDataBytesInGroup2 = numDataBytesInGroup1 + 1;\n // numEcBytesInGroup1 = 39 - 13 = 26\n var numEcBytesInGroup1 = numTotalBytesInGroup1 - numDataBytesInGroup1;\n // numEcBytesInGroup2 = 40 - 14 = 26\n var numEcBytesInGroup2 = numTotalBytesInGroup2 - numDataBytesInGroup2;\n // Sanity checks.\n // 26 = 26\n if (numEcBytesInGroup1 !== numEcBytesInGroup2) {\n throw new WriterException('EC bytes mismatch');\n }\n // 5 = 4 + 1.\n if (numRSBlocks !== numRsBlocksInGroup1 + numRsBlocksInGroup2) {\n throw new WriterException('RS blocks mismatch');\n }\n // 196 = (13 + 26) * 4 + (14 + 26) * 1\n if (numTotalBytes !==\n ((numDataBytesInGroup1 + numEcBytesInGroup1) *\n numRsBlocksInGroup1) +\n ((numDataBytesInGroup2 + numEcBytesInGroup2) *\n numRsBlocksInGroup2)) {\n throw new WriterException('Total bytes mismatch');\n }\n if (blockID < numRsBlocksInGroup1) {\n numDataBytesInBlock[0] = numDataBytesInGroup1;\n numECBytesInBlock[0] = numEcBytesInGroup1;\n }\n else {\n numDataBytesInBlock[0] = numDataBytesInGroup2;\n numECBytesInBlock[0] = numEcBytesInGroup2;\n }\n };\n /**\n * Interleave \"bits\" with corresponding error correction bytes. On success, store the result in\n * \"result\". The interleave rule is complicated. See 8.6 of JISX0510:2004 (p.37) for details.\n */\n Encoder.interleaveWithECBytes = function (bits, numTotalBytes /*int*/, numDataBytes /*int*/, numRSBlocks /*int*/) {\n var e_1, _a, e_2, _b;\n // \"bits\" must have \"getNumDataBytes\" bytes of data.\n if (bits.getSizeInBytes() !== numDataBytes) {\n throw new WriterException('Number of bits and data bytes does not match');\n }\n // Step 1. Divide data bytes into blocks and generate error correction bytes for them. We'll\n // store the divided data bytes blocks and error correction bytes blocks into \"blocks\".\n var dataBytesOffset = 0;\n var maxNumDataBytes = 0;\n var maxNumEcBytes = 0;\n // Since, we know the number of reedsolmon blocks, we can initialize the vector with the number.\n var blocks = new Array(); // new Array(numRSBlocks)\n for (var i = 0; i < numRSBlocks; ++i) {\n var numDataBytesInBlock = new Int32Array(1);\n var numEcBytesInBlock = new Int32Array(1);\n Encoder.getNumDataBytesAndNumECBytesForBlockID(numTotalBytes, numDataBytes, numRSBlocks, i, numDataBytesInBlock, numEcBytesInBlock);\n var size = numDataBytesInBlock[0];\n var dataBytes = new Uint8Array(size);\n bits.toBytes(8 * dataBytesOffset, dataBytes, 0, size);\n var ecBytes = Encoder.generateECBytes(dataBytes, numEcBytesInBlock[0]);\n blocks.push(new BlockPair(dataBytes, ecBytes));\n maxNumDataBytes = Math.max(maxNumDataBytes, size);\n maxNumEcBytes = Math.max(maxNumEcBytes, ecBytes.length);\n dataBytesOffset += numDataBytesInBlock[0];\n }\n if (numDataBytes !== dataBytesOffset) {\n throw new WriterException('Data bytes does not match offset');\n }\n var result = new BitArray();\n // First, place data blocks.\n for (var i = 0; i < maxNumDataBytes; ++i) {\n try {\n for (var blocks_1 = (e_1 = void 0, __values(blocks)), blocks_1_1 = blocks_1.next(); !blocks_1_1.done; blocks_1_1 = blocks_1.next()) {\n var block = blocks_1_1.value;\n var dataBytes = block.getDataBytes();\n if (i < dataBytes.length) {\n result.appendBits(dataBytes[i], 8);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (blocks_1_1 && !blocks_1_1.done && (_a = blocks_1.return)) _a.call(blocks_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n // Then, place error correction blocks.\n for (var i = 0; i < maxNumEcBytes; ++i) {\n try {\n for (var blocks_2 = (e_2 = void 0, __values(blocks)), blocks_2_1 = blocks_2.next(); !blocks_2_1.done; blocks_2_1 = blocks_2.next()) {\n var block = blocks_2_1.value;\n var ecBytes = block.getErrorCorrectionBytes();\n if (i < ecBytes.length) {\n result.appendBits(ecBytes[i], 8);\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (blocks_2_1 && !blocks_2_1.done && (_b = blocks_2.return)) _b.call(blocks_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (numTotalBytes !== result.getSizeInBytes()) { // Should be same.\n throw new WriterException('Interleaving error: ' + numTotalBytes + ' and ' +\n result.getSizeInBytes() + ' differ.');\n }\n return result;\n };\n Encoder.generateECBytes = function (dataBytes, numEcBytesInBlock /*int*/) {\n var numDataBytes = dataBytes.length;\n var toEncode = new Int32Array(numDataBytes + numEcBytesInBlock); // int[numDataBytes + numEcBytesInBlock]\n for (var i = 0; i < numDataBytes; i++) {\n toEncode[i] = dataBytes[i] & 0xFF;\n }\n new ReedSolomonEncoder(GenericGF.QR_CODE_FIELD_256).encode(toEncode, numEcBytesInBlock);\n var ecBytes = new Uint8Array(numEcBytesInBlock);\n for (var i = 0; i < numEcBytesInBlock; i++) {\n ecBytes[i] = /*(byte) */ toEncode[numDataBytes + i];\n }\n return ecBytes;\n };\n /**\n * Append mode info. On success, store the result in \"bits\".\n */\n Encoder.appendModeInfo = function (mode, bits) {\n bits.appendBits(mode.getBits(), 4);\n };\n /**\n * Append length info. On success, store the result in \"bits\".\n */\n Encoder.appendLengthInfo = function (numLetters /*int*/, version, mode, bits) {\n var numBits = mode.getCharacterCountBits(version);\n if (numLetters >= (1 << numBits)) {\n throw new WriterException(numLetters + ' is bigger than ' + ((1 << numBits) - 1));\n }\n bits.appendBits(numLetters, numBits);\n };\n /**\n * Append \"bytes\" in \"mode\" mode (encoding) into \"bits\". On success, store the result in \"bits\".\n */\n Encoder.appendBytes = function (content, mode, bits, encoding) {\n switch (mode) {\n case Mode.NUMERIC:\n Encoder.appendNumericBytes(content, bits);\n break;\n case Mode.ALPHANUMERIC:\n Encoder.appendAlphanumericBytes(content, bits);\n break;\n case Mode.BYTE:\n Encoder.append8BitBytes(content, bits, encoding);\n break;\n case Mode.KANJI:\n Encoder.appendKanjiBytes(content, bits);\n break;\n default:\n throw new WriterException('Invalid mode: ' + mode);\n }\n };\n Encoder.getDigit = function (singleCharacter) {\n return singleCharacter.charCodeAt(0) - 48;\n };\n Encoder.isDigit = function (singleCharacter) {\n var cn = Encoder.getDigit(singleCharacter);\n return cn >= 0 && cn <= 9;\n };\n Encoder.appendNumericBytes = function (content, bits) {\n var length = content.length;\n var i = 0;\n while (i < length) {\n var num1 = Encoder.getDigit(content.charAt(i));\n if (i + 2 < length) {\n // Encode three numeric letters in ten bits.\n var num2 = Encoder.getDigit(content.charAt(i + 1));\n var num3 = Encoder.getDigit(content.charAt(i + 2));\n bits.appendBits(num1 * 100 + num2 * 10 + num3, 10);\n i += 3;\n }\n else if (i + 1 < length) {\n // Encode two numeric letters in seven bits.\n var num2 = Encoder.getDigit(content.charAt(i + 1));\n bits.appendBits(num1 * 10 + num2, 7);\n i += 2;\n }\n else {\n // Encode one numeric letter in four bits.\n bits.appendBits(num1, 4);\n i++;\n }\n }\n };\n Encoder.appendAlphanumericBytes = function (content, bits) {\n var length = content.length;\n var i = 0;\n while (i < length) {\n var code1 = Encoder.getAlphanumericCode(content.charCodeAt(i));\n if (code1 === -1) {\n throw new WriterException();\n }\n if (i + 1 < length) {\n var code2 = Encoder.getAlphanumericCode(content.charCodeAt(i + 1));\n if (code2 === -1) {\n throw new WriterException();\n }\n // Encode two alphanumeric letters in 11 bits.\n bits.appendBits(code1 * 45 + code2, 11);\n i += 2;\n }\n else {\n // Encode one alphanumeric letter in six bits.\n bits.appendBits(code1, 6);\n i++;\n }\n }\n };\n Encoder.append8BitBytes = function (content, bits, encoding) {\n var bytes;\n try {\n bytes = StringEncoding.encode(content, encoding);\n }\n catch (uee /*: UnsupportedEncodingException*/) {\n throw new WriterException(uee);\n }\n for (var i = 0, length_2 = bytes.length; i !== length_2; i++) {\n var b = bytes[i];\n bits.appendBits(b, 8);\n }\n };\n /**\n * @throws WriterException\n */\n Encoder.appendKanjiBytes = function (content, bits) {\n var bytes;\n try {\n bytes = StringEncoding.encode(content, CharacterSetECI.SJIS);\n }\n catch (uee /*: UnsupportedEncodingException*/) {\n throw new WriterException(uee);\n }\n var length = bytes.length;\n for (var i = 0; i < length; i += 2) {\n var byte1 = bytes[i] & 0xFF;\n var byte2 = bytes[i + 1] & 0xFF;\n var code = ((byte1 << 8) & 0xFFFFFFFF) | byte2;\n var subtracted = -1;\n if (code >= 0x8140 && code <= 0x9ffc) {\n subtracted = code - 0x8140;\n }\n else if (code >= 0xe040 && code <= 0xebbf) {\n subtracted = code - 0xc140;\n }\n if (subtracted === -1) {\n throw new WriterException('Invalid byte sequence');\n }\n var encoded = ((subtracted >> 8) * 0xc0) + (subtracted & 0xff);\n bits.appendBits(encoded, 13);\n }\n };\n Encoder.appendECI = function (eci, bits) {\n bits.appendBits(Mode.ECI.getBits(), 4);\n // This is correct for values up to 127, which is all we need now.\n bits.appendBits(eci.getValue(), 8);\n };\n // The original table is defined in the table 5 of JISX0510:2004 (p.19).\n Encoder.ALPHANUMERIC_TABLE = Int32Array.from([\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,\n 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,\n ]);\n Encoder.DEFAULT_BYTE_MODE_ENCODING = CharacterSetECI.UTF8.getName(); // \"ISO-8859-1\"\n return Encoder;\n}());\nexport default Encoder;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.qrcode {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport EncodeHintType from '../EncodeHintType';\nimport BitMatrix from '../common/BitMatrix';\nimport ErrorCorrectionLevel from './decoder/ErrorCorrectionLevel';\nimport Encoder from './encoder/Encoder';\nimport IllegalArgumentException from '../IllegalArgumentException';\nimport IllegalStateException from '../IllegalStateException';\n/*import java.util.Map;*/\n/**\n * This object renders a QR Code as a BitMatrix 2D array of greyscale values.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar QRCodeWriter = /** @class */ (function () {\n function QRCodeWriter() {\n }\n /*@Override*/\n // public encode(contents: string, format: BarcodeFormat, width: number /*int*/, height: number /*int*/): BitMatrix\n // /*throws WriterException */ {\n // return encode(contents, format, width, height, null)\n // }\n /*@Override*/\n QRCodeWriter.prototype.encode = function (contents, format, width /*int*/, height /*int*/, hints) {\n if (contents.length === 0) {\n throw new IllegalArgumentException('Found empty contents');\n }\n if (format !== BarcodeFormat.QR_CODE) {\n throw new IllegalArgumentException('Can only encode QR_CODE, but got ' + format);\n }\n if (width < 0 || height < 0) {\n throw new IllegalArgumentException(\"Requested dimensions are too small: \" + width + \"x\" + height);\n }\n var errorCorrectionLevel = ErrorCorrectionLevel.L;\n var quietZone = QRCodeWriter.QUIET_ZONE_SIZE;\n if (hints !== null) {\n if (undefined !== hints.get(EncodeHintType.ERROR_CORRECTION)) {\n errorCorrectionLevel = ErrorCorrectionLevel.fromString(hints.get(EncodeHintType.ERROR_CORRECTION).toString());\n }\n if (undefined !== hints.get(EncodeHintType.MARGIN)) {\n quietZone = Number.parseInt(hints.get(EncodeHintType.MARGIN).toString(), 10);\n }\n }\n var code = Encoder.encode(contents, errorCorrectionLevel, hints);\n return QRCodeWriter.renderResult(code, width, height, quietZone);\n };\n // Note that the input matrix uses 0 == white, 1 == black, while the output matrix uses\n // 0 == black, 255 == white (i.e. an 8 bit greyscale bitmap).\n QRCodeWriter.renderResult = function (code, width /*int*/, height /*int*/, quietZone /*int*/) {\n var input = code.getMatrix();\n if (input === null) {\n throw new IllegalStateException();\n }\n var inputWidth = input.getWidth();\n var inputHeight = input.getHeight();\n var qrWidth = inputWidth + (quietZone * 2);\n var qrHeight = inputHeight + (quietZone * 2);\n var outputWidth = Math.max(width, qrWidth);\n var outputHeight = Math.max(height, qrHeight);\n var multiple = Math.min(Math.floor(outputWidth / qrWidth), Math.floor(outputHeight / qrHeight));\n // Padding includes both the quiet zone and the extra white pixels to accommodate the requested\n // dimensions. For example, if input is 25x25 the QR will be 33x33 including the quiet zone.\n // If the requested size is 200x160, the multiple will be 4, for a QR of 132x132. These will\n // handle all the padding from 100x100 (the actual QR) up to 200x160.\n var leftPadding = Math.floor((outputWidth - (inputWidth * multiple)) / 2);\n var topPadding = Math.floor((outputHeight - (inputHeight * multiple)) / 2);\n var output = new BitMatrix(outputWidth, outputHeight);\n for (var inputY = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (var inputX = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY) === 1) {\n output.setRegion(outputX, outputY, multiple, multiple);\n }\n }\n }\n return output;\n };\n QRCodeWriter.QUIET_ZONE_SIZE = 4;\n return QRCodeWriter;\n}());\nexport default QRCodeWriter;\n","import EncodeHintType from '../core/EncodeHintType';\nimport Encoder from '../core/qrcode/encoder/Encoder';\nimport ErrorCorrectionLevel from '../core/qrcode/decoder/ErrorCorrectionLevel';\nimport IllegalArgumentException from '../core/IllegalArgumentException';\nimport IllegalStateException from '../core/IllegalStateException';\n/**\n * @deprecated Moving to @zxing/browser\n */\nvar BrowserQRCodeSvgWriter = /** @class */ (function () {\n function BrowserQRCodeSvgWriter() {\n }\n /**\n * Writes and renders a QRCode SVG element.\n *\n * @param contents\n * @param width\n * @param height\n * @param hints\n */\n BrowserQRCodeSvgWriter.prototype.write = function (contents, width, height, hints) {\n if (hints === void 0) { hints = null; }\n if (contents.length === 0) {\n throw new IllegalArgumentException('Found empty contents');\n }\n // if (format != BarcodeFormat.QR_CODE) {\n // throw new IllegalArgumentException(\"Can only encode QR_CODE, but got \" + format)\n // }\n if (width < 0 || height < 0) {\n throw new IllegalArgumentException('Requested dimensions are too small: ' + width + 'x' + height);\n }\n var errorCorrectionLevel = ErrorCorrectionLevel.L;\n var quietZone = BrowserQRCodeSvgWriter.QUIET_ZONE_SIZE;\n if (hints !== null) {\n if (undefined !== hints.get(EncodeHintType.ERROR_CORRECTION)) {\n errorCorrectionLevel = ErrorCorrectionLevel.fromString(hints.get(EncodeHintType.ERROR_CORRECTION).toString());\n }\n if (undefined !== hints.get(EncodeHintType.MARGIN)) {\n quietZone = Number.parseInt(hints.get(EncodeHintType.MARGIN).toString(), 10);\n }\n }\n var code = Encoder.encode(contents, errorCorrectionLevel, hints);\n return this.renderResult(code, width, height, quietZone);\n };\n /**\n * Renders the result and then appends it to the DOM.\n */\n BrowserQRCodeSvgWriter.prototype.writeToDom = function (containerElement, contents, width, height, hints) {\n if (hints === void 0) { hints = null; }\n if (typeof containerElement === 'string') {\n containerElement = document.querySelector(containerElement);\n }\n var svgElement = this.write(contents, width, height, hints);\n if (containerElement)\n containerElement.appendChild(svgElement);\n };\n /**\n * Note that the input matrix uses 0 == white, 1 == black.\n * The output matrix uses 0 == black, 255 == white (i.e. an 8 bit greyscale bitmap).\n */\n BrowserQRCodeSvgWriter.prototype.renderResult = function (code, width /*int*/, height /*int*/, quietZone /*int*/) {\n var input = code.getMatrix();\n if (input === null) {\n throw new IllegalStateException();\n }\n var inputWidth = input.getWidth();\n var inputHeight = input.getHeight();\n var qrWidth = inputWidth + (quietZone * 2);\n var qrHeight = inputHeight + (quietZone * 2);\n var outputWidth = Math.max(width, qrWidth);\n var outputHeight = Math.max(height, qrHeight);\n var multiple = Math.min(Math.floor(outputWidth / qrWidth), Math.floor(outputHeight / qrHeight));\n // Padding includes both the quiet zone and the extra white pixels to accommodate the requested\n // dimensions. For example, if input is 25x25 the QR will be 33x33 including the quiet zone.\n // If the requested size is 200x160, the multiple will be 4, for a QR of 132x132. These will\n // handle all the padding from 100x100 (the actual QR) up to 200x160.\n var leftPadding = Math.floor((outputWidth - (inputWidth * multiple)) / 2);\n var topPadding = Math.floor((outputHeight - (inputHeight * multiple)) / 2);\n var svgElement = this.createSVGElement(outputWidth, outputHeight);\n for (var inputY = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (var inputX = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY) === 1) {\n var svgRectElement = this.createSvgRectElement(outputX, outputY, multiple, multiple);\n svgElement.appendChild(svgRectElement);\n }\n }\n }\n return svgElement;\n };\n /**\n * Creates a SVG element.\n *\n * @param w SVG's width attribute\n * @param h SVG's height attribute\n */\n BrowserQRCodeSvgWriter.prototype.createSVGElement = function (w, h) {\n var svgElement = document.createElementNS(BrowserQRCodeSvgWriter.SVG_NS, 'svg');\n svgElement.setAttributeNS(null, 'height', w.toString());\n svgElement.setAttributeNS(null, 'width', h.toString());\n return svgElement;\n };\n /**\n * Creates a SVG rect element.\n *\n * @param x Element's x coordinate\n * @param y Element's y coordinate\n * @param w Element's width attribute\n * @param h Element's height attribute\n */\n BrowserQRCodeSvgWriter.prototype.createSvgRectElement = function (x, y, w, h) {\n var rect = document.createElementNS(BrowserQRCodeSvgWriter.SVG_NS, 'rect');\n rect.setAttributeNS(null, 'x', x.toString());\n rect.setAttributeNS(null, 'y', y.toString());\n rect.setAttributeNS(null, 'height', w.toString());\n rect.setAttributeNS(null, 'width', h.toString());\n rect.setAttributeNS(null, 'fill', '#000000');\n return rect;\n };\n BrowserQRCodeSvgWriter.QUIET_ZONE_SIZE = 4;\n /**\n * SVG markup NameSpace\n */\n BrowserQRCodeSvgWriter.SVG_NS = 'http://www.w3.org/2000/svg';\n return BrowserQRCodeSvgWriter;\n}());\nexport { BrowserQRCodeSvgWriter };\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing {*/\nimport System from './util/System';\nimport LuminanceSource from './LuminanceSource';\nimport InvertedLuminanceSource from './InvertedLuminanceSource';\nimport IllegalArgumentException from './IllegalArgumentException';\n/**\n * This object extends LuminanceSource around an array of YUV data returned from the camera driver,\n * with the option to crop to a rectangle within the full data. This can be used to exclude\n * superfluous pixels around the perimeter and speed up decoding.\n *\n * It works for any pixel format where the Y channel is planar and appears first, including\n * YCbCr_420_SP and YCbCr_422_SP.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar PlanarYUVLuminanceSource = /** @class */ (function (_super) {\n __extends(PlanarYUVLuminanceSource, _super);\n function PlanarYUVLuminanceSource(yuvData, dataWidth /*int*/, dataHeight /*int*/, left /*int*/, top /*int*/, width /*int*/, height /*int*/, reverseHorizontal) {\n var _this = _super.call(this, width, height) || this;\n _this.yuvData = yuvData;\n _this.dataWidth = dataWidth;\n _this.dataHeight = dataHeight;\n _this.left = left;\n _this.top = top;\n if (left + width > dataWidth || top + height > dataHeight) {\n throw new IllegalArgumentException('Crop rectangle does not fit within image data.');\n }\n if (reverseHorizontal) {\n _this.reverseHorizontal(width, height);\n }\n return _this;\n }\n /*@Override*/\n PlanarYUVLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n var width = this.getWidth();\n if (row === null || row === undefined || row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n var offset = (y + this.top) * this.dataWidth + this.left;\n System.arraycopy(this.yuvData, offset, row, 0, width);\n return row;\n };\n /*@Override*/\n PlanarYUVLuminanceSource.prototype.getMatrix = function () {\n var width = this.getWidth();\n var height = this.getHeight();\n // If the caller asks for the entire underlying image, save the copy and give them the\n // original data. The docs specifically warn that result.length must be ignored.\n if (width === this.dataWidth && height === this.dataHeight) {\n return this.yuvData;\n }\n var area = width * height;\n var matrix = new Uint8ClampedArray(area);\n var inputOffset = this.top * this.dataWidth + this.left;\n // If the width matches the full width of the underlying data, perform a single copy.\n if (width === this.dataWidth) {\n System.arraycopy(this.yuvData, inputOffset, matrix, 0, area);\n return matrix;\n }\n // Otherwise copy one cropped row at a time.\n for (var y = 0; y < height; y++) {\n var outputOffset = y * width;\n System.arraycopy(this.yuvData, inputOffset, matrix, outputOffset, width);\n inputOffset += this.dataWidth;\n }\n return matrix;\n };\n /*@Override*/\n PlanarYUVLuminanceSource.prototype.isCropSupported = function () {\n return true;\n };\n /*@Override*/\n PlanarYUVLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n return new PlanarYUVLuminanceSource(this.yuvData, this.dataWidth, this.dataHeight, this.left + left, this.top + top, width, height, false);\n };\n PlanarYUVLuminanceSource.prototype.renderThumbnail = function () {\n var width = this.getWidth() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n var height = this.getHeight() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n var pixels = new Int32Array(width * height);\n var yuv = this.yuvData;\n var inputOffset = this.top * this.dataWidth + this.left;\n for (var y = 0; y < height; y++) {\n var outputOffset = y * width;\n for (var x = 0; x < width; x++) {\n var grey = yuv[inputOffset + x * PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR] & 0xff;\n pixels[outputOffset + x] = 0xFF000000 | (grey * 0x00010101);\n }\n inputOffset += this.dataWidth * PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n }\n return pixels;\n };\n /**\n * @return width of image from {@link #renderThumbnail()}\n */\n PlanarYUVLuminanceSource.prototype.getThumbnailWidth = function () {\n return this.getWidth() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n };\n /**\n * @return height of image from {@link #renderThumbnail()}\n */\n PlanarYUVLuminanceSource.prototype.getThumbnailHeight = function () {\n return this.getHeight() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n };\n PlanarYUVLuminanceSource.prototype.reverseHorizontal = function (width /*int*/, height /*int*/) {\n var yuvData = this.yuvData;\n for (var y = 0, rowStart = this.top * this.dataWidth + this.left; y < height; y++, rowStart += this.dataWidth) {\n var middle = rowStart + width / 2;\n for (var x1 = rowStart, x2 = rowStart + width - 1; x1 < middle; x1++, x2--) {\n var temp = yuvData[x1];\n yuvData[x1] = yuvData[x2];\n yuvData[x2] = temp;\n }\n }\n };\n PlanarYUVLuminanceSource.prototype.invert = function () {\n return new InvertedLuminanceSource(this);\n };\n PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR = 2;\n return PlanarYUVLuminanceSource;\n}(LuminanceSource));\nexport default PlanarYUVLuminanceSource;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// import DataMatrixWriter from './datamatrix/DataMatrixWriter'\n// import CodaBarWriter from './oned/CodaBarWriter'\n// import Code128Writer from './oned/Code128Writer'\n// import Code39Writer from './oned/Code39Writer'\n// import Code93Writer from './oned/Code93Writer'\n// import EAN13Writer from './oned/EAN13Writer'\n// import EAN8Writer from './oned/EAN8Writer'\n// import ITFWriter from './oned/ITFWriter'\n// import UPCAWriter from './oned/UPCAWriter'\n// import UPCEWriter from './oned/UPCEWriter'\n// import PDF417Writer from './pdf417/PDF417Writer'\nimport QRCodeWriter from './qrcode/QRCodeWriter';\nimport BarcodeFormat from './BarcodeFormat';\nimport IllegalArgumentException from './IllegalArgumentException';\n/*import java.util.Map;*/\n/**\n * This is a factory class which finds the appropriate Writer subclass for the BarcodeFormat\n * requested and encodes the barcode with the supplied contents.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar MultiFormatWriter = /** @class */ (function () {\n function MultiFormatWriter() {\n }\n /*@Override*/\n // public encode(contents: string,\n // format: BarcodeFormat,\n // width: number /*int*/,\n // height: number /*int*/): BitMatrix /*throws WriterException */ {\n // return encode(contents, format, width, height, null)\n // }\n /*@Override*/\n MultiFormatWriter.prototype.encode = function (contents, format, width /*int*/, height /*int*/, hints) {\n var writer;\n switch (format) {\n // case BarcodeFormat.EAN_8:\n // writer = new EAN8Writer()\n // break\n // case BarcodeFormat.UPC_E:\n // writer = new UPCEWriter()\n // break\n // case BarcodeFormat.EAN_13:\n // writer = new EAN13Writer()\n // break\n // case BarcodeFormat.UPC_A:\n // writer = new UPCAWriter()\n // break\n case BarcodeFormat.QR_CODE:\n writer = new QRCodeWriter();\n break;\n // case BarcodeFormat.CODE_39:\n // writer = new Code39Writer()\n // break\n // case BarcodeFormat.CODE_93:\n // writer = new Code93Writer()\n // break\n // case BarcodeFormat.CODE_128:\n // writer = new Code128Writer()\n // break\n // case BarcodeFormat.ITF:\n // writer = new ITFWriter()\n // break\n // case BarcodeFormat.PDF_417:\n // writer = new PDF417Writer()\n // break\n // case BarcodeFormat.CODABAR:\n // writer = new CodaBarWriter()\n // break\n // case BarcodeFormat.DATA_MATRIX:\n // writer = new DataMatrixWriter()\n // break\n // case BarcodeFormat.AZTEC:\n // writer = new AztecWriter()\n // break\n default:\n throw new IllegalArgumentException('No encoder available for format ' + format);\n }\n return writer.encode(contents, format, width, height, hints);\n };\n return MultiFormatWriter;\n}());\nexport default MultiFormatWriter;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing {*/\nimport './InvertedLuminanceSource'; // required because of circular dependencies between LuminanceSource and InvertedLuminanceSource\nimport InvertedLuminanceSource from './InvertedLuminanceSource';\nimport LuminanceSource from './LuminanceSource';\nimport System from './util/System';\nimport IllegalArgumentException from './IllegalArgumentException';\n/**\n * This class is used to help decode images from files which arrive as RGB data from\n * an ARGB pixel array. It does not support rotation.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Betaminos\n */\nvar RGBLuminanceSource = /** @class */ (function (_super) {\n __extends(RGBLuminanceSource, _super);\n function RGBLuminanceSource(luminances, width /*int*/, height /*int*/, dataWidth /*int*/, dataHeight /*int*/, left /*int*/, top /*int*/) {\n var _this = _super.call(this, width, height) || this;\n _this.dataWidth = dataWidth;\n _this.dataHeight = dataHeight;\n _this.left = left;\n _this.top = top;\n if (luminances.BYTES_PER_ELEMENT === 4) { // Int32Array\n var size = width * height;\n var luminancesUint8Array = new Uint8ClampedArray(size);\n for (var offset = 0; offset < size; offset++) {\n var pixel = luminances[offset];\n var r = (pixel >> 16) & 0xff; // red\n var g2 = (pixel >> 7) & 0x1fe; // 2 * green\n var b = pixel & 0xff; // blue\n // Calculate green-favouring average cheaply\n luminancesUint8Array[offset] = /*(byte) */ ((r + g2 + b) / 4) & 0xFF;\n }\n _this.luminances = luminancesUint8Array;\n }\n else {\n _this.luminances = luminances;\n }\n if (undefined === dataWidth) {\n _this.dataWidth = width;\n }\n if (undefined === dataHeight) {\n _this.dataHeight = height;\n }\n if (undefined === left) {\n _this.left = 0;\n }\n if (undefined === top) {\n _this.top = 0;\n }\n if (_this.left + width > _this.dataWidth || _this.top + height > _this.dataHeight) {\n throw new IllegalArgumentException('Crop rectangle does not fit within image data.');\n }\n return _this;\n }\n /*@Override*/\n RGBLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n var width = this.getWidth();\n if (row === null || row === undefined || row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n var offset = (y + this.top) * this.dataWidth + this.left;\n System.arraycopy(this.luminances, offset, row, 0, width);\n return row;\n };\n /*@Override*/\n RGBLuminanceSource.prototype.getMatrix = function () {\n var width = this.getWidth();\n var height = this.getHeight();\n // If the caller asks for the entire underlying image, save the copy and give them the\n // original data. The docs specifically warn that result.length must be ignored.\n if (width === this.dataWidth && height === this.dataHeight) {\n return this.luminances;\n }\n var area = width * height;\n var matrix = new Uint8ClampedArray(area);\n var inputOffset = this.top * this.dataWidth + this.left;\n // If the width matches the full width of the underlying data, perform a single copy.\n if (width === this.dataWidth) {\n System.arraycopy(this.luminances, inputOffset, matrix, 0, area);\n return matrix;\n }\n // Otherwise copy one cropped row at a time.\n for (var y = 0; y < height; y++) {\n var outputOffset = y * width;\n System.arraycopy(this.luminances, inputOffset, matrix, outputOffset, width);\n inputOffset += this.dataWidth;\n }\n return matrix;\n };\n /*@Override*/\n RGBLuminanceSource.prototype.isCropSupported = function () {\n return true;\n };\n /*@Override*/\n RGBLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n return new RGBLuminanceSource(this.luminances, width, height, this.dataWidth, this.dataHeight, this.left + left, this.top + top);\n };\n RGBLuminanceSource.prototype.invert = function () {\n return new InvertedLuminanceSource(this);\n };\n return RGBLuminanceSource;\n}(LuminanceSource));\nexport default RGBLuminanceSource;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport CharacterSetECI from '../common/CharacterSetECI';\n/**\n * Just to make a shortcut between Java code and TS code.\n */\nvar Charset = /** @class */ (function (_super) {\n __extends(Charset, _super);\n function Charset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Charset.forName = function (name) {\n return this.getCharacterSetECIByName(name);\n };\n return Charset;\n}(CharacterSetECI));\nexport default Charset;\n","import CharacterSetECI from '../common/CharacterSetECI';\n/**\n * Just to make a shortcut between Java code and TS code.\n */\nvar StandardCharsets = /** @class */ (function () {\n function StandardCharsets() {\n }\n StandardCharsets.ISO_8859_1 = CharacterSetECI.ISO8859_1;\n return StandardCharsets;\n}());\nexport default StandardCharsets;\n","import Arrays from '../../util/Arrays';\n/**\n * Symbol Character Placement Program. Adapted from Annex M.1 in ISO/IEC 16022:2000(E).\n */\nvar DefaultPlacement = /** @class */ (function () {\n /**\n * Main constructor\n *\n * @param codewords the codewords to place\n * @param numcols the number of columns\n * @param numrows the number of rows\n */\n function DefaultPlacement(codewords, numcols, numrows) {\n this.codewords = codewords;\n this.numcols = numcols;\n this.numrows = numrows;\n this.bits = new Uint8Array(numcols * numrows);\n Arrays.fill(this.bits, 2); // Initialize with \"not set\" value\n }\n DefaultPlacement.prototype.getNumrows = function () {\n return this.numrows;\n };\n DefaultPlacement.prototype.getNumcols = function () {\n return this.numcols;\n };\n DefaultPlacement.prototype.getBits = function () {\n return this.bits;\n };\n DefaultPlacement.prototype.getBit = function (col, row) {\n return this.bits[row * this.numcols + col] === 1;\n };\n DefaultPlacement.prototype.setBit = function (col, row, bit) {\n this.bits[row * this.numcols + col] = bit ? 1 : 0;\n };\n DefaultPlacement.prototype.noBit = function (col, row) {\n return this.bits[row * this.numcols + col] === 2;\n };\n DefaultPlacement.prototype.place = function () {\n var pos = 0;\n var row = 4;\n var col = 0;\n do {\n // repeatedly first check for one of the special corner cases, then...\n if (row === this.numrows && col === 0) {\n this.corner1(pos++);\n }\n if (row === this.numrows - 2 && col === 0 && this.numcols % 4 !== 0) {\n this.corner2(pos++);\n }\n if (row === this.numrows - 2 && col === 0 && this.numcols % 8 === 4) {\n this.corner3(pos++);\n }\n if (row === this.numrows + 4 && col === 2 && this.numcols % 8 === 0) {\n this.corner4(pos++);\n }\n // sweep upward diagonally, inserting successive characters...\n do {\n if (row < this.numrows && col >= 0 && this.noBit(col, row)) {\n this.utah(row, col, pos++);\n }\n row -= 2;\n col += 2;\n } while (row >= 0 && col < this.numcols);\n row++;\n col += 3;\n // and then sweep downward diagonally, inserting successive characters, ...\n do {\n if (row >= 0 && col < this.numcols && this.noBit(col, row)) {\n this.utah(row, col, pos++);\n }\n row += 2;\n col -= 2;\n } while (row < this.numrows && col >= 0);\n row += 3;\n col++;\n // ...until the entire array is scanned\n } while (row < this.numrows || col < this.numcols);\n // Lastly, if the lower right-hand corner is untouched, fill in fixed pattern\n if (this.noBit(this.numcols - 1, this.numrows - 1)) {\n this.setBit(this.numcols - 1, this.numrows - 1, true);\n this.setBit(this.numcols - 2, this.numrows - 2, true);\n }\n };\n DefaultPlacement.prototype.module = function (row, col, pos, bit) {\n if (row < 0) {\n row += this.numrows;\n col += 4 - ((this.numrows + 4) % 8);\n }\n if (col < 0) {\n col += this.numcols;\n row += 4 - ((this.numcols + 4) % 8);\n }\n // Note the conversion:\n var v = this.codewords.charCodeAt(pos);\n v &= 1 << (8 - bit);\n this.setBit(col, row, v !== 0);\n };\n /**\n * Places the 8 bits of a utah-shaped symbol character in ECC200.\n *\n * @param row the row\n * @param col the column\n * @param pos character position\n */\n DefaultPlacement.prototype.utah = function (row, col, pos) {\n this.module(row - 2, col - 2, pos, 1);\n this.module(row - 2, col - 1, pos, 2);\n this.module(row - 1, col - 2, pos, 3);\n this.module(row - 1, col - 1, pos, 4);\n this.module(row - 1, col, pos, 5);\n this.module(row, col - 2, pos, 6);\n this.module(row, col - 1, pos, 7);\n this.module(row, col, pos, 8);\n };\n DefaultPlacement.prototype.corner1 = function (pos) {\n this.module(this.numrows - 1, 0, pos, 1);\n this.module(this.numrows - 1, 1, pos, 2);\n this.module(this.numrows - 1, 2, pos, 3);\n this.module(0, this.numcols - 2, pos, 4);\n this.module(0, this.numcols - 1, pos, 5);\n this.module(1, this.numcols - 1, pos, 6);\n this.module(2, this.numcols - 1, pos, 7);\n this.module(3, this.numcols - 1, pos, 8);\n };\n DefaultPlacement.prototype.corner2 = function (pos) {\n this.module(this.numrows - 3, 0, pos, 1);\n this.module(this.numrows - 2, 0, pos, 2);\n this.module(this.numrows - 1, 0, pos, 3);\n this.module(0, this.numcols - 4, pos, 4);\n this.module(0, this.numcols - 3, pos, 5);\n this.module(0, this.numcols - 2, pos, 6);\n this.module(0, this.numcols - 1, pos, 7);\n this.module(1, this.numcols - 1, pos, 8);\n };\n DefaultPlacement.prototype.corner3 = function (pos) {\n this.module(this.numrows - 3, 0, pos, 1);\n this.module(this.numrows - 2, 0, pos, 2);\n this.module(this.numrows - 1, 0, pos, 3);\n this.module(0, this.numcols - 2, pos, 4);\n this.module(0, this.numcols - 1, pos, 5);\n this.module(1, this.numcols - 1, pos, 6);\n this.module(2, this.numcols - 1, pos, 7);\n this.module(3, this.numcols - 1, pos, 8);\n };\n DefaultPlacement.prototype.corner4 = function (pos) {\n this.module(this.numrows - 1, 0, pos, 1);\n this.module(this.numrows - 1, this.numcols - 1, pos, 2);\n this.module(0, this.numcols - 3, pos, 3);\n this.module(0, this.numcols - 2, pos, 4);\n this.module(0, this.numcols - 1, pos, 5);\n this.module(1, this.numcols - 3, pos, 6);\n this.module(1, this.numcols - 2, pos, 7);\n this.module(1, this.numcols - 1, pos, 8);\n };\n return DefaultPlacement;\n}());\nexport default DefaultPlacement;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n};\nimport { MACRO_05_HEADER, MACRO_06_HEADER, MACRO_TRAILER, } from './constants';\nimport HighLevelEncoder from './HighLevelEncoder';\nimport { MinimalECIInput } from '../../common/MinimalECIInput';\nimport Integer from '../../util/Integer';\nvar Mode;\n(function (Mode) {\n Mode[Mode[\"ASCII\"] = 0] = \"ASCII\";\n Mode[Mode[\"C40\"] = 1] = \"C40\";\n Mode[Mode[\"TEXT\"] = 2] = \"TEXT\";\n Mode[Mode[\"X12\"] = 3] = \"X12\";\n Mode[Mode[\"EDF\"] = 4] = \"EDF\";\n Mode[Mode[\"B256\"] = 5] = \"B256\";\n})(Mode || (Mode = {}));\nvar C40_SHIFT2_CHARS = [\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];\nvar MinimalEncoder = /** @class */ (function () {\n function MinimalEncoder() {\n }\n MinimalEncoder.isExtendedASCII = function (ch, fnc1) {\n return ch !== fnc1 && ch >= 128 && ch <= 255;\n };\n MinimalEncoder.isInC40Shift1Set = function (ch) {\n return ch <= 31;\n };\n MinimalEncoder.isInC40Shift2Set = function (ch, fnc1) {\n var e_1, _a;\n try {\n for (var C40_SHIFT2_CHARS_1 = __values(C40_SHIFT2_CHARS), C40_SHIFT2_CHARS_1_1 = C40_SHIFT2_CHARS_1.next(); !C40_SHIFT2_CHARS_1_1.done; C40_SHIFT2_CHARS_1_1 = C40_SHIFT2_CHARS_1.next()) {\n var c40Shift2Char = C40_SHIFT2_CHARS_1_1.value;\n if (c40Shift2Char.charCodeAt(0) === ch) {\n return true;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (C40_SHIFT2_CHARS_1_1 && !C40_SHIFT2_CHARS_1_1.done && (_a = C40_SHIFT2_CHARS_1.return)) _a.call(C40_SHIFT2_CHARS_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return ch === fnc1;\n };\n MinimalEncoder.isInTextShift1Set = function (ch) {\n return this.isInC40Shift1Set(ch);\n };\n MinimalEncoder.isInTextShift2Set = function (ch, fnc1) {\n return this.isInC40Shift2Set(ch, fnc1);\n };\n /**\n * Performs message encoding of a DataMatrix message\n *\n * @param msg the message\n * @param priorityCharset The preferred {@link Charset}. When the value of the argument is null, the algorithm\n * chooses charsets that leads to a minimal representation. Otherwise the algorithm will use the priority\n * charset to encode any character in the input that can be encoded by it if the charset is among the\n * supported charsets.\n * @param fnc1 denotes the character in the input that represents the FNC1 character or -1 if this is not a GS1\n * bar code. If the value is not -1 then a FNC1 is also prepended.\n * @param shape requested shape.\n * @return the encoded message (the char values range from 0 to 255)\n */\n MinimalEncoder.encodeHighLevel = function (msg, priorityCharset, fnc1, shape) {\n if (priorityCharset === void 0) { priorityCharset = null; }\n if (fnc1 === void 0) { fnc1 = -1; }\n if (shape === void 0) { shape = 0 /* FORCE_NONE */; }\n var macroId = 0;\n if (msg.startsWith(MACRO_05_HEADER) && msg.endsWith(MACRO_TRAILER)) {\n macroId = 5;\n msg = msg.substring(MACRO_05_HEADER.length, msg.length - 2);\n }\n else if (msg.startsWith(MACRO_06_HEADER) && msg.endsWith(MACRO_TRAILER)) {\n macroId = 6;\n msg = msg.substring(MACRO_06_HEADER.length, msg.length - 2);\n }\n return decodeURIComponent(escape(String.fromCharCode.apply(String, __spread(this.encode(msg, priorityCharset, fnc1, shape, macroId)))));\n };\n /**\n * Encodes input minimally and returns an array of the codewords\n *\n * @param input The string to encode\n * @param priorityCharset The preferred {@link Charset}. When the value of the argument is null, the algorithm\n * chooses charsets that leads to a minimal representation. Otherwise the algorithm will use the priority\n * charset to encode any character in the input that can be encoded by it if the charset is among the\n * supported charsets.\n * @param fnc1 denotes the character in the input that represents the FNC1 character or -1 if this is not a GS1\n * bar code. If the value is not -1 then a FNC1 is also prepended.\n * @param shape requested shape.\n * @param macroId Prepends the specified macro function in case that a value of 5 or 6 is specified.\n * @return An array of bytes representing the codewords of a minimal encoding.\n */\n MinimalEncoder.encode = function (input, priorityCharset, fnc1, shape, macroId) {\n return this.encodeMinimally(new Input(input, priorityCharset, fnc1, shape, macroId)).getBytes();\n };\n MinimalEncoder.addEdge = function (edges, edge) {\n var vertexIndex = edge.fromPosition + edge.characterLength;\n if (edges[vertexIndex][edge.getEndMode()] === null ||\n edges[vertexIndex][edge.getEndMode()].cachedTotalSize >\n edge.cachedTotalSize) {\n edges[vertexIndex][edge.getEndMode()] = edge;\n }\n };\n /** @return the number of words in which the string starting at from can be encoded in c40 or text mode.\n * The number of characters encoded is returned in characterLength.\n * The number of characters encoded is also minimal in the sense that the algorithm stops as soon\n * as a character encoding fills a C40 word competely (three C40 values). An exception is at the\n * end of the string where two C40 values are allowed (according to the spec the third c40 value\n * is filled with 0 (Shift 1) in this case).\n */\n MinimalEncoder.getNumberOfC40Words = function (input, from, c40, characterLength) {\n var thirdsCount = 0;\n for (var i = from; i < input.length(); i++) {\n if (input.isECI(i)) {\n characterLength[0] = 0;\n return 0;\n }\n var ci = input.charAt(i);\n if ((c40 && HighLevelEncoder.isNativeC40(ci)) ||\n (!c40 && HighLevelEncoder.isNativeText(ci))) {\n thirdsCount++; // native\n }\n else if (!MinimalEncoder.isExtendedASCII(ci, input.getFNC1Character())) {\n thirdsCount += 2; // shift\n }\n else {\n var asciiValue = ci & 0xff;\n if (asciiValue >= 128 &&\n ((c40 && HighLevelEncoder.isNativeC40(asciiValue - 128)) ||\n (!c40 && HighLevelEncoder.isNativeText(asciiValue - 128)))) {\n thirdsCount += 3; // shift, Upper shift\n }\n else {\n thirdsCount += 4; // shift, Upper shift, shift\n }\n }\n if (thirdsCount % 3 === 0 ||\n ((thirdsCount - 2) % 3 === 0 && i + 1 === input.length())) {\n characterLength[0] = i - from + 1;\n return Math.ceil(thirdsCount / 3.0);\n }\n }\n characterLength[0] = 0;\n return 0;\n };\n MinimalEncoder.addEdges = function (input, edges, from, previous) {\n var e_2, _a;\n if (input.isECI(from)) {\n this.addEdge(edges, new Edge(input, Mode.ASCII, from, 1, previous));\n return;\n }\n var ch = input.charAt(from);\n if (previous === null || previous.getEndMode() !== Mode.EDF) {\n // not possible to unlatch a full EDF edge to something\n // else\n if (HighLevelEncoder.isDigit(ch) &&\n input.haveNCharacters(from, 2) &&\n HighLevelEncoder.isDigit(input.charAt(from + 1))) {\n // two digits ASCII encoded\n this.addEdge(edges, new Edge(input, Mode.ASCII, from, 2, previous));\n }\n else {\n // one ASCII encoded character or an extended character via Upper Shift\n this.addEdge(edges, new Edge(input, Mode.ASCII, from, 1, previous));\n }\n var modes = [Mode.C40, Mode.TEXT];\n try {\n for (var modes_1 = __values(modes), modes_1_1 = modes_1.next(); !modes_1_1.done; modes_1_1 = modes_1.next()) {\n var mode = modes_1_1.value;\n var characterLength = [];\n if (MinimalEncoder.getNumberOfC40Words(input, from, mode === Mode.C40, characterLength) > 0) {\n this.addEdge(edges, new Edge(input, mode, from, characterLength[0], previous));\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (modes_1_1 && !modes_1_1.done && (_a = modes_1.return)) _a.call(modes_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n if (input.haveNCharacters(from, 3) &&\n HighLevelEncoder.isNativeX12(input.charAt(from)) &&\n HighLevelEncoder.isNativeX12(input.charAt(from + 1)) &&\n HighLevelEncoder.isNativeX12(input.charAt(from + 2))) {\n this.addEdge(edges, new Edge(input, Mode.X12, from, 3, previous));\n }\n this.addEdge(edges, new Edge(input, Mode.B256, from, 1, previous));\n }\n // We create 4 EDF edges, with 1, 2 3 or 4 characters length. The fourth normally doesn't have a latch to ASCII\n // unless it is 2 characters away from the end of the input.\n var i;\n for (i = 0; i < 3; i++) {\n var pos = from + i;\n if (input.haveNCharacters(pos, 1) &&\n HighLevelEncoder.isNativeEDIFACT(input.charAt(pos))) {\n this.addEdge(edges, new Edge(input, Mode.EDF, from, i + 1, previous));\n }\n else {\n break;\n }\n }\n if (i === 3 &&\n input.haveNCharacters(from, 4) &&\n HighLevelEncoder.isNativeEDIFACT(input.charAt(from + 3))) {\n this.addEdge(edges, new Edge(input, Mode.EDF, from, 4, previous));\n }\n };\n MinimalEncoder.encodeMinimally = function (input) {\n /* The minimal encoding is computed by Dijkstra. The acyclic graph is modeled as follows:\n * A vertex represents a combination of a position in the input and an encoding mode where position 0\n * denotes the position left of the first character, 1 the position left of the second character and so on.\n * Likewise the end vertices are located after the last character at position input.length().\n * For any position there might be up to six vertices, one for each of the encoding types ASCII, C40, TEXT, X12,\n * EDF and B256.\n *\n * As an example consider the input string \"ABC123\" then at position 0 there is only one vertex with the default\n * ASCII encodation. At position 3 there might be vertices for the types ASCII, C40, X12, EDF and B256.\n *\n * An edge leading to such a vertex encodes one or more of the characters left of the position that the vertex\n * represents. It encodes the characters in the encoding mode of the vertex that it ends on. In other words,\n * all edges leading to a particular vertex encode the same characters (the length of the suffix can vary) using the same\n * encoding mode.\n * As an example consider the input string \"ABC123\" and the vertex (4,EDF). Possible edges leading to this vertex\n * are:\n * (0,ASCII) --EDF(ABC1)--> (4,EDF)\n * (1,ASCII) --EDF(BC1)--> (4,EDF)\n * (1,B256) --EDF(BC1)--> (4,EDF)\n * (1,EDF) --EDF(BC1)--> (4,EDF)\n * (2,ASCII) --EDF(C1)--> (4,EDF)\n * (2,B256) --EDF(C1)--> (4,EDF)\n * (2,EDF) --EDF(C1)--> (4,EDF)\n * (3,ASCII) --EDF(1)--> (4,EDF)\n * (3,B256) --EDF(1)--> (4,EDF)\n * (3,EDF) --EDF(1)--> (4,EDF)\n * (3,C40) --EDF(1)--> (4,EDF)\n * (3,X12) --EDF(1)--> (4,EDF)\n *\n * The edges leading to a vertex are stored in such a way that there is a fast way to enumerate the edges ending\n * on a particular vertex.\n *\n * The algorithm processes the vertices in order of their position thereby performing the following:\n *\n * For every vertex at position i the algorithm enumerates the edges ending on the vertex and removes all but the\n * shortest from that list.\n * Then it processes the vertices for the position i+1. If i+1 == input.length() then the algorithm ends\n * and chooses the the edge with the smallest size from any of the edges leading to vertices at this position.\n * Otherwise the algorithm computes all possible outgoing edges for the vertices at the position i+1\n *\n * Examples:\n * The process is illustrated by showing the graph (edges) after each iteration from left to right over the input:\n * An edge is drawn as follows \"(\" + fromVertex + \") -- \" + encodingMode + \"(\" + encodedInput + \") (\" +\n * accumulatedSize + \") --> (\" + toVertex + \")\"\n *\n * Example 1 encoding the string \"ABCDEFG\":\n *\n *\n * Situation after adding edges to the start vertex (0,ASCII)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII)\n * (0,ASCII) B256(A) (3) --> (1,B256)\n * (0,ASCII) EDF(AB) (4) --> (2,EDF)\n * (0,ASCII) C40(ABC) (3) --> (3,C40)\n * (0,ASCII) TEXT(ABC) (5) --> (3,TEXT)\n * (0,ASCII) X12(ABC) (3) --> (3,X12)\n * (0,ASCII) EDF(ABC) (4) --> (3,EDF)\n * (0,ASCII) EDF(ABCD) (4) --> (4,EDF)\n *\n * Situation after adding edges to vertices at position 1\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII)\n * (0,ASCII) B256(A) (3) --> (1,B256)\n * (0,ASCII) EDF(AB) (4) --> (2,EDF)\n * (0,ASCII) C40(ABC) (3) --> (3,C40)\n * (0,ASCII) TEXT(ABC) (5) --> (3,TEXT)\n * (0,ASCII) X12(ABC) (3) --> (3,X12)\n * (0,ASCII) EDF(ABC) (4) --> (3,EDF)\n * (0,ASCII) EDF(ABCD) (4) --> (4,EDF)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) B256(B) (4) --> (2,B256)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) EDF(BC) (5) --> (3,EDF)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) C40(BCD) (4) --> (4,C40)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) TEXT(BCD) (6) --> (4,TEXT)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) X12(BCD) (4) --> (4,X12)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) EDF(BCD) (5) --> (4,EDF)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) EDF(BCDE) (5) --> (5,EDF)\n * (0,ASCII) B256(A) (3) --> (1,B256) ASCII(B) (4) --> (2,ASCII)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256)\n * (0,ASCII) B256(A) (3) --> (1,B256) EDF(BC) (6) --> (3,EDF)\n * (0,ASCII) B256(A) (3) --> (1,B256) C40(BCD) (5) --> (4,C40)\n * (0,ASCII) B256(A) (3) --> (1,B256) TEXT(BCD) (7) --> (4,TEXT)\n * (0,ASCII) B256(A) (3) --> (1,B256) X12(BCD) (5) --> (4,X12)\n * (0,ASCII) B256(A) (3) --> (1,B256) EDF(BCD) (6) --> (4,EDF)\n * (0,ASCII) B256(A) (3) --> (1,B256) EDF(BCDE) (6) --> (5,EDF)\n *\n * Edge \"(1,ASCII) ASCII(B) (2) --> (2,ASCII)\" is minimal for the vertex (2,ASCII) so that edge \"(1,B256) ASCII(B) (4) --> (2,ASCII)\" is removed.\n * Edge \"(1,B256) B256(B) (3) --> (2,B256)\" is minimal for the vertext (2,B256) so that the edge \"(1,ASCII) B256(B) (4) --> (2,B256)\" is removed.\n *\n * Situation after adding edges to vertices at position 2\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII)\n * (0,ASCII) B256(A) (3) --> (1,B256)\n * (0,ASCII) EDF(AB) (4) --> (2,EDF)\n * (0,ASCII) C40(ABC) (3) --> (3,C40)\n * (0,ASCII) TEXT(ABC) (5) --> (3,TEXT)\n * (0,ASCII) X12(ABC) (3) --> (3,X12)\n * (0,ASCII) EDF(ABC) (4) --> (3,EDF)\n * (0,ASCII) EDF(ABCD) (4) --> (4,EDF)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) EDF(BC) (5) --> (3,EDF)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) C40(BCD) (4) --> (4,C40)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) TEXT(BCD) (6) --> (4,TEXT)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) X12(BCD) (4) --> (4,X12)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) EDF(BCD) (5) --> (4,EDF)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) EDF(BCDE) (5) --> (5,EDF)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256)\n * (0,ASCII) B256(A) (3) --> (1,B256) EDF(BC) (6) --> (3,EDF)\n * (0,ASCII) B256(A) (3) --> (1,B256) C40(BCD) (5) --> (4,C40)\n * (0,ASCII) B256(A) (3) --> (1,B256) TEXT(BCD) (7) --> (4,TEXT)\n * (0,ASCII) B256(A) (3) --> (1,B256) X12(BCD) (5) --> (4,X12)\n * (0,ASCII) B256(A) (3) --> (1,B256) EDF(BCD) (6) --> (4,EDF)\n * (0,ASCII) B256(A) (3) --> (1,B256) EDF(BCDE) (6) --> (5,EDF)\n * (0,ASCII) EDF(AB) (4) --> (2,EDF) ASCII(C) (5) --> (3,ASCII)\n * (0,ASCII) EDF(AB) (4) --> (2,EDF) B256(C) (6) --> (3,B256)\n * (0,ASCII) EDF(AB) (4) --> (2,EDF) EDF(CD) (7) --> (4,EDF)\n * (0,ASCII) EDF(AB) (4) --> (2,EDF) C40(CDE) (6) --> (5,C40)\n * (0,ASCII) EDF(AB) (4) --> (2,EDF) TEXT(CDE) (8) --> (5,TEXT)\n * (0,ASCII) EDF(AB) (4) --> (2,EDF) X12(CDE) (6) --> (5,X12)\n * (0,ASCII) EDF(AB) (4) --> (2,EDF) EDF(CDE) (7) --> (5,EDF)\n * (0,ASCII) EDF(AB) (4) --> (2,EDF) EDF(CDEF) (7) --> (6,EDF)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) ASCII(C) (3) --> (3,ASCII)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) B256(C) (5) --> (3,B256)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) EDF(CD) (6) --> (4,EDF)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) C40(CDE) (5) --> (5,C40)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) TEXT(CDE) (7) --> (5,TEXT)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) X12(CDE) (5) --> (5,X12)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) EDF(CDE) (6) --> (5,EDF)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) EDF(CDEF) (6) --> (6,EDF)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256) ASCII(C) (4) --> (3,ASCII)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256) B256(C) (4) --> (3,B256)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256) EDF(CD) (6) --> (4,EDF)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256) C40(CDE) (5) --> (5,C40)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256) TEXT(CDE) (7) --> (5,TEXT)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256) X12(CDE) (5) --> (5,X12)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256) EDF(CDE) (6) --> (5,EDF)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256) EDF(CDEF) (6) --> (6,EDF)\n *\n * Edge \"(2,ASCII) ASCII(C) (3) --> (3,ASCII)\" is minimal for the vertex (3,ASCII) so that edges \"(2,EDF) ASCII(C) (5) --> (3,ASCII)\"\n * and \"(2,B256) ASCII(C) (4) --> (3,ASCII)\" can be removed.\n * Edge \"(0,ASCII) EDF(ABC) (4) --> (3,EDF)\" is minimal for the vertex (3,EDF) so that edges \"(1,ASCII) EDF(BC) (5) --> (3,EDF)\"\n * and \"(1,B256) EDF(BC) (6) --> (3,EDF)\" can be removed.\n * Edge \"(2,B256) B256(C) (4) --> (3,B256)\" is minimal for the vertex (3,B256) so that edges \"(2,ASCII) B256(C) (5) --> (3,B256)\"\n * and \"(2,EDF) B256(C) (6) --> (3,B256)\" can be removed.\n *\n * This continues for vertices 3 thru 7\n *\n * Situation after adding edges to vertices at position 7\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII)\n * (0,ASCII) B256(A) (3) --> (1,B256)\n * (0,ASCII) EDF(AB) (4) --> (2,EDF)\n * (0,ASCII) C40(ABC) (3) --> (3,C40)\n * (0,ASCII) TEXT(ABC) (5) --> (3,TEXT)\n * (0,ASCII) X12(ABC) (3) --> (3,X12)\n * (0,ASCII) EDF(ABC) (4) --> (3,EDF)\n * (0,ASCII) EDF(ABCD) (4) --> (4,EDF)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) C40(BCD) (4) --> (4,C40)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) TEXT(BCD) (6) --> (4,TEXT)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) X12(BCD) (4) --> (4,X12)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) EDF(BCDE) (5) --> (5,EDF)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256)\n * (0,ASCII) C40(ABC) (3) --> (3,C40) C40(DEF) (5) --> (6,C40)\n * (0,ASCII) X12(ABC) (3) --> (3,X12) X12(DEF) (5) --> (6,X12)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) ASCII(C) (3) --> (3,ASCII)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) C40(CDE) (5) --> (5,C40)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) TEXT(CDE) (7) --> (5,TEXT)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) X12(CDE) (5) --> (5,X12)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) EDF(CDEF) (6) --> (6,EDF)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) C40(BCD) (4) --> (4,C40) C40(EFG) (6) --> (7,C40) //Solution 1\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) X12(BCD) (4) --> (4,X12) X12(EFG) (6) --> (7,X12) //Solution 2\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256) B256(C) (4) --> (3,B256)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) ASCII(C) (3) --> (3,ASCII) ASCII(D) (4) --> (4,ASCII)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) ASCII(C) (3) --> (3,ASCII) TEXT(DEF) (8) --> (6,TEXT)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) ASCII(C) (3) --> (3,ASCII) EDF(DEFG) (7) --> (7,EDF)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256) B256(C) (4) --> (3,B256) B256(D) (5) --> (4,B256)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) ASCII(C) (3) --> (3,ASCII) ASCII(D) (4) --> (4,ASCII) ASCII(E) (5) --> (5,ASCII)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) ASCII(C) (3) --> (3,ASCII) ASCII(D) (4) --> (4,ASCII) TEXT(EFG) (9) --> (7,TEXT)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256) B256(C) (4) --> (3,B256) B256(D) (5) --> (4,B256) B256(E) (6) --> (5,B256)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) ASCII(C) (3) --> (3,ASCII) ASCII(D) (4) --> (4,ASCII) ASCII(E) (5) --> (5,ASCII) ASCII(F) (6) --> (6,ASCII)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256) B256(C) (4) --> (3,B256) B256(D) (5) --> (4,B256) B256(E) (6) --> (5,B256) B256(F) (7) --> (6,B256)\n * (0,ASCII) ASCII(A) (1) --> (1,ASCII) ASCII(B) (2) --> (2,ASCII) ASCII(C) (3) --> (3,ASCII) ASCII(D) (4) --> (4,ASCII) ASCII(E) (5) --> (5,ASCII) ASCII(F) (6) --> (6,ASCII) ASCII(G) (7) --> (7,ASCII)\n * (0,ASCII) B256(A) (3) --> (1,B256) B256(B) (3) --> (2,B256) B256(C) (4) --> (3,B256) B256(D) (5) --> (4,B256) B256(E) (6) --> (5,B256) B256(F) (7) --> (6,B256) B256(G) (8) --> (7,B256)\n *\n * Hence a minimal encoding of \"ABCDEFG\" is either ASCII(A),C40(BCDEFG) or ASCII(A), X12(BCDEFG) with a size of 5 bytes.\n */\n var inputLength = input.length();\n // Array that represents vertices. There is a vertex for every character and mode.\n // The last dimension in the array below encodes the 6 modes ASCII, C40, TEXT, X12, EDF and B256\n var edges = Array(inputLength + 1)\n .fill(null)\n .map(function () { return Array(6).fill(0); });\n this.addEdges(input, edges, 0, null);\n for (var i = 1; i <= inputLength; i++) {\n for (var j = 0; j < 6; j++) {\n if (edges[i][j] !== null && i < inputLength) {\n this.addEdges(input, edges, i, edges[i][j]);\n }\n }\n // optimize memory by removing edges that have been passed.\n for (var j = 0; j < 6; j++) {\n edges[i - 1][j] = null;\n }\n }\n var minimalJ = -1;\n var minimalSize = Integer.MAX_VALUE;\n for (var j = 0; j < 6; j++) {\n if (edges[inputLength][j] !== null) {\n var edge = edges[inputLength][j];\n var size = j >= 1 && j <= 3 ? edge.cachedTotalSize + 1 : edge.cachedTotalSize; // C40, TEXT and X12 need an\n // extra unlatch at the end\n if (size < minimalSize) {\n minimalSize = size;\n minimalJ = j;\n }\n }\n }\n if (minimalJ < 0) {\n throw new Error('Failed to encode \"' + input + '\"');\n }\n return new Result(edges[inputLength][minimalJ]);\n };\n return MinimalEncoder;\n}());\nexport { MinimalEncoder };\nvar Result = /** @class */ (function () {\n function Result(solution) {\n var input = solution.input;\n var size = 0;\n var bytesAL = [];\n var randomizePostfixLength = [];\n var randomizeLengths = [];\n if ((solution.mode === Mode.C40 ||\n solution.mode === Mode.TEXT ||\n solution.mode === Mode.X12) &&\n solution.getEndMode() !== Mode.ASCII) {\n size += this.prepend(Edge.getBytes(254), bytesAL);\n }\n var current = solution;\n while (current !== null) {\n size += this.prepend(current.getDataBytes(), bytesAL);\n if (current.previous === null ||\n current.getPreviousStartMode() !== current.getMode()) {\n if (current.getMode() === Mode.B256) {\n if (size <= 249) {\n bytesAL.unshift(size);\n size++;\n }\n else {\n bytesAL.unshift(size % 250);\n bytesAL.unshift(size / 250 + 249);\n size += 2;\n }\n randomizePostfixLength.push(bytesAL.length);\n randomizeLengths.push(size);\n }\n this.prepend(current.getLatchBytes(), bytesAL);\n size = 0;\n }\n current = current.previous;\n }\n if (input.getMacroId() === 5) {\n size += this.prepend(Edge.getBytes(236), bytesAL);\n }\n else if (input.getMacroId() === 6) {\n size += this.prepend(Edge.getBytes(237), bytesAL);\n }\n if (input.getFNC1Character() > 0) {\n size += this.prepend(Edge.getBytes(232), bytesAL);\n }\n for (var i = 0; i < randomizePostfixLength.length; i++) {\n this.applyRandomPattern(bytesAL, bytesAL.length - randomizePostfixLength[i], randomizeLengths[i]);\n }\n // add padding\n var capacity = solution.getMinSymbolSize(bytesAL.length);\n if (bytesAL.length < capacity) {\n bytesAL.push(129);\n }\n while (bytesAL.length < capacity) {\n bytesAL.push(this.randomize253State(bytesAL.length + 1));\n }\n this.bytes = new Uint8Array(bytesAL.length);\n for (var i = 0; i < this.bytes.length; i++) {\n this.bytes[i] = bytesAL[i];\n }\n }\n Result.prototype.prepend = function (bytes, into) {\n for (var i = bytes.length - 1; i >= 0; i--) {\n into.unshift(bytes[i]);\n }\n return bytes.length;\n };\n Result.prototype.randomize253State = function (codewordPosition) {\n var pseudoRandom = ((149 * codewordPosition) % 253) + 1;\n var tempVariable = 129 + pseudoRandom;\n return tempVariable <= 254 ? tempVariable : tempVariable - 254;\n };\n Result.prototype.applyRandomPattern = function (bytesAL, startPosition, length) {\n for (var i = 0; i < length; i++) {\n // See \"B.1 253-state algorithm\n var Pad_codeword_position = startPosition + i;\n var Pad_codeword_value = bytesAL[Pad_codeword_position] & 0xff;\n var pseudo_random_number = ((149 * (Pad_codeword_position + 1)) % 255) + 1;\n var temp_variable = Pad_codeword_value + pseudo_random_number;\n bytesAL[Pad_codeword_position] =\n temp_variable <= 255 ? temp_variable : temp_variable - 256;\n }\n };\n Result.prototype.getBytes = function () {\n return this.bytes;\n };\n return Result;\n}());\nvar Edge = /** @class */ (function () {\n function Edge(input, mode, fromPosition, characterLength, previous) {\n this.input = input;\n this.mode = mode;\n this.fromPosition = fromPosition;\n this.characterLength = characterLength;\n this.previous = previous;\n this.allCodewordCapacities = [\n 3, 5, 8, 10, 12, 16, 18, 22, 30, 32, 36, 44, 49, 62, 86, 114, 144, 174, 204,\n 280, 368, 456, 576, 696, 816, 1050, 1304, 1558,\n ];\n this.squareCodewordCapacities = [\n 3, 5, 8, 12, 18, 22, 30, 36, 44, 62, 86, 114, 144, 174, 204, 280, 368, 456,\n 576, 696, 816, 1050, 1304, 1558,\n ];\n this.rectangularCodewordCapacities = [5, 10, 16, 33, 32, 49];\n if (!(fromPosition + characterLength <= input.length())) {\n throw new Error('Invalid edge');\n }\n var size = previous !== null ? previous.cachedTotalSize : 0;\n var previousMode = this.getPreviousMode();\n /*\n * Switching modes\n * ASCII -> C40: latch 230\n * ASCII -> TEXT: latch 239\n * ASCII -> X12: latch 238\n * ASCII -> EDF: latch 240\n * ASCII -> B256: latch 231\n * C40 -> ASCII: word(c1,c2,c3), 254\n * TEXT -> ASCII: word(c1,c2,c3), 254\n * X12 -> ASCII: word(c1,c2,c3), 254\n * EDIFACT -> ASCII: Unlatch character,0,0,0 or c1,Unlatch character,0,0 or c1,c2,Unlatch character,0 or\n * c1,c2,c3,Unlatch character\n * B256 -> ASCII: without latch after n bytes\n */\n switch (mode) {\n case Mode.ASCII:\n size++;\n if (input.isECI(fromPosition) ||\n MinimalEncoder.isExtendedASCII(input.charAt(fromPosition), input.getFNC1Character())) {\n size++;\n }\n if (previousMode === Mode.C40 ||\n previousMode === Mode.TEXT ||\n previousMode === Mode.X12) {\n size++; // unlatch 254 to ASCII\n }\n break;\n case Mode.B256:\n size++;\n if (previousMode !== Mode.B256) {\n size++; // byte count\n }\n else if (this.getB256Size() === 250) {\n size++; // extra byte count\n }\n if (previousMode === Mode.ASCII) {\n size++; // latch to B256\n }\n else if (previousMode === Mode.C40 ||\n previousMode === Mode.TEXT ||\n previousMode === Mode.X12) {\n size += 2; // unlatch to ASCII, latch to B256\n }\n break;\n case Mode.C40:\n case Mode.TEXT:\n case Mode.X12:\n if (mode === Mode.X12) {\n size += 2;\n }\n else {\n var charLen = [];\n size +=\n MinimalEncoder.getNumberOfC40Words(input, fromPosition, mode === Mode.C40, charLen) * 2;\n }\n if (previousMode === Mode.ASCII || previousMode === Mode.B256) {\n size++; // additional byte for latch from ASCII to this mode\n }\n else if (previousMode !== mode &&\n (previousMode === Mode.C40 ||\n previousMode === Mode.TEXT ||\n previousMode === Mode.X12)) {\n size += 2; // unlatch 254 to ASCII followed by latch to this mode\n }\n break;\n case Mode.EDF:\n size += 3;\n if (previousMode === Mode.ASCII || previousMode === Mode.B256) {\n size++; // additional byte for latch from ASCII to this mode\n }\n else if (previousMode === Mode.C40 ||\n previousMode === Mode.TEXT ||\n previousMode === Mode.X12) {\n size += 2; // unlatch 254 to ASCII followed by latch to this mode\n }\n break;\n }\n this.cachedTotalSize = size;\n }\n // does not count beyond 250\n Edge.prototype.getB256Size = function () {\n var cnt = 0;\n var current = this;\n while (current !== null && current.mode === Mode.B256 && cnt <= 250) {\n cnt++;\n current = current.previous;\n }\n return cnt;\n };\n Edge.prototype.getPreviousStartMode = function () {\n return this.previous === null ? Mode.ASCII : this.previous.mode;\n };\n Edge.prototype.getPreviousMode = function () {\n return this.previous === null ? Mode.ASCII : this.previous.getEndMode();\n };\n /** Returns Mode.ASCII in case that:\n * - Mode is EDIFACT and characterLength is less than 4 or the remaining characters can be encoded in at most 2\n * ASCII bytes.\n * - Mode is C40, TEXT or X12 and the remaining characters can be encoded in at most 1 ASCII byte.\n * Returns mode in all other cases.\n * */\n Edge.prototype.getEndMode = function () {\n if (this.mode === Mode.EDF) {\n if (this.characterLength < 4) {\n return Mode.ASCII;\n }\n var lastASCII = this.getLastASCII(); // see 5.2.8.2 EDIFACT encodation Rules\n if (lastASCII > 0 &&\n this.getCodewordsRemaining(this.cachedTotalSize + lastASCII) <=\n 2 - lastASCII) {\n return Mode.ASCII;\n }\n }\n if (this.mode === Mode.C40 ||\n this.mode === Mode.TEXT ||\n this.mode === Mode.X12) {\n // see 5.2.5.2 C40 encodation rules and 5.2.7.2 ANSI X12 encodation rules\n if (this.fromPosition + this.characterLength >= this.input.length() &&\n this.getCodewordsRemaining(this.cachedTotalSize) === 0) {\n return Mode.ASCII;\n }\n var lastASCII = this.getLastASCII();\n if (lastASCII === 1 &&\n this.getCodewordsRemaining(this.cachedTotalSize + 1) === 0) {\n return Mode.ASCII;\n }\n }\n return this.mode;\n };\n Edge.prototype.getMode = function () {\n return this.mode;\n };\n /** Peeks ahead and returns 1 if the postfix consists of exactly two digits, 2 if the postfix consists of exactly\n * two consecutive digits and a non extended character or of 4 digits.\n * Returns 0 in any other case\n **/\n Edge.prototype.getLastASCII = function () {\n var length = this.input.length();\n var from = this.fromPosition + this.characterLength;\n if (length - from > 4 || from >= length) {\n return 0;\n }\n if (length - from === 1) {\n if (MinimalEncoder.isExtendedASCII(this.input.charAt(from), this.input.getFNC1Character())) {\n return 0;\n }\n return 1;\n }\n if (length - from === 2) {\n if (MinimalEncoder.isExtendedASCII(this.input.charAt(from), this.input.getFNC1Character()) ||\n MinimalEncoder.isExtendedASCII(this.input.charAt(from + 1), this.input.getFNC1Character())) {\n return 0;\n }\n if (HighLevelEncoder.isDigit(this.input.charAt(from)) &&\n HighLevelEncoder.isDigit(this.input.charAt(from + 1))) {\n return 1;\n }\n return 2;\n }\n if (length - from === 3) {\n if (HighLevelEncoder.isDigit(this.input.charAt(from)) &&\n HighLevelEncoder.isDigit(this.input.charAt(from + 1)) &&\n !MinimalEncoder.isExtendedASCII(this.input.charAt(from + 2), this.input.getFNC1Character())) {\n return 2;\n }\n if (HighLevelEncoder.isDigit(this.input.charAt(from + 1)) &&\n HighLevelEncoder.isDigit(this.input.charAt(from + 2)) &&\n !MinimalEncoder.isExtendedASCII(this.input.charAt(from), this.input.getFNC1Character())) {\n return 2;\n }\n return 0;\n }\n if (HighLevelEncoder.isDigit(this.input.charAt(from)) &&\n HighLevelEncoder.isDigit(this.input.charAt(from + 1)) &&\n HighLevelEncoder.isDigit(this.input.charAt(from + 2)) &&\n HighLevelEncoder.isDigit(this.input.charAt(from + 3))) {\n return 2;\n }\n return 0;\n };\n /** Returns the capacity in codewords of the smallest symbol that has enough capacity to fit the given minimal\n * number of codewords.\n **/\n Edge.prototype.getMinSymbolSize = function (minimum) {\n var e_3, _a, e_4, _b, e_5, _c;\n switch (this.input.getShapeHint()) {\n case 1 /* FORCE_SQUARE */:\n try {\n for (var _d = __values(this.squareCodewordCapacities), _e = _d.next(); !_e.done; _e = _d.next()) {\n var capacity = _e.value;\n if (capacity >= minimum) {\n return capacity;\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_a = _d.return)) _a.call(_d);\n }\n finally { if (e_3) throw e_3.error; }\n }\n break;\n case 2 /* FORCE_RECTANGLE */:\n try {\n for (var _f = __values(this.rectangularCodewordCapacities), _g = _f.next(); !_g.done; _g = _f.next()) {\n var capacity = _g.value;\n if (capacity >= minimum) {\n return capacity;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_g && !_g.done && (_b = _f.return)) _b.call(_f);\n }\n finally { if (e_4) throw e_4.error; }\n }\n break;\n }\n try {\n for (var _h = __values(this.allCodewordCapacities), _j = _h.next(); !_j.done; _j = _h.next()) {\n var capacity = _j.value;\n if (capacity >= minimum) {\n return capacity;\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (_j && !_j.done && (_c = _h.return)) _c.call(_h);\n }\n finally { if (e_5) throw e_5.error; }\n }\n return this.allCodewordCapacities[this.allCodewordCapacities.length - 1];\n };\n /** Returns the remaining capacity in codewords of the smallest symbol that has enough capacity to fit the given\n * minimal number of codewords.\n **/\n Edge.prototype.getCodewordsRemaining = function (minimum) {\n return this.getMinSymbolSize(minimum) - minimum;\n };\n Edge.getBytes = function (c1, c2) {\n var result = new Uint8Array(c2 ? 2 : 1);\n result[0] = c1;\n if (c2) {\n result[1] = c2;\n }\n return result;\n };\n Edge.prototype.setC40Word = function (bytes, offset, c1, c2, c3) {\n var val16 = 1600 * (c1 & 0xff) + 40 * (c2 & 0xff) + (c3 & 0xff) + 1;\n bytes[offset] = val16 / 256;\n bytes[offset + 1] = val16 % 256;\n };\n Edge.prototype.getX12Value = function (c) {\n return c === 13\n ? 0\n : c === 42\n ? 1\n : c === 62\n ? 2\n : c === 32\n ? 3\n : c >= 48 && c <= 57\n ? c - 44\n : c >= 65 && c <= 90\n ? c - 51\n : c;\n };\n Edge.prototype.getX12Words = function () {\n if (!(this.characterLength % 3 === 0)) {\n throw new Error('X12 words must be a multiple of 3');\n }\n var result = new Uint8Array((this.characterLength / 3) * 2);\n for (var i = 0; i < result.length; i += 2) {\n this.setC40Word(result, i, this.getX12Value(this.input.charAt(this.fromPosition + (i / 2) * 3)), this.getX12Value(this.input.charAt(this.fromPosition + (i / 2) * 3 + 1)), this.getX12Value(this.input.charAt(this.fromPosition + (i / 2) * 3 + 2)));\n }\n return result;\n };\n Edge.prototype.getShiftValue = function (c, c40, fnc1) {\n return (c40 && MinimalEncoder.isInC40Shift1Set(c)) ||\n (!c40 && MinimalEncoder.isInTextShift1Set(c))\n ? 0\n : (c40 && MinimalEncoder.isInC40Shift2Set(c, fnc1)) ||\n (!c40 && MinimalEncoder.isInTextShift2Set(c, fnc1))\n ? 1\n : 2;\n };\n Edge.prototype.getC40Value = function (c40, setIndex, c, fnc1) {\n if (c === fnc1) {\n if (!(setIndex === 2)) {\n throw new Error('FNC1 cannot be used in C40 shift 2');\n }\n return 27;\n }\n if (c40) {\n return c <= 31\n ? c\n : c === 32\n ? 3\n : c <= 47\n ? c - 33\n : c <= 57\n ? c - 44\n : c <= 64\n ? c - 43\n : c <= 90\n ? c - 51\n : c <= 95\n ? c - 69\n : c <= 127\n ? c - 96\n : c;\n }\n else {\n return c === 0\n ? 0\n : setIndex === 0 && c <= 3\n ? c - 1 // is this a bug in the spec?\n : setIndex === 1 && c <= 31\n ? c\n : c === 32\n ? 3\n : c >= 33 && c <= 47\n ? c - 33\n : c >= 48 && c <= 57\n ? c - 44\n : c >= 58 && c <= 64\n ? c - 43\n : c >= 65 && c <= 90\n ? c - 64\n : c >= 91 && c <= 95\n ? c - 69\n : c === 96\n ? 0\n : c >= 97 && c <= 122\n ? c - 83\n : c >= 123 && c <= 127\n ? c - 96\n : c;\n }\n };\n Edge.prototype.getC40Words = function (c40, fnc1) {\n var c40Values = [];\n for (var i = 0; i < this.characterLength; i++) {\n var ci = this.input.charAt(this.fromPosition + i);\n if ((c40 && HighLevelEncoder.isNativeC40(ci)) ||\n (!c40 && HighLevelEncoder.isNativeText(ci))) {\n c40Values.push(this.getC40Value(c40, 0, ci, fnc1));\n }\n else if (!MinimalEncoder.isExtendedASCII(ci, fnc1)) {\n var shiftValue = this.getShiftValue(ci, c40, fnc1);\n c40Values.push(shiftValue); // Shift[123]\n c40Values.push(this.getC40Value(c40, shiftValue, ci, fnc1));\n }\n else {\n var asciiValue = (ci & 0xff) - 128;\n if ((c40 && HighLevelEncoder.isNativeC40(asciiValue)) ||\n (!c40 && HighLevelEncoder.isNativeText(asciiValue))) {\n c40Values.push(1); // Shift 2\n c40Values.push(30); // Upper Shift\n c40Values.push(this.getC40Value(c40, 0, asciiValue, fnc1));\n }\n else {\n c40Values.push(1); // Shift 2\n c40Values.push(30); // Upper Shift\n var shiftValue = this.getShiftValue(asciiValue, c40, fnc1);\n c40Values.push(shiftValue); // Shift[123]\n c40Values.push(this.getC40Value(c40, shiftValue, asciiValue, fnc1));\n }\n }\n }\n if (c40Values.length % 3 !== 0) {\n if (!((c40Values.length - 2) % 3 === 0 &&\n this.fromPosition + this.characterLength === this.input.length())) {\n throw new Error('C40 words must be a multiple of 3');\n }\n c40Values.push(0); // pad with 0 (Shift 1)\n }\n var result = new Uint8Array((c40Values.length / 3) * 2);\n var byteIndex = 0;\n for (var i = 0; i < c40Values.length; i += 3) {\n this.setC40Word(result, byteIndex, c40Values[i] & 0xff, c40Values[i + 1] & 0xff, c40Values[i + 2] & 0xff);\n byteIndex += 2;\n }\n return result;\n };\n Edge.prototype.getEDFBytes = function () {\n var numberOfThirds = Math.ceil(this.characterLength / 4.0);\n var result = new Uint8Array(numberOfThirds * 3);\n var pos = this.fromPosition;\n var endPos = Math.min(this.fromPosition + this.characterLength - 1, this.input.length() - 1);\n for (var i = 0; i < numberOfThirds; i += 3) {\n var edfValues = [];\n for (var j = 0; j < 4; j++) {\n if (pos <= endPos) {\n edfValues[j] = this.input.charAt(pos++) & 0x3f;\n }\n else {\n edfValues[j] = pos === endPos + 1 ? 0x1f : 0;\n }\n }\n var val24 = edfValues[0] << 18;\n val24 |= edfValues[1] << 12;\n val24 |= edfValues[2] << 6;\n val24 |= edfValues[3];\n result[i] = (val24 >> 16) & 0xff;\n result[i + 1] = (val24 >> 8) & 0xff;\n result[i + 2] = val24 & 0xff;\n }\n return result;\n };\n Edge.prototype.getLatchBytes = function () {\n switch (this.getPreviousMode()) {\n case Mode.ASCII:\n case Mode.B256: // after B256 ends (via length) we are back to ASCII\n switch (this.mode) {\n case Mode.B256:\n return Edge.getBytes(231);\n case Mode.C40:\n return Edge.getBytes(230);\n case Mode.TEXT:\n return Edge.getBytes(239);\n case Mode.X12:\n return Edge.getBytes(238);\n case Mode.EDF:\n return Edge.getBytes(240);\n }\n break;\n case Mode.C40:\n case Mode.TEXT:\n case Mode.X12:\n if (this.mode !== this.getPreviousMode()) {\n switch (this.mode) {\n case Mode.ASCII:\n return Edge.getBytes(254);\n case Mode.B256:\n return Edge.getBytes(254, 231);\n case Mode.C40:\n return Edge.getBytes(254, 230);\n case Mode.TEXT:\n return Edge.getBytes(254, 239);\n case Mode.X12:\n return Edge.getBytes(254, 238);\n case Mode.EDF:\n return Edge.getBytes(254, 240);\n }\n }\n break;\n case Mode.EDF:\n // The rightmost EDIFACT edge always contains an unlatch character\n if (this.mode !== Mode.EDF) {\n throw new Error('Cannot switch from EDF to ' + this.mode);\n }\n break;\n }\n return new Uint8Array(0);\n };\n // Important: The function does not return the length bytes (one or two) in case of B256 encoding\n Edge.prototype.getDataBytes = function () {\n switch (this.mode) {\n case Mode.ASCII:\n if (this.input.isECI(this.fromPosition)) {\n return Edge.getBytes(241, this.input.getECIValue(this.fromPosition) + 1);\n }\n else if (MinimalEncoder.isExtendedASCII(this.input.charAt(this.fromPosition), this.input.getFNC1Character())) {\n return Edge.getBytes(235, this.input.charAt(this.fromPosition) - 127);\n }\n else if (this.characterLength === 2) {\n return Edge.getBytes(this.input.charAt(this.fromPosition) * 10 +\n this.input.charAt(this.fromPosition + 1) +\n 130);\n }\n else if (this.input.isFNC1(this.fromPosition)) {\n return Edge.getBytes(232);\n }\n else {\n return Edge.getBytes(this.input.charAt(this.fromPosition) + 1);\n }\n case Mode.B256:\n return Edge.getBytes(this.input.charAt(this.fromPosition));\n case Mode.C40:\n return this.getC40Words(true, this.input.getFNC1Character());\n case Mode.TEXT:\n return this.getC40Words(false, this.input.getFNC1Character());\n case Mode.X12:\n return this.getX12Words();\n case Mode.EDF:\n return this.getEDFBytes();\n }\n };\n return Edge;\n}());\nvar Input = /** @class */ (function (_super) {\n __extends(Input, _super);\n function Input(stringToEncode, priorityCharset, fnc1, shape, macroId) {\n var _this = _super.call(this, stringToEncode, priorityCharset, fnc1) || this;\n _this.shape = shape;\n _this.macroId = macroId;\n return _this;\n }\n Input.prototype.getMacroId = function () {\n return this.macroId;\n };\n Input.prototype.getShapeHint = function () {\n return this.shape;\n };\n return Input;\n}(MinimalECIInput));\n","import StringBuilder from '../../util/StringBuilder';\nimport { ALOG, FACTORS, FACTOR_SETS, LOG } from './constants';\n/**\n * Error Correction Code for ECC200.\n */\nvar ErrorCorrection = /** @class */ (function () {\n function ErrorCorrection() {\n }\n /**\n * Creates the ECC200 error correction for an encoded message.\n *\n * @param codewords the codewords\n * @param symbolInfo information about the symbol to be encoded\n * @return the codewords with interleaved error correction.\n */\n ErrorCorrection.encodeECC200 = function (codewords, symbolInfo) {\n if (codewords.length !== symbolInfo.getDataCapacity()) {\n throw new Error('The number of codewords does not match the selected symbol');\n }\n var sb = new StringBuilder();\n sb.append(codewords);\n var blockCount = symbolInfo.getInterleavedBlockCount();\n if (blockCount === 1) {\n var ecc = this.createECCBlock(codewords, symbolInfo.getErrorCodewords());\n sb.append(ecc);\n }\n else {\n // sb.setLength(sb.capacity());\n var dataSizes = [];\n var errorSizes = [];\n for (var i = 0; i < blockCount; i++) {\n dataSizes[i] = symbolInfo.getDataLengthForInterleavedBlock(i + 1);\n errorSizes[i] = symbolInfo.getErrorLengthForInterleavedBlock(i + 1);\n }\n for (var block = 0; block < blockCount; block++) {\n var temp = new StringBuilder();\n for (var d = block; d < symbolInfo.getDataCapacity(); d += blockCount) {\n temp.append(codewords.charAt(d));\n }\n var ecc = this.createECCBlock(temp.toString(), errorSizes[block]);\n var pos = 0;\n for (var e = block; e < errorSizes[block] * blockCount; e += blockCount) {\n sb.setCharAt(symbolInfo.getDataCapacity() + e, ecc.charAt(pos++));\n }\n }\n }\n return sb.toString();\n };\n ErrorCorrection.createECCBlock = function (codewords, numECWords) {\n var table = -1;\n for (var i = 0; i < FACTOR_SETS.length; i++) {\n if (FACTOR_SETS[i] === numECWords) {\n table = i;\n break;\n }\n }\n if (table < 0) {\n throw new Error('Illegal number of error correction codewords specified: ' + numECWords);\n }\n var poly = FACTORS[table];\n var ecc = [];\n for (var i = 0; i < numECWords; i++) {\n ecc[i] = 0;\n }\n for (var i = 0; i < codewords.length; i++) {\n var m = ecc[numECWords - 1] ^ codewords.charAt(i).charCodeAt(0);\n for (var k = numECWords - 1; k > 0; k--) {\n if (m !== 0 && poly[k] !== 0) {\n ecc[k] = ecc[k - 1] ^ ALOG[(LOG[m] + LOG[poly[k]]) % 255];\n }\n else {\n ecc[k] = ecc[k - 1];\n }\n }\n if (m !== 0 && poly[0] !== 0) {\n ecc[0] = ALOG[(LOG[m] + LOG[poly[0]]) % 255];\n }\n else {\n ecc[0] = 0;\n }\n }\n var eccReversed = [];\n for (var i = 0; i < numECWords; i++) {\n eccReversed[i] = ecc[numECWords - i - 1];\n }\n return eccReversed.map(function (c) { return String.fromCharCode(c); }).join('');\n };\n return ErrorCorrection;\n}());\nexport default ErrorCorrection;\n","import { ASCII_ENCODATION, BASE256_ENCODATION, C40_ENCODATION, EDIFACT_ENCODATION, LATCH_TO_ANSIX12, LATCH_TO_BASE256, LATCH_TO_C40, LATCH_TO_EDIFACT, LATCH_TO_TEXT, TEXT_ENCODATION, UPPER_SHIFT, X12_ENCODATION, } from './constants';\n// tslint:disable-next-line:no-circular-imports\nimport HighLevelEncoder from './HighLevelEncoder';\nvar ASCIIEncoder = /** @class */ (function () {\n function ASCIIEncoder() {\n }\n ASCIIEncoder.prototype.getEncodingMode = function () {\n return ASCII_ENCODATION;\n };\n ASCIIEncoder.prototype.encode = function (context) {\n // step B\n var n = HighLevelEncoder.determineConsecutiveDigitCount(context.getMessage(), context.pos);\n if (n >= 2) {\n context.writeCodeword(this.encodeASCIIDigits(context.getMessage().charCodeAt(context.pos), context.getMessage().charCodeAt(context.pos + 1)));\n context.pos += 2;\n }\n else {\n var c = context.getCurrentChar();\n var newMode = HighLevelEncoder.lookAheadTest(context.getMessage(), context.pos, this.getEncodingMode());\n if (newMode !== this.getEncodingMode()) {\n switch (newMode) {\n case BASE256_ENCODATION:\n context.writeCodeword(LATCH_TO_BASE256);\n context.signalEncoderChange(BASE256_ENCODATION);\n return;\n case C40_ENCODATION:\n context.writeCodeword(LATCH_TO_C40);\n context.signalEncoderChange(C40_ENCODATION);\n return;\n case X12_ENCODATION:\n context.writeCodeword(LATCH_TO_ANSIX12);\n context.signalEncoderChange(X12_ENCODATION);\n break;\n case TEXT_ENCODATION:\n context.writeCodeword(LATCH_TO_TEXT);\n context.signalEncoderChange(TEXT_ENCODATION);\n break;\n case EDIFACT_ENCODATION:\n context.writeCodeword(LATCH_TO_EDIFACT);\n context.signalEncoderChange(EDIFACT_ENCODATION);\n break;\n default:\n throw new Error('Illegal mode: ' + newMode);\n }\n }\n else if (HighLevelEncoder.isExtendedASCII(c)) {\n context.writeCodeword(UPPER_SHIFT);\n context.writeCodeword(c - 128 + 1);\n context.pos++;\n }\n else {\n context.writeCodeword(c + 1);\n context.pos++;\n }\n }\n };\n ASCIIEncoder.prototype.encodeASCIIDigits = function (digit1, digit2) {\n if (HighLevelEncoder.isDigit(digit1) && HighLevelEncoder.isDigit(digit2)) {\n var num = (digit1 - 48) * 10 + (digit2 - 48);\n return num + 130;\n }\n throw new Error('not digits: ' + digit1 + digit2);\n };\n return ASCIIEncoder;\n}());\nexport { ASCIIEncoder };\n","import StringUtils from '../../common/StringUtils';\nimport StringBuilder from '../../util/StringBuilder';\nimport HighLevelEncoder from './HighLevelEncoder';\nimport { BASE256_ENCODATION, ASCII_ENCODATION } from './constants';\nvar Base256Encoder = /** @class */ (function () {\n function Base256Encoder() {\n }\n Base256Encoder.prototype.getEncodingMode = function () {\n return BASE256_ENCODATION;\n };\n Base256Encoder.prototype.encode = function (context) {\n var buffer = new StringBuilder();\n buffer.append(0); // Initialize length field\n while (context.hasMoreCharacters()) {\n var c = context.getCurrentChar();\n buffer.append(c);\n context.pos++;\n var newMode = HighLevelEncoder.lookAheadTest(context.getMessage(), context.pos, this.getEncodingMode());\n if (newMode !== this.getEncodingMode()) {\n // Return to ASCII encodation, which will actually handle latch to new mode\n context.signalEncoderChange(ASCII_ENCODATION);\n break;\n }\n }\n var dataCount = buffer.length() - 1;\n var lengthFieldSize = 1;\n var currentSize = context.getCodewordCount() + dataCount + lengthFieldSize;\n context.updateSymbolInfo(currentSize);\n var mustPad = context.getSymbolInfo().getDataCapacity() - currentSize > 0;\n if (context.hasMoreCharacters() || mustPad) {\n if (dataCount <= 249) {\n buffer.setCharAt(0, StringUtils.getCharAt(dataCount));\n }\n else if (dataCount <= 1555) {\n buffer.setCharAt(0, StringUtils.getCharAt(Math.floor(dataCount / 250) + 249));\n buffer.insert(1, StringUtils.getCharAt(dataCount % 250));\n }\n else {\n throw new Error('Message length not in valid ranges: ' + dataCount);\n }\n }\n for (var i = 0, c = buffer.length(); i < c; i++) {\n context.writeCodeword(this.randomize255State(buffer.charAt(i).charCodeAt(0), context.getCodewordCount() + 1));\n }\n };\n Base256Encoder.prototype.randomize255State = function (ch, codewordPosition) {\n var pseudoRandom = ((149 * codewordPosition) % 255) + 1;\n var tempVariable = ch + pseudoRandom;\n if (tempVariable <= 255) {\n return tempVariable;\n }\n else {\n return tempVariable - 256;\n }\n };\n return Base256Encoder;\n}());\nexport { Base256Encoder };\n","import StringBuilder from '../../util/StringBuilder';\nimport HighLevelEncoder from './HighLevelEncoder';\nimport { C40_ENCODATION, LATCH_TO_C40, ASCII_ENCODATION, C40_UNLATCH, } from './constants';\nvar C40Encoder = /** @class */ (function () {\n function C40Encoder() {\n }\n C40Encoder.prototype.getEncodingMode = function () {\n return C40_ENCODATION;\n };\n C40Encoder.prototype.encodeMaximal = function (context) {\n var buffer = new StringBuilder();\n var lastCharSize = 0;\n var backtrackStartPosition = context.pos;\n var backtrackBufferLength = 0;\n while (context.hasMoreCharacters()) {\n var c = context.getCurrentChar();\n context.pos++;\n lastCharSize = this.encodeChar(c, buffer);\n if (buffer.length() % 3 === 0) {\n backtrackStartPosition = context.pos;\n backtrackBufferLength = buffer.length();\n }\n }\n if (backtrackBufferLength !== buffer.length()) {\n var unwritten = Math.floor((buffer.length() / 3) * 2);\n var curCodewordCount = Math.floor(context.getCodewordCount() + unwritten + 1); // +1 for the latch to C40\n context.updateSymbolInfo(curCodewordCount);\n var available = context.getSymbolInfo().getDataCapacity() - curCodewordCount;\n var rest = Math.floor(buffer.length() % 3);\n if ((rest === 2 && available !== 2) ||\n (rest === 1 && (lastCharSize > 3 || available !== 1))) {\n // buffer.setLength(backtrackBufferLength);\n context.pos = backtrackStartPosition;\n }\n }\n if (buffer.length() > 0) {\n context.writeCodeword(LATCH_TO_C40);\n }\n this.handleEOD(context, buffer);\n };\n C40Encoder.prototype.encode = function (context) {\n // step C\n var buffer = new StringBuilder();\n while (context.hasMoreCharacters()) {\n var c = context.getCurrentChar();\n context.pos++;\n var lastCharSize = this.encodeChar(c, buffer);\n var unwritten = Math.floor(buffer.length() / 3) * 2;\n var curCodewordCount = context.getCodewordCount() + unwritten;\n context.updateSymbolInfo(curCodewordCount);\n var available = context.getSymbolInfo().getDataCapacity() - curCodewordCount;\n if (!context.hasMoreCharacters()) {\n // Avoid having a single C40 value in the last triplet\n var removed = new StringBuilder();\n if (buffer.length() % 3 === 2 && available !== 2) {\n lastCharSize = this.backtrackOneCharacter(context, buffer, removed, lastCharSize);\n }\n while (buffer.length() % 3 === 1 &&\n (lastCharSize > 3 || available !== 1)) {\n lastCharSize = this.backtrackOneCharacter(context, buffer, removed, lastCharSize);\n }\n break;\n }\n var count = buffer.length();\n if (count % 3 === 0) {\n var newMode = HighLevelEncoder.lookAheadTest(context.getMessage(), context.pos, this.getEncodingMode());\n if (newMode !== this.getEncodingMode()) {\n // Return to ASCII encodation, which will actually handle latch to new mode\n context.signalEncoderChange(ASCII_ENCODATION);\n break;\n }\n }\n }\n this.handleEOD(context, buffer);\n };\n C40Encoder.prototype.backtrackOneCharacter = function (context, buffer, removed, lastCharSize) {\n var count = buffer.length();\n var test = buffer.toString().substring(0, count - lastCharSize);\n buffer.setLengthToZero();\n buffer.append(test);\n // buffer.delete(count - lastCharSize, count);\n /*for (let i = count - lastCharSize; i < count; i++) {\n buffer.deleteCharAt(i);\n }*/\n context.pos--;\n var c = context.getCurrentChar();\n lastCharSize = this.encodeChar(c, removed);\n context.resetSymbolInfo(); // Deal with possible reduction in symbol size\n return lastCharSize;\n };\n C40Encoder.prototype.writeNextTriplet = function (context, buffer) {\n context.writeCodewords(this.encodeToCodewords(buffer.toString()));\n var test = buffer.toString().substring(3);\n buffer.setLengthToZero();\n buffer.append(test);\n // buffer.delete(0, 3);\n /*for (let i = 0; i < 3; i++) {\n buffer.deleteCharAt(i);\n }*/\n };\n /**\n * Handle \"end of data\" situations\n *\n * @param context the encoder context\n * @param buffer the buffer with the remaining encoded characters\n */\n C40Encoder.prototype.handleEOD = function (context, buffer) {\n var unwritten = Math.floor((buffer.length() / 3) * 2);\n var rest = buffer.length() % 3;\n var curCodewordCount = context.getCodewordCount() + unwritten;\n context.updateSymbolInfo(curCodewordCount);\n var available = context.getSymbolInfo().getDataCapacity() - curCodewordCount;\n if (rest === 2) {\n buffer.append('\\0'); // Shift 1\n while (buffer.length() >= 3) {\n this.writeNextTriplet(context, buffer);\n }\n if (context.hasMoreCharacters()) {\n context.writeCodeword(C40_UNLATCH);\n }\n }\n else if (available === 1 && rest === 1) {\n while (buffer.length() >= 3) {\n this.writeNextTriplet(context, buffer);\n }\n if (context.hasMoreCharacters()) {\n context.writeCodeword(C40_UNLATCH);\n }\n // else no unlatch\n context.pos--;\n }\n else if (rest === 0) {\n while (buffer.length() >= 3) {\n this.writeNextTriplet(context, buffer);\n }\n if (available > 0 || context.hasMoreCharacters()) {\n context.writeCodeword(C40_UNLATCH);\n }\n }\n else {\n throw new Error('Unexpected case. Please report!');\n }\n context.signalEncoderChange(ASCII_ENCODATION);\n };\n C40Encoder.prototype.encodeChar = function (c, sb) {\n if (c === ' '.charCodeAt(0)) {\n sb.append(3);\n return 1;\n }\n if (c >= '0'.charCodeAt(0) && c <= '9'.charCodeAt(0)) {\n sb.append(c - 48 + 4);\n return 1;\n }\n if (c >= 'A'.charCodeAt(0) && c <= 'Z'.charCodeAt(0)) {\n sb.append(c - 65 + 14);\n return 1;\n }\n if (c < ' '.charCodeAt(0)) {\n sb.append(0); // Shift 1 Set\n sb.append(c);\n return 2;\n }\n if (c <= '/'.charCodeAt(0)) {\n sb.append(1); // Shift 2 Set\n sb.append(c - 33);\n return 2;\n }\n if (c <= '@'.charCodeAt(0)) {\n sb.append(1); // Shift 2 Set\n sb.append(c - 58 + 15);\n return 2;\n }\n if (c <= '_'.charCodeAt(0)) {\n sb.append(1); // Shift 2 Set\n sb.append(c - 91 + 22);\n return 2;\n }\n if (c <= 127) {\n sb.append(2); // Shift 3 Set\n sb.append(c - 96);\n return 2;\n }\n sb.append(1 + \"\\u001E\"); // Shift 2, Upper Shift\n var len = 2;\n len += this.encodeChar(c - 128, sb);\n return len;\n };\n C40Encoder.prototype.encodeToCodewords = function (sb) {\n var v = 1600 * sb.charCodeAt(0) + 40 * sb.charCodeAt(1) + sb.charCodeAt(2) + 1;\n var cw1 = v / 256;\n var cw2 = v % 256;\n var result = new StringBuilder();\n result.append(cw1);\n result.append(cw2);\n return result.toString();\n };\n return C40Encoder;\n}());\nexport { C40Encoder };\n","import StringUtils from '../../common/StringUtils';\nimport StringBuilder from '../../util/StringBuilder';\nimport { EDIFACT_ENCODATION, ASCII_ENCODATION } from './constants';\nimport HighLevelEncoder from './HighLevelEncoder';\nvar EdifactEncoder = /** @class */ (function () {\n function EdifactEncoder() {\n }\n EdifactEncoder.prototype.getEncodingMode = function () {\n return EDIFACT_ENCODATION;\n };\n EdifactEncoder.prototype.encode = function (context) {\n // step F\n var buffer = new StringBuilder();\n while (context.hasMoreCharacters()) {\n var c = context.getCurrentChar();\n this.encodeChar(c, buffer);\n context.pos++;\n var count = buffer.length();\n if (count >= 4) {\n context.writeCodewords(this.encodeToCodewords(buffer.toString()));\n var test_1 = buffer.toString().substring(4);\n buffer.setLengthToZero();\n buffer.append(test_1);\n // buffer.delete(0, 4);\n // for (let i = 0; i < 4; i++) {\n // buffer.deleteCharAt(i);\n // }\n var newMode = HighLevelEncoder.lookAheadTest(context.getMessage(), context.pos, this.getEncodingMode());\n if (newMode !== this.getEncodingMode()) {\n // Return to ASCII encodation, which will actually handle latch to new mode\n context.signalEncoderChange(ASCII_ENCODATION);\n break;\n }\n }\n }\n buffer.append(StringUtils.getCharAt(31)); // Unlatch\n this.handleEOD(context, buffer);\n };\n /**\n * Handle \"end of data\" situations\n *\n * @param context the encoder context\n * @param buffer the buffer with the remaining encoded characters\n */\n EdifactEncoder.prototype.handleEOD = function (context, buffer) {\n try {\n var count = buffer.length();\n if (count === 0) {\n return; // Already finished\n }\n if (count === 1) {\n // Only an unlatch at the end\n context.updateSymbolInfo();\n var available = context.getSymbolInfo().getDataCapacity() -\n context.getCodewordCount();\n var remaining = context.getRemainingCharacters();\n // The following two lines are a hack inspired by the 'fix' from https://sourceforge.net/p/barcode4j/svn/221/\n if (remaining > available) {\n context.updateSymbolInfo(context.getCodewordCount() + 1);\n available =\n context.getSymbolInfo().getDataCapacity() -\n context.getCodewordCount();\n }\n if (remaining <= available && available <= 2) {\n return; // No unlatch\n }\n }\n if (count > 4) {\n throw new Error('Count must not exceed 4');\n }\n var restChars = count - 1;\n var encoded = this.encodeToCodewords(buffer.toString());\n var endOfSymbolReached = !context.hasMoreCharacters();\n var restInAscii = endOfSymbolReached && restChars <= 2;\n if (restChars <= 2) {\n context.updateSymbolInfo(context.getCodewordCount() + restChars);\n var available = context.getSymbolInfo().getDataCapacity() -\n context.getCodewordCount();\n if (available >= 3) {\n restInAscii = false;\n context.updateSymbolInfo(context.getCodewordCount() + encoded.length);\n // available = context.symbolInfo.dataCapacity - context.getCodewordCount();\n }\n }\n if (restInAscii) {\n context.resetSymbolInfo();\n context.pos -= restChars;\n }\n else {\n context.writeCodewords(encoded);\n }\n }\n finally {\n context.signalEncoderChange(ASCII_ENCODATION);\n }\n };\n EdifactEncoder.prototype.encodeChar = function (c, sb) {\n if (c >= ' '.charCodeAt(0) && c <= '?'.charCodeAt(0)) {\n sb.append(c);\n }\n else if (c >= '@'.charCodeAt(0) && c <= '^'.charCodeAt(0)) {\n sb.append(StringUtils.getCharAt(c - 64));\n }\n else {\n HighLevelEncoder.illegalCharacter(StringUtils.getCharAt(c));\n }\n };\n EdifactEncoder.prototype.encodeToCodewords = function (sb) {\n var len = sb.length;\n if (len === 0) {\n throw new Error('StringBuilder must not be empty');\n }\n var c1 = sb.charAt(0).charCodeAt(0);\n var c2 = len >= 2 ? sb.charAt(1).charCodeAt(0) : 0;\n var c3 = len >= 3 ? sb.charAt(2).charCodeAt(0) : 0;\n var c4 = len >= 4 ? sb.charAt(3).charCodeAt(0) : 0;\n var v = (c1 << 18) + (c2 << 12) + (c3 << 6) + c4;\n var cw1 = (v >> 16) & 255;\n var cw2 = (v >> 8) & 255;\n var cw3 = v & 255;\n var res = new StringBuilder();\n res.append(cw1);\n if (len >= 2) {\n res.append(cw2);\n }\n if (len >= 3) {\n res.append(cw3);\n }\n return res.toString();\n };\n return EdifactEncoder;\n}());\nexport { EdifactEncoder };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/**\n * Symbol info table for DataMatrix.\n */\nvar SymbolInfo = /** @class */ (function () {\n function SymbolInfo(rectangular, dataCapacity, errorCodewords, matrixWidth, matrixHeight, dataRegions, rsBlockData, rsBlockError) {\n if (rsBlockData === void 0) { rsBlockData = 0; }\n if (rsBlockError === void 0) { rsBlockError = 0; }\n this.rectangular = rectangular;\n this.dataCapacity = dataCapacity;\n this.errorCodewords = errorCodewords;\n this.matrixWidth = matrixWidth;\n this.matrixHeight = matrixHeight;\n this.dataRegions = dataRegions;\n this.rsBlockData = rsBlockData;\n this.rsBlockError = rsBlockError;\n }\n SymbolInfo.lookup = function (dataCodewords, shape, minSize, maxSize, fail) {\n var e_1, _a;\n if (shape === void 0) { shape = 0 /* FORCE_NONE */; }\n if (minSize === void 0) { minSize = null; }\n if (maxSize === void 0) { maxSize = null; }\n if (fail === void 0) { fail = true; }\n try {\n for (var PROD_SYMBOLS_1 = __values(PROD_SYMBOLS), PROD_SYMBOLS_1_1 = PROD_SYMBOLS_1.next(); !PROD_SYMBOLS_1_1.done; PROD_SYMBOLS_1_1 = PROD_SYMBOLS_1.next()) {\n var symbol = PROD_SYMBOLS_1_1.value;\n if (shape === 1 /* FORCE_SQUARE */ && symbol.rectangular) {\n continue;\n }\n if (shape === 2 /* FORCE_RECTANGLE */ && !symbol.rectangular) {\n continue;\n }\n if (minSize != null &&\n (symbol.getSymbolWidth() < minSize.getWidth() ||\n symbol.getSymbolHeight() < minSize.getHeight())) {\n continue;\n }\n if (maxSize != null &&\n (symbol.getSymbolWidth() > maxSize.getWidth() ||\n symbol.getSymbolHeight() > maxSize.getHeight())) {\n continue;\n }\n if (dataCodewords <= symbol.dataCapacity) {\n return symbol;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (PROD_SYMBOLS_1_1 && !PROD_SYMBOLS_1_1.done && (_a = PROD_SYMBOLS_1.return)) _a.call(PROD_SYMBOLS_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (fail) {\n throw new Error(\"Can't find a symbol arrangement that matches the message. Data codewords: \" +\n dataCodewords);\n }\n return null;\n };\n SymbolInfo.prototype.getHorizontalDataRegions = function () {\n switch (this.dataRegions) {\n case 1:\n return 1;\n case 2:\n case 4:\n return 2;\n case 16:\n return 4;\n case 36:\n return 6;\n default:\n throw new Error('Cannot handle this number of data regions');\n }\n };\n SymbolInfo.prototype.getVerticalDataRegions = function () {\n switch (this.dataRegions) {\n case 1:\n case 2:\n return 1;\n case 4:\n return 2;\n case 16:\n return 4;\n case 36:\n return 6;\n default:\n throw new Error('Cannot handle this number of data regions');\n }\n };\n SymbolInfo.prototype.getSymbolDataWidth = function () {\n return this.getHorizontalDataRegions() * this.matrixWidth;\n };\n SymbolInfo.prototype.getSymbolDataHeight = function () {\n return this.getVerticalDataRegions() * this.matrixHeight;\n };\n SymbolInfo.prototype.getSymbolWidth = function () {\n return this.getSymbolDataWidth() + this.getHorizontalDataRegions() * 2;\n };\n SymbolInfo.prototype.getSymbolHeight = function () {\n return this.getSymbolDataHeight() + this.getVerticalDataRegions() * 2;\n };\n SymbolInfo.prototype.getCodewordCount = function () {\n return this.dataCapacity + this.errorCodewords;\n };\n SymbolInfo.prototype.getInterleavedBlockCount = function () {\n if (!this.rsBlockData)\n return 1;\n return this.dataCapacity / this.rsBlockData;\n };\n SymbolInfo.prototype.getDataCapacity = function () {\n return this.dataCapacity;\n };\n SymbolInfo.prototype.getErrorCodewords = function () {\n return this.errorCodewords;\n };\n SymbolInfo.prototype.getDataLengthForInterleavedBlock = function (index) {\n return this.rsBlockData;\n };\n SymbolInfo.prototype.getErrorLengthForInterleavedBlock = function (index) {\n return this.rsBlockError;\n };\n return SymbolInfo;\n}());\nexport default SymbolInfo;\nvar DataMatrixSymbolInfo144 = /** @class */ (function (_super) {\n __extends(DataMatrixSymbolInfo144, _super);\n function DataMatrixSymbolInfo144() {\n return _super.call(this, false, 1558, 620, 22, 22, 36, -1, 62) || this;\n }\n DataMatrixSymbolInfo144.prototype.getInterleavedBlockCount = function () {\n return 10;\n };\n DataMatrixSymbolInfo144.prototype.getDataLengthForInterleavedBlock = function (index) {\n return index <= 8 ? 156 : 155;\n };\n return DataMatrixSymbolInfo144;\n}(SymbolInfo));\nexport var PROD_SYMBOLS = [\n new SymbolInfo(false, 3, 5, 8, 8, 1),\n new SymbolInfo(false, 5, 7, 10, 10, 1),\n /*rect*/ new SymbolInfo(true, 5, 7, 16, 6, 1),\n new SymbolInfo(false, 8, 10, 12, 12, 1),\n /*rect*/ new SymbolInfo(true, 10, 11, 14, 6, 2),\n new SymbolInfo(false, 12, 12, 14, 14, 1),\n /*rect*/ new SymbolInfo(true, 16, 14, 24, 10, 1),\n new SymbolInfo(false, 18, 14, 16, 16, 1),\n new SymbolInfo(false, 22, 18, 18, 18, 1),\n /*rect*/ new SymbolInfo(true, 22, 18, 16, 10, 2),\n new SymbolInfo(false, 30, 20, 20, 20, 1),\n /*rect*/ new SymbolInfo(true, 32, 24, 16, 14, 2),\n new SymbolInfo(false, 36, 24, 22, 22, 1),\n new SymbolInfo(false, 44, 28, 24, 24, 1),\n /*rect*/ new SymbolInfo(true, 49, 28, 22, 14, 2),\n new SymbolInfo(false, 62, 36, 14, 14, 4),\n new SymbolInfo(false, 86, 42, 16, 16, 4),\n new SymbolInfo(false, 114, 48, 18, 18, 4),\n new SymbolInfo(false, 144, 56, 20, 20, 4),\n new SymbolInfo(false, 174, 68, 22, 22, 4),\n new SymbolInfo(false, 204, 84, 24, 24, 4, 102, 42),\n new SymbolInfo(false, 280, 112, 14, 14, 16, 140, 56),\n new SymbolInfo(false, 368, 144, 16, 16, 16, 92, 36),\n new SymbolInfo(false, 456, 192, 18, 18, 16, 114, 48),\n new SymbolInfo(false, 576, 224, 20, 20, 16, 144, 56),\n new SymbolInfo(false, 696, 272, 22, 22, 16, 174, 68),\n new SymbolInfo(false, 816, 336, 24, 24, 16, 136, 56),\n new SymbolInfo(false, 1050, 408, 18, 18, 36, 175, 68),\n new SymbolInfo(false, 1304, 496, 20, 20, 36, 163, 62),\n new DataMatrixSymbolInfo144(),\n];\n","import StringBuilder from '../../util/StringBuilder';\nimport SymbolInfo from './SymbolInfo';\nvar EncoderContext = /** @class */ (function () {\n function EncoderContext(msg) {\n this.msg = msg;\n this.pos = 0;\n this.skipAtEnd = 0;\n // From this point on Strings are not Unicode anymore!\n var msgBinary = msg.split('').map(function (c) { return c.charCodeAt(0); });\n var sb = new StringBuilder();\n for (var i = 0, c = msgBinary.length; i < c; i++) {\n var ch = String.fromCharCode(msgBinary[i] & 0xff);\n if (ch === '?' && msg.charAt(i) !== '?') {\n throw new Error('Message contains characters outside ISO-8859-1 encoding.');\n }\n sb.append(ch);\n }\n this.msg = sb.toString(); // Not Unicode here!\n this.shape = 0 /* FORCE_NONE */;\n this.codewords = new StringBuilder();\n this.newEncoding = -1;\n }\n EncoderContext.prototype.setSymbolShape = function (shape) {\n this.shape = shape;\n };\n EncoderContext.prototype.setSizeConstraints = function (minSize, maxSize) {\n this.minSize = minSize;\n this.maxSize = maxSize;\n };\n EncoderContext.prototype.getMessage = function () {\n return this.msg;\n };\n EncoderContext.prototype.setSkipAtEnd = function (count) {\n this.skipAtEnd = count;\n };\n EncoderContext.prototype.getCurrentChar = function () {\n return this.msg.charCodeAt(this.pos);\n };\n EncoderContext.prototype.getCurrent = function () {\n return this.msg.charCodeAt(this.pos);\n };\n EncoderContext.prototype.getCodewords = function () {\n return this.codewords;\n };\n EncoderContext.prototype.writeCodewords = function (codewords) {\n this.codewords.append(codewords);\n };\n EncoderContext.prototype.writeCodeword = function (codeword) {\n this.codewords.append(codeword);\n };\n EncoderContext.prototype.getCodewordCount = function () {\n return this.codewords.length();\n };\n EncoderContext.prototype.getNewEncoding = function () {\n return this.newEncoding;\n };\n EncoderContext.prototype.signalEncoderChange = function (encoding) {\n this.newEncoding = encoding;\n };\n EncoderContext.prototype.resetEncoderSignal = function () {\n this.newEncoding = -1;\n };\n EncoderContext.prototype.hasMoreCharacters = function () {\n return this.pos < this.getTotalMessageCharCount();\n };\n EncoderContext.prototype.getTotalMessageCharCount = function () {\n return this.msg.length - this.skipAtEnd;\n };\n EncoderContext.prototype.getRemainingCharacters = function () {\n return this.getTotalMessageCharCount() - this.pos;\n };\n EncoderContext.prototype.getSymbolInfo = function () {\n return this.symbolInfo;\n };\n EncoderContext.prototype.updateSymbolInfo = function (len) {\n if (len === void 0) { len = this.getCodewordCount(); }\n if (this.symbolInfo == null || len > this.symbolInfo.getDataCapacity()) {\n this.symbolInfo = SymbolInfo.lookup(len, this.shape, this.minSize, this.maxSize, true);\n }\n };\n EncoderContext.prototype.resetSymbolInfo = function () {\n this.symbolInfo = null;\n };\n return EncoderContext;\n}());\nexport { EncoderContext };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport StringUtils from '../../common/StringUtils';\nimport StringBuilder from '../../util/StringBuilder';\nimport { C40Encoder } from './C40Encoder';\nimport HighLevelEncoder from './HighLevelEncoder';\nimport { X12_ENCODATION, ASCII_ENCODATION, X12_UNLATCH } from './constants';\nvar X12Encoder = /** @class */ (function (_super) {\n __extends(X12Encoder, _super);\n function X12Encoder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n X12Encoder.prototype.getEncodingMode = function () {\n return X12_ENCODATION;\n };\n X12Encoder.prototype.encode = function (context) {\n // step C\n var buffer = new StringBuilder();\n while (context.hasMoreCharacters()) {\n var c = context.getCurrentChar();\n context.pos++;\n this.encodeChar(c, buffer);\n var count = buffer.length();\n if (count % 3 === 0) {\n this.writeNextTriplet(context, buffer);\n var newMode = HighLevelEncoder.lookAheadTest(context.getMessage(), context.pos, this.getEncodingMode());\n if (newMode !== this.getEncodingMode()) {\n // Return to ASCII encodation, which will actually handle latch to new mode\n context.signalEncoderChange(ASCII_ENCODATION);\n break;\n }\n }\n }\n this.handleEOD(context, buffer);\n };\n X12Encoder.prototype.encodeChar = function (c, sb) {\n switch (c) {\n case 13: // CR (Carriage return)\n sb.append(0);\n break;\n case '*'.charCodeAt(0):\n sb.append(1);\n break;\n case '>'.charCodeAt(0):\n sb.append(2);\n break;\n case ' '.charCodeAt(0):\n sb.append(3);\n break;\n default:\n if (c >= '0'.charCodeAt(0) && c <= '9'.charCodeAt(0)) {\n sb.append(c - 48 + 4);\n }\n else if (c >= 'A'.charCodeAt(0) && c <= 'Z'.charCodeAt(0)) {\n sb.append(c - 65 + 14);\n }\n else {\n HighLevelEncoder.illegalCharacter(StringUtils.getCharAt(c));\n }\n break;\n }\n return 1;\n };\n X12Encoder.prototype.handleEOD = function (context, buffer) {\n context.updateSymbolInfo();\n var available = context.getSymbolInfo().getDataCapacity() - context.getCodewordCount();\n var count = buffer.length();\n context.pos -= count;\n if (context.getRemainingCharacters() > 1 ||\n available > 1 ||\n context.getRemainingCharacters() !== available) {\n context.writeCodeword(X12_UNLATCH);\n }\n if (context.getNewEncoding() < 0) {\n context.signalEncoderChange(ASCII_ENCODATION);\n }\n };\n return X12Encoder;\n}(C40Encoder));\nexport { X12Encoder };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { C40Encoder } from './C40Encoder';\nimport { TEXT_ENCODATION } from './constants';\nvar TextEncoder = /** @class */ (function (_super) {\n __extends(TextEncoder, _super);\n function TextEncoder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TextEncoder.prototype.getEncodingMode = function () {\n return TEXT_ENCODATION;\n };\n TextEncoder.prototype.encodeChar = function (c, sb) {\n if (c === ' '.charCodeAt(0)) {\n sb.append(3);\n return 1;\n }\n if (c >= '0'.charCodeAt(0) && c <= '9'.charCodeAt(0)) {\n sb.append(c - 48 + 4);\n return 1;\n }\n if (c >= 'a'.charCodeAt(0) && c <= 'z'.charCodeAt(0)) {\n sb.append(c - 97 + 14);\n return 1;\n }\n if (c < ' '.charCodeAt(0)) {\n sb.append(0); // Shift 1 Set\n sb.append(c);\n return 2;\n }\n if (c <= '/'.charCodeAt(0)) {\n sb.append(1); // Shift 2 Set\n sb.append(c - 33);\n return 2;\n }\n if (c <= '@'.charCodeAt(0)) {\n sb.append(1); // Shift 2 Set\n sb.append(c - 58 + 15);\n return 2;\n }\n if (c >= '['.charCodeAt(0) && c <= '_'.charCodeAt(0)) {\n sb.append(1); // Shift 2 Set\n sb.append(c - 91 + 22);\n return 2;\n }\n if (c === '`'.charCodeAt(0)) {\n sb.append(2); // Shift 3 Set\n sb.append(0); // '`' - 96 == 0\n return 2;\n }\n if (c <= 'Z'.charCodeAt(0)) {\n sb.append(2); // Shift 3 Set\n sb.append(c - 65 + 1);\n return 2;\n }\n if (c <= 127) {\n sb.append(2); // Shift 3 Set\n sb.append(c - 123 + 27);\n return 2;\n }\n sb.append(1 + \"\\u001E\"); // Shift 2, Upper Shift\n var len = 2;\n len += this.encodeChar(c - 128, sb);\n return len;\n };\n return TextEncoder;\n}(C40Encoder));\nexport { TextEncoder };\n","// tslint:disable-next-line:no-circular-imports\nimport { ASCIIEncoder } from './ASCIIEncoder';\n// tslint:disable-next-line:no-circular-imports\nimport { Base256Encoder } from './Base256Encoder';\n// tslint:disable-next-line:no-circular-imports\nimport { C40Encoder } from './C40Encoder';\nimport { ASCII_ENCODATION, BASE256_ENCODATION, C40_ENCODATION, EDIFACT_ENCODATION, MACRO_05, MACRO_05_HEADER, MACRO_06, MACRO_06_HEADER, MACRO_TRAILER, PAD, TEXT_ENCODATION, X12_ENCODATION, } from './constants';\n// tslint:disable-next-line:no-circular-imports\nimport { EdifactEncoder } from './EdifactEncoder';\nimport { EncoderContext } from './EncoderContext';\n// tslint:disable-next-line:no-circular-imports\nimport { X12Encoder } from './X12Encoder';\n// tslint:disable-next-line:no-circular-imports\nimport { TextEncoder } from './TextEncoder';\nimport Arrays from '../../util/Arrays';\nimport Integer from '../../util/Integer';\n/**\n * DataMatrix ECC 200 data encoder following the algorithm described in ISO/IEC 16022:200(E) in\n * annex S.\n */\nvar HighLevelEncoder = /** @class */ (function () {\n function HighLevelEncoder() {\n }\n HighLevelEncoder.randomize253State = function (codewordPosition) {\n var pseudoRandom = ((149 * codewordPosition) % 253) + 1;\n var tempVariable = PAD + pseudoRandom;\n return tempVariable <= 254 ? tempVariable : tempVariable - 254;\n };\n /**\n * Performs message encoding of a DataMatrix message using the algorithm described in annex P\n * of ISO/IEC 16022:2000(E).\n *\n * @param msg the message\n * @param shape requested shape. May be {@code SymbolShapeHint.FORCE_NONE},\n * {@code SymbolShapeHint.FORCE_SQUARE} or {@code SymbolShapeHint.FORCE_RECTANGLE}.\n * @param minSize the minimum symbol size constraint or null for no constraint\n * @param maxSize the maximum symbol size constraint or null for no constraint\n * @param forceC40 enforce C40 encoding\n * @return the encoded message (the char values range from 0 to 255)\n */\n HighLevelEncoder.encodeHighLevel = function (msg, shape, minSize, maxSize, forceC40) {\n if (shape === void 0) { shape = 0 /* FORCE_NONE */; }\n if (minSize === void 0) { minSize = null; }\n if (maxSize === void 0) { maxSize = null; }\n if (forceC40 === void 0) { forceC40 = false; }\n // the codewords 0..255 are encoded as Unicode characters\n var c40Encoder = new C40Encoder();\n var encoders = [\n new ASCIIEncoder(),\n c40Encoder,\n new TextEncoder(),\n new X12Encoder(),\n new EdifactEncoder(),\n new Base256Encoder(),\n ];\n var context = new EncoderContext(msg);\n context.setSymbolShape(shape);\n context.setSizeConstraints(minSize, maxSize);\n if (msg.startsWith(MACRO_05_HEADER) && msg.endsWith(MACRO_TRAILER)) {\n context.writeCodeword(MACRO_05);\n context.setSkipAtEnd(2);\n context.pos += MACRO_05_HEADER.length;\n }\n else if (msg.startsWith(MACRO_06_HEADER) && msg.endsWith(MACRO_TRAILER)) {\n context.writeCodeword(MACRO_06);\n context.setSkipAtEnd(2);\n context.pos += MACRO_06_HEADER.length;\n }\n var encodingMode = ASCII_ENCODATION; // Default mode\n if (forceC40) {\n c40Encoder.encodeMaximal(context);\n encodingMode = context.getNewEncoding();\n context.resetEncoderSignal();\n }\n while (context.hasMoreCharacters()) {\n encoders[encodingMode].encode(context);\n if (context.getNewEncoding() >= 0) {\n encodingMode = context.getNewEncoding();\n context.resetEncoderSignal();\n }\n }\n var len = context.getCodewordCount();\n context.updateSymbolInfo();\n var capacity = context.getSymbolInfo().getDataCapacity();\n if (len < capacity &&\n encodingMode !== ASCII_ENCODATION &&\n encodingMode !== BASE256_ENCODATION &&\n encodingMode !== EDIFACT_ENCODATION) {\n context.writeCodeword('\\u00fe'); // Unlatch (254)\n }\n // Padding\n var codewords = context.getCodewords();\n if (codewords.length() < capacity) {\n codewords.append(PAD);\n }\n while (codewords.length() < capacity) {\n codewords.append(this.randomize253State(codewords.length() + 1));\n }\n return context.getCodewords().toString();\n };\n HighLevelEncoder.lookAheadTest = function (msg, startpos, currentMode) {\n var newMode = this.lookAheadTestIntern(msg, startpos, currentMode);\n if (currentMode === X12_ENCODATION && newMode === X12_ENCODATION) {\n var endpos = Math.min(startpos + 3, msg.length);\n for (var i = startpos; i < endpos; i++) {\n if (!this.isNativeX12(msg.charCodeAt(i))) {\n return ASCII_ENCODATION;\n }\n }\n }\n else if (currentMode === EDIFACT_ENCODATION &&\n newMode === EDIFACT_ENCODATION) {\n var endpos = Math.min(startpos + 4, msg.length);\n for (var i = startpos; i < endpos; i++) {\n if (!this.isNativeEDIFACT(msg.charCodeAt(i))) {\n return ASCII_ENCODATION;\n }\n }\n }\n return newMode;\n };\n HighLevelEncoder.lookAheadTestIntern = function (msg, startpos, currentMode) {\n if (startpos >= msg.length) {\n return currentMode;\n }\n var charCounts;\n // step J\n if (currentMode === ASCII_ENCODATION) {\n charCounts = [0, 1, 1, 1, 1, 1.25];\n }\n else {\n charCounts = [1, 2, 2, 2, 2, 2.25];\n charCounts[currentMode] = 0;\n }\n var charsProcessed = 0;\n var mins = new Uint8Array(6);\n var intCharCounts = [];\n while (true) {\n // step K\n if (startpos + charsProcessed === msg.length) {\n Arrays.fill(mins, 0);\n Arrays.fill(intCharCounts, 0);\n var min = this.findMinimums(charCounts, intCharCounts, Integer.MAX_VALUE, mins);\n var minCount = this.getMinimumCount(mins);\n if (intCharCounts[ASCII_ENCODATION] === min) {\n return ASCII_ENCODATION;\n }\n if (minCount === 1) {\n if (mins[BASE256_ENCODATION] > 0) {\n return BASE256_ENCODATION;\n }\n if (mins[EDIFACT_ENCODATION] > 0) {\n return EDIFACT_ENCODATION;\n }\n if (mins[TEXT_ENCODATION] > 0) {\n return TEXT_ENCODATION;\n }\n if (mins[X12_ENCODATION] > 0) {\n return X12_ENCODATION;\n }\n }\n return C40_ENCODATION;\n }\n var c = msg.charCodeAt(startpos + charsProcessed);\n charsProcessed++;\n // step L\n if (this.isDigit(c)) {\n charCounts[ASCII_ENCODATION] += 0.5;\n }\n else if (this.isExtendedASCII(c)) {\n charCounts[ASCII_ENCODATION] = Math.ceil(charCounts[ASCII_ENCODATION]);\n charCounts[ASCII_ENCODATION] += 2.0;\n }\n else {\n charCounts[ASCII_ENCODATION] = Math.ceil(charCounts[ASCII_ENCODATION]);\n charCounts[ASCII_ENCODATION]++;\n }\n // step M\n if (this.isNativeC40(c)) {\n charCounts[C40_ENCODATION] += 2.0 / 3.0;\n }\n else if (this.isExtendedASCII(c)) {\n charCounts[C40_ENCODATION] += 8.0 / 3.0;\n }\n else {\n charCounts[C40_ENCODATION] += 4.0 / 3.0;\n }\n // step N\n if (this.isNativeText(c)) {\n charCounts[TEXT_ENCODATION] += 2.0 / 3.0;\n }\n else if (this.isExtendedASCII(c)) {\n charCounts[TEXT_ENCODATION] += 8.0 / 3.0;\n }\n else {\n charCounts[TEXT_ENCODATION] += 4.0 / 3.0;\n }\n // step O\n if (this.isNativeX12(c)) {\n charCounts[X12_ENCODATION] += 2.0 / 3.0;\n }\n else if (this.isExtendedASCII(c)) {\n charCounts[X12_ENCODATION] += 13.0 / 3.0;\n }\n else {\n charCounts[X12_ENCODATION] += 10.0 / 3.0;\n }\n // step P\n if (this.isNativeEDIFACT(c)) {\n charCounts[EDIFACT_ENCODATION] += 3.0 / 4.0;\n }\n else if (this.isExtendedASCII(c)) {\n charCounts[EDIFACT_ENCODATION] += 17.0 / 4.0;\n }\n else {\n charCounts[EDIFACT_ENCODATION] += 13.0 / 4.0;\n }\n // step Q\n if (this.isSpecialB256(c)) {\n charCounts[BASE256_ENCODATION] += 4.0;\n }\n else {\n charCounts[BASE256_ENCODATION]++;\n }\n // step R\n if (charsProcessed >= 4) {\n Arrays.fill(mins, 0);\n Arrays.fill(intCharCounts, 0);\n this.findMinimums(charCounts, intCharCounts, Integer.MAX_VALUE, mins);\n if (intCharCounts[ASCII_ENCODATION] <\n this.min(intCharCounts[BASE256_ENCODATION], intCharCounts[C40_ENCODATION], intCharCounts[TEXT_ENCODATION], intCharCounts[X12_ENCODATION], intCharCounts[EDIFACT_ENCODATION])) {\n return ASCII_ENCODATION;\n }\n if (intCharCounts[BASE256_ENCODATION] < intCharCounts[ASCII_ENCODATION] ||\n intCharCounts[BASE256_ENCODATION] + 1 <\n this.min(intCharCounts[C40_ENCODATION], intCharCounts[TEXT_ENCODATION], intCharCounts[X12_ENCODATION], intCharCounts[EDIFACT_ENCODATION])) {\n return BASE256_ENCODATION;\n }\n if (intCharCounts[EDIFACT_ENCODATION] + 1 <\n this.min(intCharCounts[BASE256_ENCODATION], intCharCounts[C40_ENCODATION], intCharCounts[TEXT_ENCODATION], intCharCounts[X12_ENCODATION], intCharCounts[ASCII_ENCODATION])) {\n return EDIFACT_ENCODATION;\n }\n if (intCharCounts[TEXT_ENCODATION] + 1 <\n this.min(intCharCounts[BASE256_ENCODATION], intCharCounts[C40_ENCODATION], intCharCounts[EDIFACT_ENCODATION], intCharCounts[X12_ENCODATION], intCharCounts[ASCII_ENCODATION])) {\n return TEXT_ENCODATION;\n }\n if (intCharCounts[X12_ENCODATION] + 1 <\n this.min(intCharCounts[BASE256_ENCODATION], intCharCounts[C40_ENCODATION], intCharCounts[EDIFACT_ENCODATION], intCharCounts[TEXT_ENCODATION], intCharCounts[ASCII_ENCODATION])) {\n return X12_ENCODATION;\n }\n if (intCharCounts[C40_ENCODATION] + 1 <\n this.min(intCharCounts[ASCII_ENCODATION], intCharCounts[BASE256_ENCODATION], intCharCounts[EDIFACT_ENCODATION], intCharCounts[TEXT_ENCODATION])) {\n if (intCharCounts[C40_ENCODATION] < intCharCounts[X12_ENCODATION]) {\n return C40_ENCODATION;\n }\n if (intCharCounts[C40_ENCODATION] === intCharCounts[X12_ENCODATION]) {\n var p = startpos + charsProcessed + 1;\n while (p < msg.length) {\n var tc = msg.charCodeAt(p);\n if (this.isX12TermSep(tc)) {\n return X12_ENCODATION;\n }\n if (!this.isNativeX12(tc)) {\n break;\n }\n p++;\n }\n return C40_ENCODATION;\n }\n }\n }\n }\n };\n HighLevelEncoder.min = function (f1, f2, f3, f4, f5) {\n var val = Math.min(f1, Math.min(f2, Math.min(f3, f4)));\n if (f5 === undefined) {\n return val;\n }\n else {\n return Math.min(val, f5);\n }\n };\n HighLevelEncoder.findMinimums = function (charCounts, intCharCounts, min, mins) {\n for (var i = 0; i < 6; i++) {\n var current = (intCharCounts[i] = Math.ceil(charCounts[i]));\n if (min > current) {\n min = current;\n Arrays.fill(mins, 0);\n }\n if (min === current) {\n mins[i] = mins[i] + 1;\n }\n }\n return min;\n };\n HighLevelEncoder.getMinimumCount = function (mins) {\n var minCount = 0;\n for (var i = 0; i < 6; i++) {\n minCount += mins[i];\n }\n return minCount || 0;\n };\n HighLevelEncoder.isDigit = function (ch) {\n return ch >= '0'.charCodeAt(0) && ch <= '9'.charCodeAt(0);\n };\n HighLevelEncoder.isExtendedASCII = function (ch) {\n return ch >= 128 && ch <= 255;\n };\n HighLevelEncoder.isNativeC40 = function (ch) {\n return (ch === ' '.charCodeAt(0) ||\n (ch >= '0'.charCodeAt(0) && ch <= '9'.charCodeAt(0)) ||\n (ch >= 'A'.charCodeAt(0) && ch <= 'Z'.charCodeAt(0)));\n };\n HighLevelEncoder.isNativeText = function (ch) {\n return (ch === ' '.charCodeAt(0) ||\n (ch >= '0'.charCodeAt(0) && ch <= '9'.charCodeAt(0)) ||\n (ch >= 'a'.charCodeAt(0) && ch <= 'z'.charCodeAt(0)));\n };\n HighLevelEncoder.isNativeX12 = function (ch) {\n return (this.isX12TermSep(ch) ||\n ch === ' '.charCodeAt(0) ||\n (ch >= '0'.charCodeAt(0) && ch <= '9'.charCodeAt(0)) ||\n (ch >= 'A'.charCodeAt(0) && ch <= 'Z'.charCodeAt(0)));\n };\n HighLevelEncoder.isX12TermSep = function (ch) {\n return (ch === 13 || // CR\n ch === '*'.charCodeAt(0) ||\n ch === '>'.charCodeAt(0));\n };\n HighLevelEncoder.isNativeEDIFACT = function (ch) {\n return ch >= ' '.charCodeAt(0) && ch <= '^'.charCodeAt(0);\n };\n HighLevelEncoder.isSpecialB256 = function (ch) {\n return false; // TODO NOT IMPLEMENTED YET!!!\n };\n /**\n * Determines the number of consecutive characters that are encodable using numeric compaction.\n *\n * @param msg the message\n * @param startpos the start position within the message\n * @return the requested character count\n */\n HighLevelEncoder.determineConsecutiveDigitCount = function (msg, startpos) {\n if (startpos === void 0) { startpos = 0; }\n var len = msg.length;\n var idx = startpos;\n while (idx < len && this.isDigit(msg.charCodeAt(idx))) {\n idx++;\n }\n return idx - startpos;\n };\n HighLevelEncoder.illegalCharacter = function (singleCharacter) {\n var hex = Integer.toHexString(singleCharacter.charCodeAt(0));\n hex = '0000'.substring(0, 4 - hex.length) + hex;\n throw new Error('Illegal character: ' + singleCharacter + ' (0x' + hex + ')');\n };\n return HighLevelEncoder;\n}());\nexport default HighLevelEncoder;\n","/**\n * Set of CharsetEncoders for a given input string\n *\n * Invariants:\n * - The list contains only encoders from CharacterSetECI (list is shorter then the list of encoders available on\n * the platform for which ECI values are defined).\n * - The list contains encoders at least one encoder for every character in the input.\n * - The first encoder in the list is always the ISO-8859-1 encoder even of no character in the input can be encoded\n * by it.\n * - If the input contains a character that is not in ISO-8859-1 then the last two entries in the list will be the\n * UTF-8 encoder and the UTF-16BE encoder.\n *\n * @author Alex Geller\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport Charset from '../util/Charset';\nimport StandardCharsets from '../util/StandardCharsets';\nimport StringEncoding from '../util/StringEncoding';\nimport StringUtils from './StringUtils';\nvar CharsetEncoder = /** @class */ (function () {\n function CharsetEncoder(charset) {\n this.charset = charset;\n this.name = charset.name;\n }\n CharsetEncoder.prototype.canEncode = function (c) {\n try {\n return StringEncoding.encode(c, this.charset) != null;\n }\n catch (ex) {\n return false;\n }\n };\n return CharsetEncoder;\n}());\nvar ECIEncoderSet = /** @class */ (function () {\n /**\n * Constructs an encoder set\n *\n * @param stringToEncode the string that needs to be encoded\n * @param priorityCharset The preferred {@link Charset} or null.\n * @param fnc1 fnc1 denotes the character in the input that represents the FNC1 character or -1 for a non-GS1 bar\n * code. When specified, it is considered an error to pass it as argument to the methods canEncode() or encode().\n */\n function ECIEncoderSet(stringToEncode, priorityCharset, fnc1) {\n var e_1, _a, e_2, _b, e_3, _c;\n this.ENCODERS = [\n 'IBM437',\n 'ISO-8859-2',\n 'ISO-8859-3',\n 'ISO-8859-4',\n 'ISO-8859-5',\n 'ISO-8859-6',\n 'ISO-8859-7',\n 'ISO-8859-8',\n 'ISO-8859-9',\n 'ISO-8859-10',\n 'ISO-8859-11',\n 'ISO-8859-13',\n 'ISO-8859-14',\n 'ISO-8859-15',\n 'ISO-8859-16',\n 'windows-1250',\n 'windows-1251',\n 'windows-1252',\n 'windows-1256',\n 'Shift_JIS',\n ].map(function (name) { return new CharsetEncoder(Charset.forName(name)); });\n this.encoders = [];\n var neededEncoders = [];\n // we always need the ISO-8859-1 encoder. It is the default encoding\n neededEncoders.push(new CharsetEncoder(StandardCharsets.ISO_8859_1));\n var needUnicodeEncoder = priorityCharset != null && priorityCharset.name.startsWith('UTF');\n // Walk over the input string and see if all characters can be encoded with the list of encoders\n for (var i = 0; i < stringToEncode.length; i++) {\n var canEncode = false;\n try {\n for (var neededEncoders_1 = (e_1 = void 0, __values(neededEncoders)), neededEncoders_1_1 = neededEncoders_1.next(); !neededEncoders_1_1.done; neededEncoders_1_1 = neededEncoders_1.next()) {\n var encoder = neededEncoders_1_1.value;\n var singleCharacter = stringToEncode.charAt(i);\n var c = singleCharacter.charCodeAt(0);\n if (c === fnc1 || encoder.canEncode(singleCharacter)) {\n canEncode = true;\n break;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (neededEncoders_1_1 && !neededEncoders_1_1.done && (_a = neededEncoders_1.return)) _a.call(neededEncoders_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (!canEncode) {\n try {\n // for the character at position i we don't yet have an encoder in the list\n for (var _d = (e_2 = void 0, __values(this.ENCODERS)), _e = _d.next(); !_e.done; _e = _d.next()) {\n var encoder = _e.value;\n if (encoder.canEncode(stringToEncode.charAt(i))) {\n // Good, we found an encoder that can encode the character. We add him to the list and continue scanning\n // the input\n neededEncoders.push(encoder);\n canEncode = true;\n break;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_b = _d.return)) _b.call(_d);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (!canEncode) {\n // The character is not encodeable by any of the single byte encoders so we remember that we will need a\n // Unicode encoder.\n needUnicodeEncoder = true;\n }\n }\n if (neededEncoders.length === 1 && !needUnicodeEncoder) {\n // the entire input can be encoded by the ISO-8859-1 encoder\n this.encoders = [neededEncoders[0]];\n }\n else {\n // we need more than one single byte encoder or we need a Unicode encoder.\n // In this case we append a UTF-8 and UTF-16 encoder to the list\n this.encoders = [];\n var index = 0;\n try {\n for (var neededEncoders_2 = __values(neededEncoders), neededEncoders_2_1 = neededEncoders_2.next(); !neededEncoders_2_1.done; neededEncoders_2_1 = neededEncoders_2.next()) {\n var encoder = neededEncoders_2_1.value;\n this.encoders[index++] = encoder;\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (neededEncoders_2_1 && !neededEncoders_2_1.done && (_c = neededEncoders_2.return)) _c.call(neededEncoders_2);\n }\n finally { if (e_3) throw e_3.error; }\n }\n // this.encoders[index] = new CharsetEncoder(StandardCharsets.UTF_8);\n // this.encoders[index + 1] = new CharsetEncoder(StandardCharsets.UTF_16BE);\n }\n // Compute priorityEncoderIndex by looking up priorityCharset in encoders\n var priorityEncoderIndexValue = -1;\n if (priorityCharset != null) {\n for (var i = 0; i < this.encoders.length; i++) {\n if (this.encoders[i] != null &&\n priorityCharset.name === this.encoders[i].name) {\n priorityEncoderIndexValue = i;\n break;\n }\n }\n }\n this.priorityEncoderIndex = priorityEncoderIndexValue;\n // invariants\n // if(this?.encoders?.[0].name !== StandardCharsets.ISO_8859_1)){\n // throw new Error(\"ISO-8859-1 must be the first encoder\");\n // }\n }\n ECIEncoderSet.prototype.length = function () {\n return this.encoders.length;\n };\n ECIEncoderSet.prototype.getCharsetName = function (index) {\n if (!(index < this.length())) {\n throw new Error('index must be less than length');\n }\n return this.encoders[index].name;\n };\n ECIEncoderSet.prototype.getCharset = function (index) {\n if (!(index < this.length())) {\n throw new Error('index must be less than length');\n }\n return this.encoders[index].charset;\n };\n ECIEncoderSet.prototype.getECIValue = function (encoderIndex) {\n return this.encoders[encoderIndex].charset.getValueIdentifier();\n };\n /*\n * returns -1 if no priority charset was defined\n */\n ECIEncoderSet.prototype.getPriorityEncoderIndex = function () {\n return this.priorityEncoderIndex;\n };\n ECIEncoderSet.prototype.canEncode = function (c, encoderIndex) {\n if (!(encoderIndex < this.length())) {\n throw new Error('index must be less than length');\n }\n return true;\n };\n ECIEncoderSet.prototype.encode = function (c, encoderIndex) {\n if (!(encoderIndex < this.length())) {\n throw new Error('index must be less than length');\n }\n return StringEncoding.encode(StringUtils.getCharAt(c), this.encoders[encoderIndex].name);\n };\n return ECIEncoderSet;\n}());\nexport { ECIEncoderSet };\n","import { ECIEncoderSet } from './ECIEncoderSet';\nimport Integer from '../util/Integer';\nimport StringBuilder from '../util/StringBuilder';\nvar COST_PER_ECI = 3; // approximated (latch + 2 codewords)\nvar MinimalECIInput = /** @class */ (function () {\n /**\n * Constructs a minimal input\n *\n * @param stringToEncode the character string to encode\n * @param priorityCharset The preferred {@link Charset}. When the value of the argument is null, the algorithm\n * chooses charsets that leads to a minimal representation. Otherwise the algorithm will use the priority\n * charset to encode any character in the input that can be encoded by it if the charset is among the\n * supported charsets.\n * @param fnc1 denotes the character in the input that represents the FNC1 character or -1 if this is not GS1\n * input.\n */\n function MinimalECIInput(stringToEncode, priorityCharset, fnc1) {\n this.fnc1 = fnc1;\n var encoderSet = new ECIEncoderSet(stringToEncode, priorityCharset, fnc1);\n if (encoderSet.length() === 1) {\n // optimization for the case when all can be encoded without ECI in ISO-8859-1\n for (var i = 0; i < this.bytes.length; i++) {\n var c = stringToEncode.charAt(i).charCodeAt(0);\n this.bytes[i] = c === fnc1 ? 1000 : c;\n }\n }\n else {\n this.bytes = this.encodeMinimally(stringToEncode, encoderSet, fnc1);\n }\n }\n MinimalECIInput.prototype.getFNC1Character = function () {\n return this.fnc1;\n };\n /**\n * Returns the length of this input. The length is the number\n * of {@code byte}s, FNC1 characters or ECIs in the sequence.\n *\n * @return the number of {@code char}s in this sequence\n */\n MinimalECIInput.prototype.length = function () {\n return this.bytes.length;\n };\n MinimalECIInput.prototype.haveNCharacters = function (index, n) {\n if (index + n - 1 >= this.bytes.length) {\n return false;\n }\n for (var i = 0; i < n; i++) {\n if (this.isECI(index + i)) {\n return false;\n }\n }\n return true;\n };\n /**\n * Returns the {@code byte} value at the specified index. An index ranges from zero\n * to {@code length() - 1}. The first {@code byte} value of the sequence is at\n * index zero, the next at index one, and so on, as for array\n * indexing.\n *\n * @param index the index of the {@code byte} value to be returned\n *\n * @return the specified {@code byte} value as character or the FNC1 character\n *\n * @throws IndexOutOfBoundsException\n * if the {@code index} argument is negative or not less than\n * {@code length()}\n * @throws IllegalArgumentException\n * if the value at the {@code index} argument is an ECI (@see #isECI)\n */\n MinimalECIInput.prototype.charAt = function (index) {\n if (index < 0 || index >= this.length()) {\n throw new Error('' + index);\n }\n if (this.isECI(index)) {\n throw new Error('value at ' + index + ' is not a character but an ECI');\n }\n return this.isFNC1(index) ? this.fnc1 : this.bytes[index];\n };\n /**\n * Returns a {@code CharSequence} that is a subsequence of this sequence.\n * The subsequence starts with the {@code char} value at the specified index and\n * ends with the {@code char} value at index {@code end - 1}. The length\n * (in {@code char}s) of the\n * returned sequence is {@code end - start}, so if {@code start == end}\n * then an empty sequence is returned.\n *\n * @param start the start index, inclusive\n * @param end the end index, exclusive\n *\n * @return the specified subsequence\n *\n * @throws IndexOutOfBoundsException\n * if {@code start} or {@code end} are negative,\n * if {@code end} is greater than {@code length()},\n * or if {@code start} is greater than {@code end}\n * @throws IllegalArgumentException\n * if a value in the range {@code start}-{@code end} is an ECI (@see #isECI)\n */\n MinimalECIInput.prototype.subSequence = function (start, end) {\n if (start < 0 || start > end || end > this.length()) {\n throw new Error('' + start);\n }\n var result = new StringBuilder();\n for (var i = start; i < end; i++) {\n if (this.isECI(i)) {\n throw new Error('value at ' + i + ' is not a character but an ECI');\n }\n result.append(this.charAt(i));\n }\n return result.toString();\n };\n /**\n * Determines if a value is an ECI\n *\n * @param index the index of the value\n *\n * @return true if the value at position {@code index} is an ECI\n *\n * @throws IndexOutOfBoundsException\n * if the {@code index} argument is negative or not less than\n * {@code length()}\n */\n MinimalECIInput.prototype.isECI = function (index) {\n if (index < 0 || index >= this.length()) {\n throw new Error('' + index);\n }\n return this.bytes[index] > 255 && this.bytes[index] <= 999;\n };\n /**\n * Determines if a value is the FNC1 character\n *\n * @param index the index of the value\n *\n * @return true if the value at position {@code index} is the FNC1 character\n *\n * @throws IndexOutOfBoundsException\n * if the {@code index} argument is negative or not less than\n * {@code length()}\n */\n MinimalECIInput.prototype.isFNC1 = function (index) {\n if (index < 0 || index >= this.length()) {\n throw new Error('' + index);\n }\n return this.bytes[index] === 1000;\n };\n /**\n * Returns the {@code int} ECI value at the specified index. An index ranges from zero\n * to {@code length() - 1}. The first {@code byte} value of the sequence is at\n * index zero, the next at index one, and so on, as for array\n * indexing.\n *\n * @param index the index of the {@code int} value to be returned\n *\n * @return the specified {@code int} ECI value.\n * The ECI specified the encoding of all bytes with a higher index until the\n * next ECI or until the end of the input if no other ECI follows.\n *\n * @throws IndexOutOfBoundsException\n * if the {@code index} argument is negative or not less than\n * {@code length()}\n * @throws IllegalArgumentException\n * if the value at the {@code index} argument is not an ECI (@see #isECI)\n */\n MinimalECIInput.prototype.getECIValue = function (index) {\n if (index < 0 || index >= this.length()) {\n throw new Error('' + index);\n }\n if (!this.isECI(index)) {\n throw new Error('value at ' + index + ' is not an ECI but a character');\n }\n return this.bytes[index] - 256;\n };\n MinimalECIInput.prototype.addEdge = function (edges, to, edge) {\n if (edges[to][edge.encoderIndex] == null ||\n edges[to][edge.encoderIndex].cachedTotalSize > edge.cachedTotalSize) {\n edges[to][edge.encoderIndex] = edge;\n }\n };\n MinimalECIInput.prototype.addEdges = function (stringToEncode, encoderSet, edges, from, previous, fnc1) {\n var ch = stringToEncode.charAt(from).charCodeAt(0);\n var start = 0;\n var end = encoderSet.length();\n if (encoderSet.getPriorityEncoderIndex() >= 0 &&\n (ch === fnc1 ||\n encoderSet.canEncode(ch, encoderSet.getPriorityEncoderIndex()))) {\n start = encoderSet.getPriorityEncoderIndex();\n end = start + 1;\n }\n for (var i = start; i < end; i++) {\n if (ch === fnc1 || encoderSet.canEncode(ch, i)) {\n this.addEdge(edges, from + 1, new InputEdge(ch, encoderSet, i, previous, fnc1));\n }\n }\n };\n MinimalECIInput.prototype.encodeMinimally = function (stringToEncode, encoderSet, fnc1) {\n var inputLength = stringToEncode.length;\n // Array that represents vertices. There is a vertex for every character and encoding.\n var edges = new InputEdge[inputLength + 1][encoderSet.length()]();\n this.addEdges(stringToEncode, encoderSet, edges, 0, null, fnc1);\n for (var i = 1; i <= inputLength; i++) {\n for (var j = 0; j < encoderSet.length(); j++) {\n if (edges[i][j] != null && i < inputLength) {\n this.addEdges(stringToEncode, encoderSet, edges, i, edges[i][j], fnc1);\n }\n }\n // optimize memory by removing edges that have been passed.\n for (var j = 0; j < encoderSet.length(); j++) {\n edges[i - 1][j] = null;\n }\n }\n var minimalJ = -1;\n var minimalSize = Integer.MAX_VALUE;\n for (var j = 0; j < encoderSet.length(); j++) {\n if (edges[inputLength][j] != null) {\n var edge = edges[inputLength][j];\n if (edge.cachedTotalSize < minimalSize) {\n minimalSize = edge.cachedTotalSize;\n minimalJ = j;\n }\n }\n }\n if (minimalJ < 0) {\n throw new Error('Failed to encode \"' + stringToEncode + '\"');\n }\n var intsAL = [];\n var current = edges[inputLength][minimalJ];\n while (current != null) {\n if (current.isFNC1()) {\n intsAL.unshift(1000);\n }\n else {\n var bytes = encoderSet.encode(current.c, current.encoderIndex);\n for (var i = bytes.length - 1; i >= 0; i--) {\n intsAL.unshift(bytes[i] & 0xff);\n }\n }\n var previousEncoderIndex = current.previous === null ? 0 : current.previous.encoderIndex;\n if (previousEncoderIndex !== current.encoderIndex) {\n intsAL.unshift(256 + encoderSet.getECIValue(current.encoderIndex));\n }\n current = current.previous;\n }\n var ints = [];\n for (var i = 0; i < ints.length; i++) {\n ints[i] = intsAL[i];\n }\n return ints;\n };\n return MinimalECIInput;\n}());\nexport { MinimalECIInput };\nvar InputEdge = /** @class */ (function () {\n function InputEdge(c, encoderSet, encoderIndex, previous, fnc1) {\n this.c = c;\n this.encoderSet = encoderSet;\n this.encoderIndex = encoderIndex;\n this.previous = previous;\n this.fnc1 = fnc1;\n this.c = c === fnc1 ? 1000 : c;\n var size = this.isFNC1() ? 1 : encoderSet.encode(c, encoderIndex).length;\n var previousEncoderIndex = previous === null ? 0 : previous.encoderIndex;\n if (previousEncoderIndex !== encoderIndex) {\n size += COST_PER_ECI;\n }\n if (previous != null) {\n size += previous.cachedTotalSize;\n }\n this.cachedTotalSize = size;\n }\n InputEdge.prototype.isFNC1 = function () {\n return this.c === 1000;\n };\n return InputEdge;\n}());\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n/**\n * Aztec 2D code representation\n *\n * @author Rustam Abdullaev\n */\nvar AztecCode = /** @class */ (function () {\n function AztecCode() {\n }\n /**\n * @return {@code true} if compact instead of full mode\n */\n AztecCode.prototype.isCompact = function () {\n return this.compact;\n };\n AztecCode.prototype.setCompact = function (compact) {\n this.compact = compact;\n };\n /**\n * @return size in pixels (width and height)\n */\n AztecCode.prototype.getSize = function () {\n return this.size;\n };\n AztecCode.prototype.setSize = function (size) {\n this.size = size;\n };\n /**\n * @return number of levels\n */\n AztecCode.prototype.getLayers = function () {\n return this.layers;\n };\n AztecCode.prototype.setLayers = function (layers) {\n this.layers = layers;\n };\n /**\n * @return number of data codewords\n */\n AztecCode.prototype.getCodeWords = function () {\n return this.codeWords;\n };\n AztecCode.prototype.setCodeWords = function (codeWords) {\n this.codeWords = codeWords;\n };\n /**\n * @return the symbol image\n */\n AztecCode.prototype.getMatrix = function () {\n return this.matrix;\n };\n AztecCode.prototype.setMatrix = function (matrix) {\n this.matrix = matrix;\n };\n return AztecCode;\n}());\nexport default AztecCode;\n","import BarcodeFormat from '../BarcodeFormat';\nimport BitMatrix from '../common/BitMatrix';\nimport EncodeHintType from '../EncodeHintType';\nimport ByteMatrix from '../qrcode/encoder/ByteMatrix';\nimport Charset from '../util/Charset';\nimport { DefaultPlacement, ErrorCorrection, HighLevelEncoder, MinimalEncoder, SymbolInfo, } from './encoder';\nvar DataMatrixWriter = /** @class */ (function () {\n function DataMatrixWriter() {\n }\n DataMatrixWriter.prototype.encode = function (contents, format, width, height, hints) {\n if (hints === void 0) { hints = null; }\n if (contents.trim() === '') {\n throw new Error('Found empty contents');\n }\n if (format !== BarcodeFormat.DATA_MATRIX) {\n throw new Error('Can only encode DATA_MATRIX, but got ' + format);\n }\n if (width < 0 || height < 0) {\n throw new Error('Requested dimensions can\\'t be negative: ' + width + 'x' + height);\n }\n // Try to get force shape & min / max size\n var shape = 0 /* FORCE_NONE */;\n var minSize = null;\n var maxSize = null;\n if (hints != null) {\n var requestedShape = hints.get(EncodeHintType.DATA_MATRIX_SHAPE);\n if (requestedShape != null) {\n shape = requestedShape;\n }\n var requestedMinSize = hints.get(EncodeHintType.MIN_SIZE);\n if (requestedMinSize != null) {\n minSize = requestedMinSize;\n }\n var requestedMaxSize = hints.get(EncodeHintType.MAX_SIZE);\n if (requestedMaxSize != null) {\n maxSize = requestedMaxSize;\n }\n }\n // 1. step: Data encodation\n var encoded;\n var hasCompactionHint = hints != null &&\n hints.has(EncodeHintType.DATA_MATRIX_COMPACT) &&\n Boolean(hints.get(EncodeHintType.DATA_MATRIX_COMPACT).toString());\n if (hasCompactionHint) {\n var hasGS1FormatHint = hints.has(EncodeHintType.GS1_FORMAT) &&\n Boolean(hints.get(EncodeHintType.GS1_FORMAT).toString());\n var charset = null;\n var hasEncodingHint = hints.has(EncodeHintType.CHARACTER_SET);\n if (hasEncodingHint) {\n charset = Charset.forName(hints.get(EncodeHintType.CHARACTER_SET).toString());\n }\n encoded = MinimalEncoder.encodeHighLevel(contents, charset, hasGS1FormatHint ? 0x1d : -1, shape);\n }\n else {\n var hasForceC40Hint = hints != null &&\n hints.has(EncodeHintType.FORCE_C40) &&\n Boolean(hints.get(EncodeHintType.FORCE_C40).toString());\n encoded = HighLevelEncoder.encodeHighLevel(contents, shape, minSize, maxSize, hasForceC40Hint);\n }\n var symbolInfo = SymbolInfo.lookup(encoded.length, shape, minSize, maxSize, true);\n // 2. step: ECC generation\n var codewords = ErrorCorrection.encodeECC200(encoded, symbolInfo);\n // 3. step: Module placement in Matrix\n var placement = new DefaultPlacement(codewords, symbolInfo.getSymbolDataWidth(), symbolInfo.getSymbolDataHeight());\n placement.place();\n // 4. step: low-level encoding\n return this.encodeLowLevel(placement, symbolInfo, width, height);\n };\n /**\n * Encode the given symbol info to a bit matrix.\n *\n * @param placement The DataMatrix placement.\n * @param symbolInfo The symbol info to encode.\n * @return The bit matrix generated.\n */\n DataMatrixWriter.prototype.encodeLowLevel = function (placement, symbolInfo, width, height) {\n var symbolWidth = symbolInfo.getSymbolDataWidth();\n var symbolHeight = symbolInfo.getSymbolDataHeight();\n var matrix = new ByteMatrix(symbolInfo.getSymbolWidth(), symbolInfo.getSymbolHeight());\n var matrixY = 0;\n for (var y = 0; y < symbolHeight; y++) {\n // Fill the top edge with alternate 0 / 1\n var matrixX = void 0;\n if (y % symbolInfo.matrixHeight === 0) {\n matrixX = 0;\n for (var x = 0; x < symbolInfo.getSymbolWidth(); x++) {\n matrix.setBoolean(matrixX, matrixY, x % 2 === 0);\n matrixX++;\n }\n matrixY++;\n }\n matrixX = 0;\n for (var x = 0; x < symbolWidth; x++) {\n // Fill the right edge with full 1\n if (x % symbolInfo.matrixWidth === 0) {\n matrix.setBoolean(matrixX, matrixY, true);\n matrixX++;\n }\n matrix.setBoolean(matrixX, matrixY, placement.getBit(x, y));\n matrixX++;\n // Fill the right edge with alternate 0 / 1\n if (x % symbolInfo.matrixWidth === symbolInfo.matrixWidth - 1) {\n matrix.setBoolean(matrixX, matrixY, y % 2 === 0);\n matrixX++;\n }\n }\n matrixY++;\n // Fill the bottom edge with full 1\n if (y % symbolInfo.matrixHeight === symbolInfo.matrixHeight - 1) {\n matrixX = 0;\n for (var x = 0; x < symbolInfo.getSymbolWidth(); x++) {\n matrix.setBoolean(matrixX, matrixY, true);\n matrixX++;\n }\n matrixY++;\n }\n }\n return this.convertByteMatrixToBitMatrix(matrix, width, height);\n };\n /**\n * Convert the ByteMatrix to BitMatrix.\n *\n * @param reqHeight The requested height of the image (in pixels) with the Datamatrix code\n * @param reqWidth The requested width of the image (in pixels) with the Datamatrix code\n * @param matrix The input matrix.\n * @return The output matrix.\n */\n DataMatrixWriter.prototype.convertByteMatrixToBitMatrix = function (matrix, reqWidth, reqHeight) {\n var matrixWidth = matrix.getWidth();\n var matrixHeight = matrix.getHeight();\n var outputWidth = Math.max(reqWidth, matrixWidth);\n var outputHeight = Math.max(reqHeight, matrixHeight);\n var multiple = Math.min(outputWidth / matrixWidth, outputHeight / matrixHeight);\n var leftPadding = (outputWidth - matrixWidth * multiple) / 2;\n var topPadding = (outputHeight - matrixHeight * multiple) / 2;\n var output;\n // remove padding if requested width and height are too small\n if (reqHeight < matrixHeight || reqWidth < matrixWidth) {\n leftPadding = 0;\n topPadding = 0;\n output = new BitMatrix(matrixWidth, matrixHeight);\n }\n else {\n output = new BitMatrix(reqWidth, reqHeight);\n }\n output.clear();\n for (var inputY = 0, outputY = topPadding; inputY < matrixHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the bytematrix\n for (var inputX = 0, outputX = leftPadding; inputX < matrixWidth; inputX++, outputX += multiple) {\n if (matrix.get(inputX, inputY) === 1) {\n output.setRegion(outputX, outputY, multiple, multiple);\n }\n }\n }\n return output;\n };\n return DataMatrixWriter;\n}());\nexport default DataMatrixWriter;\n","var Collections = /** @class */ (function () {\n function Collections() {\n }\n /**\n * The singletonList(T) method is used to return an immutable list containing only the specified object.\n */\n Collections.singletonList = function (item) {\n return [item];\n };\n /**\n * The min(Collection, Comparator) method is used to return the minimum element of the given collection, according to the order induced by the specified comparator.\n */\n Collections.min = function (collection, comparator) {\n return collection.sort(comparator)[0];\n };\n return Collections;\n}());\nexport default Collections;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar Token = /** @class */ (function () {\n function Token(previous) {\n this.previous = previous;\n }\n Token.prototype.getPrevious = function () {\n return this.previous;\n };\n return Token;\n}());\nexport default Token;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Token from './Token';\nimport Integer from '../../util/Integer';\nvar SimpleToken = /** @class */ (function (_super) {\n __extends(SimpleToken, _super);\n function SimpleToken(previous, value, bitCount) {\n var _this = _super.call(this, previous) || this;\n _this.value = value;\n _this.bitCount = bitCount;\n return _this;\n }\n /**\n * @Override\n */\n SimpleToken.prototype.appendTo = function (bitArray, text) {\n bitArray.appendBits(this.value, this.bitCount);\n };\n SimpleToken.prototype.add = function (value, bitCount) {\n return new SimpleToken(this, value, bitCount);\n };\n SimpleToken.prototype.addBinaryShift = function (start, byteCount) {\n // no-op can't binary shift a simple token\n console.warn('addBinaryShift on SimpleToken, this simply returns a copy of this token');\n return new SimpleToken(this, start, byteCount);\n };\n /**\n * @Override\n */\n SimpleToken.prototype.toString = function () {\n var value = this.value & ((1 << this.bitCount) - 1);\n value |= 1 << this.bitCount;\n return '<' + Integer.toBinaryString(value | (1 << this.bitCount)).substring(1) + '>';\n };\n return SimpleToken;\n}(Token));\nexport default SimpleToken;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport SimpleToken from './SimpleToken';\nvar BinaryShiftToken = /** @class */ (function (_super) {\n __extends(BinaryShiftToken, _super);\n function BinaryShiftToken(previous, binaryShiftStart, binaryShiftByteCount) {\n var _this = _super.call(this, previous, 0, 0) || this;\n _this.binaryShiftStart = binaryShiftStart;\n _this.binaryShiftByteCount = binaryShiftByteCount;\n return _this;\n }\n /**\n * @Override\n */\n BinaryShiftToken.prototype.appendTo = function (bitArray, text) {\n for (var i = 0; i < this.binaryShiftByteCount; i++) {\n if (i === 0 || (i === 31 && this.binaryShiftByteCount <= 62)) {\n // We need a header before the first character, and before\n // character 31 when the total byte code is <= 62\n bitArray.appendBits(31, 5); // BINARY_SHIFT\n if (this.binaryShiftByteCount > 62) {\n bitArray.appendBits(this.binaryShiftByteCount - 31, 16);\n }\n else if (i === 0) {\n // 1 <= binaryShiftByteCode <= 62\n bitArray.appendBits(Math.min(this.binaryShiftByteCount, 31), 5);\n }\n else {\n // 32 <= binaryShiftCount <= 62 and i == 31\n bitArray.appendBits(this.binaryShiftByteCount - 31, 5);\n }\n }\n bitArray.appendBits(text[this.binaryShiftStart + i], 8);\n }\n };\n BinaryShiftToken.prototype.addBinaryShift = function (start, byteCount) {\n // int bitCount = (byteCount * 8) + (byteCount <= 31 ? 10 : byteCount <= 62 ? 20 : 21);\n return new BinaryShiftToken(this, start, byteCount);\n };\n /**\n * @Override\n */\n BinaryShiftToken.prototype.toString = function () {\n return '<' + this.binaryShiftStart + '::' + (this.binaryShiftStart + this.binaryShiftByteCount - 1) + '>';\n };\n return BinaryShiftToken;\n}(SimpleToken));\nexport default BinaryShiftToken;\n","import SimpleToken from './SimpleToken';\nimport BinaryShiftToken from './BinaryShiftToken';\nexport function addBinaryShift(token, start, byteCount) {\n // int bitCount = (byteCount * 8) + (byteCount <= 31 ? 10 : byteCount <= 62 ? 20 : 21);\n return new BinaryShiftToken(token, start, byteCount);\n}\nexport function add(token, value, bitCount) {\n return new SimpleToken(token, value, bitCount);\n}\n","import SimpleToken from './SimpleToken';\nexport var /*final*/ MODE_NAMES = [\n 'UPPER',\n 'LOWER',\n 'DIGIT',\n 'MIXED',\n 'PUNCT'\n];\nexport var /*final*/ MODE_UPPER = 0; // 5 bits\nexport var /*final*/ MODE_LOWER = 1; // 5 bits\nexport var /*final*/ MODE_DIGIT = 2; // 4 bits\nexport var /*final*/ MODE_MIXED = 3; // 5 bits\nexport var /*final*/ MODE_PUNCT = 4; // 5 bits\nexport var EMPTY_TOKEN = new SimpleToken(null, 0, 0);\n","// The Latch Table shows, for each pair of Modes, the optimal method for\n// getting from one mode to another. In the worst possible case, this can\n// be up to 14 bits. In the best possible case, we are already there!\n// The high half-word of each entry gives the number of bits.\n// The low half-word of each entry are the actual bits necessary to change\nexport var LATCH_TABLE = [\n Int32Array.from([\n 0,\n (5 << 16) + 28,\n (5 << 16) + 30,\n (5 << 16) + 29,\n (10 << 16) + (29 << 5) + 30 // UPPER -> MIXED -> PUNCT\n ]),\n Int32Array.from([\n (9 << 16) + (30 << 4) + 14,\n 0,\n (5 << 16) + 30,\n (5 << 16) + 29,\n (10 << 16) + (29 << 5) + 30 // LOWER -> MIXED -> PUNCT\n ]),\n Int32Array.from([\n (4 << 16) + 14,\n (9 << 16) + (14 << 5) + 28,\n 0,\n (9 << 16) + (14 << 5) + 29,\n (14 << 16) + (14 << 10) + (29 << 5) + 30\n // DIGIT -> UPPER -> MIXED -> PUNCT\n ]),\n Int32Array.from([\n (5 << 16) + 29,\n (5 << 16) + 28,\n (10 << 16) + (29 << 5) + 30,\n 0,\n (5 << 16) + 30 // MIXED -> PUNCT\n ]),\n Int32Array.from([\n (5 << 16) + 31,\n (10 << 16) + (31 << 5) + 28,\n (10 << 16) + (31 << 5) + 30,\n (10 << 16) + (31 << 5) + 29,\n 0\n ])\n];\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport Arrays from '../../util/Arrays';\nimport * as C from './EncoderConstants';\nexport function static_SHIFT_TABLE(SHIFT_TABLE) {\n var e_1, _a;\n try {\n for (var SHIFT_TABLE_1 = __values(SHIFT_TABLE), SHIFT_TABLE_1_1 = SHIFT_TABLE_1.next(); !SHIFT_TABLE_1_1.done; SHIFT_TABLE_1_1 = SHIFT_TABLE_1.next()) {\n var table = SHIFT_TABLE_1_1.value /*Int32Array*/;\n Arrays.fill(table, -1);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (SHIFT_TABLE_1_1 && !SHIFT_TABLE_1_1.done && (_a = SHIFT_TABLE_1.return)) _a.call(SHIFT_TABLE_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n SHIFT_TABLE[C.MODE_UPPER][C.MODE_PUNCT] = 0;\n SHIFT_TABLE[C.MODE_LOWER][C.MODE_PUNCT] = 0;\n SHIFT_TABLE[C.MODE_LOWER][C.MODE_UPPER] = 28;\n SHIFT_TABLE[C.MODE_MIXED][C.MODE_PUNCT] = 0;\n SHIFT_TABLE[C.MODE_DIGIT][C.MODE_PUNCT] = 0;\n SHIFT_TABLE[C.MODE_DIGIT][C.MODE_UPPER] = 15;\n return SHIFT_TABLE;\n}\nexport var /*final*/ SHIFT_TABLE = static_SHIFT_TABLE(Arrays.createInt32Array(6, 6)); // mode shift codes, per table\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.aztec.encoder;\n// import java.util.Deque;\n// import java.util.LinkedList;\n// import com.google.zxing.common.BitArray;\nimport BitArray from '../../common/BitArray';\nimport * as TokenHelpers from './TokenHelpers';\nimport * as C from './EncoderConstants';\nimport * as LatchTable from './LatchTable';\nimport * as ShiftTable from './ShiftTable';\nimport StringUtils from '../../common/StringUtils';\n/**\n * State represents all information about a sequence necessary to generate the current output.\n * Note that a state is immutable.\n */\nvar State = /** @class */ (function () {\n function State(token, mode, binaryBytes, bitCount) {\n this.token = token;\n this.mode = mode;\n this.binaryShiftByteCount = binaryBytes;\n this.bitCount = bitCount;\n // Make sure we match the token\n // int binaryShiftBitCount = (binaryShiftByteCount * 8) +\n // (binaryShiftByteCount === 0 ? 0 :\n // binaryShiftByteCount <= 31 ? 10 :\n // binaryShiftByteCount <= 62 ? 20 : 21);\n // assert this.bitCount === token.getTotalBitCount() + binaryShiftBitCount;\n }\n State.prototype.getMode = function () {\n return this.mode;\n };\n State.prototype.getToken = function () {\n return this.token;\n };\n State.prototype.getBinaryShiftByteCount = function () {\n return this.binaryShiftByteCount;\n };\n State.prototype.getBitCount = function () {\n return this.bitCount;\n };\n // Create a new state representing this state with a latch to a (not\n // necessary different) mode, and then a code.\n State.prototype.latchAndAppend = function (mode, value) {\n // assert binaryShiftByteCount === 0;\n var bitCount = this.bitCount;\n var token = this.token;\n if (mode !== this.mode) {\n var latch = LatchTable.LATCH_TABLE[this.mode][mode];\n token = TokenHelpers.add(token, latch & 0xffff, latch >> 16);\n bitCount += latch >> 16;\n }\n var latchModeBitCount = mode === C.MODE_DIGIT ? 4 : 5;\n token = TokenHelpers.add(token, value, latchModeBitCount);\n return new State(token, mode, 0, bitCount + latchModeBitCount);\n };\n // Create a new state representing this state, with a temporary shift\n // to a different mode to output a single value.\n State.prototype.shiftAndAppend = function (mode, value) {\n // assert binaryShiftByteCount === 0 && this.mode !== mode;\n var token = this.token;\n var thisModeBitCount = this.mode === C.MODE_DIGIT ? 4 : 5;\n // Shifts exist only to UPPER and PUNCT, both with tokens size 5.\n token = TokenHelpers.add(token, ShiftTable.SHIFT_TABLE[this.mode][mode], thisModeBitCount);\n token = TokenHelpers.add(token, value, 5);\n return new State(token, this.mode, 0, this.bitCount + thisModeBitCount + 5);\n };\n // Create a new state representing this state, but an additional character\n // output in Binary Shift mode.\n State.prototype.addBinaryShiftChar = function (index) {\n var token = this.token;\n var mode = this.mode;\n var bitCount = this.bitCount;\n if (this.mode === C.MODE_PUNCT || this.mode === C.MODE_DIGIT) {\n // assert binaryShiftByteCount === 0;\n var latch = LatchTable.LATCH_TABLE[mode][C.MODE_UPPER];\n token = TokenHelpers.add(token, latch & 0xffff, latch >> 16);\n bitCount += latch >> 16;\n mode = C.MODE_UPPER;\n }\n var deltaBitCount = this.binaryShiftByteCount === 0 || this.binaryShiftByteCount === 31\n ? 18\n : this.binaryShiftByteCount === 62\n ? 9\n : 8;\n var result = new State(token, mode, this.binaryShiftByteCount + 1, bitCount + deltaBitCount);\n if (result.binaryShiftByteCount === 2047 + 31) {\n // The string is as long as it's allowed to be. We should end it.\n result = result.endBinaryShift(index + 1);\n }\n return result;\n };\n // Create the state identical to this one, but we are no longer in\n // Binary Shift mode.\n State.prototype.endBinaryShift = function (index) {\n if (this.binaryShiftByteCount === 0) {\n return this;\n }\n var token = this.token;\n token = TokenHelpers.addBinaryShift(token, index - this.binaryShiftByteCount, this.binaryShiftByteCount);\n // assert token.getTotalBitCount() === this.bitCount;\n return new State(token, this.mode, 0, this.bitCount);\n };\n // Returns true if \"this\" state is better (equal: or) to be in than \"that\"\n // state under all possible circumstances.\n State.prototype.isBetterThanOrEqualTo = function (other) {\n var newModeBitCount = this.bitCount + (LatchTable.LATCH_TABLE[this.mode][other.mode] >> 16);\n if (this.binaryShiftByteCount < other.binaryShiftByteCount) {\n // add additional B/S encoding cost of other, if any\n newModeBitCount +=\n State.calculateBinaryShiftCost(other) -\n State.calculateBinaryShiftCost(this);\n }\n else if (this.binaryShiftByteCount > other.binaryShiftByteCount &&\n other.binaryShiftByteCount > 0) {\n // maximum possible additional cost (it: h)\n newModeBitCount += 10;\n }\n return newModeBitCount <= other.bitCount;\n };\n State.prototype.toBitArray = function (text) {\n var e_1, _a;\n // Reverse the tokens, so that they are in the order that they should\n // be output\n var symbols = [];\n for (var token = this.endBinaryShift(text.length).token; token !== null; token = token.getPrevious()) {\n symbols.unshift(token);\n }\n var bitArray = new BitArray();\n try {\n // Add each token to the result.\n for (var symbols_1 = __values(symbols), symbols_1_1 = symbols_1.next(); !symbols_1_1.done; symbols_1_1 = symbols_1.next()) {\n var symbol = symbols_1_1.value;\n symbol.appendTo(bitArray, text);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (symbols_1_1 && !symbols_1_1.done && (_a = symbols_1.return)) _a.call(symbols_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // assert bitArray.getSize() === this.bitCount;\n return bitArray;\n };\n /**\n * @Override\n */\n State.prototype.toString = function () {\n return StringUtils.format('%s bits=%d bytes=%d', C.MODE_NAMES[this.mode], this.bitCount, this.binaryShiftByteCount);\n };\n State.calculateBinaryShiftCost = function (state) {\n if (state.binaryShiftByteCount > 62) {\n return 21; // B/S with extended length\n }\n if (state.binaryShiftByteCount > 31) {\n return 20; // two B/S\n }\n if (state.binaryShiftByteCount > 0) {\n return 10; // one B/S\n }\n return 0;\n };\n State.INITIAL_STATE = new State(C.EMPTY_TOKEN, C.MODE_UPPER, 0, 0);\n return State;\n}());\nexport default State;\n","import * as C from './EncoderConstants';\nimport Arrays from '../../util/Arrays';\nimport StringUtils from '../../common/StringUtils';\nexport function static_CHAR_MAP(CHAR_MAP) {\n var spaceCharCode = StringUtils.getCharCode(' ');\n var pointCharCode = StringUtils.getCharCode('.');\n var commaCharCode = StringUtils.getCharCode(',');\n CHAR_MAP[C.MODE_UPPER][spaceCharCode] = 1;\n var zUpperCharCode = StringUtils.getCharCode('Z');\n var aUpperCharCode = StringUtils.getCharCode('A');\n for (var c = aUpperCharCode; c <= zUpperCharCode; c++) {\n CHAR_MAP[C.MODE_UPPER][c] = c - aUpperCharCode + 2;\n }\n CHAR_MAP[C.MODE_LOWER][spaceCharCode] = 1;\n var zLowerCharCode = StringUtils.getCharCode('z');\n var aLowerCharCode = StringUtils.getCharCode('a');\n for (var c = aLowerCharCode; c <= zLowerCharCode; c++) {\n CHAR_MAP[C.MODE_LOWER][c] = c - aLowerCharCode + 2;\n }\n CHAR_MAP[C.MODE_DIGIT][spaceCharCode] = 1;\n var nineCharCode = StringUtils.getCharCode('9');\n var zeroCharCode = StringUtils.getCharCode('0');\n for (var c = zeroCharCode; c <= nineCharCode; c++) {\n CHAR_MAP[C.MODE_DIGIT][c] = c - zeroCharCode + 2;\n }\n CHAR_MAP[C.MODE_DIGIT][commaCharCode] = 12;\n CHAR_MAP[C.MODE_DIGIT][pointCharCode] = 13;\n var mixedTable = [\n '\\x00',\n ' ',\n '\\x01',\n '\\x02',\n '\\x03',\n '\\x04',\n '\\x05',\n '\\x06',\n '\\x07',\n '\\b',\n '\\t',\n '\\n',\n '\\x0b',\n '\\f',\n '\\r',\n '\\x1b',\n '\\x1c',\n '\\x1d',\n '\\x1e',\n '\\x1f',\n '@',\n '\\\\',\n '^',\n '_',\n '`',\n '|',\n '~',\n '\\x7f'\n ];\n for (var i = 0; i < mixedTable.length; i++) {\n CHAR_MAP[C.MODE_MIXED][StringUtils.getCharCode(mixedTable[i])] = i;\n }\n var punctTable = [\n '\\x00',\n '\\r',\n '\\x00',\n '\\x00',\n '\\x00',\n '\\x00',\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 for (var i = 0; i < punctTable.length; i++) {\n if (StringUtils.getCharCode(punctTable[i]) > 0) {\n CHAR_MAP[C.MODE_PUNCT][StringUtils.getCharCode(punctTable[i])] = i;\n }\n }\n return CHAR_MAP;\n}\nexport var CHAR_MAP = static_CHAR_MAP(Arrays.createInt32Array(5, 256));\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// import java.util.Collection;\n// import java.util.Collections;\nimport Collections from '../../util/Collections';\n// import java.util.Comparator;\n// import java.util.Iterator;\n// import java.util.LinkedList;\nimport State from './State';\nimport * as C from './EncoderConstants';\nimport * as CharMap from './CharMap';\nimport * as ShiftTable from './ShiftTable';\nimport StringUtils from '../../common/StringUtils';\n/**\n * This produces nearly optimal encodings of text into the first-level of\n * encoding used by Aztec code.\n *\n * It uses a dynamic algorithm. For each prefix of the string, it determines\n * a set of encodings that could lead to this prefix. We repeatedly add a\n * character and generate a new set of optimal encodings until we have read\n * through the entire input.\n *\n * @author Frank Yellin\n * @author Rustam Abdullaev\n */\nvar HighLevelEncoder = /** @class */ (function () {\n function HighLevelEncoder(text) {\n this.text = text;\n }\n /**\n * @return text represented by this encoder encoded as a {@link BitArray}\n */\n HighLevelEncoder.prototype.encode = function () {\n var spaceCharCode = StringUtils.getCharCode(' ');\n var lineBreakCharCode = StringUtils.getCharCode('\\n');\n var states = Collections.singletonList(State.INITIAL_STATE);\n for (var index = 0; index < this.text.length; index++) {\n var pairCode = void 0;\n var nextChar = index + 1 < this.text.length ? this.text[index + 1] : 0;\n switch (this.text[index]) {\n case StringUtils.getCharCode('\\r'):\n pairCode = nextChar === lineBreakCharCode ? 2 : 0;\n break;\n case StringUtils.getCharCode('.'):\n pairCode = nextChar === spaceCharCode ? 3 : 0;\n break;\n case StringUtils.getCharCode(','):\n pairCode = nextChar === spaceCharCode ? 4 : 0;\n break;\n case StringUtils.getCharCode(':'):\n pairCode = nextChar === spaceCharCode ? 5 : 0;\n break;\n default:\n pairCode = 0;\n }\n if (pairCode > 0) {\n // We have one of the four special PUNCT pairs. Treat them specially.\n // Get a new set of states for the two new characters.\n states = HighLevelEncoder.updateStateListForPair(states, index, pairCode);\n index++;\n }\n else {\n // Get a new set of states for the new character.\n states = this.updateStateListForChar(states, index);\n }\n }\n // We are left with a set of states. Find the shortest one.\n var minState = Collections.min(states, function (a, b) {\n return a.getBitCount() - b.getBitCount();\n });\n // Convert it to a bit array, and return.\n return minState.toBitArray(this.text);\n };\n // We update a set of states for a new character by updating each state\n // for the new character, merging the results, and then removing the\n // non-optimal states.\n HighLevelEncoder.prototype.updateStateListForChar = function (states, index) {\n var e_1, _a;\n var result = [];\n try {\n for (var states_1 = __values(states), states_1_1 = states_1.next(); !states_1_1.done; states_1_1 = states_1.next()) {\n var state = states_1_1.value /*State*/;\n this.updateStateForChar(state, index, result);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (states_1_1 && !states_1_1.done && (_a = states_1.return)) _a.call(states_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return HighLevelEncoder.simplifyStates(result);\n };\n // Return a set of states that represent the possible ways of updating this\n // state for the next character. The resulting set of states are added to\n // the \"result\" list.\n HighLevelEncoder.prototype.updateStateForChar = function (state, index, result) {\n var ch = (this.text[index] & 0xff);\n var charInCurrentTable = CharMap.CHAR_MAP[state.getMode()][ch] > 0;\n var stateNoBinary = null;\n for (var mode /*int*/ = 0; mode <= C.MODE_PUNCT; mode++) {\n var charInMode = CharMap.CHAR_MAP[mode][ch];\n if (charInMode > 0) {\n if (stateNoBinary == null) {\n // Only create stateNoBinary the first time it's required.\n stateNoBinary = state.endBinaryShift(index);\n }\n // Try generating the character by latching to its mode\n if (!charInCurrentTable ||\n mode === state.getMode() ||\n mode === C.MODE_DIGIT) {\n // If the character is in the current table, we don't want to latch to\n // any other mode except possibly digit (which uses only 4 bits). Any\n // other latch would be equally successful *after* this character, and\n // so wouldn't save any bits.\n var latchState = stateNoBinary.latchAndAppend(mode, charInMode);\n result.push(latchState);\n }\n // Try generating the character by switching to its mode.\n if (!charInCurrentTable &&\n ShiftTable.SHIFT_TABLE[state.getMode()][mode] >= 0) {\n // It never makes sense to temporarily shift to another mode if the\n // character exists in the current mode. That can never save bits.\n var shiftState = stateNoBinary.shiftAndAppend(mode, charInMode);\n result.push(shiftState);\n }\n }\n }\n if (state.getBinaryShiftByteCount() > 0 ||\n CharMap.CHAR_MAP[state.getMode()][ch] === 0) {\n // It's never worthwhile to go into binary shift mode if you're not already\n // in binary shift mode, and the character exists in your current mode.\n // That can never save bits over just outputting the char in the current mode.\n var binaryState = state.addBinaryShiftChar(index);\n result.push(binaryState);\n }\n };\n HighLevelEncoder.updateStateListForPair = function (states, index, pairCode) {\n var e_2, _a;\n var result = [];\n try {\n for (var states_2 = __values(states), states_2_1 = states_2.next(); !states_2_1.done; states_2_1 = states_2.next()) {\n var state = states_2_1.value /*State*/;\n this.updateStateForPair(state, index, pairCode, result);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (states_2_1 && !states_2_1.done && (_a = states_2.return)) _a.call(states_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return this.simplifyStates(result);\n };\n HighLevelEncoder.updateStateForPair = function (state, index, pairCode, result) {\n var stateNoBinary = state.endBinaryShift(index);\n // Possibility 1. Latch to C.MODE_PUNCT, and then append this code\n result.push(stateNoBinary.latchAndAppend(C.MODE_PUNCT, pairCode));\n if (state.getMode() !== C.MODE_PUNCT) {\n // Possibility 2. Shift to C.MODE_PUNCT, and then append this code.\n // Every state except C.MODE_PUNCT (handled above) can shift\n result.push(stateNoBinary.shiftAndAppend(C.MODE_PUNCT, pairCode));\n }\n if (pairCode === 3 || pairCode === 4) {\n // both characters are in DIGITS. Sometimes better to just add two digits\n var digitState = stateNoBinary\n .latchAndAppend(C.MODE_DIGIT, 16 - pairCode) // period or comma in DIGIT\n .latchAndAppend(C.MODE_DIGIT, 1); // space in DIGIT\n result.push(digitState);\n }\n if (state.getBinaryShiftByteCount() > 0) {\n // It only makes sense to do the characters as binary if we're already\n // in binary mode.\n var binaryState = state\n .addBinaryShiftChar(index)\n .addBinaryShiftChar(index + 1);\n result.push(binaryState);\n }\n };\n HighLevelEncoder.simplifyStates = function (states) {\n var e_3, _a, e_4, _b;\n var result = [];\n try {\n for (var states_3 = __values(states), states_3_1 = states_3.next(); !states_3_1.done; states_3_1 = states_3.next()) {\n var newState = states_3_1.value;\n var add = true;\n var _loop_1 = function (oldState) {\n if (oldState.isBetterThanOrEqualTo(newState)) {\n add = false;\n return \"break\";\n }\n if (newState.isBetterThanOrEqualTo(oldState)) {\n // iterator.remove();\n result = result.filter(function (x) { return x !== oldState; }); // remove old state\n }\n };\n try {\n for (var result_1 = (e_4 = void 0, __values(result)), result_1_1 = result_1.next(); !result_1_1.done; result_1_1 = result_1.next()) {\n var oldState = result_1_1.value;\n var state_1 = _loop_1(oldState);\n if (state_1 === \"break\")\n break;\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (result_1_1 && !result_1_1.done && (_b = result_1.return)) _b.call(result_1);\n }\n finally { if (e_4) throw e_4.error; }\n }\n if (add) {\n result.push(newState);\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (states_3_1 && !states_3_1.done && (_a = states_3.return)) _a.call(states_3);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return result;\n };\n return HighLevelEncoder;\n}());\nexport default HighLevelEncoder;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BitArray from '../../common/BitArray';\nimport IllegalArgumentException from '../../IllegalArgumentException';\nimport StringUtils from '../../common/StringUtils';\nimport BitMatrix from '../../common/BitMatrix';\nimport AztecCode from './AztecCode';\nimport ReedSolomonEncoder from '../../common/reedsolomon/ReedSolomonEncoder';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport HighLevelEncoder from './HighLevelEncoder';\nimport Integer from '../../util/Integer';\n/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// package com.google.zxing.aztec.encoder;\n// import com.google.zxing.common.BitArray;\n// import com.google.zxing.common.BitMatrix;\n// import com.google.zxing.common.reedsolomon.GenericGF;\n// import com.google.zxing.common.reedsolomon.ReedSolomonEncoder;\n/**\n * Generates Aztec 2D barcodes.\n *\n * @author Rustam Abdullaev\n */\nvar Encoder = /** @class */ (function () {\n function Encoder() {\n }\n /**\n * Encodes the given binary content as an Aztec symbol\n *\n * @param data input data string\n * @return Aztec symbol matrix with metadata\n */\n Encoder.encodeBytes = function (data) {\n return Encoder.encode(data, Encoder.DEFAULT_EC_PERCENT, Encoder.DEFAULT_AZTEC_LAYERS);\n };\n /**\n * Encodes the given binary content as an Aztec symbol\n *\n * @param data input data string\n * @param minECCPercent minimal percentage of error check words (According to ISO/IEC 24778:2008,\n * a minimum of 23% + 3 words is recommended)\n * @param userSpecifiedLayers if non-zero, a user-specified value for the number of layers\n * @return Aztec symbol matrix with metadata\n */\n Encoder.encode = function (data, minECCPercent, userSpecifiedLayers) {\n // High-level encode\n var bits = new HighLevelEncoder(data).encode();\n // stuff bits and choose symbol size\n var eccBits = Integer.truncDivision((bits.getSize() * minECCPercent), 100) + 11;\n var totalSizeBits = bits.getSize() + eccBits;\n var compact;\n var layers;\n var totalBitsInLayer;\n var wordSize;\n var stuffedBits;\n if (userSpecifiedLayers !== Encoder.DEFAULT_AZTEC_LAYERS) {\n compact = userSpecifiedLayers < 0;\n layers = Math.abs(userSpecifiedLayers);\n if (layers > (compact ? Encoder.MAX_NB_BITS_COMPACT : Encoder.MAX_NB_BITS)) {\n throw new IllegalArgumentException(StringUtils.format('Illegal value %s for layers', userSpecifiedLayers));\n }\n totalBitsInLayer = Encoder.totalBitsInLayer(layers, compact);\n wordSize = Encoder.WORD_SIZE[layers];\n var usableBitsInLayers = totalBitsInLayer - (totalBitsInLayer % wordSize);\n stuffedBits = Encoder.stuffBits(bits, wordSize);\n if (stuffedBits.getSize() + eccBits > usableBitsInLayers) {\n throw new IllegalArgumentException('Data to large for user specified layer');\n }\n if (compact && stuffedBits.getSize() > wordSize * 64) {\n // Compact format only allows 64 data words, though C4 can hold more words than that\n throw new IllegalArgumentException('Data to large for user specified layer');\n }\n }\n else {\n wordSize = 0;\n stuffedBits = null;\n // We look at the possible table sizes in the order Compact1, Compact2, Compact3,\n // Compact4, Normal4,... Normal(i) for i < 4 isn't typically used since Compact(i+1)\n // is the same size, but has more data.\n for (var i /*int*/ = 0;; i++) {\n if (i > Encoder.MAX_NB_BITS) {\n throw new IllegalArgumentException('Data too large for an Aztec code');\n }\n compact = i <= 3;\n layers = compact ? i + 1 : i;\n totalBitsInLayer = Encoder.totalBitsInLayer(layers, compact);\n if (totalSizeBits > totalBitsInLayer) {\n continue;\n }\n // [Re]stuff the bits if this is the first opportunity, or if the\n // wordSize has changed\n if (stuffedBits == null || wordSize !== Encoder.WORD_SIZE[layers]) {\n wordSize = Encoder.WORD_SIZE[layers];\n stuffedBits = Encoder.stuffBits(bits, wordSize);\n }\n var usableBitsInLayers = totalBitsInLayer - (totalBitsInLayer % wordSize);\n if (compact && stuffedBits.getSize() > wordSize * 64) {\n // Compact format only allows 64 data words, though C4 can hold more words than that\n continue;\n }\n if (stuffedBits.getSize() + eccBits <= usableBitsInLayers) {\n break;\n }\n }\n }\n var messageBits = Encoder.generateCheckWords(stuffedBits, totalBitsInLayer, wordSize);\n // generate mode message\n var messageSizeInWords = stuffedBits.getSize() / wordSize;\n var modeMessage = Encoder.generateModeMessage(compact, layers, messageSizeInWords);\n // allocate symbol\n var baseMatrixSize = (compact ? 11 : 14) + layers * 4; // not including alignment lines\n var alignmentMap = new Int32Array(baseMatrixSize);\n var matrixSize;\n if (compact) {\n // no alignment marks in compact mode, alignmentMap is a no-op\n matrixSize = baseMatrixSize;\n for (var i /*int*/ = 0; i < alignmentMap.length; i++) {\n alignmentMap[i] = i;\n }\n }\n else {\n matrixSize = baseMatrixSize + 1 + 2 * Integer.truncDivision((Integer.truncDivision(baseMatrixSize, 2) - 1), 15);\n var origCenter = Integer.truncDivision(baseMatrixSize, 2);\n var center = Integer.truncDivision(matrixSize, 2);\n for (var i /*int*/ = 0; i < origCenter; i++) {\n var newOffset = i + Integer.truncDivision(i, 15);\n alignmentMap[origCenter - i - 1] = center - newOffset - 1;\n alignmentMap[origCenter + i] = center + newOffset + 1;\n }\n }\n var matrix = new BitMatrix(matrixSize);\n // draw data bits\n for (var i /*int*/ = 0, rowOffset = 0; i < layers; i++) {\n var rowSize = (layers - i) * 4 + (compact ? 9 : 12);\n for (var j /*int*/ = 0; j < rowSize; j++) {\n var columnOffset = j * 2;\n for (var k /*int*/ = 0; k < 2; k++) {\n if (messageBits.get(rowOffset + columnOffset + k)) {\n matrix.set(alignmentMap[i * 2 + k], alignmentMap[i * 2 + j]);\n }\n if (messageBits.get(rowOffset + rowSize * 2 + columnOffset + k)) {\n matrix.set(alignmentMap[i * 2 + j], alignmentMap[baseMatrixSize - 1 - i * 2 - k]);\n }\n if (messageBits.get(rowOffset + rowSize * 4 + columnOffset + k)) {\n matrix.set(alignmentMap[baseMatrixSize - 1 - i * 2 - k], alignmentMap[baseMatrixSize - 1 - i * 2 - j]);\n }\n if (messageBits.get(rowOffset + rowSize * 6 + columnOffset + k)) {\n matrix.set(alignmentMap[baseMatrixSize - 1 - i * 2 - j], alignmentMap[i * 2 + k]);\n }\n }\n }\n rowOffset += rowSize * 8;\n }\n // draw mode message\n Encoder.drawModeMessage(matrix, compact, matrixSize, modeMessage);\n // draw alignment marks\n if (compact) {\n Encoder.drawBullsEye(matrix, Integer.truncDivision(matrixSize, 2), 5);\n }\n else {\n Encoder.drawBullsEye(matrix, Integer.truncDivision(matrixSize, 2), 7);\n for (var i /*int*/ = 0, j = 0; i < Integer.truncDivision(baseMatrixSize, 2) - 1; i += 15, j += 16) {\n for (var k /*int*/ = Integer.truncDivision(matrixSize, 2) & 1; k < matrixSize; k += 2) {\n matrix.set(Integer.truncDivision(matrixSize, 2) - j, k);\n matrix.set(Integer.truncDivision(matrixSize, 2) + j, k);\n matrix.set(k, Integer.truncDivision(matrixSize, 2) - j);\n matrix.set(k, Integer.truncDivision(matrixSize, 2) + j);\n }\n }\n }\n var aztec = new AztecCode();\n aztec.setCompact(compact);\n aztec.setSize(matrixSize);\n aztec.setLayers(layers);\n aztec.setCodeWords(messageSizeInWords);\n aztec.setMatrix(matrix);\n return aztec;\n };\n Encoder.drawBullsEye = function (matrix, center, size) {\n for (var i /*int*/ = 0; i < size; i += 2) {\n for (var j /*int*/ = center - i; j <= center + i; j++) {\n matrix.set(j, center - i);\n matrix.set(j, center + i);\n matrix.set(center - i, j);\n matrix.set(center + i, j);\n }\n }\n matrix.set(center - size, center - size);\n matrix.set(center - size + 1, center - size);\n matrix.set(center - size, center - size + 1);\n matrix.set(center + size, center - size);\n matrix.set(center + size, center - size + 1);\n matrix.set(center + size, center + size - 1);\n };\n Encoder.generateModeMessage = function (compact, layers, messageSizeInWords) {\n var modeMessage = new BitArray();\n if (compact) {\n modeMessage.appendBits(layers - 1, 2);\n modeMessage.appendBits(messageSizeInWords - 1, 6);\n modeMessage = Encoder.generateCheckWords(modeMessage, 28, 4);\n }\n else {\n modeMessage.appendBits(layers - 1, 5);\n modeMessage.appendBits(messageSizeInWords - 1, 11);\n modeMessage = Encoder.generateCheckWords(modeMessage, 40, 4);\n }\n return modeMessage;\n };\n Encoder.drawModeMessage = function (matrix, compact, matrixSize, modeMessage) {\n var center = Integer.truncDivision(matrixSize, 2);\n if (compact) {\n for (var i /*int*/ = 0; i < 7; i++) {\n var offset = center - 3 + i;\n if (modeMessage.get(i)) {\n matrix.set(offset, center - 5);\n }\n if (modeMessage.get(i + 7)) {\n matrix.set(center + 5, offset);\n }\n if (modeMessage.get(20 - i)) {\n matrix.set(offset, center + 5);\n }\n if (modeMessage.get(27 - i)) {\n matrix.set(center - 5, offset);\n }\n }\n }\n else {\n for (var i /*int*/ = 0; i < 10; i++) {\n var offset = center - 5 + i + Integer.truncDivision(i, 5);\n if (modeMessage.get(i)) {\n matrix.set(offset, center - 7);\n }\n if (modeMessage.get(i + 10)) {\n matrix.set(center + 7, offset);\n }\n if (modeMessage.get(29 - i)) {\n matrix.set(offset, center + 7);\n }\n if (modeMessage.get(39 - i)) {\n matrix.set(center - 7, offset);\n }\n }\n }\n };\n Encoder.generateCheckWords = function (bitArray, totalBits, wordSize) {\n var e_1, _a;\n // bitArray is guaranteed to be a multiple of the wordSize, so no padding needed\n var messageSizeInWords = bitArray.getSize() / wordSize;\n var rs = new ReedSolomonEncoder(Encoder.getGF(wordSize));\n var totalWords = Integer.truncDivision(totalBits, wordSize);\n var messageWords = Encoder.bitsToWords(bitArray, wordSize, totalWords);\n rs.encode(messageWords, totalWords - messageSizeInWords);\n var startPad = totalBits % wordSize;\n var messageBits = new BitArray();\n messageBits.appendBits(0, startPad);\n try {\n for (var _b = __values(Array.from(messageWords)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var messageWord = _c.value /*: int*/;\n messageBits.appendBits(messageWord, wordSize);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return messageBits;\n };\n Encoder.bitsToWords = function (stuffedBits, wordSize, totalWords) {\n var message = new Int32Array(totalWords);\n var i;\n var n;\n for (i = 0, n = stuffedBits.getSize() / wordSize; i < n; i++) {\n var value = 0;\n for (var j /*int*/ = 0; j < wordSize; j++) {\n value |= stuffedBits.get(i * wordSize + j) ? (1 << wordSize - j - 1) : 0;\n }\n message[i] = value;\n }\n return message;\n };\n Encoder.getGF = function (wordSize) {\n switch (wordSize) {\n case 4:\n return GenericGF.AZTEC_PARAM;\n case 6:\n return GenericGF.AZTEC_DATA_6;\n case 8:\n return GenericGF.AZTEC_DATA_8;\n case 10:\n return GenericGF.AZTEC_DATA_10;\n case 12:\n return GenericGF.AZTEC_DATA_12;\n default:\n throw new IllegalArgumentException('Unsupported word size ' + wordSize);\n }\n };\n Encoder.stuffBits = function (bits, wordSize) {\n var out = new BitArray();\n var n = bits.getSize();\n var mask = (1 << wordSize) - 2;\n for (var i /*int*/ = 0; i < n; i += wordSize) {\n var word = 0;\n for (var j /*int*/ = 0; j < wordSize; j++) {\n if (i + j >= n || bits.get(i + j)) {\n word |= 1 << (wordSize - 1 - j);\n }\n }\n if ((word & mask) === mask) {\n out.appendBits(word & mask, wordSize);\n i--;\n }\n else if ((word & mask) === 0) {\n out.appendBits(word | 1, wordSize);\n i--;\n }\n else {\n out.appendBits(word, wordSize);\n }\n }\n return out;\n };\n Encoder.totalBitsInLayer = function (layers, compact) {\n return ((compact ? 88 : 112) + 16 * layers) * layers;\n };\n Encoder.DEFAULT_EC_PERCENT = 33; // default minimal percentage of error check words\n Encoder.DEFAULT_AZTEC_LAYERS = 0;\n Encoder.MAX_NB_BITS = 32;\n Encoder.MAX_NB_BITS_COMPACT = 4;\n Encoder.WORD_SIZE = Int32Array.from([\n 4, 6, 6, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 12, 12\n ]);\n return Encoder;\n}());\nexport default Encoder;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n// package com.google.zxing.aztec;\n// import com.google.zxing.BarcodeFormat;\nimport BarcodeFormat from '../BarcodeFormat';\n// import com.google.zxing.EncodeHintType;\nimport EncodeHintType from '../EncodeHintType';\n// import com.google.zxing.aztec.encoder.Encoder;\nimport Encoder from './encoder/Encoder';\n// import com.google.zxing.common.BitMatrix;\nimport BitMatrix from '../common/BitMatrix';\n// import java.nio.charset.Charset;\nimport Charset from '../util/Charset';\n// import java.nio.charset.StandardCharsets;\nimport StandardCharsets from '../util/StandardCharsets';\n// import java.util.Map;\nimport Integer from '../util/Integer';\nimport IllegalStateException from '../IllegalStateException';\nimport IllegalArgumentException from '../IllegalArgumentException';\nimport StringUtils from '../common/StringUtils';\n/**\n * Renders an Aztec code as a {@link BitMatrix}.\n */\nvar AztecWriter = /** @class */ (function () {\n function AztecWriter() {\n }\n // @Override\n AztecWriter.prototype.encode = function (contents, format, width, height) {\n return this.encodeWithHints(contents, format, width, height, null);\n };\n // @Override\n AztecWriter.prototype.encodeWithHints = function (contents, format, width, height, hints) {\n var charset = StandardCharsets.ISO_8859_1;\n var eccPercent = Encoder.DEFAULT_EC_PERCENT;\n var layers = Encoder.DEFAULT_AZTEC_LAYERS;\n if (hints != null) {\n if (hints.has(EncodeHintType.CHARACTER_SET)) {\n charset = Charset.forName(hints.get(EncodeHintType.CHARACTER_SET).toString());\n }\n if (hints.has(EncodeHintType.ERROR_CORRECTION)) {\n eccPercent = Integer.parseInt(hints.get(EncodeHintType.ERROR_CORRECTION).toString());\n }\n if (hints.has(EncodeHintType.AZTEC_LAYERS)) {\n layers = Integer.parseInt(hints.get(EncodeHintType.AZTEC_LAYERS).toString());\n }\n }\n return AztecWriter.encodeLayers(contents, format, width, height, charset, eccPercent, layers);\n };\n AztecWriter.encodeLayers = function (contents, format, width, height, charset, eccPercent, layers) {\n if (format !== BarcodeFormat.AZTEC) {\n throw new IllegalArgumentException('Can only encode AZTEC, but got ' + format);\n }\n var aztec = Encoder.encode(StringUtils.getBytes(contents, charset), eccPercent, layers);\n return AztecWriter.renderResult(aztec, width, height);\n };\n AztecWriter.renderResult = function (code, width, height) {\n var input = code.getMatrix();\n if (input == null) {\n throw new IllegalStateException();\n }\n var inputWidth = input.getWidth();\n var inputHeight = input.getHeight();\n var outputWidth = Math.max(width, inputWidth);\n var outputHeight = Math.max(height, inputHeight);\n var multiple = Math.min(outputWidth / inputWidth, outputHeight / inputHeight);\n var leftPadding = (outputWidth - (inputWidth * multiple)) / 2;\n var topPadding = (outputHeight - (inputHeight * multiple)) / 2;\n var output = new BitMatrix(outputWidth, outputHeight);\n for (var inputY /*int*/ = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (var inputX /*int*/ = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY)) {\n output.setRegion(outputX, outputY, multiple, multiple);\n }\n }\n }\n return output;\n };\n return AztecWriter;\n}());\nexport default AztecWriter;\n","/**\r\n* @version: 3.1\r\n* @author: Dan Grossman http://www.dangrossman.info/\r\n* @copyright: Copyright (c) 2012-2019 Dan Grossman. All rights reserved.\r\n* @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php\r\n* @website: http://www.daterangepicker.com/\r\n*/\r\n// Following the UMD template https://github.com/umdjs/umd/blob/master/templates/returnExportsGlobal.js\r\n(function (root, factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Make globaly available as well\r\n define(['moment', 'jquery'], function (moment, jquery) {\r\n if (!jquery.fn) jquery.fn = {}; // webpack server rendering\r\n if (typeof moment !== 'function' && moment.hasOwnProperty('default')) moment = moment['default']\r\n return factory(moment, jquery);\r\n });\r\n } else if (typeof module === 'object' && module.exports) {\r\n // Node / Browserify\r\n //isomorphic issue\r\n var jQuery = (typeof window != 'undefined') ? window.jQuery : undefined;\r\n if (!jQuery) {\r\n jQuery = require('jquery');\r\n if (!jQuery.fn) jQuery.fn = {};\r\n }\r\n var moment = (typeof window != 'undefined' && typeof window.moment != 'undefined') ? window.moment : require('moment');\r\n module.exports = factory(moment, jQuery);\r\n } else {\r\n // Browser globals\r\n root.daterangepicker = factory(root.moment, root.jQuery);\r\n }\r\n}(this, function(moment, $) {\r\n var DateRangePicker = function(element, options, cb) {\r\n\r\n //default settings for options\r\n this.parentEl = 'body';\r\n this.element = $(element);\r\n this.startDate = moment().startOf('day');\r\n this.endDate = moment().endOf('day');\r\n this.minDate = false;\r\n this.maxDate = false;\r\n this.maxSpan = false;\r\n this.autoApply = false;\r\n this.singleDatePicker = false;\r\n this.showDropdowns = false;\r\n this.minYear = moment().subtract(100, 'year').format('YYYY');\r\n this.maxYear = moment().add(100, 'year').format('YYYY');\r\n this.showWeekNumbers = false;\r\n this.showISOWeekNumbers = false;\r\n this.showCustomRangeLabel = true;\r\n this.timePicker = false;\r\n this.timePicker24Hour = false;\r\n this.timePickerIncrement = 1;\r\n this.timePickerSeconds = false;\r\n this.linkedCalendars = true;\r\n this.autoUpdateInput = true;\r\n this.alwaysShowCalendars = false;\r\n this.ranges = {};\r\n\r\n this.opens = 'right';\r\n if (this.element.hasClass('pull-right'))\r\n this.opens = 'left';\r\n\r\n this.drops = 'down';\r\n if (this.element.hasClass('dropup'))\r\n this.drops = 'up';\r\n\r\n this.buttonClasses = 'btn btn-sm';\r\n this.applyButtonClasses = 'btn-primary';\r\n this.cancelButtonClasses = 'btn-default';\r\n\r\n this.locale = {\r\n direction: 'ltr',\r\n format: moment.localeData().longDateFormat('L'),\r\n separator: ' - ',\r\n applyLabel: 'Apply',\r\n cancelLabel: 'Cancel',\r\n weekLabel: 'W',\r\n customRangeLabel: 'Custom Range',\r\n daysOfWeek: moment.weekdaysMin(),\r\n monthNames: moment.monthsShort(),\r\n firstDay: moment.localeData().firstDayOfWeek()\r\n };\r\n\r\n this.callback = function() { };\r\n\r\n //some state information\r\n this.isShowing = false;\r\n this.leftCalendar = {};\r\n this.rightCalendar = {};\r\n\r\n //custom options from user\r\n if (typeof options !== 'object' || options === null)\r\n options = {};\r\n\r\n //allow setting options with data attributes\r\n //data-api options will be overwritten with custom javascript options\r\n options = $.extend(this.element.data(), options);\r\n\r\n //html template for the picker UI\r\n if (typeof options.template !== 'string' && !(options.template instanceof $))\r\n options.template =\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '' +\r\n ' ' +\r\n '
' +\r\n '
';\r\n\r\n this.parentEl = (options.parentEl && $(options.parentEl).length) ? $(options.parentEl) : $(this.parentEl);\r\n this.container = $(options.template).appendTo(this.parentEl);\r\n\r\n //\r\n // handle all the possible options overriding defaults\r\n //\r\n\r\n if (typeof options.locale === 'object') {\r\n\r\n if (typeof options.locale.direction === 'string')\r\n this.locale.direction = options.locale.direction;\r\n\r\n if (typeof options.locale.format === 'string')\r\n this.locale.format = options.locale.format;\r\n\r\n if (typeof options.locale.separator === 'string')\r\n this.locale.separator = options.locale.separator;\r\n\r\n if (typeof options.locale.daysOfWeek === 'object')\r\n this.locale.daysOfWeek = options.locale.daysOfWeek.slice();\r\n\r\n if (typeof options.locale.monthNames === 'object')\r\n this.locale.monthNames = options.locale.monthNames.slice();\r\n\r\n if (typeof options.locale.firstDay === 'number')\r\n this.locale.firstDay = options.locale.firstDay;\r\n\r\n if (typeof options.locale.applyLabel === 'string')\r\n this.locale.applyLabel = options.locale.applyLabel;\r\n\r\n if (typeof options.locale.cancelLabel === 'string')\r\n this.locale.cancelLabel = options.locale.cancelLabel;\r\n\r\n if (typeof options.locale.weekLabel === 'string')\r\n this.locale.weekLabel = options.locale.weekLabel;\r\n\r\n if (typeof options.locale.customRangeLabel === 'string'){\r\n //Support unicode chars in the custom range name.\r\n var elem = document.createElement('textarea');\r\n elem.innerHTML = options.locale.customRangeLabel;\r\n var rangeHtml = elem.value;\r\n this.locale.customRangeLabel = rangeHtml;\r\n }\r\n }\r\n this.container.addClass(this.locale.direction);\r\n\r\n if (typeof options.startDate === 'string')\r\n this.startDate = moment(options.startDate, this.locale.format);\r\n\r\n if (typeof options.endDate === 'string')\r\n this.endDate = moment(options.endDate, this.locale.format);\r\n\r\n if (typeof options.minDate === 'string')\r\n this.minDate = moment(options.minDate, this.locale.format);\r\n\r\n if (typeof options.maxDate === 'string')\r\n this.maxDate = moment(options.maxDate, this.locale.format);\r\n\r\n if (typeof options.startDate === 'object')\r\n this.startDate = moment(options.startDate);\r\n\r\n if (typeof options.endDate === 'object')\r\n this.endDate = moment(options.endDate);\r\n\r\n if (typeof options.minDate === 'object')\r\n this.minDate = moment(options.minDate);\r\n\r\n if (typeof options.maxDate === 'object')\r\n this.maxDate = moment(options.maxDate);\r\n\r\n // sanity check for bad options\r\n if (this.minDate && this.startDate.isBefore(this.minDate))\r\n this.startDate = this.minDate.clone();\r\n\r\n // sanity check for bad options\r\n if (this.maxDate && this.endDate.isAfter(this.maxDate))\r\n this.endDate = this.maxDate.clone();\r\n\r\n if (typeof options.applyButtonClasses === 'string')\r\n this.applyButtonClasses = options.applyButtonClasses;\r\n\r\n if (typeof options.applyClass === 'string') //backwards compat\r\n this.applyButtonClasses = options.applyClass;\r\n\r\n if (typeof options.cancelButtonClasses === 'string')\r\n this.cancelButtonClasses = options.cancelButtonClasses;\r\n\r\n if (typeof options.cancelClass === 'string') //backwards compat\r\n this.cancelButtonClasses = options.cancelClass;\r\n\r\n if (typeof options.maxSpan === 'object')\r\n this.maxSpan = options.maxSpan;\r\n\r\n if (typeof options.dateLimit === 'object') //backwards compat\r\n this.maxSpan = options.dateLimit;\r\n\r\n if (typeof options.opens === 'string')\r\n this.opens = options.opens;\r\n\r\n if (typeof options.drops === 'string')\r\n this.drops = options.drops;\r\n\r\n if (typeof options.showWeekNumbers === 'boolean')\r\n this.showWeekNumbers = options.showWeekNumbers;\r\n\r\n if (typeof options.showISOWeekNumbers === 'boolean')\r\n this.showISOWeekNumbers = options.showISOWeekNumbers;\r\n\r\n if (typeof options.buttonClasses === 'string')\r\n this.buttonClasses = options.buttonClasses;\r\n\r\n if (typeof options.buttonClasses === 'object')\r\n this.buttonClasses = options.buttonClasses.join(' ');\r\n\r\n if (typeof options.showDropdowns === 'boolean')\r\n this.showDropdowns = options.showDropdowns;\r\n\r\n if (typeof options.minYear === 'number')\r\n this.minYear = options.minYear;\r\n\r\n if (typeof options.maxYear === 'number')\r\n this.maxYear = options.maxYear;\r\n\r\n if (typeof options.showCustomRangeLabel === 'boolean')\r\n this.showCustomRangeLabel = options.showCustomRangeLabel;\r\n\r\n if (typeof options.singleDatePicker === 'boolean') {\r\n this.singleDatePicker = options.singleDatePicker;\r\n if (this.singleDatePicker)\r\n this.endDate = this.startDate.clone();\r\n }\r\n\r\n if (typeof options.timePicker === 'boolean')\r\n this.timePicker = options.timePicker;\r\n\r\n if (typeof options.timePickerSeconds === 'boolean')\r\n this.timePickerSeconds = options.timePickerSeconds;\r\n\r\n if (typeof options.timePickerIncrement === 'number')\r\n this.timePickerIncrement = options.timePickerIncrement;\r\n\r\n if (typeof options.timePicker24Hour === 'boolean')\r\n this.timePicker24Hour = options.timePicker24Hour;\r\n\r\n if (typeof options.autoApply === 'boolean')\r\n this.autoApply = options.autoApply;\r\n\r\n if (typeof options.autoUpdateInput === 'boolean')\r\n this.autoUpdateInput = options.autoUpdateInput;\r\n\r\n if (typeof options.linkedCalendars === 'boolean')\r\n this.linkedCalendars = options.linkedCalendars;\r\n\r\n if (typeof options.isInvalidDate === 'function')\r\n this.isInvalidDate = options.isInvalidDate;\r\n\r\n if (typeof options.isCustomDate === 'function')\r\n this.isCustomDate = options.isCustomDate;\r\n\r\n if (typeof options.alwaysShowCalendars === 'boolean')\r\n this.alwaysShowCalendars = options.alwaysShowCalendars;\r\n\r\n // update day names order to firstDay\r\n if (this.locale.firstDay != 0) {\r\n var iterator = this.locale.firstDay;\r\n while (iterator > 0) {\r\n this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift());\r\n iterator--;\r\n }\r\n }\r\n\r\n var start, end, range;\r\n\r\n //if no start/end dates set, check if an input element contains initial values\r\n if (typeof options.startDate === 'undefined' && typeof options.endDate === 'undefined') {\r\n if ($(this.element).is(':text')) {\r\n var val = $(this.element).val(),\r\n split = val.split(this.locale.separator);\r\n\r\n start = end = null;\r\n\r\n if (split.length == 2) {\r\n start = moment(split[0], this.locale.format);\r\n end = moment(split[1], this.locale.format);\r\n } else if (this.singleDatePicker && val !== \"\") {\r\n start = moment(val, this.locale.format);\r\n end = moment(val, this.locale.format);\r\n }\r\n if (start !== null && end !== null) {\r\n this.setStartDate(start);\r\n this.setEndDate(end);\r\n }\r\n }\r\n }\r\n\r\n if (typeof options.ranges === 'object') {\r\n for (range in options.ranges) {\r\n\r\n if (typeof options.ranges[range][0] === 'string')\r\n start = moment(options.ranges[range][0], this.locale.format);\r\n else\r\n start = moment(options.ranges[range][0]);\r\n\r\n if (typeof options.ranges[range][1] === 'string')\r\n end = moment(options.ranges[range][1], this.locale.format);\r\n else\r\n end = moment(options.ranges[range][1]);\r\n\r\n // If the start or end date exceed those allowed by the minDate or maxSpan\r\n // options, shorten the range to the allowable period.\r\n if (this.minDate && start.isBefore(this.minDate))\r\n start = this.minDate.clone();\r\n\r\n var maxDate = this.maxDate;\r\n if (this.maxSpan && maxDate && start.clone().add(this.maxSpan).isAfter(maxDate))\r\n maxDate = start.clone().add(this.maxSpan);\r\n if (maxDate && end.isAfter(maxDate))\r\n end = maxDate.clone();\r\n\r\n // If the end of the range is before the minimum or the start of the range is\r\n // after the maximum, don't display this range option at all.\r\n if ((this.minDate && end.isBefore(this.minDate, this.timepicker ? 'minute' : 'day'))\r\n || (maxDate && start.isAfter(maxDate, this.timepicker ? 'minute' : 'day')))\r\n continue;\r\n\r\n //Support unicode chars in the range names.\r\n var elem = document.createElement('textarea');\r\n elem.innerHTML = range;\r\n var rangeHtml = elem.value;\r\n\r\n this.ranges[rangeHtml] = [start, end];\r\n }\r\n\r\n var list = '
    ';\r\n for (range in this.ranges) {\r\n list += '
  • ' + range + '
  • ';\r\n }\r\n if (this.showCustomRangeLabel) {\r\n list += '
  • ' + this.locale.customRangeLabel + '
  • ';\r\n }\r\n list += '
';\r\n this.container.find('.ranges').prepend(list);\r\n }\r\n\r\n if (typeof cb === 'function') {\r\n this.callback = cb;\r\n }\r\n\r\n if (!this.timePicker) {\r\n this.startDate = this.startDate.startOf('day');\r\n this.endDate = this.endDate.endOf('day');\r\n this.container.find('.calendar-time').hide();\r\n }\r\n\r\n //can't be used together for now\r\n if (this.timePicker && this.autoApply)\r\n this.autoApply = false;\r\n\r\n if (this.autoApply) {\r\n this.container.addClass('auto-apply');\r\n }\r\n\r\n if (typeof options.ranges === 'object')\r\n this.container.addClass('show-ranges');\r\n\r\n if (this.singleDatePicker) {\r\n this.container.addClass('single');\r\n this.container.find('.drp-calendar.left').addClass('single');\r\n this.container.find('.drp-calendar.left').show();\r\n this.container.find('.drp-calendar.right').hide();\r\n if (!this.timePicker && this.autoApply) {\r\n this.container.addClass('auto-apply');\r\n }\r\n }\r\n\r\n if ((typeof options.ranges === 'undefined' && !this.singleDatePicker) || this.alwaysShowCalendars) {\r\n this.container.addClass('show-calendar');\r\n }\r\n\r\n this.container.addClass('opens' + this.opens);\r\n\r\n //apply CSS classes and labels to buttons\r\n this.container.find('.applyBtn, .cancelBtn').addClass(this.buttonClasses);\r\n if (this.applyButtonClasses.length)\r\n this.container.find('.applyBtn').addClass(this.applyButtonClasses);\r\n if (this.cancelButtonClasses.length)\r\n this.container.find('.cancelBtn').addClass(this.cancelButtonClasses);\r\n this.container.find('.applyBtn').html(this.locale.applyLabel);\r\n this.container.find('.cancelBtn').html(this.locale.cancelLabel);\r\n\r\n //\r\n // event listeners\r\n //\r\n\r\n this.container.find('.drp-calendar')\r\n .on('click.daterangepicker', '.prev', $.proxy(this.clickPrev, this))\r\n .on('click.daterangepicker', '.next', $.proxy(this.clickNext, this))\r\n .on('mousedown.daterangepicker', 'td.available', $.proxy(this.clickDate, this))\r\n .on('mouseenter.daterangepicker', 'td.available', $.proxy(this.hoverDate, this))\r\n .on('change.daterangepicker', 'select.yearselect', $.proxy(this.monthOrYearChanged, this))\r\n .on('change.daterangepicker', 'select.monthselect', $.proxy(this.monthOrYearChanged, this))\r\n .on('change.daterangepicker', 'select.hourselect,select.minuteselect,select.secondselect,select.ampmselect', $.proxy(this.timeChanged, this));\r\n\r\n this.container.find('.ranges')\r\n .on('click.daterangepicker', 'li', $.proxy(this.clickRange, this));\r\n\r\n this.container.find('.drp-buttons')\r\n .on('click.daterangepicker', 'button.applyBtn', $.proxy(this.clickApply, this))\r\n .on('click.daterangepicker', 'button.cancelBtn', $.proxy(this.clickCancel, this));\r\n\r\n if (this.element.is('input') || this.element.is('button')) {\r\n this.element.on({\r\n 'click.daterangepicker': $.proxy(this.show, this),\r\n 'focus.daterangepicker': $.proxy(this.show, this),\r\n 'keyup.daterangepicker': $.proxy(this.elementChanged, this),\r\n 'keydown.daterangepicker': $.proxy(this.keydown, this) //IE 11 compatibility\r\n });\r\n } else {\r\n this.element.on('click.daterangepicker', $.proxy(this.toggle, this));\r\n this.element.on('keydown.daterangepicker', $.proxy(this.toggle, this));\r\n }\r\n\r\n //\r\n // if attached to a text input, set the initial value\r\n //\r\n\r\n this.updateElement();\r\n\r\n };\r\n\r\n DateRangePicker.prototype = {\r\n\r\n constructor: DateRangePicker,\r\n\r\n setStartDate: function(startDate) {\r\n if (typeof startDate === 'string')\r\n this.startDate = moment(startDate, this.locale.format);\r\n\r\n if (typeof startDate === 'object')\r\n this.startDate = moment(startDate);\r\n\r\n if (!this.timePicker)\r\n this.startDate = this.startDate.startOf('day');\r\n\r\n if (this.timePicker && this.timePickerIncrement)\r\n this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\r\n\r\n if (this.minDate && this.startDate.isBefore(this.minDate)) {\r\n this.startDate = this.minDate.clone();\r\n if (this.timePicker && this.timePickerIncrement)\r\n this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\r\n }\r\n\r\n if (this.maxDate && this.startDate.isAfter(this.maxDate)) {\r\n this.startDate = this.maxDate.clone();\r\n if (this.timePicker && this.timePickerIncrement)\r\n this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\r\n }\r\n\r\n if (!this.isShowing)\r\n this.updateElement();\r\n\r\n this.updateMonthsInView();\r\n },\r\n\r\n setEndDate: function(endDate) {\r\n if (typeof endDate === 'string')\r\n this.endDate = moment(endDate, this.locale.format);\r\n\r\n if (typeof endDate === 'object')\r\n this.endDate = moment(endDate);\r\n\r\n if (!this.timePicker)\r\n this.endDate = this.endDate.endOf('day');\r\n\r\n if (this.timePicker && this.timePickerIncrement)\r\n this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\r\n\r\n if (this.endDate.isBefore(this.startDate))\r\n this.endDate = this.startDate.clone();\r\n\r\n if (this.maxDate && this.endDate.isAfter(this.maxDate))\r\n this.endDate = this.maxDate.clone();\r\n\r\n if (this.maxSpan && this.startDate.clone().add(this.maxSpan).isBefore(this.endDate))\r\n this.endDate = this.startDate.clone().add(this.maxSpan);\r\n\r\n this.previousRightTime = this.endDate.clone();\r\n\r\n this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));\r\n\r\n if (!this.isShowing)\r\n this.updateElement();\r\n\r\n this.updateMonthsInView();\r\n },\r\n\r\n isInvalidDate: function() {\r\n return false;\r\n },\r\n\r\n isCustomDate: function() {\r\n return false;\r\n },\r\n\r\n updateView: function() {\r\n if (this.timePicker) {\r\n this.renderTimePicker('left');\r\n this.renderTimePicker('right');\r\n if (!this.endDate) {\r\n this.container.find('.right .calendar-time select').prop('disabled', true).addClass('disabled');\r\n } else {\r\n this.container.find('.right .calendar-time select').prop('disabled', false).removeClass('disabled');\r\n }\r\n }\r\n if (this.endDate)\r\n this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));\r\n this.updateMonthsInView();\r\n this.updateCalendars();\r\n this.updateFormInputs();\r\n },\r\n\r\n updateMonthsInView: function() {\r\n if (this.endDate) {\r\n\r\n //if both dates are visible already, do nothing\r\n if (!this.singleDatePicker && this.leftCalendar.month && this.rightCalendar.month &&\r\n (this.startDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.startDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM'))\r\n &&\r\n (this.endDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.endDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM'))\r\n ) {\r\n return;\r\n }\r\n\r\n this.leftCalendar.month = this.startDate.clone().date(2);\r\n if (!this.linkedCalendars && (this.endDate.month() != this.startDate.month() || this.endDate.year() != this.startDate.year())) {\r\n this.rightCalendar.month = this.endDate.clone().date(2);\r\n } else {\r\n this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month');\r\n }\r\n\r\n } else {\r\n if (this.leftCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM') && this.rightCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM')) {\r\n this.leftCalendar.month = this.startDate.clone().date(2);\r\n this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month');\r\n }\r\n }\r\n if (this.maxDate && this.linkedCalendars && !this.singleDatePicker && this.rightCalendar.month > this.maxDate) {\r\n this.rightCalendar.month = this.maxDate.clone().date(2);\r\n this.leftCalendar.month = this.maxDate.clone().date(2).subtract(1, 'month');\r\n }\r\n },\r\n\r\n updateCalendars: function() {\r\n\r\n if (this.timePicker) {\r\n var hour, minute, second;\r\n if (this.endDate) {\r\n hour = parseInt(this.container.find('.left .hourselect').val(), 10);\r\n minute = parseInt(this.container.find('.left .minuteselect').val(), 10);\r\n if (isNaN(minute)) {\r\n minute = parseInt(this.container.find('.left .minuteselect option:last').val(), 10);\r\n }\r\n second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0;\r\n if (!this.timePicker24Hour) {\r\n var ampm = this.container.find('.left .ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n } else {\r\n hour = parseInt(this.container.find('.right .hourselect').val(), 10);\r\n minute = parseInt(this.container.find('.right .minuteselect').val(), 10);\r\n if (isNaN(minute)) {\r\n minute = parseInt(this.container.find('.right .minuteselect option:last').val(), 10);\r\n }\r\n second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0;\r\n if (!this.timePicker24Hour) {\r\n var ampm = this.container.find('.right .ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n }\r\n this.leftCalendar.month.hour(hour).minute(minute).second(second);\r\n this.rightCalendar.month.hour(hour).minute(minute).second(second);\r\n }\r\n\r\n this.renderCalendar('left');\r\n this.renderCalendar('right');\r\n\r\n //highlight any predefined range matching the current start and end dates\r\n this.container.find('.ranges li').removeClass('active');\r\n if (this.endDate == null) return;\r\n\r\n this.calculateChosenLabel();\r\n },\r\n\r\n renderCalendar: function(side) {\r\n\r\n //\r\n // Build the matrix of dates that will populate the calendar\r\n //\r\n\r\n var calendar = side == 'left' ? this.leftCalendar : this.rightCalendar;\r\n var month = calendar.month.month();\r\n var year = calendar.month.year();\r\n var hour = calendar.month.hour();\r\n var minute = calendar.month.minute();\r\n var second = calendar.month.second();\r\n var daysInMonth = moment([year, month]).daysInMonth();\r\n var firstDay = moment([year, month, 1]);\r\n var lastDay = moment([year, month, daysInMonth]);\r\n var lastMonth = moment(firstDay).subtract(1, 'month').month();\r\n var lastYear = moment(firstDay).subtract(1, 'month').year();\r\n var daysInLastMonth = moment([lastYear, lastMonth]).daysInMonth();\r\n var dayOfWeek = firstDay.day();\r\n\r\n //initialize a 6 rows x 7 columns array for the calendar\r\n var calendar = [];\r\n calendar.firstDay = firstDay;\r\n calendar.lastDay = lastDay;\r\n\r\n for (var i = 0; i < 6; i++) {\r\n calendar[i] = [];\r\n }\r\n\r\n //populate the calendar with date objects\r\n var startDay = daysInLastMonth - dayOfWeek + this.locale.firstDay + 1;\r\n if (startDay > daysInLastMonth)\r\n startDay -= 7;\r\n\r\n if (dayOfWeek == this.locale.firstDay)\r\n startDay = daysInLastMonth - 6;\r\n\r\n var curDate = moment([lastYear, lastMonth, startDay, 12, minute, second]);\r\n\r\n var col, row;\r\n for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add(24, 'hour')) {\r\n if (i > 0 && col % 7 === 0) {\r\n col = 0;\r\n row++;\r\n }\r\n calendar[row][col] = curDate.clone().hour(hour).minute(minute).second(second);\r\n curDate.hour(12);\r\n\r\n if (this.minDate && calendar[row][col].format('YYYY-MM-DD') == this.minDate.format('YYYY-MM-DD') && calendar[row][col].isBefore(this.minDate) && side == 'left') {\r\n calendar[row][col] = this.minDate.clone();\r\n }\r\n\r\n if (this.maxDate && calendar[row][col].format('YYYY-MM-DD') == this.maxDate.format('YYYY-MM-DD') && calendar[row][col].isAfter(this.maxDate) && side == 'right') {\r\n calendar[row][col] = this.maxDate.clone();\r\n }\r\n\r\n }\r\n\r\n //make the calendar object available to hoverDate/clickDate\r\n if (side == 'left') {\r\n this.leftCalendar.calendar = calendar;\r\n } else {\r\n this.rightCalendar.calendar = calendar;\r\n }\r\n\r\n //\r\n // Display the calendar\r\n //\r\n\r\n var minDate = side == 'left' ? this.minDate : this.startDate;\r\n var maxDate = this.maxDate;\r\n var selected = side == 'left' ? this.startDate : this.endDate;\r\n var arrow = this.locale.direction == 'ltr' ? {left: 'chevron-left', right: 'chevron-right'} : {left: 'chevron-right', right: 'chevron-left'};\r\n\r\n var html = '';\r\n html += '';\r\n html += '';\r\n\r\n // add empty cell for week number\r\n if (this.showWeekNumbers || this.showISOWeekNumbers)\r\n html += '';\r\n\r\n if ((!minDate || minDate.isBefore(calendar.firstDay)) && (!this.linkedCalendars || side == 'left')) {\r\n html += '';\r\n } else {\r\n html += '';\r\n }\r\n\r\n var dateHtml = this.locale.monthNames[calendar[1][1].month()] + calendar[1][1].format(\" YYYY\");\r\n\r\n if (this.showDropdowns) {\r\n var currentMonth = calendar[1][1].month();\r\n var currentYear = calendar[1][1].year();\r\n var maxYear = (maxDate && maxDate.year()) || (this.maxYear);\r\n var minYear = (minDate && minDate.year()) || (this.minYear);\r\n var inMinYear = currentYear == minYear;\r\n var inMaxYear = currentYear == maxYear;\r\n\r\n var monthHtml = '\";\r\n\r\n var yearHtml = '';\r\n\r\n dateHtml = monthHtml + yearHtml;\r\n }\r\n\r\n html += '';\r\n if ((!maxDate || maxDate.isAfter(calendar.lastDay)) && (!this.linkedCalendars || side == 'right' || this.singleDatePicker)) {\r\n html += '';\r\n } else {\r\n html += '';\r\n }\r\n\r\n html += '';\r\n html += '';\r\n\r\n // add week number label\r\n if (this.showWeekNumbers || this.showISOWeekNumbers)\r\n html += '';\r\n\r\n $.each(this.locale.daysOfWeek, function(index, dayOfWeek) {\r\n html += '';\r\n });\r\n\r\n html += '';\r\n html += '';\r\n html += '';\r\n\r\n //adjust maxDate to reflect the maxSpan setting in order to\r\n //grey out end dates beyond the maxSpan\r\n if (this.endDate == null && this.maxSpan) {\r\n var maxLimit = this.startDate.clone().add(this.maxSpan).endOf('day');\r\n if (!maxDate || maxLimit.isBefore(maxDate)) {\r\n maxDate = maxLimit;\r\n }\r\n }\r\n\r\n for (var row = 0; row < 6; row++) {\r\n html += '';\r\n\r\n // add week number\r\n if (this.showWeekNumbers)\r\n html += '';\r\n else if (this.showISOWeekNumbers)\r\n html += '';\r\n\r\n for (var col = 0; col < 7; col++) {\r\n\r\n var classes = [];\r\n\r\n //highlight today's date\r\n if (calendar[row][col].isSame(new Date(), \"day\"))\r\n classes.push('today');\r\n\r\n //highlight weekends\r\n if (calendar[row][col].isoWeekday() > 5)\r\n classes.push('weekend');\r\n\r\n //grey out the dates in other months displayed at beginning and end of this calendar\r\n if (calendar[row][col].month() != calendar[1][1].month())\r\n classes.push('off', 'ends');\r\n\r\n //don't allow selection of dates before the minimum date\r\n if (this.minDate && calendar[row][col].isBefore(this.minDate, 'day'))\r\n classes.push('off', 'disabled');\r\n\r\n //don't allow selection of dates after the maximum date\r\n if (maxDate && calendar[row][col].isAfter(maxDate, 'day'))\r\n classes.push('off', 'disabled');\r\n\r\n //don't allow selection of date if a custom function decides it's invalid\r\n if (this.isInvalidDate(calendar[row][col]))\r\n classes.push('off', 'disabled');\r\n\r\n //highlight the currently selected start date\r\n if (calendar[row][col].format('YYYY-MM-DD') == this.startDate.format('YYYY-MM-DD'))\r\n classes.push('active', 'start-date');\r\n\r\n //highlight the currently selected end date\r\n if (this.endDate != null && calendar[row][col].format('YYYY-MM-DD') == this.endDate.format('YYYY-MM-DD'))\r\n classes.push('active', 'end-date');\r\n\r\n //highlight dates in-between the selected dates\r\n if (this.endDate != null && calendar[row][col] > this.startDate && calendar[row][col] < this.endDate)\r\n classes.push('in-range');\r\n\r\n //apply custom classes for this date\r\n var isCustom = this.isCustomDate(calendar[row][col]);\r\n if (isCustom !== false) {\r\n if (typeof isCustom === 'string')\r\n classes.push(isCustom);\r\n else\r\n Array.prototype.push.apply(classes, isCustom);\r\n }\r\n\r\n var cname = '', disabled = false;\r\n for (var i = 0; i < classes.length; i++) {\r\n cname += classes[i] + ' ';\r\n if (classes[i] == 'disabled')\r\n disabled = true;\r\n }\r\n if (!disabled)\r\n cname += 'available';\r\n\r\n html += '';\r\n\r\n }\r\n html += '';\r\n }\r\n\r\n html += '';\r\n html += '
' + dateHtml + '
' + this.locale.weekLabel + '' + dayOfWeek + '
' + calendar[row][0].week() + '' + calendar[row][0].isoWeek() + '' + calendar[row][col].date() + '
';\r\n\r\n this.container.find('.drp-calendar.' + side + ' .calendar-table').html(html);\r\n\r\n },\r\n\r\n renderTimePicker: function(side) {\r\n\r\n // Don't bother updating the time picker if it's currently disabled\r\n // because an end date hasn't been clicked yet\r\n if (side == 'right' && !this.endDate) return;\r\n\r\n var html, selected, minDate, maxDate = this.maxDate;\r\n\r\n if (this.maxSpan && (!this.maxDate || this.startDate.clone().add(this.maxSpan).isBefore(this.maxDate)))\r\n maxDate = this.startDate.clone().add(this.maxSpan);\r\n\r\n if (side == 'left') {\r\n selected = this.startDate.clone();\r\n minDate = this.minDate;\r\n } else if (side == 'right') {\r\n selected = this.endDate.clone();\r\n minDate = this.startDate;\r\n\r\n //Preserve the time already selected\r\n var timeSelector = this.container.find('.drp-calendar.right .calendar-time');\r\n if (timeSelector.html() != '') {\r\n\r\n selected.hour(!isNaN(selected.hour()) ? selected.hour() : timeSelector.find('.hourselect option:selected').val());\r\n selected.minute(!isNaN(selected.minute()) ? selected.minute() : timeSelector.find('.minuteselect option:selected').val());\r\n selected.second(!isNaN(selected.second()) ? selected.second() : timeSelector.find('.secondselect option:selected').val());\r\n\r\n if (!this.timePicker24Hour) {\r\n var ampm = timeSelector.find('.ampmselect option:selected').val();\r\n if (ampm === 'PM' && selected.hour() < 12)\r\n selected.hour(selected.hour() + 12);\r\n if (ampm === 'AM' && selected.hour() === 12)\r\n selected.hour(0);\r\n }\r\n\r\n }\r\n\r\n if (selected.isBefore(this.startDate))\r\n selected = this.startDate.clone();\r\n\r\n if (maxDate && selected.isAfter(maxDate))\r\n selected = maxDate.clone();\r\n\r\n }\r\n\r\n //\r\n // hours\r\n //\r\n\r\n html = ' ';\r\n\r\n //\r\n // minutes\r\n //\r\n\r\n html += ': ';\r\n\r\n //\r\n // seconds\r\n //\r\n\r\n if (this.timePickerSeconds) {\r\n html += ': ';\r\n }\r\n\r\n //\r\n // AM/PM\r\n //\r\n\r\n if (!this.timePicker24Hour) {\r\n html += '';\r\n }\r\n\r\n this.container.find('.drp-calendar.' + side + ' .calendar-time').html(html);\r\n\r\n },\r\n\r\n updateFormInputs: function() {\r\n\r\n if (this.singleDatePicker || (this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)))) {\r\n this.container.find('button.applyBtn').prop('disabled', false);\r\n } else {\r\n this.container.find('button.applyBtn').prop('disabled', true);\r\n }\r\n\r\n },\r\n\r\n move: function() {\r\n var parentOffset = { top: 0, left: 0 },\r\n containerTop,\r\n drops = this.drops;\r\n\r\n var parentRightEdge = $(window).width();\r\n if (!this.parentEl.is('body')) {\r\n parentOffset = {\r\n top: this.parentEl.offset().top - this.parentEl.scrollTop(),\r\n left: this.parentEl.offset().left - this.parentEl.scrollLeft()\r\n };\r\n parentRightEdge = this.parentEl[0].clientWidth + this.parentEl.offset().left;\r\n }\r\n\r\n switch (drops) {\r\n case 'auto':\r\n containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top;\r\n if (containerTop + this.container.outerHeight() >= this.parentEl[0].scrollHeight) {\r\n containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top;\r\n drops = 'up';\r\n }\r\n break;\r\n case 'up':\r\n containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top;\r\n break;\r\n default:\r\n containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top;\r\n break;\r\n }\r\n\r\n // Force the container to it's actual width\r\n this.container.css({\r\n top: 0,\r\n left: 0,\r\n right: 'auto'\r\n });\r\n var containerWidth = this.container.outerWidth();\r\n\r\n this.container.toggleClass('drop-up', drops == 'up');\r\n\r\n if (this.opens == 'left') {\r\n var containerRight = parentRightEdge - this.element.offset().left - this.element.outerWidth();\r\n if (containerWidth + containerRight > $(window).width()) {\r\n this.container.css({\r\n top: containerTop,\r\n right: 'auto',\r\n left: 9\r\n });\r\n } else {\r\n this.container.css({\r\n top: containerTop,\r\n right: containerRight,\r\n left: 'auto'\r\n });\r\n }\r\n } else if (this.opens == 'center') {\r\n var containerLeft = this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2\r\n - containerWidth / 2;\r\n if (containerLeft < 0) {\r\n this.container.css({\r\n top: containerTop,\r\n right: 'auto',\r\n left: 9\r\n });\r\n } else if (containerLeft + containerWidth > $(window).width()) {\r\n this.container.css({\r\n top: containerTop,\r\n left: 'auto',\r\n right: 0\r\n });\r\n } else {\r\n this.container.css({\r\n top: containerTop,\r\n left: containerLeft,\r\n right: 'auto'\r\n });\r\n }\r\n } else {\r\n var containerLeft = this.element.offset().left - parentOffset.left;\r\n if (containerLeft + containerWidth > $(window).width()) {\r\n this.container.css({\r\n top: containerTop,\r\n left: 'auto',\r\n right: 0\r\n });\r\n } else {\r\n this.container.css({\r\n top: containerTop,\r\n left: containerLeft,\r\n right: 'auto'\r\n });\r\n }\r\n }\r\n },\r\n\r\n show: function(e) {\r\n if (this.isShowing) return;\r\n\r\n // Create a click proxy that is private to this instance of datepicker, for unbinding\r\n this._outsideClickProxy = $.proxy(function(e) { this.outsideClick(e); }, this);\r\n\r\n // Bind global datepicker mousedown for hiding and\r\n $(document)\r\n .on('mousedown.daterangepicker', this._outsideClickProxy)\r\n // also support mobile devices\r\n .on('touchend.daterangepicker', this._outsideClickProxy)\r\n // also explicitly play nice with Bootstrap dropdowns, which stopPropagation when clicking them\r\n .on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy)\r\n // and also close when focus changes to outside the picker (eg. tabbing between controls)\r\n .on('focusin.daterangepicker', this._outsideClickProxy);\r\n\r\n // Reposition the picker if the window is resized while it's open\r\n $(window).on('resize.daterangepicker', $.proxy(function(e) { this.move(e); }, this));\r\n\r\n this.oldStartDate = this.startDate.clone();\r\n this.oldEndDate = this.endDate.clone();\r\n this.previousRightTime = this.endDate.clone();\r\n\r\n this.updateView();\r\n this.container.show();\r\n this.move();\r\n this.element.trigger('show.daterangepicker', this);\r\n this.isShowing = true;\r\n },\r\n\r\n hide: function(e) {\r\n if (!this.isShowing) return;\r\n\r\n //incomplete date selection, revert to last values\r\n if (!this.endDate) {\r\n this.startDate = this.oldStartDate.clone();\r\n this.endDate = this.oldEndDate.clone();\r\n }\r\n\r\n //if a new date range was selected, invoke the user callback function\r\n if (!this.startDate.isSame(this.oldStartDate) || !this.endDate.isSame(this.oldEndDate))\r\n this.callback(this.startDate.clone(), this.endDate.clone(), this.chosenLabel);\r\n\r\n //if picker is attached to a text input, update it\r\n this.updateElement();\r\n\r\n $(document).off('.daterangepicker');\r\n $(window).off('.daterangepicker');\r\n this.container.hide();\r\n this.element.trigger('hide.daterangepicker', this);\r\n this.isShowing = false;\r\n },\r\n\r\n toggle: function(e) {\r\n if (this.isShowing) {\r\n this.hide();\r\n } else {\r\n this.show();\r\n }\r\n },\r\n\r\n outsideClick: function(e) {\r\n var target = $(e.target);\r\n // if the page is clicked anywhere except within the daterangerpicker/button\r\n // itself then call this.hide()\r\n if (\r\n // ie modal dialog fix\r\n e.type == \"focusin\" ||\r\n target.closest(this.element).length ||\r\n target.closest(this.container).length ||\r\n target.closest('.calendar-table').length\r\n ) return;\r\n this.hide();\r\n this.element.trigger('outsideClick.daterangepicker', this);\r\n },\r\n\r\n showCalendars: function() {\r\n this.container.addClass('show-calendar');\r\n this.move();\r\n this.element.trigger('showCalendar.daterangepicker', this);\r\n },\r\n\r\n hideCalendars: function() {\r\n this.container.removeClass('show-calendar');\r\n this.element.trigger('hideCalendar.daterangepicker', this);\r\n },\r\n\r\n clickRange: function(e) {\r\n var label = e.target.getAttribute('data-range-key');\r\n this.chosenLabel = label;\r\n if (label == this.locale.customRangeLabel) {\r\n this.showCalendars();\r\n } else {\r\n var dates = this.ranges[label];\r\n this.startDate = dates[0];\r\n this.endDate = dates[1];\r\n\r\n if (!this.timePicker) {\r\n this.startDate.startOf('day');\r\n this.endDate.endOf('day');\r\n }\r\n\r\n if (!this.alwaysShowCalendars)\r\n this.hideCalendars();\r\n this.clickApply();\r\n }\r\n },\r\n\r\n clickPrev: function(e) {\r\n var cal = $(e.target).parents('.drp-calendar');\r\n if (cal.hasClass('left')) {\r\n this.leftCalendar.month.subtract(1, 'month');\r\n if (this.linkedCalendars)\r\n this.rightCalendar.month.subtract(1, 'month');\r\n } else {\r\n this.rightCalendar.month.subtract(1, 'month');\r\n }\r\n this.updateCalendars();\r\n },\r\n\r\n clickNext: function(e) {\r\n var cal = $(e.target).parents('.drp-calendar');\r\n if (cal.hasClass('left')) {\r\n this.leftCalendar.month.add(1, 'month');\r\n } else {\r\n this.rightCalendar.month.add(1, 'month');\r\n if (this.linkedCalendars)\r\n this.leftCalendar.month.add(1, 'month');\r\n }\r\n this.updateCalendars();\r\n },\r\n\r\n hoverDate: function(e) {\r\n\r\n //ignore dates that can't be selected\r\n if (!$(e.target).hasClass('available')) return;\r\n\r\n var title = $(e.target).attr('data-title');\r\n var row = title.substr(1, 1);\r\n var col = title.substr(3, 1);\r\n var cal = $(e.target).parents('.drp-calendar');\r\n var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col];\r\n\r\n //highlight the dates between the start date and the date being hovered as a potential end date\r\n var leftCalendar = this.leftCalendar;\r\n var rightCalendar = this.rightCalendar;\r\n var startDate = this.startDate;\r\n if (!this.endDate) {\r\n this.container.find('.drp-calendar tbody td').each(function(index, el) {\r\n\r\n //skip week numbers, only look at dates\r\n if ($(el).hasClass('week')) return;\r\n\r\n var title = $(el).attr('data-title');\r\n var row = title.substr(1, 1);\r\n var col = title.substr(3, 1);\r\n var cal = $(el).parents('.drp-calendar');\r\n var dt = cal.hasClass('left') ? leftCalendar.calendar[row][col] : rightCalendar.calendar[row][col];\r\n\r\n if ((dt.isAfter(startDate) && dt.isBefore(date)) || dt.isSame(date, 'day')) {\r\n $(el).addClass('in-range');\r\n } else {\r\n $(el).removeClass('in-range');\r\n }\r\n\r\n });\r\n }\r\n\r\n },\r\n\r\n clickDate: function(e) {\r\n\r\n if (!$(e.target).hasClass('available')) return;\r\n\r\n var title = $(e.target).attr('data-title');\r\n var row = title.substr(1, 1);\r\n var col = title.substr(3, 1);\r\n var cal = $(e.target).parents('.drp-calendar');\r\n var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col];\r\n\r\n //\r\n // this function needs to do a few things:\r\n // * alternate between selecting a start and end date for the range,\r\n // * if the time picker is enabled, apply the hour/minute/second from the select boxes to the clicked date\r\n // * if autoapply is enabled, and an end date was chosen, apply the selection\r\n // * if single date picker mode, and time picker isn't enabled, apply the selection immediately\r\n // * if one of the inputs above the calendars was focused, cancel that manual input\r\n //\r\n\r\n if (this.endDate || date.isBefore(this.startDate, 'day')) { //picking start\r\n if (this.timePicker) {\r\n var hour = parseInt(this.container.find('.left .hourselect').val(), 10);\r\n if (!this.timePicker24Hour) {\r\n var ampm = this.container.find('.left .ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n var minute = parseInt(this.container.find('.left .minuteselect').val(), 10);\r\n if (isNaN(minute)) {\r\n minute = parseInt(this.container.find('.left .minuteselect option:last').val(), 10);\r\n }\r\n var second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0;\r\n date = date.clone().hour(hour).minute(minute).second(second);\r\n }\r\n this.endDate = null;\r\n this.setStartDate(date.clone());\r\n } else if (!this.endDate && date.isBefore(this.startDate)) {\r\n //special case: clicking the same date for start/end,\r\n //but the time of the end date is before the start date\r\n this.setEndDate(this.startDate.clone());\r\n } else { // picking end\r\n if (this.timePicker) {\r\n var hour = parseInt(this.container.find('.right .hourselect').val(), 10);\r\n if (!this.timePicker24Hour) {\r\n var ampm = this.container.find('.right .ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n var minute = parseInt(this.container.find('.right .minuteselect').val(), 10);\r\n if (isNaN(minute)) {\r\n minute = parseInt(this.container.find('.right .minuteselect option:last').val(), 10);\r\n }\r\n var second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0;\r\n date = date.clone().hour(hour).minute(minute).second(second);\r\n }\r\n this.setEndDate(date.clone());\r\n if (this.autoApply) {\r\n this.calculateChosenLabel();\r\n this.clickApply();\r\n }\r\n }\r\n\r\n if (this.singleDatePicker) {\r\n this.setEndDate(this.startDate);\r\n if (!this.timePicker && this.autoApply)\r\n this.clickApply();\r\n }\r\n\r\n this.updateView();\r\n\r\n //This is to cancel the blur event handler if the mouse was in one of the inputs\r\n e.stopPropagation();\r\n\r\n },\r\n\r\n calculateChosenLabel: function () {\r\n var customRange = true;\r\n var i = 0;\r\n for (var range in this.ranges) {\r\n if (this.timePicker) {\r\n var format = this.timePickerSeconds ? \"YYYY-MM-DD HH:mm:ss\" : \"YYYY-MM-DD HH:mm\";\r\n //ignore times when comparing dates if time picker seconds is not enabled\r\n if (this.startDate.format(format) == this.ranges[range][0].format(format) && this.endDate.format(format) == this.ranges[range][1].format(format)) {\r\n customRange = false;\r\n this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key');\r\n break;\r\n }\r\n } else {\r\n //ignore times when comparing dates if time picker is not enabled\r\n if (this.startDate.format('YYYY-MM-DD') == this.ranges[range][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[range][1].format('YYYY-MM-DD')) {\r\n customRange = false;\r\n this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key');\r\n break;\r\n }\r\n }\r\n i++;\r\n }\r\n if (customRange) {\r\n if (this.showCustomRangeLabel) {\r\n this.chosenLabel = this.container.find('.ranges li:last').addClass('active').attr('data-range-key');\r\n } else {\r\n this.chosenLabel = null;\r\n }\r\n this.showCalendars();\r\n }\r\n },\r\n\r\n clickApply: function(e) {\r\n this.hide();\r\n this.element.trigger('apply.daterangepicker', this);\r\n },\r\n\r\n clickCancel: function(e) {\r\n this.startDate = this.oldStartDate;\r\n this.endDate = this.oldEndDate;\r\n this.hide();\r\n this.element.trigger('cancel.daterangepicker', this);\r\n },\r\n\r\n monthOrYearChanged: function(e) {\r\n var isLeft = $(e.target).closest('.drp-calendar').hasClass('left'),\r\n leftOrRight = isLeft ? 'left' : 'right',\r\n cal = this.container.find('.drp-calendar.'+leftOrRight);\r\n\r\n // Month must be Number for new moment versions\r\n var month = parseInt(cal.find('.monthselect').val(), 10);\r\n var year = cal.find('.yearselect').val();\r\n\r\n if (!isLeft) {\r\n if (year < this.startDate.year() || (year == this.startDate.year() && month < this.startDate.month())) {\r\n month = this.startDate.month();\r\n year = this.startDate.year();\r\n }\r\n }\r\n\r\n if (this.minDate) {\r\n if (year < this.minDate.year() || (year == this.minDate.year() && month < this.minDate.month())) {\r\n month = this.minDate.month();\r\n year = this.minDate.year();\r\n }\r\n }\r\n\r\n if (this.maxDate) {\r\n if (year > this.maxDate.year() || (year == this.maxDate.year() && month > this.maxDate.month())) {\r\n month = this.maxDate.month();\r\n year = this.maxDate.year();\r\n }\r\n }\r\n\r\n if (isLeft) {\r\n this.leftCalendar.month.month(month).year(year);\r\n if (this.linkedCalendars)\r\n this.rightCalendar.month = this.leftCalendar.month.clone().add(1, 'month');\r\n } else {\r\n this.rightCalendar.month.month(month).year(year);\r\n if (this.linkedCalendars)\r\n this.leftCalendar.month = this.rightCalendar.month.clone().subtract(1, 'month');\r\n }\r\n this.updateCalendars();\r\n },\r\n\r\n timeChanged: function(e) {\r\n\r\n var cal = $(e.target).closest('.drp-calendar'),\r\n isLeft = cal.hasClass('left');\r\n\r\n var hour = parseInt(cal.find('.hourselect').val(), 10);\r\n var minute = parseInt(cal.find('.minuteselect').val(), 10);\r\n if (isNaN(minute)) {\r\n minute = parseInt(cal.find('.minuteselect option:last').val(), 10);\r\n }\r\n var second = this.timePickerSeconds ? parseInt(cal.find('.secondselect').val(), 10) : 0;\r\n\r\n if (!this.timePicker24Hour) {\r\n var ampm = cal.find('.ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n\r\n if (isLeft) {\r\n var start = this.startDate.clone();\r\n start.hour(hour);\r\n start.minute(minute);\r\n start.second(second);\r\n this.setStartDate(start);\r\n if (this.singleDatePicker) {\r\n this.endDate = this.startDate.clone();\r\n } else if (this.endDate && this.endDate.format('YYYY-MM-DD') == start.format('YYYY-MM-DD') && this.endDate.isBefore(start)) {\r\n this.setEndDate(start.clone());\r\n }\r\n } else if (this.endDate) {\r\n var end = this.endDate.clone();\r\n end.hour(hour);\r\n end.minute(minute);\r\n end.second(second);\r\n this.setEndDate(end);\r\n }\r\n\r\n //update the calendars so all clickable dates reflect the new time component\r\n this.updateCalendars();\r\n\r\n //update the form inputs above the calendars with the new time\r\n this.updateFormInputs();\r\n\r\n //re-render the time pickers because changing one selection can affect what's enabled in another\r\n this.renderTimePicker('left');\r\n this.renderTimePicker('right');\r\n\r\n },\r\n\r\n elementChanged: function() {\r\n if (!this.element.is('input')) return;\r\n if (!this.element.val().length) return;\r\n\r\n var dateString = this.element.val().split(this.locale.separator),\r\n start = null,\r\n end = null;\r\n\r\n if (dateString.length === 2) {\r\n start = moment(dateString[0], this.locale.format);\r\n end = moment(dateString[1], this.locale.format);\r\n }\r\n\r\n if (this.singleDatePicker || start === null || end === null) {\r\n start = moment(this.element.val(), this.locale.format);\r\n end = start;\r\n }\r\n\r\n if (!start.isValid() || !end.isValid()) return;\r\n\r\n this.setStartDate(start);\r\n this.setEndDate(end);\r\n this.updateView();\r\n },\r\n\r\n keydown: function(e) {\r\n //hide on tab or enter\r\n if ((e.keyCode === 9) || (e.keyCode === 13)) {\r\n this.hide();\r\n }\r\n\r\n //hide on esc and prevent propagation\r\n if (e.keyCode === 27) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n this.hide();\r\n }\r\n },\r\n\r\n updateElement: function() {\r\n if (this.element.is('input') && this.autoUpdateInput) {\r\n var newValue = this.startDate.format(this.locale.format);\r\n if (!this.singleDatePicker) {\r\n newValue += this.locale.separator + this.endDate.format(this.locale.format);\r\n }\r\n if (newValue !== this.element.val()) {\r\n this.element.val(newValue).trigger('change');\r\n }\r\n }\r\n },\r\n\r\n remove: function() {\r\n this.container.remove();\r\n this.element.off('.daterangepicker');\r\n this.element.removeData();\r\n }\r\n\r\n };\r\n\r\n $.fn.daterangepicker = function(options, callback) {\r\n var implementOptions = $.extend(true, {}, $.fn.daterangepicker.defaultOptions, options);\r\n this.each(function() {\r\n var el = $(this);\r\n if (el.data('daterangepicker'))\r\n el.data('daterangepicker').remove();\r\n el.data('daterangepicker', new DateRangePicker(el, implementOptions, callback));\r\n });\r\n return this;\r\n };\r\n\r\n return DateRangePicker;\r\n\r\n}));\r\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!./moment.js\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"moment\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"moment\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","\"use strict\";\n\n// eslint-disable-next-line func-names\nmodule.exports = function () {\n if (typeof globalThis === \"object\") {\n return globalThis;\n }\n\n var g;\n\n try {\n // This works if eval is allowed (see CSP)\n // eslint-disable-next-line no-new-func\n g = this || new Function(\"return this\")();\n } catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") {\n return window;\n } // This works if the self reference is available\n\n\n if (typeof self === \"object\") {\n return self;\n } // This works if the global reference is available\n\n\n if (typeof global !== \"undefined\") {\n return global;\n }\n }\n\n return g;\n}();","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","// https://github.com/electron/electron/issues/2288\nfunction isElectron() {\n // Renderer process\n if (typeof window !== 'undefined' && typeof window.process === 'object' && window.process.type === 'renderer') {\n return true;\n }\n\n // Main process\n if (typeof process !== 'undefined' && typeof process.versions === 'object' && !!process.versions.electron) {\n return true;\n }\n\n // Detect the user agent when the `nodeIntegration` option is set to false\n if (typeof navigator === 'object' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Electron') >= 0) {\n return true;\n }\n\n return false;\n}\n\nmodule.exports = isElectron;\n","/**\n * jQuery Timepicker\n * http://timepicker.co\n *\n * Enhances standard form input fields helping users to select (or type) times.\n *\n * Copyright (c) 2016 Willington Vega; Licensed MIT, GPL\n */\n\nif (typeof jQuery !== 'undefined') {\n (function($, undefined) {\n\n function pad(str, ch, length) {\n return (new Array(length + 1 - str.length).join(ch)) + str;\n }\n\n function normalize() {\n if (arguments.length === 1) {\n var date = arguments[0];\n if (typeof date === 'string') {\n date = $.fn.timepicker.parseTime(date);\n }\n return new Date(0, 0, 0, date.getHours(), date.getMinutes(), date.getSeconds());\n } else if (arguments.length === 3) {\n return new Date(0, 0, 0, arguments[0], arguments[1], arguments[2]);\n } else if (arguments.length === 2) {\n return new Date(0, 0, 0, arguments[0], arguments[1], 0);\n } else {\n return new Date(0, 0, 0);\n }\n }\n\n $.TimePicker = function() {\n var widget = this;\n\n widget.container = $('.ui-timepicker-container');\n widget.ui = widget.container.find('.ui-timepicker');\n\n if (widget.container.length === 0) {\n widget.container = $('
').addClass('ui-timepicker-container')\n .addClass('ui-timepicker-hidden ui-helper-hidden')\n .appendTo('body')\n .hide();\n widget.ui = $( '
' ).addClass('ui-timepicker')\n .addClass('ui-widget ui-widget-content ui-menu')\n .addClass('ui-corner-all')\n .appendTo(widget.container);\n widget.viewport = $('
    ').addClass( 'ui-timepicker-viewport' )\n .appendTo( widget.ui );\n\n if ($.fn.jquery >= '1.4.2') {\n widget.ui.delegate('a', 'mouseenter.timepicker', function() {\n // passing false instead of an instance object tells the function\n // to use the current instance\n widget.activate(false, $(this).parent());\n }).delegate('a', 'mouseleave.timepicker', function() {\n widget.deactivate(false);\n }).delegate('a', 'click.timepicker', function(event) {\n event.preventDefault();\n widget.select(false, $(this).parent());\n });\n }\n }\n };\n\n $.TimePicker.count = 0;\n $.TimePicker.instance = function() {\n if (!$.TimePicker._instance) {\n $.TimePicker._instance = new $.TimePicker();\n }\n return $.TimePicker._instance;\n };\n\n $.TimePicker.prototype = {\n // extracted from from jQuery UI Core\n // http://github,com/jquery/jquery-ui/blob/master/ui/jquery.ui.core.js\n keyCode: {\n ALT: 18,\n BLOQ_MAYUS: 20,\n CTRL: 17,\n DOWN: 40,\n END: 35,\n ENTER: 13,\n HOME: 36,\n LEFT: 37,\n NUMPAD_ENTER: 108,\n PAGE_DOWN: 34,\n PAGE_UP: 33,\n RIGHT: 39,\n SHIFT: 16,\n TAB: 9,\n UP: 38\n },\n\n _items: function(i, startTime) {\n var widget = this, ul = $('
      '), item = null, time, end;\n\n // interval should be a multiple of 60 if timeFormat is not\n // showing minutes\n if (i.options.timeFormat.indexOf('m') === -1 && i.options.interval % 60 !== 0) {\n i.options.interval = Math.max(Math.round(i.options.interval / 60), 1) * 60;\n }\n\n if (startTime) {\n time = normalize(startTime);\n } else if (i.options.startTime) {\n time = normalize(i.options.startTime);\n } else {\n time = normalize(i.options.startHour, i.options.startMinutes);\n }\n\n end = new Date(time.getTime() + 24 * 60 * 60 * 1000);\n\n while(time < end) {\n if (widget._isValidTime(i, time)) {\n item = $('
    • ').addClass('ui-menu-item').appendTo(ul);\n $('').addClass('ui-corner-all').text($.fn.timepicker.formatTime(i.options.timeFormat, time)).appendTo(item);\n item.data('time-value', time);\n }\n time = new Date(time.getTime() + i.options.interval * 60 * 1000);\n }\n\n return ul.children();\n },\n\n _isValidTime: function(i, time) {\n var min = null, max = null;\n\n time = normalize(time);\n\n if (i.options.minTime !== null) {\n min = normalize(i.options.minTime);\n } else if (i.options.minHour !== null || i.options.minMinutes !== null) {\n min = normalize(i.options.minHour, i.options.minMinutes);\n }\n\n if (i.options.maxTime !== null) {\n max = normalize(i.options.maxTime);\n } else if (i.options.maxHour !== null || i.options.maxMinutes !== null) {\n max = normalize(i.options.maxHour, i.options.maxMinutes);\n }\n\n if (min !== null && max !== null) {\n return time >= min && time <= max;\n } else if (min !== null) {\n return time >= min;\n } else if (max !== null) {\n return time <= max;\n }\n\n return true;\n },\n\n _hasScroll: function() {\n // fix for jQuery 1.6 new prop method\n var m = typeof this.ui.prop !== 'undefined' ? 'prop' : 'attr';\n return this.ui.height() < this.ui[m]('scrollHeight');\n },\n\n /**\n * TODO: Write me!\n *\n * @param i\n * @param direction\n * @param edge\n * */\n _move: function(i, direction, edge) {\n var widget = this;\n if (widget.closed()) {\n widget.open(i);\n }\n if (!widget.active) {\n widget.activate( i, widget.viewport.children( edge ) );\n return;\n }\n var next = widget.active[direction + 'All']('.ui-menu-item').eq(0);\n if (next.length) {\n widget.activate(i, next);\n } else {\n widget.activate( i, widget.viewport.children( edge ) );\n }\n },\n\n //\n // protected methods\n //\n\n register: function(node, options) {\n var widget = this, i = {}; // timepicker instance object\n\n i.element = $(node);\n\n if (i.element.data('TimePicker')) {\n return;\n }\n\n i.options = $.metadata ? $.extend({}, options, i.element.metadata()) : $.extend({}, options);\n i.widget = widget;\n\n // proxy functions for the exposed api methods\n $.extend(i, {\n next: function() {return widget.next(i) ;},\n previous: function() {return widget.previous(i) ;},\n first: function() { return widget.first(i) ;},\n last: function() { return widget.last(i) ;},\n selected: function() { return widget.selected(i) ;},\n open: function() { return widget.open(i) ;},\n close: function() { return widget.close(i) ;},\n closed: function() { return widget.closed(i) ;},\n destroy: function() { return widget.destroy(i) ;},\n\n parse: function(str) { return widget.parse(i, str) ;},\n format: function(time, format) { return widget.format(i, time, format); },\n getTime: function() { return widget.getTime(i) ;},\n setTime: function(time, silent) { return widget.setTime(i, time, silent); },\n option: function(name, value) { return widget.option(i, name, value); }\n });\n\n widget._setDefaultTime(i);\n widget._addInputEventsHandlers(i);\n\n i.element.data('TimePicker', i);\n },\n\n _setDefaultTime: function(i) {\n if (i.options.defaultTime === 'now') {\n i.setTime(normalize(new Date()));\n } else if (i.options.defaultTime && i.options.defaultTime.getFullYear) {\n i.setTime(normalize(i.options.defaultTime));\n } else if (i.options.defaultTime) {\n i.setTime($.fn.timepicker.parseTime(i.options.defaultTime));\n }\n },\n\n _addInputEventsHandlers: function(i) {\n var widget = this;\n\n i.element.bind('keydown.timepicker', function(event) {\n switch (event.which || event.keyCode) {\n case widget.keyCode.ENTER:\n case widget.keyCode.NUMPAD_ENTER:\n event.preventDefault();\n if (widget.closed()) {\n i.element.trigger('change.timepicker');\n } else {\n widget.select(i, widget.active);\n }\n break;\n case widget.keyCode.UP:\n i.previous();\n break;\n case widget.keyCode.DOWN:\n i.next();\n break;\n default:\n if (!widget.closed()) {\n i.close(true);\n }\n break;\n }\n }).bind('focus.timepicker', function() {\n i.open();\n }).bind('blur.timepicker', function() {\n setTimeout(function() {\n if (i.element.data('timepicker-user-clicked-outside')) {\n i.close();\n }\n });\n }).bind('change.timepicker', function() {\n if (i.closed()) {\n i.setTime($.fn.timepicker.parseTime(i.element.val()));\n }\n });\n },\n\n select: function(i, item) {\n var widget = this, instance = i === false ? widget.instance : i;\n widget.setTime(instance, $.fn.timepicker.parseTime(item.children('a').text()));\n widget.close(instance, true);\n },\n\n activate: function(i, item) {\n var widget = this, instance = i === false ? widget.instance : i;\n\n if (instance !== widget.instance) {\n return;\n } else {\n widget.deactivate();\n }\n\n if (widget._hasScroll()) {\n var offset = item.offset().top - widget.ui.offset().top,\n scroll = widget.ui.scrollTop(),\n height = widget.ui.height();\n if (offset < 0) {\n widget.ui.scrollTop(scroll + offset);\n } else if (offset >= height) {\n widget.ui.scrollTop(scroll + offset - height + item.height());\n }\n }\n\n widget.active = item.eq(0).children('a').addClass('ui-state-hover')\n .attr('id', 'ui-active-item')\n .end();\n },\n\n deactivate: function() {\n var widget = this;\n if (!widget.active) { return; }\n widget.active.children('a').removeClass('ui-state-hover').removeAttr('id');\n widget.active = null;\n },\n\n /**\n * _activate, _deactivate, first, last, next, previous, _move and\n * _hasScroll were extracted from jQuery UI Menu\n * http://github,com/jquery/jquery-ui/blob/menu/ui/jquery.ui.menu.js\n */\n\n //\n // public methods\n //\n\n next: function(i) {\n if (this.closed() || this.instance === i) {\n this._move(i, 'next', '.ui-menu-item:first');\n }\n return i.element;\n },\n\n previous: function(i) {\n if (this.closed() || this.instance === i) {\n this._move(i, 'prev', '.ui-menu-item:last');\n }\n return i.element;\n },\n\n first: function(i) {\n if (this.instance === i) {\n return this.active && this.active.prevAll('.ui-menu-item').length === 0;\n }\n return false;\n },\n\n last: function(i) {\n if (this.instance === i) {\n return this.active && this.active.nextAll('.ui-menu-item').length === 0;\n }\n return false;\n },\n\n selected: function(i) {\n if (this.instance === i) {\n return this.active ? this.active : null;\n }\n return null;\n },\n\n open: function(i) {\n var widget = this,\n selectedTime = i.getTime(),\n arrange = i.options.dynamic && selectedTime;\n\n // return if dropdown is disabled\n if (!i.options.dropdown) { return i.element; }\n\n // fix for issue https://github.com/wvega/timepicker/issues/56\n // idea from https://prototype.lighthouseapp.com/projects/8887/tickets/248-results-popup-from-ajaxautocompleter-disappear-when-user-clicks-on-scrollbars-in-ie6ie7\n i.element.data('timepicker-event-namespace', Math.random());\n\n $(document).bind('click.timepicker-' + i.element.data('timepicker-event-namespace'), function(event) {\n if (i.element.get(0) === event.target) {\n i.element.data('timepicker-user-clicked-outside', false);\n } else {\n i.element.data('timepicker-user-clicked-outside', true).blur();\n }\n });\n\n // if a date is already selected and options.dynamic is true,\n // arrange the items in the list so the first item is\n // cronologically right after the selected date.\n // TODO: set selectedTime\n if (i.rebuild || !i.items || arrange) {\n i.items = widget._items(i, arrange ? selectedTime : null);\n }\n\n // remove old li elements keeping associated events, then append\n // the new li elements to the ul\n if (i.rebuild || widget.instance !== i || arrange) {\n // handle menu events when using jQuery versions previous to\n // 1.4.2 (thanks to Brian Link)\n // http://github.com/wvega/timepicker/issues#issue/4\n if ($.fn.jquery < '1.4.2') {\n widget.viewport.children().remove();\n widget.viewport.append(i.items);\n widget.viewport.find('a').bind('mouseover.timepicker', function() {\n widget.activate(i, $(this).parent());\n }).bind('mouseout.timepicker', function() {\n widget.deactivate(i);\n }).bind('click.timepicker', function(event) {\n event.preventDefault();\n widget.select(i, $(this).parent());\n });\n } else {\n widget.viewport.children().detach();\n widget.viewport.append(i.items);\n }\n }\n\n i.rebuild = false;\n\n // theme\n widget.container.removeClass('ui-helper-hidden ui-timepicker-hidden ui-timepicker-standard ui-timepicker-corners').show();\n\n switch (i.options.theme) {\n case 'standard':\n widget.container.addClass('ui-timepicker-standard');\n break;\n case 'standard-rounded-corners':\n widget.container.addClass('ui-timepicker-standard ui-timepicker-corners');\n break;\n default:\n break;\n }\n\n /* resize ui */\n\n // we are hiding the scrollbar in the dropdown menu adding a 40px\n // padding to the wrapper element making the scrollbar appear in the\n // part of the wrapper that's hidden by the container (a DIV).\n if ( ! widget.container.hasClass( 'ui-timepicker-no-scrollbar' ) && ! i.options.scrollbar ) {\n widget.container.addClass( 'ui-timepicker-no-scrollbar' );\n widget.viewport.css( { paddingRight: 40 } );\n }\n\n var containerDecorationHeight = widget.container.outerHeight() - widget.container.height(),\n zindex = i.options.zindex ? i.options.zindex : i.element.offsetParent().css( 'z-index' ),\n elementOffset = i.element.offset();\n\n // position the container right below the element, or as close to as possible.\n widget.container.css( {\n top: elementOffset.top + i.element.outerHeight(),\n left: elementOffset.left\n } );\n\n // then show the container so that the browser can consider the timepicker's\n // height to calculate the page's total height and decide if adding scrollbars\n // is necessary.\n widget.container.show();\n\n // now we need to calculate the element offset and position the container again.\n // If the browser added scrollbars, the container's original position is not aligned\n // with the element's final position. This step fixes that problem.\n widget.container.css( {\n left: i.element.offset().left,\n height: widget.ui.outerHeight() + containerDecorationHeight,\n width: i.element.outerWidth(),\n zIndex: zindex,\n cursor: 'default'\n } );\n\n var calculatedWidth = widget.container.width() - ( widget.ui.outerWidth() - widget.ui.width() );\n\n // hardcode ui, viewport and item's width. I couldn't get it to work using CSS only\n widget.ui.css( { width: calculatedWidth } );\n widget.viewport.css( { width: calculatedWidth } );\n i.items.css( { width: calculatedWidth } );\n\n // XXX: what's this line doing here?\n widget.instance = i;\n\n // try to match input field's current value with an item in the\n // dropdown\n if (selectedTime) {\n i.items.each(function() {\n var item = $(this), time;\n\n if ($.fn.jquery < '1.4.2') {\n time = $.fn.timepicker.parseTime(item.find('a').text());\n } else {\n time = item.data('time-value');\n }\n\n if (time.getTime() === selectedTime.getTime()) {\n widget.activate(i, item);\n return false;\n }\n return true;\n });\n } else {\n widget.deactivate(i);\n }\n\n // don't break the chain\n return i.element;\n },\n\n close: function(i) {\n var widget = this;\n\n if (widget.instance === i) {\n widget.container.addClass('ui-helper-hidden ui-timepicker-hidden').hide();\n widget.ui.scrollTop(0);\n widget.ui.children().removeClass('ui-state-hover');\n }\n\n $(document).unbind('click.timepicker-' + i.element.data('timepicker-event-namespace'));\n\n return i.element;\n },\n\n closed: function() {\n return this.ui.is(':hidden');\n },\n\n destroy: function(i) {\n var widget = this;\n widget.close(i, true);\n return i.element.unbind('.timepicker').data('TimePicker', null);\n },\n\n //\n\n parse: function(i, str) {\n return $.fn.timepicker.parseTime(str);\n },\n\n format: function(i, time, format) {\n format = format || i.options.timeFormat;\n return $.fn.timepicker.formatTime(format, time);\n },\n\n getTime: function(i) {\n var widget = this,\n current = $.fn.timepicker.parseTime(i.element.val());\n\n // if current value is not valid, we return null.\n // stored Date object is ignored, because the current value\n // (valid or invalid) always takes priority\n if (current instanceof Date && !widget._isValidTime(i, current)) {\n return null;\n } else if (current instanceof Date && i.selectedTime) {\n // if the textfield's value and the stored Date object\n // have the same representation using current format\n // we prefer the stored Date object to avoid unnecesary\n // lost of precision.\n if (i.format(current) === i.format(i.selectedTime)) {\n return i.selectedTime;\n } else {\n return current;\n }\n } else if (current instanceof Date) {\n return current;\n } else {\n return null;\n }\n },\n\n setTime: function(i, time, silent) {\n var widget = this, previous = i.selectedTime;\n\n if (typeof time === 'string') {\n time = i.parse(time);\n }\n\n if (time && time.getMinutes && widget._isValidTime(i, time)) {\n time = normalize(time);\n i.selectedTime = time;\n i.element.val(i.format(time, i.options.timeFormat));\n\n // TODO: add documentaion about setTime being chainable\n if (silent) { return i; }\n } else {\n i.selectedTime = null;\n }\n\n // custom change event and change callback\n // TODO: add documentation about this event\n if (previous !== null || i.selectedTime !== null) {\n i.element.trigger('time-change', [time]);\n if ($.isFunction(i.options.change)) {\n i.options.change.apply(i.element, [time]);\n }\n }\n\n return i.element;\n },\n\n option: function(i, name, value) {\n if (typeof value === 'undefined') {\n return i.options[name];\n }\n\n var time = i.getTime(),\n options, destructive;\n\n if (typeof name === 'string') {\n options = {};\n options[name] = value;\n } else {\n options = name;\n }\n\n // some options require rebuilding the dropdown items\n destructive = ['minHour', 'minMinutes', 'minTime',\n 'maxHour', 'maxMinutes', 'maxTime',\n 'startHour', 'startMinutes', 'startTime',\n 'timeFormat', 'interval', 'dropdown'];\n\n\n $.each(options, function(name) {\n i.options[name] = options[name];\n i.rebuild = i.rebuild || $.inArray(name, destructive) > -1;\n });\n\n if (i.rebuild) {\n i.setTime(time);\n }\n }\n };\n\n $.TimePicker.defaults = {\n timeFormat: 'hh:mm p',\n minHour: null,\n minMinutes: null,\n minTime: null,\n maxHour: null,\n maxMinutes: null,\n maxTime: null,\n startHour: null,\n startMinutes: null,\n startTime: null,\n interval: 30,\n dynamic: true,\n theme: 'standard',\n zindex: null,\n dropdown: true,\n scrollbar: false,\n // callbacks\n change: function(/*time*/) {}\n };\n\n $.TimePicker.methods = {\n chainable: [\n 'next',\n 'previous',\n 'open',\n 'close',\n 'destroy',\n 'setTime'\n ]\n };\n\n $.fn.timepicker = function(options) {\n // support calling API methods using the following syntax:\n // $(...).timepicker('parse', '11p');\n if (typeof options === 'string') {\n var args = Array.prototype.slice.call(arguments, 1),\n method, result;\n\n // chainable API methods\n if (options === 'option' && arguments.length > 2) {\n method = 'each';\n } else if ($.inArray(options, $.TimePicker.methods.chainable) !== -1) {\n method = 'each';\n // API methods that return a value\n } else {\n method = 'map';\n }\n\n result = this[method](function() {\n var element = $(this), i = element.data('TimePicker');\n if (typeof i === 'object') {\n return i[options].apply(i, args);\n }\n });\n\n if (method === 'map' && this.length === 1) {\n return $.makeArray(result).shift();\n } else if (method === 'map') {\n return $.makeArray(result);\n } else {\n return result;\n }\n }\n\n // calling the constructor again on a jQuery object with a single\n // element returns a reference to a TimePicker object.\n if (this.length === 1 && this.data('TimePicker')) {\n return this.data('TimePicker');\n }\n\n var globals = $.extend({}, $.TimePicker.defaults, options);\n\n return this.each(function() {\n $.TimePicker.instance().register(this, globals);\n });\n };\n\n /**\n * TODO: documentation\n */\n $.fn.timepicker.formatTime = function(format, time) {\n var hours = time.getHours(),\n hours12 = hours % 12,\n minutes = time.getMinutes(),\n seconds = time.getSeconds(),\n replacements = {\n hh: pad((hours12 === 0 ? 12 : hours12).toString(), '0', 2),\n HH: pad(hours.toString(), '0', 2),\n mm: pad(minutes.toString(), '0', 2),\n ss: pad(seconds.toString(), '0', 2),\n h: (hours12 === 0 ? 12 : hours12),\n H: hours,\n m: minutes,\n s: seconds,\n p: hours > 11 ? 'PM' : 'AM'\n },\n str = format, k = '';\n for (k in replacements) {\n if (replacements.hasOwnProperty(k)) {\n str = str.replace(new RegExp(k,'g'), replacements[k]);\n }\n }\n // replacements is not guaranteed to be order and the 'p' can cause problems\n str = str.replace(new RegExp('a','g'), hours > 11 ? 'pm' : 'am');\n return str;\n };\n\n /**\n * Convert a string representing a given time into a Date object.\n *\n * The Date object will have attributes others than hours, minutes and\n * seconds set to current local time values. The function will return\n * false if given string can't be converted.\n *\n * If there is an 'a' in the string we set am to true, if there is a 'p'\n * we set pm to true, if both are present only am is setted to true.\n *\n * All non-digit characters are removed from the string before trying to\n * parse the time.\n *\n * '' can't be converted and the function returns false.\n * '1' is converted to 01:00:00 am\n * '11' is converted to 11:00:00 am\n * '111' is converted to 01:11:00 am\n * '1111' is converted to 11:11:00 am\n * '11111' is converted to 01:11:11 am\n * '111111' is converted to 11:11:11 am\n *\n * Only the first six (or less) characters are considered.\n *\n * Special case:\n *\n * When hours is greater than 24 and the last digit is less or equal than 6, and minutes\n * and seconds are less or equal than 60, we append a trailing zero and\n * start parsing process again. Examples:\n *\n * '95' is treated as '950' and converted to 09:50:00 am\n * '46' is treated as '460' and converted to 05:00:00 am\n * '57' can't be converted and the function returns false.\n *\n * For a detailed list of supported formats check the unit tests at\n * http://github.com/wvega/timepicker/tree/master/tests/\n */\n $.fn.timepicker.parseTime = (function() {\n var patterns = [\n // 1, 12, 123, 1234, 12345, 123456\n [/^(\\d+)$/, '$1'],\n // :1, :2, :3, :4 ... :9\n [/^:(\\d)$/, '$10'],\n // :1, :12, :123, :1234 ...\n [/^:(\\d+)/, '$1'],\n // 6:06, 5:59, 5:8\n [/^(\\d):([7-9])$/, '0$10$2'],\n [/^(\\d):(\\d\\d)$/, '$1$2'],\n [/^(\\d):(\\d{1,})$/, '0$1$20'],\n // 10:8, 10:10, 10:34\n [/^(\\d\\d):([7-9])$/, '$10$2'],\n [/^(\\d\\d):(\\d)$/, '$1$20'],\n [/^(\\d\\d):(\\d*)$/, '$1$2'],\n // 123:4, 1234:456\n [/^(\\d{3,}):(\\d)$/, '$10$2'],\n [/^(\\d{3,}):(\\d{2,})/, '$1$2'],\n //\n [/^(\\d):(\\d):(\\d)$/, '0$10$20$3'],\n [/^(\\d{1,2}):(\\d):(\\d\\d)/, '$10$2$3']\n ],\n length = patterns.length;\n\n return function(str) {\n var time = normalize(new Date()),\n am = false, pm = false, h = false, m = false, s = false;\n\n if (typeof str === 'undefined' || !str.toLowerCase) { return null; }\n\n str = str.toLowerCase();\n am = /a/.test(str);\n pm = am ? false : /p/.test(str);\n str = str.replace(/[^0-9:]/g, '').replace(/:+/g, ':');\n\n for (var k = 0; k < length; k = k + 1) {\n if (patterns[k][0].test(str)) {\n str = str.replace(patterns[k][0], patterns[k][1]);\n break;\n }\n }\n str = str.replace(/:/g, '');\n\n if (str.length === 1) {\n h = str;\n } else if (str.length === 2) {\n h = str;\n } else if (str.length === 3 || str.length === 5) {\n h = str.substr(0, 1);\n m = str.substr(1, 2);\n s = str.substr(3, 2);\n } else if (str.length === 4 || str.length > 5) {\n h = str.substr(0, 2);\n m = str.substr(2, 2);\n s = str.substr(4, 2);\n }\n\n if (str.length > 0 && str.length < 5) {\n if (str.length < 3) {\n m = 0;\n }\n s = 0;\n }\n\n if (h === false || m === false || s === false) {\n return false;\n }\n\n h = parseInt(h, 10);\n m = parseInt(m, 10);\n s = parseInt(s, 10);\n\n if (am && h === 12) {\n h = 0;\n } else if (pm && h < 12) {\n h = h + 12;\n }\n\n if (h > 24) {\n if (str.length >= 6) {\n return $.fn.timepicker.parseTime(str.substr(0,5));\n } else {\n return $.fn.timepicker.parseTime(str + '0' + (am ? 'a' : '') + (pm ? 'p' : ''));\n }\n } else {\n time.setHours(h, m, s);\n return time;\n }\n };\n })();\n })(jQuery);\n}\n","/*!\n * jQuery UI Touch Punch 0.2.3\n *\n * Copyright 2011–2014, Dave Furfero\n * Dual licensed under the MIT or GPL Version 2 licenses.\n *\n * Depends:\n * jquery.ui.widget.js\n * jquery.ui.mouse.js\n */\n(function ($) {\n\n // Detect touch support\n $.support.touch = 'ontouchend' in document;\n\n // Ignore browsers without touch support\n if (!$.support.touch) {\n return;\n }\n\n var mouseProto = $.ui.mouse.prototype,\n _mouseInit = mouseProto._mouseInit,\n _mouseDestroy = mouseProto._mouseDestroy,\n touchHandled;\n\n /**\n * Simulate a mouse event based on a corresponding touch event\n * @param {Object} event A touch event\n * @param {String} simulatedType The corresponding mouse event\n */\n function simulateMouseEvent (event, simulatedType) {\n\n // Ignore multi-touch events\n if (event.originalEvent.touches.length > 1) {\n return;\n }\n\n event.preventDefault();\n\n var touch = event.originalEvent.changedTouches[0],\n simulatedEvent = document.createEvent('MouseEvents');\n \n // Initialize the simulated mouse event using the touch event's coordinates\n simulatedEvent.initMouseEvent(\n simulatedType, // type\n true, // bubbles \n true, // cancelable \n window, // view \n 1, // detail \n touch.screenX, // screenX \n touch.screenY, // screenY \n touch.clientX, // clientX \n touch.clientY, // clientY \n false, // ctrlKey \n false, // altKey \n false, // shiftKey \n false, // metaKey \n 0, // button \n null // relatedTarget \n );\n\n // Dispatch the simulated event to the target element\n event.target.dispatchEvent(simulatedEvent);\n }\n\n /**\n * Handle the jQuery UI widget's touchstart events\n * @param {Object} event The widget element's touchstart event\n */\n mouseProto._touchStart = function (event) {\n\n var self = this;\n\n // Ignore the event if another widget is already being handled\n if (touchHandled || !self._mouseCapture(event.originalEvent.changedTouches[0])) {\n return;\n }\n\n // Set the flag to prevent other widgets from inheriting the touch event\n touchHandled = true;\n\n // Track movement to determine if interaction was a click\n self._touchMoved = false;\n\n // Simulate the mouseover event\n simulateMouseEvent(event, 'mouseover');\n\n // Simulate the mousemove event\n simulateMouseEvent(event, 'mousemove');\n\n // Simulate the mousedown event\n simulateMouseEvent(event, 'mousedown');\n };\n\n /**\n * Handle the jQuery UI widget's touchmove events\n * @param {Object} event The document's touchmove event\n */\n mouseProto._touchMove = function (event) {\n\n // Ignore event if not handled\n if (!touchHandled) {\n return;\n }\n\n // Interaction was not a click\n this._touchMoved = true;\n\n // Simulate the mousemove event\n simulateMouseEvent(event, 'mousemove');\n };\n\n /**\n * Handle the jQuery UI widget's touchend events\n * @param {Object} event The document's touchend event\n */\n mouseProto._touchEnd = function (event) {\n\n // Ignore event if not handled\n if (!touchHandled) {\n return;\n }\n\n // Simulate the mouseup event\n simulateMouseEvent(event, 'mouseup');\n\n // Simulate the mouseout event\n simulateMouseEvent(event, 'mouseout');\n\n // If the touch interaction did not move, it should trigger a click\n if (!this._touchMoved) {\n\n // Simulate the click event\n simulateMouseEvent(event, 'click');\n }\n\n // Unset the flag to allow other widgets to inherit the touch event\n touchHandled = false;\n };\n\n /**\n * A duck punch of the $.ui.mouse _mouseInit method to support touch events.\n * This method extends the widget with bound touch event handlers that\n * translate touch events to mouse events and pass them to the widget's\n * original mouse event handling methods.\n */\n mouseProto._mouseInit = function () {\n \n var self = this;\n\n // Delegate the touch handlers to the widget's element\n self.element.bind({\n touchstart: $.proxy(self, '_touchStart'),\n touchmove: $.proxy(self, '_touchMove'),\n touchend: $.proxy(self, '_touchEnd')\n });\n\n // Call the original $.ui.mouse init method\n _mouseInit.call(self);\n };\n\n /**\n * Remove the touch event handlers\n */\n mouseProto._mouseDestroy = function () {\n \n var self = this;\n\n // Delegate the touch handlers to the widget's element\n self.element.unbind({\n touchstart: $.proxy(self, '_touchStart'),\n touchmove: $.proxy(self, '_touchMove'),\n touchend: $.proxy(self, '_touchEnd')\n });\n\n // Call the original $.ui.mouse destroy method\n _mouseDestroy.call(self);\n };\n\n})(jQuery);","/*! jQuery UI - v1.13.2 - 2022-07-14\n* http://jqueryui.com\n* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js\n* Copyright jQuery Foundation and other contributors; Licensed MIT */\n\n( function( factory ) {\n\t\"use strict\";\n\t\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine( [ \"jquery\" ], factory );\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n} )( function( $ ) {\n\"use strict\";\n\n$.ui = $.ui || {};\n\nvar version = $.ui.version = \"1.13.2\";\n\n\n/*!\n * jQuery UI Widget 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Widget\n//>>group: Core\n//>>description: Provides a factory for creating stateful widgets with a common API.\n//>>docs: http://api.jqueryui.com/jQuery.widget/\n//>>demos: http://jqueryui.com/widget/\n\n\nvar widgetUuid = 0;\nvar widgetHasOwnProperty = Array.prototype.hasOwnProperty;\nvar widgetSlice = Array.prototype.slice;\n\n$.cleanData = ( function( orig ) {\n\treturn function( elems ) {\n\t\tvar events, elem, i;\n\t\tfor ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {\n\n\t\t\t// Only trigger remove when necessary to save time\n\t\t\tevents = $._data( elem, \"events\" );\n\t\t\tif ( events && events.remove ) {\n\t\t\t\t$( elem ).triggerHandler( \"remove\" );\n\t\t\t}\n\t\t}\n\t\torig( elems );\n\t};\n} )( $.cleanData );\n\n$.widget = function( name, base, prototype ) {\n\tvar existingConstructor, constructor, basePrototype;\n\n\t// ProxiedPrototype allows the provided prototype to remain unmodified\n\t// so that it can be used as a mixin for multiple widgets (#8876)\n\tvar proxiedPrototype = {};\n\n\tvar namespace = name.split( \".\" )[ 0 ];\n\tname = name.split( \".\" )[ 1 ];\n\tvar fullName = namespace + \"-\" + name;\n\n\tif ( !prototype ) {\n\t\tprototype = base;\n\t\tbase = $.Widget;\n\t}\n\n\tif ( Array.isArray( prototype ) ) {\n\t\tprototype = $.extend.apply( null, [ {} ].concat( prototype ) );\n\t}\n\n\t// Create selector for plugin\n\t$.expr.pseudos[ fullName.toLowerCase() ] = function( elem ) {\n\t\treturn !!$.data( elem, fullName );\n\t};\n\n\t$[ namespace ] = $[ namespace ] || {};\n\texistingConstructor = $[ namespace ][ name ];\n\tconstructor = $[ namespace ][ name ] = function( options, element ) {\n\n\t\t// Allow instantiation without \"new\" keyword\n\t\tif ( !this || !this._createWidget ) {\n\t\t\treturn new constructor( options, element );\n\t\t}\n\n\t\t// Allow instantiation without initializing for simple inheritance\n\t\t// must use \"new\" keyword (the code above always passes args)\n\t\tif ( arguments.length ) {\n\t\t\tthis._createWidget( options, element );\n\t\t}\n\t};\n\n\t// Extend with the existing constructor to carry over any static properties\n\t$.extend( constructor, existingConstructor, {\n\t\tversion: prototype.version,\n\n\t\t// Copy the object used to create the prototype in case we need to\n\t\t// redefine the widget later\n\t\t_proto: $.extend( {}, prototype ),\n\n\t\t// Track widgets that inherit from this widget in case this widget is\n\t\t// redefined after a widget inherits from it\n\t\t_childConstructors: []\n\t} );\n\n\tbasePrototype = new base();\n\n\t// We need to make the options hash a property directly on the new instance\n\t// otherwise we'll modify the options hash on the prototype that we're\n\t// inheriting from\n\tbasePrototype.options = $.widget.extend( {}, basePrototype.options );\n\t$.each( prototype, function( prop, value ) {\n\t\tif ( typeof value !== \"function\" ) {\n\t\t\tproxiedPrototype[ prop ] = value;\n\t\t\treturn;\n\t\t}\n\t\tproxiedPrototype[ prop ] = ( function() {\n\t\t\tfunction _super() {\n\t\t\t\treturn base.prototype[ prop ].apply( this, arguments );\n\t\t\t}\n\n\t\t\tfunction _superApply( args ) {\n\t\t\t\treturn base.prototype[ prop ].apply( this, args );\n\t\t\t}\n\n\t\t\treturn function() {\n\t\t\t\tvar __super = this._super;\n\t\t\t\tvar __superApply = this._superApply;\n\t\t\t\tvar returnValue;\n\n\t\t\t\tthis._super = _super;\n\t\t\t\tthis._superApply = _superApply;\n\n\t\t\t\treturnValue = value.apply( this, arguments );\n\n\t\t\t\tthis._super = __super;\n\t\t\t\tthis._superApply = __superApply;\n\n\t\t\t\treturn returnValue;\n\t\t\t};\n\t\t} )();\n\t} );\n\tconstructor.prototype = $.widget.extend( basePrototype, {\n\n\t\t// TODO: remove support for widgetEventPrefix\n\t\t// always use the name + a colon as the prefix, e.g., draggable:start\n\t\t// don't prefix for widgets that aren't DOM-based\n\t\twidgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name\n\t}, proxiedPrototype, {\n\t\tconstructor: constructor,\n\t\tnamespace: namespace,\n\t\twidgetName: name,\n\t\twidgetFullName: fullName\n\t} );\n\n\t// If this widget is being redefined then we need to find all widgets that\n\t// are inheriting from it and redefine all of them so that they inherit from\n\t// the new version of this widget. We're essentially trying to replace one\n\t// level in the prototype chain.\n\tif ( existingConstructor ) {\n\t\t$.each( existingConstructor._childConstructors, function( i, child ) {\n\t\t\tvar childPrototype = child.prototype;\n\n\t\t\t// Redefine the child widget using the same prototype that was\n\t\t\t// originally used, but inherit from the new version of the base\n\t\t\t$.widget( childPrototype.namespace + \".\" + childPrototype.widgetName, constructor,\n\t\t\t\tchild._proto );\n\t\t} );\n\n\t\t// Remove the list of existing child constructors from the old constructor\n\t\t// so the old child constructors can be garbage collected\n\t\tdelete existingConstructor._childConstructors;\n\t} else {\n\t\tbase._childConstructors.push( constructor );\n\t}\n\n\t$.widget.bridge( name, constructor );\n\n\treturn constructor;\n};\n\n$.widget.extend = function( target ) {\n\tvar input = widgetSlice.call( arguments, 1 );\n\tvar inputIndex = 0;\n\tvar inputLength = input.length;\n\tvar key;\n\tvar value;\n\n\tfor ( ; inputIndex < inputLength; inputIndex++ ) {\n\t\tfor ( key in input[ inputIndex ] ) {\n\t\t\tvalue = input[ inputIndex ][ key ];\n\t\t\tif ( widgetHasOwnProperty.call( input[ inputIndex ], key ) && value !== undefined ) {\n\n\t\t\t\t// Clone objects\n\t\t\t\tif ( $.isPlainObject( value ) ) {\n\t\t\t\t\ttarget[ key ] = $.isPlainObject( target[ key ] ) ?\n\t\t\t\t\t\t$.widget.extend( {}, target[ key ], value ) :\n\n\t\t\t\t\t\t// Don't extend strings, arrays, etc. with objects\n\t\t\t\t\t\t$.widget.extend( {}, value );\n\n\t\t\t\t// Copy everything else by reference\n\t\t\t\t} else {\n\t\t\t\t\ttarget[ key ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn target;\n};\n\n$.widget.bridge = function( name, object ) {\n\tvar fullName = object.prototype.widgetFullName || name;\n\t$.fn[ name ] = function( options ) {\n\t\tvar isMethodCall = typeof options === \"string\";\n\t\tvar args = widgetSlice.call( arguments, 1 );\n\t\tvar returnValue = this;\n\n\t\tif ( isMethodCall ) {\n\n\t\t\t// If this is an empty collection, we need to have the instance method\n\t\t\t// return undefined instead of the jQuery instance\n\t\t\tif ( !this.length && options === \"instance\" ) {\n\t\t\t\treturnValue = undefined;\n\t\t\t} else {\n\t\t\t\tthis.each( function() {\n\t\t\t\t\tvar methodValue;\n\t\t\t\t\tvar instance = $.data( this, fullName );\n\n\t\t\t\t\tif ( options === \"instance\" ) {\n\t\t\t\t\t\treturnValue = instance;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !instance ) {\n\t\t\t\t\t\treturn $.error( \"cannot call methods on \" + name +\n\t\t\t\t\t\t\t\" prior to initialization; \" +\n\t\t\t\t\t\t\t\"attempted to call method '\" + options + \"'\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( typeof instance[ options ] !== \"function\" ||\n\t\t\t\t\t\toptions.charAt( 0 ) === \"_\" ) {\n\t\t\t\t\t\treturn $.error( \"no such method '\" + options + \"' for \" + name +\n\t\t\t\t\t\t\t\" widget instance\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tmethodValue = instance[ options ].apply( instance, args );\n\n\t\t\t\t\tif ( methodValue !== instance && methodValue !== undefined ) {\n\t\t\t\t\t\treturnValue = methodValue && methodValue.jquery ?\n\t\t\t\t\t\t\treturnValue.pushStack( methodValue.get() ) :\n\t\t\t\t\t\t\tmethodValue;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Allow multiple hashes to be passed on init\n\t\t\tif ( args.length ) {\n\t\t\t\toptions = $.widget.extend.apply( null, [ options ].concat( args ) );\n\t\t\t}\n\n\t\t\tthis.each( function() {\n\t\t\t\tvar instance = $.data( this, fullName );\n\t\t\t\tif ( instance ) {\n\t\t\t\t\tinstance.option( options || {} );\n\t\t\t\t\tif ( instance._init ) {\n\t\t\t\t\t\tinstance._init();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$.data( this, fullName, new object( options, this ) );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn returnValue;\n\t};\n};\n\n$.Widget = function( /* options, element */ ) {};\n$.Widget._childConstructors = [];\n\n$.Widget.prototype = {\n\twidgetName: \"widget\",\n\twidgetEventPrefix: \"\",\n\tdefaultElement: \"
      \",\n\n\toptions: {\n\t\tclasses: {},\n\t\tdisabled: false,\n\n\t\t// Callbacks\n\t\tcreate: null\n\t},\n\n\t_createWidget: function( options, element ) {\n\t\telement = $( element || this.defaultElement || this )[ 0 ];\n\t\tthis.element = $( element );\n\t\tthis.uuid = widgetUuid++;\n\t\tthis.eventNamespace = \".\" + this.widgetName + this.uuid;\n\n\t\tthis.bindings = $();\n\t\tthis.hoverable = $();\n\t\tthis.focusable = $();\n\t\tthis.classesElementLookup = {};\n\n\t\tif ( element !== this ) {\n\t\t\t$.data( element, this.widgetFullName, this );\n\t\t\tthis._on( true, this.element, {\n\t\t\t\tremove: function( event ) {\n\t\t\t\t\tif ( event.target === element ) {\n\t\t\t\t\t\tthis.destroy();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\tthis.document = $( element.style ?\n\n\t\t\t\t// Element within the document\n\t\t\t\telement.ownerDocument :\n\n\t\t\t\t// Element is window or document\n\t\t\t\telement.document || element );\n\t\t\tthis.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow );\n\t\t}\n\n\t\tthis.options = $.widget.extend( {},\n\t\t\tthis.options,\n\t\t\tthis._getCreateOptions(),\n\t\t\toptions );\n\n\t\tthis._create();\n\n\t\tif ( this.options.disabled ) {\n\t\t\tthis._setOptionDisabled( this.options.disabled );\n\t\t}\n\n\t\tthis._trigger( \"create\", null, this._getCreateEventData() );\n\t\tthis._init();\n\t},\n\n\t_getCreateOptions: function() {\n\t\treturn {};\n\t},\n\n\t_getCreateEventData: $.noop,\n\n\t_create: $.noop,\n\n\t_init: $.noop,\n\n\tdestroy: function() {\n\t\tvar that = this;\n\n\t\tthis._destroy();\n\t\t$.each( this.classesElementLookup, function( key, value ) {\n\t\t\tthat._removeClass( value, key );\n\t\t} );\n\n\t\t// We can probably remove the unbind calls in 2.0\n\t\t// all event bindings should go through this._on()\n\t\tthis.element\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeData( this.widgetFullName );\n\t\tthis.widget()\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeAttr( \"aria-disabled\" );\n\n\t\t// Clean up events and states\n\t\tthis.bindings.off( this.eventNamespace );\n\t},\n\n\t_destroy: $.noop,\n\n\twidget: function() {\n\t\treturn this.element;\n\t},\n\n\toption: function( key, value ) {\n\t\tvar options = key;\n\t\tvar parts;\n\t\tvar curOption;\n\t\tvar i;\n\n\t\tif ( arguments.length === 0 ) {\n\n\t\t\t// Don't return a reference to the internal hash\n\t\t\treturn $.widget.extend( {}, this.options );\n\t\t}\n\n\t\tif ( typeof key === \"string\" ) {\n\n\t\t\t// Handle nested keys, e.g., \"foo.bar\" => { foo: { bar: ___ } }\n\t\t\toptions = {};\n\t\t\tparts = key.split( \".\" );\n\t\t\tkey = parts.shift();\n\t\t\tif ( parts.length ) {\n\t\t\t\tcurOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );\n\t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\n\t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};\n\t\t\t\t\tcurOption = curOption[ parts[ i ] ];\n\t\t\t\t}\n\t\t\t\tkey = parts.pop();\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn curOption[ key ] === undefined ? null : curOption[ key ];\n\t\t\t\t}\n\t\t\t\tcurOption[ key ] = value;\n\t\t\t} else {\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn this.options[ key ] === undefined ? null : this.options[ key ];\n\t\t\t\t}\n\t\t\t\toptions[ key ] = value;\n\t\t\t}\n\t\t}\n\n\t\tthis._setOptions( options );\n\n\t\treturn this;\n\t},\n\n\t_setOptions: function( options ) {\n\t\tvar key;\n\n\t\tfor ( key in options ) {\n\t\t\tthis._setOption( key, options[ key ] );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"classes\" ) {\n\t\t\tthis._setOptionClasses( value );\n\t\t}\n\n\t\tthis.options[ key ] = value;\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis._setOptionDisabled( value );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOptionClasses: function( value ) {\n\t\tvar classKey, elements, currentElements;\n\n\t\tfor ( classKey in value ) {\n\t\t\tcurrentElements = this.classesElementLookup[ classKey ];\n\t\t\tif ( value[ classKey ] === this.options.classes[ classKey ] ||\n\t\t\t\t\t!currentElements ||\n\t\t\t\t\t!currentElements.length ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// We are doing this to create a new jQuery object because the _removeClass() call\n\t\t\t// on the next line is going to destroy the reference to the current elements being\n\t\t\t// tracked. We need to save a copy of this collection so that we can add the new classes\n\t\t\t// below.\n\t\t\telements = $( currentElements.get() );\n\t\t\tthis._removeClass( currentElements, classKey );\n\n\t\t\t// We don't use _addClass() here, because that uses this.options.classes\n\t\t\t// for generating the string of classes. We want to use the value passed in from\n\t\t\t// _setOption(), this is the new value of the classes option which was passed to\n\t\t\t// _setOption(). We pass this value directly to _classes().\n\t\t\telements.addClass( this._classes( {\n\t\t\t\telement: elements,\n\t\t\t\tkeys: classKey,\n\t\t\t\tclasses: value,\n\t\t\t\tadd: true\n\t\t\t} ) );\n\t\t}\n\t},\n\n\t_setOptionDisabled: function( value ) {\n\t\tthis._toggleClass( this.widget(), this.widgetFullName + \"-disabled\", null, !!value );\n\n\t\t// If the widget is becoming disabled, then nothing is interactive\n\t\tif ( value ) {\n\t\t\tthis._removeClass( this.hoverable, null, \"ui-state-hover\" );\n\t\t\tthis._removeClass( this.focusable, null, \"ui-state-focus\" );\n\t\t}\n\t},\n\n\tenable: function() {\n\t\treturn this._setOptions( { disabled: false } );\n\t},\n\n\tdisable: function() {\n\t\treturn this._setOptions( { disabled: true } );\n\t},\n\n\t_classes: function( options ) {\n\t\tvar full = [];\n\t\tvar that = this;\n\n\t\toptions = $.extend( {\n\t\t\telement: this.element,\n\t\t\tclasses: this.options.classes || {}\n\t\t}, options );\n\n\t\tfunction bindRemoveEvent() {\n\t\t\tvar nodesToBind = [];\n\n\t\t\toptions.element.each( function( _, element ) {\n\t\t\t\tvar isTracked = $.map( that.classesElementLookup, function( elements ) {\n\t\t\t\t\treturn elements;\n\t\t\t\t} )\n\t\t\t\t\t.some( function( elements ) {\n\t\t\t\t\t\treturn elements.is( element );\n\t\t\t\t\t} );\n\n\t\t\t\tif ( !isTracked ) {\n\t\t\t\t\tnodesToBind.push( element );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tthat._on( $( nodesToBind ), {\n\t\t\t\tremove: \"_untrackClassesElement\"\n\t\t\t} );\n\t\t}\n\n\t\tfunction processClassString( classes, checkOption ) {\n\t\t\tvar current, i;\n\t\t\tfor ( i = 0; i < classes.length; i++ ) {\n\t\t\t\tcurrent = that.classesElementLookup[ classes[ i ] ] || $();\n\t\t\t\tif ( options.add ) {\n\t\t\t\t\tbindRemoveEvent();\n\t\t\t\t\tcurrent = $( $.uniqueSort( current.get().concat( options.element.get() ) ) );\n\t\t\t\t} else {\n\t\t\t\t\tcurrent = $( current.not( options.element ).get() );\n\t\t\t\t}\n\t\t\t\tthat.classesElementLookup[ classes[ i ] ] = current;\n\t\t\t\tfull.push( classes[ i ] );\n\t\t\t\tif ( checkOption && options.classes[ classes[ i ] ] ) {\n\t\t\t\t\tfull.push( options.classes[ classes[ i ] ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( options.keys ) {\n\t\t\tprocessClassString( options.keys.match( /\\S+/g ) || [], true );\n\t\t}\n\t\tif ( options.extra ) {\n\t\t\tprocessClassString( options.extra.match( /\\S+/g ) || [] );\n\t\t}\n\n\t\treturn full.join( \" \" );\n\t},\n\n\t_untrackClassesElement: function( event ) {\n\t\tvar that = this;\n\t\t$.each( that.classesElementLookup, function( key, value ) {\n\t\t\tif ( $.inArray( event.target, value ) !== -1 ) {\n\t\t\t\tthat.classesElementLookup[ key ] = $( value.not( event.target ).get() );\n\t\t\t}\n\t\t} );\n\n\t\tthis._off( $( event.target ) );\n\t},\n\n\t_removeClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, false );\n\t},\n\n\t_addClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, true );\n\t},\n\n\t_toggleClass: function( element, keys, extra, add ) {\n\t\tadd = ( typeof add === \"boolean\" ) ? add : extra;\n\t\tvar shift = ( typeof element === \"string\" || element === null ),\n\t\t\toptions = {\n\t\t\t\textra: shift ? keys : extra,\n\t\t\t\tkeys: shift ? element : keys,\n\t\t\t\telement: shift ? this.element : element,\n\t\t\t\tadd: add\n\t\t\t};\n\t\toptions.element.toggleClass( this._classes( options ), add );\n\t\treturn this;\n\t},\n\n\t_on: function( suppressDisabledCheck, element, handlers ) {\n\t\tvar delegateElement;\n\t\tvar instance = this;\n\n\t\t// No suppressDisabledCheck flag, shuffle arguments\n\t\tif ( typeof suppressDisabledCheck !== \"boolean\" ) {\n\t\t\thandlers = element;\n\t\t\telement = suppressDisabledCheck;\n\t\t\tsuppressDisabledCheck = false;\n\t\t}\n\n\t\t// No element argument, shuffle and use this.element\n\t\tif ( !handlers ) {\n\t\t\thandlers = element;\n\t\t\telement = this.element;\n\t\t\tdelegateElement = this.widget();\n\t\t} else {\n\t\t\telement = delegateElement = $( element );\n\t\t\tthis.bindings = this.bindings.add( element );\n\t\t}\n\n\t\t$.each( handlers, function( event, handler ) {\n\t\t\tfunction handlerProxy() {\n\n\t\t\t\t// Allow widgets to customize the disabled handling\n\t\t\t\t// - disabled as an array instead of boolean\n\t\t\t\t// - disabled class as method for disabling individual parts\n\t\t\t\tif ( !suppressDisabledCheck &&\n\t\t\t\t\t\t( instance.options.disabled === true ||\n\t\t\t\t\t\t$( this ).hasClass( \"ui-state-disabled\" ) ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t\t.apply( instance, arguments );\n\t\t\t}\n\n\t\t\t// Copy the guid so direct unbinding works\n\t\t\tif ( typeof handler !== \"string\" ) {\n\t\t\t\thandlerProxy.guid = handler.guid =\n\t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\n\t\t\t}\n\n\t\t\tvar match = event.match( /^([\\w:-]*)\\s*(.*)$/ );\n\t\t\tvar eventName = match[ 1 ] + instance.eventNamespace;\n\t\t\tvar selector = match[ 2 ];\n\n\t\t\tif ( selector ) {\n\t\t\t\tdelegateElement.on( eventName, selector, handlerProxy );\n\t\t\t} else {\n\t\t\t\telement.on( eventName, handlerProxy );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_off: function( element, eventName ) {\n\t\teventName = ( eventName || \"\" ).split( \" \" ).join( this.eventNamespace + \" \" ) +\n\t\t\tthis.eventNamespace;\n\t\telement.off( eventName );\n\n\t\t// Clear the stack to avoid memory leaks (#10056)\n\t\tthis.bindings = $( this.bindings.not( element ).get() );\n\t\tthis.focusable = $( this.focusable.not( element ).get() );\n\t\tthis.hoverable = $( this.hoverable.not( element ).get() );\n\t},\n\n\t_delay: function( handler, delay ) {\n\t\tfunction handlerProxy() {\n\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t.apply( instance, arguments );\n\t\t}\n\t\tvar instance = this;\n\t\treturn setTimeout( handlerProxy, delay || 0 );\n\t},\n\n\t_hoverable: function( element ) {\n\t\tthis.hoverable = this.hoverable.add( element );\n\t\tthis._on( element, {\n\t\t\tmouseenter: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t},\n\t\t\tmouseleave: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_focusable: function( element ) {\n\t\tthis.focusable = this.focusable.add( element );\n\t\tthis._on( element, {\n\t\t\tfocusin: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t},\n\t\t\tfocusout: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_trigger: function( type, event, data ) {\n\t\tvar prop, orig;\n\t\tvar callback = this.options[ type ];\n\n\t\tdata = data || {};\n\t\tevent = $.Event( event );\n\t\tevent.type = ( type === this.widgetEventPrefix ?\n\t\t\ttype :\n\t\t\tthis.widgetEventPrefix + type ).toLowerCase();\n\n\t\t// The original event may come from any element\n\t\t// so we need to reset the target on the new event\n\t\tevent.target = this.element[ 0 ];\n\n\t\t// Copy original event properties over to the new event\n\t\torig = event.originalEvent;\n\t\tif ( orig ) {\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tif ( !( prop in event ) ) {\n\t\t\t\t\tevent[ prop ] = orig[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.element.trigger( event, data );\n\t\treturn !( typeof callback === \"function\" &&\n\t\t\tcallback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||\n\t\t\tevent.isDefaultPrevented() );\n\t}\n};\n\n$.each( { show: \"fadeIn\", hide: \"fadeOut\" }, function( method, defaultEffect ) {\n\t$.Widget.prototype[ \"_\" + method ] = function( element, options, callback ) {\n\t\tif ( typeof options === \"string\" ) {\n\t\t\toptions = { effect: options };\n\t\t}\n\n\t\tvar hasOptions;\n\t\tvar effectName = !options ?\n\t\t\tmethod :\n\t\t\toptions === true || typeof options === \"number\" ?\n\t\t\t\tdefaultEffect :\n\t\t\t\toptions.effect || defaultEffect;\n\n\t\toptions = options || {};\n\t\tif ( typeof options === \"number\" ) {\n\t\t\toptions = { duration: options };\n\t\t} else if ( options === true ) {\n\t\t\toptions = {};\n\t\t}\n\n\t\thasOptions = !$.isEmptyObject( options );\n\t\toptions.complete = callback;\n\n\t\tif ( options.delay ) {\n\t\t\telement.delay( options.delay );\n\t\t}\n\n\t\tif ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {\n\t\t\telement[ method ]( options );\n\t\t} else if ( effectName !== method && element[ effectName ] ) {\n\t\t\telement[ effectName ]( options.duration, options.easing, callback );\n\t\t} else {\n\t\t\telement.queue( function( next ) {\n\t\t\t\t$( this )[ method ]();\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback.call( element[ 0 ] );\n\t\t\t\t}\n\t\t\t\tnext();\n\t\t\t} );\n\t\t}\n\t};\n} );\n\nvar widget = $.widget;\n\n\n/*!\n * jQuery UI Position 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/position/\n */\n\n//>>label: Position\n//>>group: Core\n//>>description: Positions elements relative to other elements.\n//>>docs: http://api.jqueryui.com/position/\n//>>demos: http://jqueryui.com/position/\n\n\n( function() {\nvar cachedScrollbarWidth,\n\tmax = Math.max,\n\tabs = Math.abs,\n\trhorizontal = /left|center|right/,\n\trvertical = /top|center|bottom/,\n\troffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n\trposition = /^\\w+/,\n\trpercent = /%$/,\n\t_position = $.fn.position;\n\nfunction getOffsets( offsets, width, height ) {\n\treturn [\n\t\tparseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\n\t\tparseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\n\t];\n}\n\nfunction parseCss( element, property ) {\n\treturn parseInt( $.css( element, property ), 10 ) || 0;\n}\n\nfunction isWindow( obj ) {\n\treturn obj != null && obj === obj.window;\n}\n\nfunction getDimensions( elem ) {\n\tvar raw = elem[ 0 ];\n\tif ( raw.nodeType === 9 ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: 0, left: 0 }\n\t\t};\n\t}\n\tif ( isWindow( raw ) ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: elem.scrollTop(), left: elem.scrollLeft() }\n\t\t};\n\t}\n\tif ( raw.preventDefault ) {\n\t\treturn {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\toffset: { top: raw.pageY, left: raw.pageX }\n\t\t};\n\t}\n\treturn {\n\t\twidth: elem.outerWidth(),\n\t\theight: elem.outerHeight(),\n\t\toffset: elem.offset()\n\t};\n}\n\n$.position = {\n\tscrollbarWidth: function() {\n\t\tif ( cachedScrollbarWidth !== undefined ) {\n\t\t\treturn cachedScrollbarWidth;\n\t\t}\n\t\tvar w1, w2,\n\t\t\tdiv = $( \"
      \" +\n\t\t\t\t\"
      \" ),\n\t\t\tinnerDiv = div.children()[ 0 ];\n\n\t\t$( \"body\" ).append( div );\n\t\tw1 = innerDiv.offsetWidth;\n\t\tdiv.css( \"overflow\", \"scroll\" );\n\n\t\tw2 = innerDiv.offsetWidth;\n\n\t\tif ( w1 === w2 ) {\n\t\t\tw2 = div[ 0 ].clientWidth;\n\t\t}\n\n\t\tdiv.remove();\n\n\t\treturn ( cachedScrollbarWidth = w1 - w2 );\n\t},\n\tgetScrollInfo: function( within ) {\n\t\tvar overflowX = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-x\" ),\n\t\t\toverflowY = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-y\" ),\n\t\t\thasOverflowX = overflowX === \"scroll\" ||\n\t\t\t\t( overflowX === \"auto\" && within.width < within.element[ 0 ].scrollWidth ),\n\t\t\thasOverflowY = overflowY === \"scroll\" ||\n\t\t\t\t( overflowY === \"auto\" && within.height < within.element[ 0 ].scrollHeight );\n\t\treturn {\n\t\t\twidth: hasOverflowY ? $.position.scrollbarWidth() : 0,\n\t\t\theight: hasOverflowX ? $.position.scrollbarWidth() : 0\n\t\t};\n\t},\n\tgetWithinInfo: function( element ) {\n\t\tvar withinElement = $( element || window ),\n\t\t\tisElemWindow = isWindow( withinElement[ 0 ] ),\n\t\t\tisDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9,\n\t\t\thasOffset = !isElemWindow && !isDocument;\n\t\treturn {\n\t\t\telement: withinElement,\n\t\t\tisWindow: isElemWindow,\n\t\t\tisDocument: isDocument,\n\t\t\toffset: hasOffset ? $( element ).offset() : { left: 0, top: 0 },\n\t\t\tscrollLeft: withinElement.scrollLeft(),\n\t\t\tscrollTop: withinElement.scrollTop(),\n\t\t\twidth: withinElement.outerWidth(),\n\t\t\theight: withinElement.outerHeight()\n\t\t};\n\t}\n};\n\n$.fn.position = function( options ) {\n\tif ( !options || !options.of ) {\n\t\treturn _position.apply( this, arguments );\n\t}\n\n\t// Make a copy, we don't want to modify arguments\n\toptions = $.extend( {}, options );\n\n\tvar atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,\n\n\t\t// Make sure string options are treated as CSS selectors\n\t\ttarget = typeof options.of === \"string\" ?\n\t\t\t$( document ).find( options.of ) :\n\t\t\t$( options.of ),\n\n\t\twithin = $.position.getWithinInfo( options.within ),\n\t\tscrollInfo = $.position.getScrollInfo( within ),\n\t\tcollision = ( options.collision || \"flip\" ).split( \" \" ),\n\t\toffsets = {};\n\n\tdimensions = getDimensions( target );\n\tif ( target[ 0 ].preventDefault ) {\n\n\t\t// Force left top to allow flipping\n\t\toptions.at = \"left top\";\n\t}\n\ttargetWidth = dimensions.width;\n\ttargetHeight = dimensions.height;\n\ttargetOffset = dimensions.offset;\n\n\t// Clone to reuse original targetOffset later\n\tbasePosition = $.extend( {}, targetOffset );\n\n\t// Force my and at to have valid horizontal and vertical positions\n\t// if a value is missing or invalid, it will be converted to center\n\t$.each( [ \"my\", \"at\" ], function() {\n\t\tvar pos = ( options[ this ] || \"\" ).split( \" \" ),\n\t\t\thorizontalOffset,\n\t\t\tverticalOffset;\n\n\t\tif ( pos.length === 1 ) {\n\t\t\tpos = rhorizontal.test( pos[ 0 ] ) ?\n\t\t\t\tpos.concat( [ \"center\" ] ) :\n\t\t\t\trvertical.test( pos[ 0 ] ) ?\n\t\t\t\t\t[ \"center\" ].concat( pos ) :\n\t\t\t\t\t[ \"center\", \"center\" ];\n\t\t}\n\t\tpos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : \"center\";\n\t\tpos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : \"center\";\n\n\t\t// Calculate offsets\n\t\thorizontalOffset = roffset.exec( pos[ 0 ] );\n\t\tverticalOffset = roffset.exec( pos[ 1 ] );\n\t\toffsets[ this ] = [\n\t\t\thorizontalOffset ? horizontalOffset[ 0 ] : 0,\n\t\t\tverticalOffset ? verticalOffset[ 0 ] : 0\n\t\t];\n\n\t\t// Reduce to just the positions without the offsets\n\t\toptions[ this ] = [\n\t\t\trposition.exec( pos[ 0 ] )[ 0 ],\n\t\t\trposition.exec( pos[ 1 ] )[ 0 ]\n\t\t];\n\t} );\n\n\t// Normalize collision option\n\tif ( collision.length === 1 ) {\n\t\tcollision[ 1 ] = collision[ 0 ];\n\t}\n\n\tif ( options.at[ 0 ] === \"right\" ) {\n\t\tbasePosition.left += targetWidth;\n\t} else if ( options.at[ 0 ] === \"center\" ) {\n\t\tbasePosition.left += targetWidth / 2;\n\t}\n\n\tif ( options.at[ 1 ] === \"bottom\" ) {\n\t\tbasePosition.top += targetHeight;\n\t} else if ( options.at[ 1 ] === \"center\" ) {\n\t\tbasePosition.top += targetHeight / 2;\n\t}\n\n\tatOffset = getOffsets( offsets.at, targetWidth, targetHeight );\n\tbasePosition.left += atOffset[ 0 ];\n\tbasePosition.top += atOffset[ 1 ];\n\n\treturn this.each( function() {\n\t\tvar collisionPosition, using,\n\t\t\telem = $( this ),\n\t\t\telemWidth = elem.outerWidth(),\n\t\t\telemHeight = elem.outerHeight(),\n\t\t\tmarginLeft = parseCss( this, \"marginLeft\" ),\n\t\t\tmarginTop = parseCss( this, \"marginTop\" ),\n\t\t\tcollisionWidth = elemWidth + marginLeft + parseCss( this, \"marginRight\" ) +\n\t\t\t\tscrollInfo.width,\n\t\t\tcollisionHeight = elemHeight + marginTop + parseCss( this, \"marginBottom\" ) +\n\t\t\t\tscrollInfo.height,\n\t\t\tposition = $.extend( {}, basePosition ),\n\t\t\tmyOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );\n\n\t\tif ( options.my[ 0 ] === \"right\" ) {\n\t\t\tposition.left -= elemWidth;\n\t\t} else if ( options.my[ 0 ] === \"center\" ) {\n\t\t\tposition.left -= elemWidth / 2;\n\t\t}\n\n\t\tif ( options.my[ 1 ] === \"bottom\" ) {\n\t\t\tposition.top -= elemHeight;\n\t\t} else if ( options.my[ 1 ] === \"center\" ) {\n\t\t\tposition.top -= elemHeight / 2;\n\t\t}\n\n\t\tposition.left += myOffset[ 0 ];\n\t\tposition.top += myOffset[ 1 ];\n\n\t\tcollisionPosition = {\n\t\t\tmarginLeft: marginLeft,\n\t\t\tmarginTop: marginTop\n\t\t};\n\n\t\t$.each( [ \"left\", \"top\" ], function( i, dir ) {\n\t\t\tif ( $.ui.position[ collision[ i ] ] ) {\n\t\t\t\t$.ui.position[ collision[ i ] ][ dir ]( position, {\n\t\t\t\t\ttargetWidth: targetWidth,\n\t\t\t\t\ttargetHeight: targetHeight,\n\t\t\t\t\telemWidth: elemWidth,\n\t\t\t\t\telemHeight: elemHeight,\n\t\t\t\t\tcollisionPosition: collisionPosition,\n\t\t\t\t\tcollisionWidth: collisionWidth,\n\t\t\t\t\tcollisionHeight: collisionHeight,\n\t\t\t\t\toffset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],\n\t\t\t\t\tmy: options.my,\n\t\t\t\t\tat: options.at,\n\t\t\t\t\twithin: within,\n\t\t\t\t\telem: elem\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\tif ( options.using ) {\n\n\t\t\t// Adds feedback as second argument to using callback, if present\n\t\t\tusing = function( props ) {\n\t\t\t\tvar left = targetOffset.left - position.left,\n\t\t\t\t\tright = left + targetWidth - elemWidth,\n\t\t\t\t\ttop = targetOffset.top - position.top,\n\t\t\t\t\tbottom = top + targetHeight - elemHeight,\n\t\t\t\t\tfeedback = {\n\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\telement: target,\n\t\t\t\t\t\t\tleft: targetOffset.left,\n\t\t\t\t\t\t\ttop: targetOffset.top,\n\t\t\t\t\t\t\twidth: targetWidth,\n\t\t\t\t\t\t\theight: targetHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\telement: {\n\t\t\t\t\t\t\telement: elem,\n\t\t\t\t\t\t\tleft: position.left,\n\t\t\t\t\t\t\ttop: position.top,\n\t\t\t\t\t\t\twidth: elemWidth,\n\t\t\t\t\t\t\theight: elemHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\thorizontal: right < 0 ? \"left\" : left > 0 ? \"right\" : \"center\",\n\t\t\t\t\t\tvertical: bottom < 0 ? \"top\" : top > 0 ? \"bottom\" : \"middle\"\n\t\t\t\t\t};\n\t\t\t\tif ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {\n\t\t\t\t\tfeedback.horizontal = \"center\";\n\t\t\t\t}\n\t\t\t\tif ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {\n\t\t\t\t\tfeedback.vertical = \"middle\";\n\t\t\t\t}\n\t\t\t\tif ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {\n\t\t\t\t\tfeedback.important = \"horizontal\";\n\t\t\t\t} else {\n\t\t\t\t\tfeedback.important = \"vertical\";\n\t\t\t\t}\n\t\t\t\toptions.using.call( this, props, feedback );\n\t\t\t};\n\t\t}\n\n\t\telem.offset( $.extend( position, { using: using } ) );\n\t} );\n};\n\n$.ui.position = {\n\tfit: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\touterWidth = within.width,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = withinOffset - collisionPosLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,\n\t\t\t\tnewOverRight;\n\n\t\t\t// Element is wider than within\n\t\t\tif ( data.collisionWidth > outerWidth ) {\n\n\t\t\t\t// Element is initially over the left side of within\n\t\t\t\tif ( overLeft > 0 && overRight <= 0 ) {\n\t\t\t\t\tnewOverRight = position.left + overLeft + data.collisionWidth - outerWidth -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.left += overLeft - newOverRight;\n\n\t\t\t\t// Element is initially over right side of within\n\t\t\t\t} else if ( overRight > 0 && overLeft <= 0 ) {\n\t\t\t\t\tposition.left = withinOffset;\n\n\t\t\t\t// Element is initially over both left and right sides of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overLeft > overRight ) {\n\t\t\t\t\t\tposition.left = withinOffset + outerWidth - data.collisionWidth;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.left = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far left -> align with left edge\n\t\t\t} else if ( overLeft > 0 ) {\n\t\t\t\tposition.left += overLeft;\n\n\t\t\t// Too far right -> align with right edge\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tposition.left -= overRight;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.left = max( position.left - collisionPosLeft, position.left );\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\touterHeight = data.within.height,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = withinOffset - collisionPosTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,\n\t\t\t\tnewOverBottom;\n\n\t\t\t// Element is taller than within\n\t\t\tif ( data.collisionHeight > outerHeight ) {\n\n\t\t\t\t// Element is initially over the top of within\n\t\t\t\tif ( overTop > 0 && overBottom <= 0 ) {\n\t\t\t\t\tnewOverBottom = position.top + overTop + data.collisionHeight - outerHeight -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.top += overTop - newOverBottom;\n\n\t\t\t\t// Element is initially over bottom of within\n\t\t\t\t} else if ( overBottom > 0 && overTop <= 0 ) {\n\t\t\t\t\tposition.top = withinOffset;\n\n\t\t\t\t// Element is initially over both top and bottom of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overTop > overBottom ) {\n\t\t\t\t\t\tposition.top = withinOffset + outerHeight - data.collisionHeight;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.top = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far up -> align with top\n\t\t\t} else if ( overTop > 0 ) {\n\t\t\t\tposition.top += overTop;\n\n\t\t\t// Too far down -> align with bottom edge\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tposition.top -= overBottom;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.top = max( position.top - collisionPosTop, position.top );\n\t\t\t}\n\t\t}\n\t},\n\tflip: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.left + within.scrollLeft,\n\t\t\t\touterWidth = within.width,\n\t\t\t\toffsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = collisionPosLeft - offsetLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,\n\t\t\t\tmyOffset = data.my[ 0 ] === \"left\" ?\n\t\t\t\t\t-data.elemWidth :\n\t\t\t\t\tdata.my[ 0 ] === \"right\" ?\n\t\t\t\t\t\tdata.elemWidth :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 0 ] === \"left\" ?\n\t\t\t\t\tdata.targetWidth :\n\t\t\t\t\tdata.at[ 0 ] === \"right\" ?\n\t\t\t\t\t\t-data.targetWidth :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 0 ],\n\t\t\t\tnewOverRight,\n\t\t\t\tnewOverLeft;\n\n\t\t\tif ( overLeft < 0 ) {\n\t\t\t\tnewOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth -\n\t\t\t\t\touterWidth - withinOffset;\n\t\t\t\tif ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tnewOverLeft = position.left - data.collisionPosition.marginLeft + myOffset +\n\t\t\t\t\tatOffset + offset - offsetLeft;\n\t\t\t\tif ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.top + within.scrollTop,\n\t\t\t\touterHeight = within.height,\n\t\t\t\toffsetTop = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = collisionPosTop - offsetTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,\n\t\t\t\ttop = data.my[ 1 ] === \"top\",\n\t\t\t\tmyOffset = top ?\n\t\t\t\t\t-data.elemHeight :\n\t\t\t\t\tdata.my[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\tdata.elemHeight :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 1 ] === \"top\" ?\n\t\t\t\t\tdata.targetHeight :\n\t\t\t\t\tdata.at[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\t-data.targetHeight :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 1 ],\n\t\t\t\tnewOverTop,\n\t\t\t\tnewOverBottom;\n\t\t\tif ( overTop < 0 ) {\n\t\t\t\tnewOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight -\n\t\t\t\t\touterHeight - withinOffset;\n\t\t\t\tif ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tnewOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset +\n\t\t\t\t\toffset - offsetTop;\n\t\t\t\tif ( newOverTop > 0 || abs( newOverTop ) < overBottom ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tflipfit: {\n\t\tleft: function() {\n\t\t\t$.ui.position.flip.left.apply( this, arguments );\n\t\t\t$.ui.position.fit.left.apply( this, arguments );\n\t\t},\n\t\ttop: function() {\n\t\t\t$.ui.position.flip.top.apply( this, arguments );\n\t\t\t$.ui.position.fit.top.apply( this, arguments );\n\t\t}\n\t}\n};\n\n} )();\n\nvar position = $.ui.position;\n\n\n/*!\n * jQuery UI :data 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: :data Selector\n//>>group: Core\n//>>description: Selects elements which have data stored under the specified key.\n//>>docs: http://api.jqueryui.com/data-selector/\n\n\nvar data = $.extend( $.expr.pseudos, {\n\tdata: $.expr.createPseudo ?\n\t\t$.expr.createPseudo( function( dataName ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn !!$.data( elem, dataName );\n\t\t\t};\n\t\t} ) :\n\n\t\t// Support: jQuery <1.8\n\t\tfunction( elem, i, match ) {\n\t\t\treturn !!$.data( elem, match[ 3 ] );\n\t\t}\n} );\n\n/*!\n * jQuery UI Disable Selection 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: disableSelection\n//>>group: Core\n//>>description: Disable selection of text content within the set of matched elements.\n//>>docs: http://api.jqueryui.com/disableSelection/\n\n// This file is deprecated\n\nvar disableSelection = $.fn.extend( {\n\tdisableSelection: ( function() {\n\t\tvar eventType = \"onselectstart\" in document.createElement( \"div\" ) ?\n\t\t\t\"selectstart\" :\n\t\t\t\"mousedown\";\n\n\t\treturn function() {\n\t\t\treturn this.on( eventType + \".ui-disableSelection\", function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t} );\n\t\t};\n\t} )(),\n\n\tenableSelection: function() {\n\t\treturn this.off( \".ui-disableSelection\" );\n\t}\n} );\n\n\n\n// Create a local jQuery because jQuery Color relies on it and the\n// global may not exist with AMD and a custom build (#10199).\n// This module is a noop if used as a regular AMD module.\n// eslint-disable-next-line no-unused-vars\nvar jQuery = $;\n\n\n/*!\n * jQuery Color Animations v2.2.0\n * https://github.com/jquery/jquery-color\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * Date: Sun May 10 09:02:36 2020 +0200\n */\n\n\n\n\tvar stepHooks = \"backgroundColor borderBottomColor borderLeftColor borderRightColor \" +\n\t\t\"borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor\",\n\n\tclass2type = {},\n\ttoString = class2type.toString,\n\n\t// plusequals test for += 100 -= 100\n\trplusequals = /^([\\-+])=\\s*(\\d+\\.?\\d*)/,\n\n\t// a set of RE's that can match strings and generate color tuples.\n\tstringParsers = [ {\n\t\t\tre: /rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ],\n\t\t\t\t\texecResult[ 2 ],\n\t\t\t\t\texecResult[ 3 ],\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\tre: /rgba?\\(\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ] * 2.55,\n\t\t\t\t\texecResult[ 2 ] * 2.55,\n\t\t\t\t\texecResult[ 3 ] * 2.55,\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\n\t\t\t// this regex ignores A-F because it's compared against an already lowercased string\n\t\t\tre: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\tparseInt( execResult[ 1 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 2 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 3 ], 16 ),\n\t\t\t\t\texecResult[ 4 ] ?\n\t\t\t\t\t\t( parseInt( execResult[ 4 ], 16 ) / 255 ).toFixed( 2 ) :\n\t\t\t\t\t\t1\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\n\t\t\t// this regex ignores A-F because it's compared against an already lowercased string\n\t\t\tre: /#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\tparseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 3 ] + execResult[ 3 ], 16 ),\n\t\t\t\t\texecResult[ 4 ] ?\n\t\t\t\t\t\t( parseInt( execResult[ 4 ] + execResult[ 4 ], 16 ) / 255 )\n\t\t\t\t\t\t\t.toFixed( 2 ) :\n\t\t\t\t\t\t1\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\tre: /hsla?\\(\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tspace: \"hsla\",\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ],\n\t\t\t\t\texecResult[ 2 ] / 100,\n\t\t\t\t\texecResult[ 3 ] / 100,\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t} ],\n\n\t// jQuery.Color( )\n\tcolor = jQuery.Color = function( color, green, blue, alpha ) {\n\t\treturn new jQuery.Color.fn.parse( color, green, blue, alpha );\n\t},\n\tspaces = {\n\t\trgba: {\n\t\t\tprops: {\n\t\t\t\tred: {\n\t\t\t\t\tidx: 0,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t},\n\t\t\t\tgreen: {\n\t\t\t\t\tidx: 1,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t},\n\t\t\t\tblue: {\n\t\t\t\t\tidx: 2,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\thsla: {\n\t\t\tprops: {\n\t\t\t\thue: {\n\t\t\t\t\tidx: 0,\n\t\t\t\t\ttype: \"degrees\"\n\t\t\t\t},\n\t\t\t\tsaturation: {\n\t\t\t\t\tidx: 1,\n\t\t\t\t\ttype: \"percent\"\n\t\t\t\t},\n\t\t\t\tlightness: {\n\t\t\t\t\tidx: 2,\n\t\t\t\t\ttype: \"percent\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tpropTypes = {\n\t\t\"byte\": {\n\t\t\tfloor: true,\n\t\t\tmax: 255\n\t\t},\n\t\t\"percent\": {\n\t\t\tmax: 1\n\t\t},\n\t\t\"degrees\": {\n\t\t\tmod: 360,\n\t\t\tfloor: true\n\t\t}\n\t},\n\tsupport = color.support = {},\n\n\t// element for support tests\n\tsupportElem = jQuery( \"

      \" )[ 0 ],\n\n\t// colors = jQuery.Color.names\n\tcolors,\n\n\t// local aliases of functions called often\n\teach = jQuery.each;\n\n// determine rgba support immediately\nsupportElem.style.cssText = \"background-color:rgba(1,1,1,.5)\";\nsupport.rgba = supportElem.style.backgroundColor.indexOf( \"rgba\" ) > -1;\n\n// define cache name and alpha properties\n// for rgba and hsla spaces\neach( spaces, function( spaceName, space ) {\n\tspace.cache = \"_\" + spaceName;\n\tspace.props.alpha = {\n\t\tidx: 3,\n\t\ttype: \"percent\",\n\t\tdef: 1\n\t};\n} );\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n\tfunction( _i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\n\nfunction getType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\treturn typeof obj === \"object\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n\nfunction clamp( value, prop, allowEmpty ) {\n\tvar type = propTypes[ prop.type ] || {};\n\n\tif ( value == null ) {\n\t\treturn ( allowEmpty || !prop.def ) ? null : prop.def;\n\t}\n\n\t// ~~ is an short way of doing floor for positive numbers\n\tvalue = type.floor ? ~~value : parseFloat( value );\n\n\t// IE will pass in empty strings as value for alpha,\n\t// which will hit this case\n\tif ( isNaN( value ) ) {\n\t\treturn prop.def;\n\t}\n\n\tif ( type.mod ) {\n\n\t\t// we add mod before modding to make sure that negatives values\n\t\t// get converted properly: -10 -> 350\n\t\treturn ( value + type.mod ) % type.mod;\n\t}\n\n\t// for now all property types without mod have min and max\n\treturn Math.min( type.max, Math.max( 0, value ) );\n}\n\nfunction stringParse( string ) {\n\tvar inst = color(),\n\t\trgba = inst._rgba = [];\n\n\tstring = string.toLowerCase();\n\n\teach( stringParsers, function( _i, parser ) {\n\t\tvar parsed,\n\t\t\tmatch = parser.re.exec( string ),\n\t\t\tvalues = match && parser.parse( match ),\n\t\t\tspaceName = parser.space || \"rgba\";\n\n\t\tif ( values ) {\n\t\t\tparsed = inst[ spaceName ]( values );\n\n\t\t\t// if this was an rgba parse the assignment might happen twice\n\t\t\t// oh well....\n\t\t\tinst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];\n\t\t\trgba = inst._rgba = parsed._rgba;\n\n\t\t\t// exit each( stringParsers ) here because we matched\n\t\t\treturn false;\n\t\t}\n\t} );\n\n\t// Found a stringParser that handled it\n\tif ( rgba.length ) {\n\n\t\t// if this came from a parsed string, force \"transparent\" when alpha is 0\n\t\t// chrome, (and maybe others) return \"transparent\" as rgba(0,0,0,0)\n\t\tif ( rgba.join() === \"0,0,0,0\" ) {\n\t\t\tjQuery.extend( rgba, colors.transparent );\n\t\t}\n\t\treturn inst;\n\t}\n\n\t// named colors\n\treturn colors[ string ];\n}\n\ncolor.fn = jQuery.extend( color.prototype, {\n\tparse: function( red, green, blue, alpha ) {\n\t\tif ( red === undefined ) {\n\t\t\tthis._rgba = [ null, null, null, null ];\n\t\t\treturn this;\n\t\t}\n\t\tif ( red.jquery || red.nodeType ) {\n\t\t\tred = jQuery( red ).css( green );\n\t\t\tgreen = undefined;\n\t\t}\n\n\t\tvar inst = this,\n\t\t\ttype = getType( red ),\n\t\t\trgba = this._rgba = [];\n\n\t\t// more than 1 argument specified - assume ( red, green, blue, alpha )\n\t\tif ( green !== undefined ) {\n\t\t\tred = [ red, green, blue, alpha ];\n\t\t\ttype = \"array\";\n\t\t}\n\n\t\tif ( type === \"string\" ) {\n\t\t\treturn this.parse( stringParse( red ) || colors._default );\n\t\t}\n\n\t\tif ( type === \"array\" ) {\n\t\t\teach( spaces.rgba.props, function( _key, prop ) {\n\t\t\t\trgba[ prop.idx ] = clamp( red[ prop.idx ], prop );\n\t\t\t} );\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( type === \"object\" ) {\n\t\t\tif ( red instanceof color ) {\n\t\t\t\teach( spaces, function( _spaceName, space ) {\n\t\t\t\t\tif ( red[ space.cache ] ) {\n\t\t\t\t\t\tinst[ space.cache ] = red[ space.cache ].slice();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\teach( spaces, function( _spaceName, space ) {\n\t\t\t\t\tvar cache = space.cache;\n\t\t\t\t\teach( space.props, function( key, prop ) {\n\n\t\t\t\t\t\t// if the cache doesn't exist, and we know how to convert\n\t\t\t\t\t\tif ( !inst[ cache ] && space.to ) {\n\n\t\t\t\t\t\t\t// if the value was null, we don't need to copy it\n\t\t\t\t\t\t\t// if the key was alpha, we don't need to copy it either\n\t\t\t\t\t\t\tif ( key === \"alpha\" || red[ key ] == null ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinst[ cache ] = space.to( inst._rgba );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// this is the only case where we allow nulls for ALL properties.\n\t\t\t\t\t\t// call clamp with alwaysAllowEmpty\n\t\t\t\t\t\tinst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );\n\t\t\t\t\t} );\n\n\t\t\t\t\t// everything defined but alpha?\n\t\t\t\t\tif ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {\n\n\t\t\t\t\t\t// use the default of 1\n\t\t\t\t\t\tif ( inst[ cache ][ 3 ] == null ) {\n\t\t\t\t\t\t\tinst[ cache ][ 3 ] = 1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( space.from ) {\n\t\t\t\t\t\t\tinst._rgba = space.from( inst[ cache ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t},\n\tis: function( compare ) {\n\t\tvar is = color( compare ),\n\t\t\tsame = true,\n\t\t\tinst = this;\n\n\t\teach( spaces, function( _, space ) {\n\t\t\tvar localCache,\n\t\t\t\tisCache = is[ space.cache ];\n\t\t\tif ( isCache ) {\n\t\t\t\tlocalCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];\n\t\t\t\teach( space.props, function( _, prop ) {\n\t\t\t\t\tif ( isCache[ prop.idx ] != null ) {\n\t\t\t\t\t\tsame = ( isCache[ prop.idx ] === localCache[ prop.idx ] );\n\t\t\t\t\t\treturn same;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn same;\n\t\t} );\n\t\treturn same;\n\t},\n\t_space: function() {\n\t\tvar used = [],\n\t\t\tinst = this;\n\t\teach( spaces, function( spaceName, space ) {\n\t\t\tif ( inst[ space.cache ] ) {\n\t\t\t\tused.push( spaceName );\n\t\t\t}\n\t\t} );\n\t\treturn used.pop();\n\t},\n\ttransition: function( other, distance ) {\n\t\tvar end = color( other ),\n\t\t\tspaceName = end._space(),\n\t\t\tspace = spaces[ spaceName ],\n\t\t\tstartColor = this.alpha() === 0 ? color( \"transparent\" ) : this,\n\t\t\tstart = startColor[ space.cache ] || space.to( startColor._rgba ),\n\t\t\tresult = start.slice();\n\n\t\tend = end[ space.cache ];\n\t\teach( space.props, function( _key, prop ) {\n\t\t\tvar index = prop.idx,\n\t\t\t\tstartValue = start[ index ],\n\t\t\t\tendValue = end[ index ],\n\t\t\t\ttype = propTypes[ prop.type ] || {};\n\n\t\t\t// if null, don't override start value\n\t\t\tif ( endValue === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// if null - use end\n\t\t\tif ( startValue === null ) {\n\t\t\t\tresult[ index ] = endValue;\n\t\t\t} else {\n\t\t\t\tif ( type.mod ) {\n\t\t\t\t\tif ( endValue - startValue > type.mod / 2 ) {\n\t\t\t\t\t\tstartValue += type.mod;\n\t\t\t\t\t} else if ( startValue - endValue > type.mod / 2 ) {\n\t\t\t\t\t\tstartValue -= type.mod;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresult[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );\n\t\t\t}\n\t\t} );\n\t\treturn this[ spaceName ]( result );\n\t},\n\tblend: function( opaque ) {\n\n\t\t// if we are already opaque - return ourself\n\t\tif ( this._rgba[ 3 ] === 1 ) {\n\t\t\treturn this;\n\t\t}\n\n\t\tvar rgb = this._rgba.slice(),\n\t\t\ta = rgb.pop(),\n\t\t\tblend = color( opaque )._rgba;\n\n\t\treturn color( jQuery.map( rgb, function( v, i ) {\n\t\t\treturn ( 1 - a ) * blend[ i ] + a * v;\n\t\t} ) );\n\t},\n\ttoRgbaString: function() {\n\t\tvar prefix = \"rgba(\",\n\t\t\trgba = jQuery.map( this._rgba, function( v, i ) {\n\t\t\t\tif ( v != null ) {\n\t\t\t\t\treturn v;\n\t\t\t\t}\n\t\t\t\treturn i > 2 ? 1 : 0;\n\t\t\t} );\n\n\t\tif ( rgba[ 3 ] === 1 ) {\n\t\t\trgba.pop();\n\t\t\tprefix = \"rgb(\";\n\t\t}\n\n\t\treturn prefix + rgba.join() + \")\";\n\t},\n\ttoHslaString: function() {\n\t\tvar prefix = \"hsla(\",\n\t\t\thsla = jQuery.map( this.hsla(), function( v, i ) {\n\t\t\t\tif ( v == null ) {\n\t\t\t\t\tv = i > 2 ? 1 : 0;\n\t\t\t\t}\n\n\t\t\t\t// catch 1 and 2\n\t\t\t\tif ( i && i < 3 ) {\n\t\t\t\t\tv = Math.round( v * 100 ) + \"%\";\n\t\t\t\t}\n\t\t\t\treturn v;\n\t\t\t} );\n\n\t\tif ( hsla[ 3 ] === 1 ) {\n\t\t\thsla.pop();\n\t\t\tprefix = \"hsl(\";\n\t\t}\n\t\treturn prefix + hsla.join() + \")\";\n\t},\n\ttoHexString: function( includeAlpha ) {\n\t\tvar rgba = this._rgba.slice(),\n\t\t\talpha = rgba.pop();\n\n\t\tif ( includeAlpha ) {\n\t\t\trgba.push( ~~( alpha * 255 ) );\n\t\t}\n\n\t\treturn \"#\" + jQuery.map( rgba, function( v ) {\n\n\t\t\t// default to 0 when nulls exist\n\t\t\tv = ( v || 0 ).toString( 16 );\n\t\t\treturn v.length === 1 ? \"0\" + v : v;\n\t\t} ).join( \"\" );\n\t},\n\ttoString: function() {\n\t\treturn this._rgba[ 3 ] === 0 ? \"transparent\" : this.toRgbaString();\n\t}\n} );\ncolor.fn.parse.prototype = color.fn;\n\n// hsla conversions adapted from:\n// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021\n\nfunction hue2rgb( p, q, h ) {\n\th = ( h + 1 ) % 1;\n\tif ( h * 6 < 1 ) {\n\t\treturn p + ( q - p ) * h * 6;\n\t}\n\tif ( h * 2 < 1 ) {\n\t\treturn q;\n\t}\n\tif ( h * 3 < 2 ) {\n\t\treturn p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6;\n\t}\n\treturn p;\n}\n\nspaces.hsla.to = function( rgba ) {\n\tif ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {\n\t\treturn [ null, null, null, rgba[ 3 ] ];\n\t}\n\tvar r = rgba[ 0 ] / 255,\n\t\tg = rgba[ 1 ] / 255,\n\t\tb = rgba[ 2 ] / 255,\n\t\ta = rgba[ 3 ],\n\t\tmax = Math.max( r, g, b ),\n\t\tmin = Math.min( r, g, b ),\n\t\tdiff = max - min,\n\t\tadd = max + min,\n\t\tl = add * 0.5,\n\t\th, s;\n\n\tif ( min === max ) {\n\t\th = 0;\n\t} else if ( r === max ) {\n\t\th = ( 60 * ( g - b ) / diff ) + 360;\n\t} else if ( g === max ) {\n\t\th = ( 60 * ( b - r ) / diff ) + 120;\n\t} else {\n\t\th = ( 60 * ( r - g ) / diff ) + 240;\n\t}\n\n\t// chroma (diff) == 0 means greyscale which, by definition, saturation = 0%\n\t// otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)\n\tif ( diff === 0 ) {\n\t\ts = 0;\n\t} else if ( l <= 0.5 ) {\n\t\ts = diff / add;\n\t} else {\n\t\ts = diff / ( 2 - add );\n\t}\n\treturn [ Math.round( h ) % 360, s, l, a == null ? 1 : a ];\n};\n\nspaces.hsla.from = function( hsla ) {\n\tif ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {\n\t\treturn [ null, null, null, hsla[ 3 ] ];\n\t}\n\tvar h = hsla[ 0 ] / 360,\n\t\ts = hsla[ 1 ],\n\t\tl = hsla[ 2 ],\n\t\ta = hsla[ 3 ],\n\t\tq = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,\n\t\tp = 2 * l - q;\n\n\treturn [\n\t\tMath.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),\n\t\tMath.round( hue2rgb( p, q, h ) * 255 ),\n\t\tMath.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),\n\t\ta\n\t];\n};\n\n\neach( spaces, function( spaceName, space ) {\n\tvar props = space.props,\n\t\tcache = space.cache,\n\t\tto = space.to,\n\t\tfrom = space.from;\n\n\t// makes rgba() and hsla()\n\tcolor.fn[ spaceName ] = function( value ) {\n\n\t\t// generate a cache for this space if it doesn't exist\n\t\tif ( to && !this[ cache ] ) {\n\t\t\tthis[ cache ] = to( this._rgba );\n\t\t}\n\t\tif ( value === undefined ) {\n\t\t\treturn this[ cache ].slice();\n\t\t}\n\n\t\tvar ret,\n\t\t\ttype = getType( value ),\n\t\t\tarr = ( type === \"array\" || type === \"object\" ) ? value : arguments,\n\t\t\tlocal = this[ cache ].slice();\n\n\t\teach( props, function( key, prop ) {\n\t\t\tvar val = arr[ type === \"object\" ? key : prop.idx ];\n\t\t\tif ( val == null ) {\n\t\t\t\tval = local[ prop.idx ];\n\t\t\t}\n\t\t\tlocal[ prop.idx ] = clamp( val, prop );\n\t\t} );\n\n\t\tif ( from ) {\n\t\t\tret = color( from( local ) );\n\t\t\tret[ cache ] = local;\n\t\t\treturn ret;\n\t\t} else {\n\t\t\treturn color( local );\n\t\t}\n\t};\n\n\t// makes red() green() blue() alpha() hue() saturation() lightness()\n\teach( props, function( key, prop ) {\n\n\t\t// alpha is included in more than one space\n\t\tif ( color.fn[ key ] ) {\n\t\t\treturn;\n\t\t}\n\t\tcolor.fn[ key ] = function( value ) {\n\t\t\tvar local, cur, match, fn,\n\t\t\t\tvtype = getType( value );\n\n\t\t\tif ( key === \"alpha\" ) {\n\t\t\t\tfn = this._hsla ? \"hsla\" : \"rgba\";\n\t\t\t} else {\n\t\t\t\tfn = spaceName;\n\t\t\t}\n\t\t\tlocal = this[ fn ]();\n\t\t\tcur = local[ prop.idx ];\n\n\t\t\tif ( vtype === \"undefined\" ) {\n\t\t\t\treturn cur;\n\t\t\t}\n\n\t\t\tif ( vtype === \"function\" ) {\n\t\t\t\tvalue = value.call( this, cur );\n\t\t\t\tvtype = getType( value );\n\t\t\t}\n\t\t\tif ( value == null && prop.empty ) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif ( vtype === \"string\" ) {\n\t\t\t\tmatch = rplusequals.exec( value );\n\t\t\t\tif ( match ) {\n\t\t\t\t\tvalue = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === \"+\" ? 1 : -1 );\n\t\t\t\t}\n\t\t\t}\n\t\t\tlocal[ prop.idx ] = value;\n\t\t\treturn this[ fn ]( local );\n\t\t};\n\t} );\n} );\n\n// add cssHook and .fx.step function for each named hook.\n// accept a space separated string of properties\ncolor.hook = function( hook ) {\n\tvar hooks = hook.split( \" \" );\n\teach( hooks, function( _i, hook ) {\n\t\tjQuery.cssHooks[ hook ] = {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar parsed, curElem,\n\t\t\t\t\tbackgroundColor = \"\";\n\n\t\t\t\tif ( value !== \"transparent\" && ( getType( value ) !== \"string\" || ( parsed = stringParse( value ) ) ) ) {\n\t\t\t\t\tvalue = color( parsed || value );\n\t\t\t\t\tif ( !support.rgba && value._rgba[ 3 ] !== 1 ) {\n\t\t\t\t\t\tcurElem = hook === \"backgroundColor\" ? elem.parentNode : elem;\n\t\t\t\t\t\twhile (\n\t\t\t\t\t\t\t( backgroundColor === \"\" || backgroundColor === \"transparent\" ) &&\n\t\t\t\t\t\t\tcurElem && curElem.style\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tbackgroundColor = jQuery.css( curElem, \"backgroundColor\" );\n\t\t\t\t\t\t\t\tcurElem = curElem.parentNode;\n\t\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvalue = value.blend( backgroundColor && backgroundColor !== \"transparent\" ?\n\t\t\t\t\t\t\tbackgroundColor :\n\t\t\t\t\t\t\t\"_default\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tvalue = value.toRgbaString();\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\telem.style[ hook ] = value;\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// wrapped to prevent IE from throwing errors on \"invalid\" values like 'auto' or 'inherit'\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tjQuery.fx.step[ hook ] = function( fx ) {\n\t\t\tif ( !fx.colorInit ) {\n\t\t\t\tfx.start = color( fx.elem, hook );\n\t\t\t\tfx.end = color( fx.end );\n\t\t\t\tfx.colorInit = true;\n\t\t\t}\n\t\t\tjQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );\n\t\t};\n\t} );\n\n};\n\ncolor.hook( stepHooks );\n\njQuery.cssHooks.borderColor = {\n\texpand: function( value ) {\n\t\tvar expanded = {};\n\n\t\teach( [ \"Top\", \"Right\", \"Bottom\", \"Left\" ], function( _i, part ) {\n\t\t\texpanded[ \"border\" + part + \"Color\" ] = value;\n\t\t} );\n\t\treturn expanded;\n\t}\n};\n\n// Basic color names only.\n// Usage of any of the other color names requires adding yourself or including\n// jquery.color.svg-names.js.\ncolors = jQuery.Color.names = {\n\n\t// 4.1. Basic color keywords\n\taqua: \"#00ffff\",\n\tblack: \"#000000\",\n\tblue: \"#0000ff\",\n\tfuchsia: \"#ff00ff\",\n\tgray: \"#808080\",\n\tgreen: \"#008000\",\n\tlime: \"#00ff00\",\n\tmaroon: \"#800000\",\n\tnavy: \"#000080\",\n\tolive: \"#808000\",\n\tpurple: \"#800080\",\n\tred: \"#ff0000\",\n\tsilver: \"#c0c0c0\",\n\tteal: \"#008080\",\n\twhite: \"#ffffff\",\n\tyellow: \"#ffff00\",\n\n\t// 4.2.3. \"transparent\" color keyword\n\ttransparent: [ null, null, null, 0 ],\n\n\t_default: \"#ffffff\"\n};\n\n\n/*!\n * jQuery UI Effects 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Effects Core\n//>>group: Effects\n/* eslint-disable max-len */\n//>>description: Extends the internal jQuery effects. Includes morphing and easing. Required by all other effects.\n/* eslint-enable max-len */\n//>>docs: http://api.jqueryui.com/category/effects-core/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar dataSpace = \"ui-effects-\",\n\tdataSpaceStyle = \"ui-effects-style\",\n\tdataSpaceAnimated = \"ui-effects-animated\";\n\n$.effects = {\n\teffect: {}\n};\n\n/******************************************************************************/\n/****************************** CLASS ANIMATIONS ******************************/\n/******************************************************************************/\n( function() {\n\nvar classAnimationActions = [ \"add\", \"remove\", \"toggle\" ],\n\tshorthandStyles = {\n\t\tborder: 1,\n\t\tborderBottom: 1,\n\t\tborderColor: 1,\n\t\tborderLeft: 1,\n\t\tborderRight: 1,\n\t\tborderTop: 1,\n\t\tborderWidth: 1,\n\t\tmargin: 1,\n\t\tpadding: 1\n\t};\n\n$.each(\n\t[ \"borderLeftStyle\", \"borderRightStyle\", \"borderBottomStyle\", \"borderTopStyle\" ],\n\tfunction( _, prop ) {\n\t\t$.fx.step[ prop ] = function( fx ) {\n\t\t\tif ( fx.end !== \"none\" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {\n\t\t\t\tjQuery.style( fx.elem, prop, fx.end );\n\t\t\t\tfx.setAttr = true;\n\t\t\t}\n\t\t};\n\t}\n);\n\nfunction camelCase( string ) {\n\treturn string.replace( /-([\\da-z])/gi, function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t} );\n}\n\nfunction getElementStyles( elem ) {\n\tvar key, len,\n\t\tstyle = elem.ownerDocument.defaultView ?\n\t\t\telem.ownerDocument.defaultView.getComputedStyle( elem, null ) :\n\t\t\telem.currentStyle,\n\t\tstyles = {};\n\n\tif ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) {\n\t\tlen = style.length;\n\t\twhile ( len-- ) {\n\t\t\tkey = style[ len ];\n\t\t\tif ( typeof style[ key ] === \"string\" ) {\n\t\t\t\tstyles[ camelCase( key ) ] = style[ key ];\n\t\t\t}\n\t\t}\n\n\t// Support: Opera, IE <9\n\t} else {\n\t\tfor ( key in style ) {\n\t\t\tif ( typeof style[ key ] === \"string\" ) {\n\t\t\t\tstyles[ key ] = style[ key ];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn styles;\n}\n\nfunction styleDifference( oldStyle, newStyle ) {\n\tvar diff = {},\n\t\tname, value;\n\n\tfor ( name in newStyle ) {\n\t\tvalue = newStyle[ name ];\n\t\tif ( oldStyle[ name ] !== value ) {\n\t\t\tif ( !shorthandStyles[ name ] ) {\n\t\t\t\tif ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) {\n\t\t\t\t\tdiff[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn diff;\n}\n\n// Support: jQuery <1.8\nif ( !$.fn.addBack ) {\n\t$.fn.addBack = function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t};\n}\n\n$.effects.animateClass = function( value, duration, easing, callback ) {\n\tvar o = $.speed( duration, easing, callback );\n\n\treturn this.queue( function() {\n\t\tvar animated = $( this ),\n\t\t\tbaseClass = animated.attr( \"class\" ) || \"\",\n\t\t\tapplyClassChange,\n\t\t\tallAnimations = o.children ? animated.find( \"*\" ).addBack() : animated;\n\n\t\t// Map the animated objects to store the original styles.\n\t\tallAnimations = allAnimations.map( function() {\n\t\t\tvar el = $( this );\n\t\t\treturn {\n\t\t\t\tel: el,\n\t\t\t\tstart: getElementStyles( this )\n\t\t\t};\n\t\t} );\n\n\t\t// Apply class change\n\t\tapplyClassChange = function() {\n\t\t\t$.each( classAnimationActions, function( i, action ) {\n\t\t\t\tif ( value[ action ] ) {\n\t\t\t\t\tanimated[ action + \"Class\" ]( value[ action ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t\tapplyClassChange();\n\n\t\t// Map all animated objects again - calculate new styles and diff\n\t\tallAnimations = allAnimations.map( function() {\n\t\t\tthis.end = getElementStyles( this.el[ 0 ] );\n\t\t\tthis.diff = styleDifference( this.start, this.end );\n\t\t\treturn this;\n\t\t} );\n\n\t\t// Apply original class\n\t\tanimated.attr( \"class\", baseClass );\n\n\t\t// Map all animated objects again - this time collecting a promise\n\t\tallAnimations = allAnimations.map( function() {\n\t\t\tvar styleInfo = this,\n\t\t\t\tdfd = $.Deferred(),\n\t\t\t\topts = $.extend( {}, o, {\n\t\t\t\t\tqueue: false,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tdfd.resolve( styleInfo );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\tthis.el.animate( this.diff, opts );\n\t\t\treturn dfd.promise();\n\t\t} );\n\n\t\t// Once all animations have completed:\n\t\t$.when.apply( $, allAnimations.get() ).done( function() {\n\n\t\t\t// Set the final class\n\t\t\tapplyClassChange();\n\n\t\t\t// For each animated element,\n\t\t\t// clear all css properties that were animated\n\t\t\t$.each( arguments, function() {\n\t\t\t\tvar el = this.el;\n\t\t\t\t$.each( this.diff, function( key ) {\n\t\t\t\t\tel.css( key, \"\" );\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\t// This is guarnteed to be there if you use jQuery.speed()\n\t\t\t// it also handles dequeuing the next anim...\n\t\t\to.complete.call( animated[ 0 ] );\n\t\t} );\n\t} );\n};\n\n$.fn.extend( {\n\taddClass: ( function( orig ) {\n\t\treturn function( classNames, speed, easing, callback ) {\n\t\t\treturn speed ?\n\t\t\t\t$.effects.animateClass.call( this,\n\t\t\t\t\t{ add: classNames }, speed, easing, callback ) :\n\t\t\t\torig.apply( this, arguments );\n\t\t};\n\t} )( $.fn.addClass ),\n\n\tremoveClass: ( function( orig ) {\n\t\treturn function( classNames, speed, easing, callback ) {\n\t\t\treturn arguments.length > 1 ?\n\t\t\t\t$.effects.animateClass.call( this,\n\t\t\t\t\t{ remove: classNames }, speed, easing, callback ) :\n\t\t\t\torig.apply( this, arguments );\n\t\t};\n\t} )( $.fn.removeClass ),\n\n\ttoggleClass: ( function( orig ) {\n\t\treturn function( classNames, force, speed, easing, callback ) {\n\t\t\tif ( typeof force === \"boolean\" || force === undefined ) {\n\t\t\t\tif ( !speed ) {\n\n\t\t\t\t\t// Without speed parameter\n\t\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t\t} else {\n\t\t\t\t\treturn $.effects.animateClass.call( this,\n\t\t\t\t\t\t( force ? { add: classNames } : { remove: classNames } ),\n\t\t\t\t\t\tspeed, easing, callback );\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Without force parameter\n\t\t\t\treturn $.effects.animateClass.call( this,\n\t\t\t\t\t{ toggle: classNames }, force, speed, easing );\n\t\t\t}\n\t\t};\n\t} )( $.fn.toggleClass ),\n\n\tswitchClass: function( remove, add, speed, easing, callback ) {\n\t\treturn $.effects.animateClass.call( this, {\n\t\t\tadd: add,\n\t\t\tremove: remove\n\t\t}, speed, easing, callback );\n\t}\n} );\n\n} )();\n\n/******************************************************************************/\n/*********************************** EFFECTS **********************************/\n/******************************************************************************/\n\n( function() {\n\nif ( $.expr && $.expr.pseudos && $.expr.pseudos.animated ) {\n\t$.expr.pseudos.animated = ( function( orig ) {\n\t\treturn function( elem ) {\n\t\t\treturn !!$( elem ).data( dataSpaceAnimated ) || orig( elem );\n\t\t};\n\t} )( $.expr.pseudos.animated );\n}\n\nif ( $.uiBackCompat !== false ) {\n\t$.extend( $.effects, {\n\n\t\t// Saves a set of properties in a data storage\n\t\tsave: function( element, set ) {\n\t\t\tvar i = 0, length = set.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( set[ i ] !== null ) {\n\t\t\t\t\telement.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Restores a set of previously saved properties from a data storage\n\t\trestore: function( element, set ) {\n\t\t\tvar val, i = 0, length = set.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( set[ i ] !== null ) {\n\t\t\t\t\tval = element.data( dataSpace + set[ i ] );\n\t\t\t\t\telement.css( set[ i ], val );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tsetMode: function( el, mode ) {\n\t\t\tif ( mode === \"toggle\" ) {\n\t\t\t\tmode = el.is( \":hidden\" ) ? \"show\" : \"hide\";\n\t\t\t}\n\t\t\treturn mode;\n\t\t},\n\n\t\t// Wraps the element around a wrapper that copies position properties\n\t\tcreateWrapper: function( element ) {\n\n\t\t\t// If the element is already wrapped, return it\n\t\t\tif ( element.parent().is( \".ui-effects-wrapper\" ) ) {\n\t\t\t\treturn element.parent();\n\t\t\t}\n\n\t\t\t// Wrap the element\n\t\t\tvar props = {\n\t\t\t\t\twidth: element.outerWidth( true ),\n\t\t\t\t\theight: element.outerHeight( true ),\n\t\t\t\t\t\"float\": element.css( \"float\" )\n\t\t\t\t},\n\t\t\t\twrapper = $( \"

      \" )\n\t\t\t\t\t.addClass( \"ui-effects-wrapper\" )\n\t\t\t\t\t.css( {\n\t\t\t\t\t\tfontSize: \"100%\",\n\t\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\t\tborder: \"none\",\n\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\tpadding: 0\n\t\t\t\t\t} ),\n\n\t\t\t\t// Store the size in case width/height are defined in % - Fixes #5245\n\t\t\t\tsize = {\n\t\t\t\t\twidth: element.width(),\n\t\t\t\t\theight: element.height()\n\t\t\t\t},\n\t\t\t\tactive = document.activeElement;\n\n\t\t\t// Support: Firefox\n\t\t\t// Firefox incorrectly exposes anonymous content\n\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=561664\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\tactive.id;\n\t\t\t} catch ( e ) {\n\t\t\t\tactive = document.body;\n\t\t\t}\n\n\t\t\telement.wrap( wrapper );\n\n\t\t\t// Fixes #7595 - Elements lose focus when wrapped.\n\t\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {\n\t\t\t\t$( active ).trigger( \"focus\" );\n\t\t\t}\n\n\t\t\t// Hotfix for jQuery 1.4 since some change in wrap() seems to actually\n\t\t\t// lose the reference to the wrapped element\n\t\t\twrapper = element.parent();\n\n\t\t\t// Transfer positioning properties to the wrapper\n\t\t\tif ( element.css( \"position\" ) === \"static\" ) {\n\t\t\t\twrapper.css( { position: \"relative\" } );\n\t\t\t\telement.css( { position: \"relative\" } );\n\t\t\t} else {\n\t\t\t\t$.extend( props, {\n\t\t\t\t\tposition: element.css( \"position\" ),\n\t\t\t\t\tzIndex: element.css( \"z-index\" )\n\t\t\t\t} );\n\t\t\t\t$.each( [ \"top\", \"left\", \"bottom\", \"right\" ], function( i, pos ) {\n\t\t\t\t\tprops[ pos ] = element.css( pos );\n\t\t\t\t\tif ( isNaN( parseInt( props[ pos ], 10 ) ) ) {\n\t\t\t\t\t\tprops[ pos ] = \"auto\";\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\telement.css( {\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: 0,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\tright: \"auto\",\n\t\t\t\t\tbottom: \"auto\"\n\t\t\t\t} );\n\t\t\t}\n\t\t\telement.css( size );\n\n\t\t\treturn wrapper.css( props ).show();\n\t\t},\n\n\t\tremoveWrapper: function( element ) {\n\t\t\tvar active = document.activeElement;\n\n\t\t\tif ( element.parent().is( \".ui-effects-wrapper\" ) ) {\n\t\t\t\telement.parent().replaceWith( element );\n\n\t\t\t\t// Fixes #7595 - Elements lose focus when wrapped.\n\t\t\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {\n\t\t\t\t\t$( active ).trigger( \"focus\" );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn element;\n\t\t}\n\t} );\n}\n\n$.extend( $.effects, {\n\tversion: \"1.13.2\",\n\n\tdefine: function( name, mode, effect ) {\n\t\tif ( !effect ) {\n\t\t\teffect = mode;\n\t\t\tmode = \"effect\";\n\t\t}\n\n\t\t$.effects.effect[ name ] = effect;\n\t\t$.effects.effect[ name ].mode = mode;\n\n\t\treturn effect;\n\t},\n\n\tscaledDimensions: function( element, percent, direction ) {\n\t\tif ( percent === 0 ) {\n\t\t\treturn {\n\t\t\t\theight: 0,\n\t\t\t\twidth: 0,\n\t\t\t\touterHeight: 0,\n\t\t\t\touterWidth: 0\n\t\t\t};\n\t\t}\n\n\t\tvar x = direction !== \"horizontal\" ? ( ( percent || 100 ) / 100 ) : 1,\n\t\t\ty = direction !== \"vertical\" ? ( ( percent || 100 ) / 100 ) : 1;\n\n\t\treturn {\n\t\t\theight: element.height() * y,\n\t\t\twidth: element.width() * x,\n\t\t\touterHeight: element.outerHeight() * y,\n\t\t\touterWidth: element.outerWidth() * x\n\t\t};\n\n\t},\n\n\tclipToBox: function( animation ) {\n\t\treturn {\n\t\t\twidth: animation.clip.right - animation.clip.left,\n\t\t\theight: animation.clip.bottom - animation.clip.top,\n\t\t\tleft: animation.clip.left,\n\t\t\ttop: animation.clip.top\n\t\t};\n\t},\n\n\t// Injects recently queued functions to be first in line (after \"inprogress\")\n\tunshift: function( element, queueLength, count ) {\n\t\tvar queue = element.queue();\n\n\t\tif ( queueLength > 1 ) {\n\t\t\tqueue.splice.apply( queue,\n\t\t\t\t[ 1, 0 ].concat( queue.splice( queueLength, count ) ) );\n\t\t}\n\t\telement.dequeue();\n\t},\n\n\tsaveStyle: function( element ) {\n\t\telement.data( dataSpaceStyle, element[ 0 ].style.cssText );\n\t},\n\n\trestoreStyle: function( element ) {\n\t\telement[ 0 ].style.cssText = element.data( dataSpaceStyle ) || \"\";\n\t\telement.removeData( dataSpaceStyle );\n\t},\n\n\tmode: function( element, mode ) {\n\t\tvar hidden = element.is( \":hidden\" );\n\n\t\tif ( mode === \"toggle\" ) {\n\t\t\tmode = hidden ? \"show\" : \"hide\";\n\t\t}\n\t\tif ( hidden ? mode === \"hide\" : mode === \"show\" ) {\n\t\t\tmode = \"none\";\n\t\t}\n\t\treturn mode;\n\t},\n\n\t// Translates a [top,left] array into a baseline value\n\tgetBaseline: function( origin, original ) {\n\t\tvar y, x;\n\n\t\tswitch ( origin[ 0 ] ) {\n\t\tcase \"top\":\n\t\t\ty = 0;\n\t\t\tbreak;\n\t\tcase \"middle\":\n\t\t\ty = 0.5;\n\t\t\tbreak;\n\t\tcase \"bottom\":\n\t\t\ty = 1;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\ty = origin[ 0 ] / original.height;\n\t\t}\n\n\t\tswitch ( origin[ 1 ] ) {\n\t\tcase \"left\":\n\t\t\tx = 0;\n\t\t\tbreak;\n\t\tcase \"center\":\n\t\t\tx = 0.5;\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tx = 1;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tx = origin[ 1 ] / original.width;\n\t\t}\n\n\t\treturn {\n\t\t\tx: x,\n\t\t\ty: y\n\t\t};\n\t},\n\n\t// Creates a placeholder element so that the original element can be made absolute\n\tcreatePlaceholder: function( element ) {\n\t\tvar placeholder,\n\t\t\tcssPosition = element.css( \"position\" ),\n\t\t\tposition = element.position();\n\n\t\t// Lock in margins first to account for form elements, which\n\t\t// will change margin if you explicitly set height\n\t\t// see: http://jsfiddle.net/JZSMt/3/ https://bugs.webkit.org/show_bug.cgi?id=107380\n\t\t// Support: Safari\n\t\telement.css( {\n\t\t\tmarginTop: element.css( \"marginTop\" ),\n\t\t\tmarginBottom: element.css( \"marginBottom\" ),\n\t\t\tmarginLeft: element.css( \"marginLeft\" ),\n\t\t\tmarginRight: element.css( \"marginRight\" )\n\t\t} )\n\t\t.outerWidth( element.outerWidth() )\n\t\t.outerHeight( element.outerHeight() );\n\n\t\tif ( /^(static|relative)/.test( cssPosition ) ) {\n\t\t\tcssPosition = \"absolute\";\n\n\t\t\tplaceholder = $( \"<\" + element[ 0 ].nodeName + \">\" ).insertAfter( element ).css( {\n\n\t\t\t\t// Convert inline to inline block to account for inline elements\n\t\t\t\t// that turn to inline block based on content (like img)\n\t\t\t\tdisplay: /^(inline|ruby)/.test( element.css( \"display\" ) ) ?\n\t\t\t\t\t\"inline-block\" :\n\t\t\t\t\t\"block\",\n\t\t\t\tvisibility: \"hidden\",\n\n\t\t\t\t// Margins need to be set to account for margin collapse\n\t\t\t\tmarginTop: element.css( \"marginTop\" ),\n\t\t\t\tmarginBottom: element.css( \"marginBottom\" ),\n\t\t\t\tmarginLeft: element.css( \"marginLeft\" ),\n\t\t\t\tmarginRight: element.css( \"marginRight\" ),\n\t\t\t\t\"float\": element.css( \"float\" )\n\t\t\t} )\n\t\t\t.outerWidth( element.outerWidth() )\n\t\t\t.outerHeight( element.outerHeight() )\n\t\t\t.addClass( \"ui-effects-placeholder\" );\n\n\t\t\telement.data( dataSpace + \"placeholder\", placeholder );\n\t\t}\n\n\t\telement.css( {\n\t\t\tposition: cssPosition,\n\t\t\tleft: position.left,\n\t\t\ttop: position.top\n\t\t} );\n\n\t\treturn placeholder;\n\t},\n\n\tremovePlaceholder: function( element ) {\n\t\tvar dataKey = dataSpace + \"placeholder\",\n\t\t\t\tplaceholder = element.data( dataKey );\n\n\t\tif ( placeholder ) {\n\t\t\tplaceholder.remove();\n\t\t\telement.removeData( dataKey );\n\t\t}\n\t},\n\n\t// Removes a placeholder if it exists and restores\n\t// properties that were modified during placeholder creation\n\tcleanUp: function( element ) {\n\t\t$.effects.restoreStyle( element );\n\t\t$.effects.removePlaceholder( element );\n\t},\n\n\tsetTransition: function( element, list, factor, value ) {\n\t\tvalue = value || {};\n\t\t$.each( list, function( i, x ) {\n\t\t\tvar unit = element.cssUnit( x );\n\t\t\tif ( unit[ 0 ] > 0 ) {\n\t\t\t\tvalue[ x ] = unit[ 0 ] * factor + unit[ 1 ];\n\t\t\t}\n\t\t} );\n\t\treturn value;\n\t}\n} );\n\n// Return an effect options object for the given parameters:\nfunction _normalizeArguments( effect, options, speed, callback ) {\n\n\t// Allow passing all options as the first parameter\n\tif ( $.isPlainObject( effect ) ) {\n\t\toptions = effect;\n\t\teffect = effect.effect;\n\t}\n\n\t// Convert to an object\n\teffect = { effect: effect };\n\n\t// Catch (effect, null, ...)\n\tif ( options == null ) {\n\t\toptions = {};\n\t}\n\n\t// Catch (effect, callback)\n\tif ( typeof options === \"function\" ) {\n\t\tcallback = options;\n\t\tspeed = null;\n\t\toptions = {};\n\t}\n\n\t// Catch (effect, speed, ?)\n\tif ( typeof options === \"number\" || $.fx.speeds[ options ] ) {\n\t\tcallback = speed;\n\t\tspeed = options;\n\t\toptions = {};\n\t}\n\n\t// Catch (effect, options, callback)\n\tif ( typeof speed === \"function\" ) {\n\t\tcallback = speed;\n\t\tspeed = null;\n\t}\n\n\t// Add options to effect\n\tif ( options ) {\n\t\t$.extend( effect, options );\n\t}\n\n\tspeed = speed || options.duration;\n\teffect.duration = $.fx.off ? 0 :\n\t\ttypeof speed === \"number\" ? speed :\n\t\tspeed in $.fx.speeds ? $.fx.speeds[ speed ] :\n\t\t$.fx.speeds._default;\n\n\teffect.complete = callback || options.complete;\n\n\treturn effect;\n}\n\nfunction standardAnimationOption( option ) {\n\n\t// Valid standard speeds (nothing, number, named speed)\n\tif ( !option || typeof option === \"number\" || $.fx.speeds[ option ] ) {\n\t\treturn true;\n\t}\n\n\t// Invalid strings - treat as \"normal\" speed\n\tif ( typeof option === \"string\" && !$.effects.effect[ option ] ) {\n\t\treturn true;\n\t}\n\n\t// Complete callback\n\tif ( typeof option === \"function\" ) {\n\t\treturn true;\n\t}\n\n\t// Options hash (but not naming an effect)\n\tif ( typeof option === \"object\" && !option.effect ) {\n\t\treturn true;\n\t}\n\n\t// Didn't match any standard API\n\treturn false;\n}\n\n$.fn.extend( {\n\teffect: function( /* effect, options, speed, callback */ ) {\n\t\tvar args = _normalizeArguments.apply( this, arguments ),\n\t\t\teffectMethod = $.effects.effect[ args.effect ],\n\t\t\tdefaultMode = effectMethod.mode,\n\t\t\tqueue = args.queue,\n\t\t\tqueueName = queue || \"fx\",\n\t\t\tcomplete = args.complete,\n\t\t\tmode = args.mode,\n\t\t\tmodes = [],\n\t\t\tprefilter = function( next ) {\n\t\t\t\tvar el = $( this ),\n\t\t\t\t\tnormalizedMode = $.effects.mode( el, mode ) || defaultMode;\n\n\t\t\t\t// Sentinel for duck-punching the :animated pseudo-selector\n\t\t\t\tel.data( dataSpaceAnimated, true );\n\n\t\t\t\t// Save effect mode for later use,\n\t\t\t\t// we can't just call $.effects.mode again later,\n\t\t\t\t// as the .show() below destroys the initial state\n\t\t\t\tmodes.push( normalizedMode );\n\n\t\t\t\t// See $.uiBackCompat inside of run() for removal of defaultMode in 1.14\n\t\t\t\tif ( defaultMode && ( normalizedMode === \"show\" ||\n\t\t\t\t\t\t( normalizedMode === defaultMode && normalizedMode === \"hide\" ) ) ) {\n\t\t\t\t\tel.show();\n\t\t\t\t}\n\n\t\t\t\tif ( !defaultMode || normalizedMode !== \"none\" ) {\n\t\t\t\t\t$.effects.saveStyle( el );\n\t\t\t\t}\n\n\t\t\t\tif ( typeof next === \"function\" ) {\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( $.fx.off || !effectMethod ) {\n\n\t\t\t// Delegate to the original method (e.g., .show()) if possible\n\t\t\tif ( mode ) {\n\t\t\t\treturn this[ mode ]( args.duration, complete );\n\t\t\t} else {\n\t\t\t\treturn this.each( function() {\n\t\t\t\t\tif ( complete ) {\n\t\t\t\t\t\tcomplete.call( this );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tfunction run( next ) {\n\t\t\tvar elem = $( this );\n\n\t\t\tfunction cleanup() {\n\t\t\t\telem.removeData( dataSpaceAnimated );\n\n\t\t\t\t$.effects.cleanUp( elem );\n\n\t\t\t\tif ( args.mode === \"hide\" ) {\n\t\t\t\t\telem.hide();\n\t\t\t\t}\n\n\t\t\t\tdone();\n\t\t\t}\n\n\t\t\tfunction done() {\n\t\t\t\tif ( typeof complete === \"function\" ) {\n\t\t\t\t\tcomplete.call( elem[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\tif ( typeof next === \"function\" ) {\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override mode option on a per element basis,\n\t\t\t// as toggle can be either show or hide depending on element state\n\t\t\targs.mode = modes.shift();\n\n\t\t\tif ( $.uiBackCompat !== false && !defaultMode ) {\n\t\t\t\tif ( elem.is( \":hidden\" ) ? mode === \"hide\" : mode === \"show\" ) {\n\n\t\t\t\t\t// Call the core method to track \"olddisplay\" properly\n\t\t\t\t\telem[ mode ]();\n\t\t\t\t\tdone();\n\t\t\t\t} else {\n\t\t\t\t\teffectMethod.call( elem[ 0 ], args, done );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ( args.mode === \"none\" ) {\n\n\t\t\t\t\t// Call the core method to track \"olddisplay\" properly\n\t\t\t\t\telem[ mode ]();\n\t\t\t\t\tdone();\n\t\t\t\t} else {\n\t\t\t\t\teffectMethod.call( elem[ 0 ], args, cleanup );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Run prefilter on all elements first to ensure that\n\t\t// any showing or hiding happens before placeholder creation,\n\t\t// which ensures that any layout changes are correctly captured.\n\t\treturn queue === false ?\n\t\t\tthis.each( prefilter ).each( run ) :\n\t\t\tthis.queue( queueName, prefilter ).queue( queueName, run );\n\t},\n\n\tshow: ( function( orig ) {\n\t\treturn function( option ) {\n\t\t\tif ( standardAnimationOption( option ) ) {\n\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t} else {\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\t\targs.mode = \"show\";\n\t\t\t\treturn this.effect.call( this, args );\n\t\t\t}\n\t\t};\n\t} )( $.fn.show ),\n\n\thide: ( function( orig ) {\n\t\treturn function( option ) {\n\t\t\tif ( standardAnimationOption( option ) ) {\n\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t} else {\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\t\targs.mode = \"hide\";\n\t\t\t\treturn this.effect.call( this, args );\n\t\t\t}\n\t\t};\n\t} )( $.fn.hide ),\n\n\ttoggle: ( function( orig ) {\n\t\treturn function( option ) {\n\t\t\tif ( standardAnimationOption( option ) || typeof option === \"boolean\" ) {\n\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t} else {\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\t\targs.mode = \"toggle\";\n\t\t\t\treturn this.effect.call( this, args );\n\t\t\t}\n\t\t};\n\t} )( $.fn.toggle ),\n\n\tcssUnit: function( key ) {\n\t\tvar style = this.css( key ),\n\t\t\tval = [];\n\n\t\t$.each( [ \"em\", \"px\", \"%\", \"pt\" ], function( i, unit ) {\n\t\t\tif ( style.indexOf( unit ) > 0 ) {\n\t\t\t\tval = [ parseFloat( style ), unit ];\n\t\t\t}\n\t\t} );\n\t\treturn val;\n\t},\n\n\tcssClip: function( clipObj ) {\n\t\tif ( clipObj ) {\n\t\t\treturn this.css( \"clip\", \"rect(\" + clipObj.top + \"px \" + clipObj.right + \"px \" +\n\t\t\t\tclipObj.bottom + \"px \" + clipObj.left + \"px)\" );\n\t\t}\n\t\treturn parseClip( this.css( \"clip\" ), this );\n\t},\n\n\ttransfer: function( options, done ) {\n\t\tvar element = $( this ),\n\t\t\ttarget = $( options.to ),\n\t\t\ttargetFixed = target.css( \"position\" ) === \"fixed\",\n\t\t\tbody = $( \"body\" ),\n\t\t\tfixTop = targetFixed ? body.scrollTop() : 0,\n\t\t\tfixLeft = targetFixed ? body.scrollLeft() : 0,\n\t\t\tendPosition = target.offset(),\n\t\t\tanimation = {\n\t\t\t\ttop: endPosition.top - fixTop,\n\t\t\t\tleft: endPosition.left - fixLeft,\n\t\t\t\theight: target.innerHeight(),\n\t\t\t\twidth: target.innerWidth()\n\t\t\t},\n\t\t\tstartPosition = element.offset(),\n\t\t\ttransfer = $( \"
      \" );\n\n\t\ttransfer\n\t\t\t.appendTo( \"body\" )\n\t\t\t.addClass( options.className )\n\t\t\t.css( {\n\t\t\t\ttop: startPosition.top - fixTop,\n\t\t\t\tleft: startPosition.left - fixLeft,\n\t\t\t\theight: element.innerHeight(),\n\t\t\t\twidth: element.innerWidth(),\n\t\t\t\tposition: targetFixed ? \"fixed\" : \"absolute\"\n\t\t\t} )\n\t\t\t.animate( animation, options.duration, options.easing, function() {\n\t\t\t\ttransfer.remove();\n\t\t\t\tif ( typeof done === \"function\" ) {\n\t\t\t\t\tdone();\n\t\t\t\t}\n\t\t\t} );\n\t}\n} );\n\nfunction parseClip( str, element ) {\n\t\tvar outerWidth = element.outerWidth(),\n\t\t\touterHeight = element.outerHeight(),\n\t\t\tclipRegex = /^rect\\((-?\\d*\\.?\\d*px|-?\\d+%|auto),?\\s*(-?\\d*\\.?\\d*px|-?\\d+%|auto),?\\s*(-?\\d*\\.?\\d*px|-?\\d+%|auto),?\\s*(-?\\d*\\.?\\d*px|-?\\d+%|auto)\\)$/,\n\t\t\tvalues = clipRegex.exec( str ) || [ \"\", 0, outerWidth, outerHeight, 0 ];\n\n\t\treturn {\n\t\t\ttop: parseFloat( values[ 1 ] ) || 0,\n\t\t\tright: values[ 2 ] === \"auto\" ? outerWidth : parseFloat( values[ 2 ] ),\n\t\t\tbottom: values[ 3 ] === \"auto\" ? outerHeight : parseFloat( values[ 3 ] ),\n\t\t\tleft: parseFloat( values[ 4 ] ) || 0\n\t\t};\n}\n\n$.fx.step.clip = function( fx ) {\n\tif ( !fx.clipInit ) {\n\t\tfx.start = $( fx.elem ).cssClip();\n\t\tif ( typeof fx.end === \"string\" ) {\n\t\t\tfx.end = parseClip( fx.end, fx.elem );\n\t\t}\n\t\tfx.clipInit = true;\n\t}\n\n\t$( fx.elem ).cssClip( {\n\t\ttop: fx.pos * ( fx.end.top - fx.start.top ) + fx.start.top,\n\t\tright: fx.pos * ( fx.end.right - fx.start.right ) + fx.start.right,\n\t\tbottom: fx.pos * ( fx.end.bottom - fx.start.bottom ) + fx.start.bottom,\n\t\tleft: fx.pos * ( fx.end.left - fx.start.left ) + fx.start.left\n\t} );\n};\n\n} )();\n\n/******************************************************************************/\n/*********************************** EASING ***********************************/\n/******************************************************************************/\n\n( function() {\n\n// Based on easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\nvar baseEasings = {};\n\n$.each( [ \"Quad\", \"Cubic\", \"Quart\", \"Quint\", \"Expo\" ], function( i, name ) {\n\tbaseEasings[ name ] = function( p ) {\n\t\treturn Math.pow( p, i + 2 );\n\t};\n} );\n\n$.extend( baseEasings, {\n\tSine: function( p ) {\n\t\treturn 1 - Math.cos( p * Math.PI / 2 );\n\t},\n\tCirc: function( p ) {\n\t\treturn 1 - Math.sqrt( 1 - p * p );\n\t},\n\tElastic: function( p ) {\n\t\treturn p === 0 || p === 1 ? p :\n\t\t\t-Math.pow( 2, 8 * ( p - 1 ) ) * Math.sin( ( ( p - 1 ) * 80 - 7.5 ) * Math.PI / 15 );\n\t},\n\tBack: function( p ) {\n\t\treturn p * p * ( 3 * p - 2 );\n\t},\n\tBounce: function( p ) {\n\t\tvar pow2,\n\t\t\tbounce = 4;\n\n\t\twhile ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}\n\t\treturn 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );\n\t}\n} );\n\n$.each( baseEasings, function( name, easeIn ) {\n\t$.easing[ \"easeIn\" + name ] = easeIn;\n\t$.easing[ \"easeOut\" + name ] = function( p ) {\n\t\treturn 1 - easeIn( 1 - p );\n\t};\n\t$.easing[ \"easeInOut\" + name ] = function( p ) {\n\t\treturn p < 0.5 ?\n\t\t\teaseIn( p * 2 ) / 2 :\n\t\t\t1 - easeIn( p * -2 + 2 ) / 2;\n\t};\n} );\n\n} )();\n\nvar effect = $.effects;\n\n\n/*!\n * jQuery UI Effects Blind 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Blind Effect\n//>>group: Effects\n//>>description: Blinds the element.\n//>>docs: http://api.jqueryui.com/blind-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectBlind = $.effects.define( \"blind\", \"hide\", function( options, done ) {\n\tvar map = {\n\t\t\tup: [ \"bottom\", \"top\" ],\n\t\t\tvertical: [ \"bottom\", \"top\" ],\n\t\t\tdown: [ \"top\", \"bottom\" ],\n\t\t\tleft: [ \"right\", \"left\" ],\n\t\t\thorizontal: [ \"right\", \"left\" ],\n\t\t\tright: [ \"left\", \"right\" ]\n\t\t},\n\t\telement = $( this ),\n\t\tdirection = options.direction || \"up\",\n\t\tstart = element.cssClip(),\n\t\tanimate = { clip: $.extend( {}, start ) },\n\t\tplaceholder = $.effects.createPlaceholder( element );\n\n\tanimate.clip[ map[ direction ][ 0 ] ] = animate.clip[ map[ direction ][ 1 ] ];\n\n\tif ( options.mode === \"show\" ) {\n\t\telement.cssClip( animate.clip );\n\t\tif ( placeholder ) {\n\t\t\tplaceholder.css( $.effects.clipToBox( animate ) );\n\t\t}\n\n\t\tanimate.clip = start;\n\t}\n\n\tif ( placeholder ) {\n\t\tplaceholder.animate( $.effects.clipToBox( animate ), options.duration, options.easing );\n\t}\n\n\telement.animate( animate, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: done\n\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Bounce 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Bounce Effect\n//>>group: Effects\n//>>description: Bounces an element horizontally or vertically n times.\n//>>docs: http://api.jqueryui.com/bounce-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectBounce = $.effects.define( \"bounce\", function( options, done ) {\n\tvar upAnim, downAnim, refValue,\n\t\telement = $( this ),\n\n\t\t// Defaults:\n\t\tmode = options.mode,\n\t\thide = mode === \"hide\",\n\t\tshow = mode === \"show\",\n\t\tdirection = options.direction || \"up\",\n\t\tdistance = options.distance,\n\t\ttimes = options.times || 5,\n\n\t\t// Number of internal animations\n\t\tanims = times * 2 + ( show || hide ? 1 : 0 ),\n\t\tspeed = options.duration / anims,\n\t\teasing = options.easing,\n\n\t\t// Utility:\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tmotion = ( direction === \"up\" || direction === \"left\" ),\n\t\ti = 0,\n\n\t\tqueuelen = element.queue().length;\n\n\t$.effects.createPlaceholder( element );\n\n\trefValue = element.css( ref );\n\n\t// Default distance for the BIGGEST bounce is the outer Distance / 3\n\tif ( !distance ) {\n\t\tdistance = element[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]() / 3;\n\t}\n\n\tif ( show ) {\n\t\tdownAnim = { opacity: 1 };\n\t\tdownAnim[ ref ] = refValue;\n\n\t\t// If we are showing, force opacity 0 and set the initial position\n\t\t// then do the \"first\" animation\n\t\telement\n\t\t\t.css( \"opacity\", 0 )\n\t\t\t.css( ref, motion ? -distance * 2 : distance * 2 )\n\t\t\t.animate( downAnim, speed, easing );\n\t}\n\n\t// Start at the smallest distance if we are hiding\n\tif ( hide ) {\n\t\tdistance = distance / Math.pow( 2, times - 1 );\n\t}\n\n\tdownAnim = {};\n\tdownAnim[ ref ] = refValue;\n\n\t// Bounces up/down/left/right then back to 0 -- times * 2 animations happen here\n\tfor ( ; i < times; i++ ) {\n\t\tupAnim = {};\n\t\tupAnim[ ref ] = ( motion ? \"-=\" : \"+=\" ) + distance;\n\n\t\telement\n\t\t\t.animate( upAnim, speed, easing )\n\t\t\t.animate( downAnim, speed, easing );\n\n\t\tdistance = hide ? distance * 2 : distance / 2;\n\t}\n\n\t// Last Bounce when Hiding\n\tif ( hide ) {\n\t\tupAnim = { opacity: 0 };\n\t\tupAnim[ ref ] = ( motion ? \"-=\" : \"+=\" ) + distance;\n\n\t\telement.animate( upAnim, speed, easing );\n\t}\n\n\telement.queue( done );\n\n\t$.effects.unshift( element, queuelen, anims + 1 );\n} );\n\n\n/*!\n * jQuery UI Effects Clip 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Clip Effect\n//>>group: Effects\n//>>description: Clips the element on and off like an old TV.\n//>>docs: http://api.jqueryui.com/clip-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectClip = $.effects.define( \"clip\", \"hide\", function( options, done ) {\n\tvar start,\n\t\tanimate = {},\n\t\telement = $( this ),\n\t\tdirection = options.direction || \"vertical\",\n\t\tboth = direction === \"both\",\n\t\thorizontal = both || direction === \"horizontal\",\n\t\tvertical = both || direction === \"vertical\";\n\n\tstart = element.cssClip();\n\tanimate.clip = {\n\t\ttop: vertical ? ( start.bottom - start.top ) / 2 : start.top,\n\t\tright: horizontal ? ( start.right - start.left ) / 2 : start.right,\n\t\tbottom: vertical ? ( start.bottom - start.top ) / 2 : start.bottom,\n\t\tleft: horizontal ? ( start.right - start.left ) / 2 : start.left\n\t};\n\n\t$.effects.createPlaceholder( element );\n\n\tif ( options.mode === \"show\" ) {\n\t\telement.cssClip( animate.clip );\n\t\tanimate.clip = start;\n\t}\n\n\telement.animate( animate, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: done\n\t} );\n\n} );\n\n\n/*!\n * jQuery UI Effects Drop 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Drop Effect\n//>>group: Effects\n//>>description: Moves an element in one direction and hides it at the same time.\n//>>docs: http://api.jqueryui.com/drop-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectDrop = $.effects.define( \"drop\", \"hide\", function( options, done ) {\n\n\tvar distance,\n\t\telement = $( this ),\n\t\tmode = options.mode,\n\t\tshow = mode === \"show\",\n\t\tdirection = options.direction || \"left\",\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tmotion = ( direction === \"up\" || direction === \"left\" ) ? \"-=\" : \"+=\",\n\t\toppositeMotion = ( motion === \"+=\" ) ? \"-=\" : \"+=\",\n\t\tanimation = {\n\t\t\topacity: 0\n\t\t};\n\n\t$.effects.createPlaceholder( element );\n\n\tdistance = options.distance ||\n\t\telement[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]( true ) / 2;\n\n\tanimation[ ref ] = motion + distance;\n\n\tif ( show ) {\n\t\telement.css( animation );\n\n\t\tanimation[ ref ] = oppositeMotion + distance;\n\t\tanimation.opacity = 1;\n\t}\n\n\t// Animate\n\telement.animate( animation, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: done\n\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Explode 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Explode Effect\n//>>group: Effects\n/* eslint-disable max-len */\n//>>description: Explodes an element in all directions into n pieces. Implodes an element to its original wholeness.\n/* eslint-enable max-len */\n//>>docs: http://api.jqueryui.com/explode-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectExplode = $.effects.define( \"explode\", \"hide\", function( options, done ) {\n\n\tvar i, j, left, top, mx, my,\n\t\trows = options.pieces ? Math.round( Math.sqrt( options.pieces ) ) : 3,\n\t\tcells = rows,\n\t\telement = $( this ),\n\t\tmode = options.mode,\n\t\tshow = mode === \"show\",\n\n\t\t// Show and then visibility:hidden the element before calculating offset\n\t\toffset = element.show().css( \"visibility\", \"hidden\" ).offset(),\n\n\t\t// Width and height of a piece\n\t\twidth = Math.ceil( element.outerWidth() / cells ),\n\t\theight = Math.ceil( element.outerHeight() / rows ),\n\t\tpieces = [];\n\n\t// Children animate complete:\n\tfunction childComplete() {\n\t\tpieces.push( this );\n\t\tif ( pieces.length === rows * cells ) {\n\t\t\tanimComplete();\n\t\t}\n\t}\n\n\t// Clone the element for each row and cell.\n\tfor ( i = 0; i < rows; i++ ) { // ===>\n\t\ttop = offset.top + i * height;\n\t\tmy = i - ( rows - 1 ) / 2;\n\n\t\tfor ( j = 0; j < cells; j++ ) { // |||\n\t\t\tleft = offset.left + j * width;\n\t\t\tmx = j - ( cells - 1 ) / 2;\n\n\t\t\t// Create a clone of the now hidden main element that will be absolute positioned\n\t\t\t// within a wrapper div off the -left and -top equal to size of our pieces\n\t\t\telement\n\t\t\t\t.clone()\n\t\t\t\t.appendTo( \"body\" )\n\t\t\t\t.wrap( \"
      \" )\n\t\t\t\t.css( {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tvisibility: \"visible\",\n\t\t\t\t\tleft: -j * width,\n\t\t\t\t\ttop: -i * height\n\t\t\t\t} )\n\n\t\t\t\t// Select the wrapper - make it overflow: hidden and absolute positioned based on\n\t\t\t\t// where the original was located +left and +top equal to the size of pieces\n\t\t\t\t.parent()\n\t\t\t\t\t.addClass( \"ui-effects-explode\" )\n\t\t\t\t\t.css( {\n\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\twidth: width,\n\t\t\t\t\t\theight: height,\n\t\t\t\t\t\tleft: left + ( show ? mx * width : 0 ),\n\t\t\t\t\t\ttop: top + ( show ? my * height : 0 ),\n\t\t\t\t\t\topacity: show ? 0 : 1\n\t\t\t\t\t} )\n\t\t\t\t\t.animate( {\n\t\t\t\t\t\tleft: left + ( show ? 0 : mx * width ),\n\t\t\t\t\t\ttop: top + ( show ? 0 : my * height ),\n\t\t\t\t\t\topacity: show ? 1 : 0\n\t\t\t\t\t}, options.duration || 500, options.easing, childComplete );\n\t\t}\n\t}\n\n\tfunction animComplete() {\n\t\telement.css( {\n\t\t\tvisibility: \"visible\"\n\t\t} );\n\t\t$( pieces ).remove();\n\t\tdone();\n\t}\n} );\n\n\n/*!\n * jQuery UI Effects Fade 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Fade Effect\n//>>group: Effects\n//>>description: Fades the element.\n//>>docs: http://api.jqueryui.com/fade-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectFade = $.effects.define( \"fade\", \"toggle\", function( options, done ) {\n\tvar show = options.mode === \"show\";\n\n\t$( this )\n\t\t.css( \"opacity\", show ? 0 : 1 )\n\t\t.animate( {\n\t\t\topacity: show ? 1 : 0\n\t\t}, {\n\t\t\tqueue: false,\n\t\t\tduration: options.duration,\n\t\t\teasing: options.easing,\n\t\t\tcomplete: done\n\t\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Fold 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Fold Effect\n//>>group: Effects\n//>>description: Folds an element first horizontally and then vertically.\n//>>docs: http://api.jqueryui.com/fold-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectFold = $.effects.define( \"fold\", \"hide\", function( options, done ) {\n\n\t// Create element\n\tvar element = $( this ),\n\t\tmode = options.mode,\n\t\tshow = mode === \"show\",\n\t\thide = mode === \"hide\",\n\t\tsize = options.size || 15,\n\t\tpercent = /([0-9]+)%/.exec( size ),\n\t\thorizFirst = !!options.horizFirst,\n\t\tref = horizFirst ? [ \"right\", \"bottom\" ] : [ \"bottom\", \"right\" ],\n\t\tduration = options.duration / 2,\n\n\t\tplaceholder = $.effects.createPlaceholder( element ),\n\n\t\tstart = element.cssClip(),\n\t\tanimation1 = { clip: $.extend( {}, start ) },\n\t\tanimation2 = { clip: $.extend( {}, start ) },\n\n\t\tdistance = [ start[ ref[ 0 ] ], start[ ref[ 1 ] ] ],\n\n\t\tqueuelen = element.queue().length;\n\n\tif ( percent ) {\n\t\tsize = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ];\n\t}\n\tanimation1.clip[ ref[ 0 ] ] = size;\n\tanimation2.clip[ ref[ 0 ] ] = size;\n\tanimation2.clip[ ref[ 1 ] ] = 0;\n\n\tif ( show ) {\n\t\telement.cssClip( animation2.clip );\n\t\tif ( placeholder ) {\n\t\t\tplaceholder.css( $.effects.clipToBox( animation2 ) );\n\t\t}\n\n\t\tanimation2.clip = start;\n\t}\n\n\t// Animate\n\telement\n\t\t.queue( function( next ) {\n\t\t\tif ( placeholder ) {\n\t\t\t\tplaceholder\n\t\t\t\t\t.animate( $.effects.clipToBox( animation1 ), duration, options.easing )\n\t\t\t\t\t.animate( $.effects.clipToBox( animation2 ), duration, options.easing );\n\t\t\t}\n\n\t\t\tnext();\n\t\t} )\n\t\t.animate( animation1, duration, options.easing )\n\t\t.animate( animation2, duration, options.easing )\n\t\t.queue( done );\n\n\t$.effects.unshift( element, queuelen, 4 );\n} );\n\n\n/*!\n * jQuery UI Effects Highlight 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Highlight Effect\n//>>group: Effects\n//>>description: Highlights the background of an element in a defined color for a custom duration.\n//>>docs: http://api.jqueryui.com/highlight-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectHighlight = $.effects.define( \"highlight\", \"show\", function( options, done ) {\n\tvar element = $( this ),\n\t\tanimation = {\n\t\t\tbackgroundColor: element.css( \"backgroundColor\" )\n\t\t};\n\n\tif ( options.mode === \"hide\" ) {\n\t\tanimation.opacity = 0;\n\t}\n\n\t$.effects.saveStyle( element );\n\n\telement\n\t\t.css( {\n\t\t\tbackgroundImage: \"none\",\n\t\t\tbackgroundColor: options.color || \"#ffff99\"\n\t\t} )\n\t\t.animate( animation, {\n\t\t\tqueue: false,\n\t\t\tduration: options.duration,\n\t\t\teasing: options.easing,\n\t\t\tcomplete: done\n\t\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Size 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Size Effect\n//>>group: Effects\n//>>description: Resize an element to a specified width and height.\n//>>docs: http://api.jqueryui.com/size-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectSize = $.effects.define( \"size\", function( options, done ) {\n\n\t// Create element\n\tvar baseline, factor, temp,\n\t\telement = $( this ),\n\n\t\t// Copy for children\n\t\tcProps = [ \"fontSize\" ],\n\t\tvProps = [ \"borderTopWidth\", \"borderBottomWidth\", \"paddingTop\", \"paddingBottom\" ],\n\t\thProps = [ \"borderLeftWidth\", \"borderRightWidth\", \"paddingLeft\", \"paddingRight\" ],\n\n\t\t// Set options\n\t\tmode = options.mode,\n\t\trestore = mode !== \"effect\",\n\t\tscale = options.scale || \"both\",\n\t\torigin = options.origin || [ \"middle\", \"center\" ],\n\t\tposition = element.css( \"position\" ),\n\t\tpos = element.position(),\n\t\toriginal = $.effects.scaledDimensions( element ),\n\t\tfrom = options.from || original,\n\t\tto = options.to || $.effects.scaledDimensions( element, 0 );\n\n\t$.effects.createPlaceholder( element );\n\n\tif ( mode === \"show\" ) {\n\t\ttemp = from;\n\t\tfrom = to;\n\t\tto = temp;\n\t}\n\n\t// Set scaling factor\n\tfactor = {\n\t\tfrom: {\n\t\t\ty: from.height / original.height,\n\t\t\tx: from.width / original.width\n\t\t},\n\t\tto: {\n\t\t\ty: to.height / original.height,\n\t\t\tx: to.width / original.width\n\t\t}\n\t};\n\n\t// Scale the css box\n\tif ( scale === \"box\" || scale === \"both\" ) {\n\n\t\t// Vertical props scaling\n\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\tfrom = $.effects.setTransition( element, vProps, factor.from.y, from );\n\t\t\tto = $.effects.setTransition( element, vProps, factor.to.y, to );\n\t\t}\n\n\t\t// Horizontal props scaling\n\t\tif ( factor.from.x !== factor.to.x ) {\n\t\t\tfrom = $.effects.setTransition( element, hProps, factor.from.x, from );\n\t\t\tto = $.effects.setTransition( element, hProps, factor.to.x, to );\n\t\t}\n\t}\n\n\t// Scale the content\n\tif ( scale === \"content\" || scale === \"both\" ) {\n\n\t\t// Vertical props scaling\n\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\tfrom = $.effects.setTransition( element, cProps, factor.from.y, from );\n\t\t\tto = $.effects.setTransition( element, cProps, factor.to.y, to );\n\t\t}\n\t}\n\n\t// Adjust the position properties based on the provided origin points\n\tif ( origin ) {\n\t\tbaseline = $.effects.getBaseline( origin, original );\n\t\tfrom.top = ( original.outerHeight - from.outerHeight ) * baseline.y + pos.top;\n\t\tfrom.left = ( original.outerWidth - from.outerWidth ) * baseline.x + pos.left;\n\t\tto.top = ( original.outerHeight - to.outerHeight ) * baseline.y + pos.top;\n\t\tto.left = ( original.outerWidth - to.outerWidth ) * baseline.x + pos.left;\n\t}\n\tdelete from.outerHeight;\n\tdelete from.outerWidth;\n\telement.css( from );\n\n\t// Animate the children if desired\n\tif ( scale === \"content\" || scale === \"both\" ) {\n\n\t\tvProps = vProps.concat( [ \"marginTop\", \"marginBottom\" ] ).concat( cProps );\n\t\thProps = hProps.concat( [ \"marginLeft\", \"marginRight\" ] );\n\n\t\t// Only animate children with width attributes specified\n\t\t// TODO: is this right? should we include anything with css width specified as well\n\t\telement.find( \"*[width]\" ).each( function() {\n\t\t\tvar child = $( this ),\n\t\t\t\tchildOriginal = $.effects.scaledDimensions( child ),\n\t\t\t\tchildFrom = {\n\t\t\t\t\theight: childOriginal.height * factor.from.y,\n\t\t\t\t\twidth: childOriginal.width * factor.from.x,\n\t\t\t\t\touterHeight: childOriginal.outerHeight * factor.from.y,\n\t\t\t\t\touterWidth: childOriginal.outerWidth * factor.from.x\n\t\t\t\t},\n\t\t\t\tchildTo = {\n\t\t\t\t\theight: childOriginal.height * factor.to.y,\n\t\t\t\t\twidth: childOriginal.width * factor.to.x,\n\t\t\t\t\touterHeight: childOriginal.height * factor.to.y,\n\t\t\t\t\touterWidth: childOriginal.width * factor.to.x\n\t\t\t\t};\n\n\t\t\t// Vertical props scaling\n\t\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\t\tchildFrom = $.effects.setTransition( child, vProps, factor.from.y, childFrom );\n\t\t\t\tchildTo = $.effects.setTransition( child, vProps, factor.to.y, childTo );\n\t\t\t}\n\n\t\t\t// Horizontal props scaling\n\t\t\tif ( factor.from.x !== factor.to.x ) {\n\t\t\t\tchildFrom = $.effects.setTransition( child, hProps, factor.from.x, childFrom );\n\t\t\t\tchildTo = $.effects.setTransition( child, hProps, factor.to.x, childTo );\n\t\t\t}\n\n\t\t\tif ( restore ) {\n\t\t\t\t$.effects.saveStyle( child );\n\t\t\t}\n\n\t\t\t// Animate children\n\t\t\tchild.css( childFrom );\n\t\t\tchild.animate( childTo, options.duration, options.easing, function() {\n\n\t\t\t\t// Restore children\n\t\t\t\tif ( restore ) {\n\t\t\t\t\t$.effects.restoreStyle( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Animate\n\telement.animate( to, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: function() {\n\n\t\t\tvar offset = element.offset();\n\n\t\t\tif ( to.opacity === 0 ) {\n\t\t\t\telement.css( \"opacity\", from.opacity );\n\t\t\t}\n\n\t\t\tif ( !restore ) {\n\t\t\t\telement\n\t\t\t\t\t.css( \"position\", position === \"static\" ? \"relative\" : position )\n\t\t\t\t\t.offset( offset );\n\n\t\t\t\t// Need to save style here so that automatic style restoration\n\t\t\t\t// doesn't restore to the original styles from before the animation.\n\t\t\t\t$.effects.saveStyle( element );\n\t\t\t}\n\n\t\t\tdone();\n\t\t}\n\t} );\n\n} );\n\n\n/*!\n * jQuery UI Effects Scale 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Scale Effect\n//>>group: Effects\n//>>description: Grows or shrinks an element and its content.\n//>>docs: http://api.jqueryui.com/scale-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectScale = $.effects.define( \"scale\", function( options, done ) {\n\n\t// Create element\n\tvar el = $( this ),\n\t\tmode = options.mode,\n\t\tpercent = parseInt( options.percent, 10 ) ||\n\t\t\t( parseInt( options.percent, 10 ) === 0 ? 0 : ( mode !== \"effect\" ? 0 : 100 ) ),\n\n\t\tnewOptions = $.extend( true, {\n\t\t\tfrom: $.effects.scaledDimensions( el ),\n\t\t\tto: $.effects.scaledDimensions( el, percent, options.direction || \"both\" ),\n\t\t\torigin: options.origin || [ \"middle\", \"center\" ]\n\t\t}, options );\n\n\t// Fade option to support puff\n\tif ( options.fade ) {\n\t\tnewOptions.from.opacity = 1;\n\t\tnewOptions.to.opacity = 0;\n\t}\n\n\t$.effects.effect.size.call( this, newOptions, done );\n} );\n\n\n/*!\n * jQuery UI Effects Puff 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Puff Effect\n//>>group: Effects\n//>>description: Creates a puff effect by scaling the element up and hiding it at the same time.\n//>>docs: http://api.jqueryui.com/puff-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectPuff = $.effects.define( \"puff\", \"hide\", function( options, done ) {\n\tvar newOptions = $.extend( true, {}, options, {\n\t\tfade: true,\n\t\tpercent: parseInt( options.percent, 10 ) || 150\n\t} );\n\n\t$.effects.effect.scale.call( this, newOptions, done );\n} );\n\n\n/*!\n * jQuery UI Effects Pulsate 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Pulsate Effect\n//>>group: Effects\n//>>description: Pulsates an element n times by changing the opacity to zero and back.\n//>>docs: http://api.jqueryui.com/pulsate-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectPulsate = $.effects.define( \"pulsate\", \"show\", function( options, done ) {\n\tvar element = $( this ),\n\t\tmode = options.mode,\n\t\tshow = mode === \"show\",\n\t\thide = mode === \"hide\",\n\t\tshowhide = show || hide,\n\n\t\t// Showing or hiding leaves off the \"last\" animation\n\t\tanims = ( ( options.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),\n\t\tduration = options.duration / anims,\n\t\tanimateTo = 0,\n\t\ti = 1,\n\t\tqueuelen = element.queue().length;\n\n\tif ( show || !element.is( \":visible\" ) ) {\n\t\telement.css( \"opacity\", 0 ).show();\n\t\tanimateTo = 1;\n\t}\n\n\t// Anims - 1 opacity \"toggles\"\n\tfor ( ; i < anims; i++ ) {\n\t\telement.animate( { opacity: animateTo }, duration, options.easing );\n\t\tanimateTo = 1 - animateTo;\n\t}\n\n\telement.animate( { opacity: animateTo }, duration, options.easing );\n\n\telement.queue( done );\n\n\t$.effects.unshift( element, queuelen, anims + 1 );\n} );\n\n\n/*!\n * jQuery UI Effects Shake 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Shake Effect\n//>>group: Effects\n//>>description: Shakes an element horizontally or vertically n times.\n//>>docs: http://api.jqueryui.com/shake-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectShake = $.effects.define( \"shake\", function( options, done ) {\n\n\tvar i = 1,\n\t\telement = $( this ),\n\t\tdirection = options.direction || \"left\",\n\t\tdistance = options.distance || 20,\n\t\ttimes = options.times || 3,\n\t\tanims = times * 2 + 1,\n\t\tspeed = Math.round( options.duration / anims ),\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tpositiveMotion = ( direction === \"up\" || direction === \"left\" ),\n\t\tanimation = {},\n\t\tanimation1 = {},\n\t\tanimation2 = {},\n\n\t\tqueuelen = element.queue().length;\n\n\t$.effects.createPlaceholder( element );\n\n\t// Animation\n\tanimation[ ref ] = ( positiveMotion ? \"-=\" : \"+=\" ) + distance;\n\tanimation1[ ref ] = ( positiveMotion ? \"+=\" : \"-=\" ) + distance * 2;\n\tanimation2[ ref ] = ( positiveMotion ? \"-=\" : \"+=\" ) + distance * 2;\n\n\t// Animate\n\telement.animate( animation, speed, options.easing );\n\n\t// Shakes\n\tfor ( ; i < times; i++ ) {\n\t\telement\n\t\t\t.animate( animation1, speed, options.easing )\n\t\t\t.animate( animation2, speed, options.easing );\n\t}\n\n\telement\n\t\t.animate( animation1, speed, options.easing )\n\t\t.animate( animation, speed / 2, options.easing )\n\t\t.queue( done );\n\n\t$.effects.unshift( element, queuelen, anims + 1 );\n} );\n\n\n/*!\n * jQuery UI Effects Slide 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Slide Effect\n//>>group: Effects\n//>>description: Slides an element in and out of the viewport.\n//>>docs: http://api.jqueryui.com/slide-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effectsEffectSlide = $.effects.define( \"slide\", \"show\", function( options, done ) {\n\tvar startClip, startRef,\n\t\telement = $( this ),\n\t\tmap = {\n\t\t\tup: [ \"bottom\", \"top\" ],\n\t\t\tdown: [ \"top\", \"bottom\" ],\n\t\t\tleft: [ \"right\", \"left\" ],\n\t\t\tright: [ \"left\", \"right\" ]\n\t\t},\n\t\tmode = options.mode,\n\t\tdirection = options.direction || \"left\",\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tpositiveMotion = ( direction === \"up\" || direction === \"left\" ),\n\t\tdistance = options.distance ||\n\t\t\telement[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]( true ),\n\t\tanimation = {};\n\n\t$.effects.createPlaceholder( element );\n\n\tstartClip = element.cssClip();\n\tstartRef = element.position()[ ref ];\n\n\t// Define hide animation\n\tanimation[ ref ] = ( positiveMotion ? -1 : 1 ) * distance + startRef;\n\tanimation.clip = element.cssClip();\n\tanimation.clip[ map[ direction ][ 1 ] ] = animation.clip[ map[ direction ][ 0 ] ];\n\n\t// Reverse the animation if we're showing\n\tif ( mode === \"show\" ) {\n\t\telement.cssClip( animation.clip );\n\t\telement.css( ref, animation[ ref ] );\n\t\tanimation.clip = startClip;\n\t\tanimation[ ref ] = startRef;\n\t}\n\n\t// Actually animate\n\telement.animate( animation, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: done\n\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Transfer 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Transfer Effect\n//>>group: Effects\n//>>description: Displays a transfer effect from one element to another.\n//>>docs: http://api.jqueryui.com/transfer-effect/\n//>>demos: http://jqueryui.com/effect/\n\n\nvar effect;\nif ( $.uiBackCompat !== false ) {\n\teffect = $.effects.define( \"transfer\", function( options, done ) {\n\t\t$( this ).transfer( options, done );\n\t} );\n}\nvar effectsEffectTransfer = effect;\n\n\n/*!\n * jQuery UI Focusable 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: :focusable Selector\n//>>group: Core\n//>>description: Selects elements which can be focused.\n//>>docs: http://api.jqueryui.com/focusable-selector/\n\n\n// Selectors\n$.ui.focusable = function( element, hasTabindex ) {\n\tvar map, mapName, img, focusableIfVisible, fieldset,\n\t\tnodeName = element.nodeName.toLowerCase();\n\n\tif ( \"area\" === nodeName ) {\n\t\tmap = element.parentNode;\n\t\tmapName = map.name;\n\t\tif ( !element.href || !mapName || map.nodeName.toLowerCase() !== \"map\" ) {\n\t\t\treturn false;\n\t\t}\n\t\timg = $( \"img[usemap='#\" + mapName + \"']\" );\n\t\treturn img.length > 0 && img.is( \":visible\" );\n\t}\n\n\tif ( /^(input|select|textarea|button|object)$/.test( nodeName ) ) {\n\t\tfocusableIfVisible = !element.disabled;\n\n\t\tif ( focusableIfVisible ) {\n\n\t\t\t// Form controls within a disabled fieldset are disabled.\n\t\t\t// However, controls within the fieldset's legend do not get disabled.\n\t\t\t// Since controls generally aren't placed inside legends, we skip\n\t\t\t// this portion of the check.\n\t\t\tfieldset = $( element ).closest( \"fieldset\" )[ 0 ];\n\t\t\tif ( fieldset ) {\n\t\t\t\tfocusableIfVisible = !fieldset.disabled;\n\t\t\t}\n\t\t}\n\t} else if ( \"a\" === nodeName ) {\n\t\tfocusableIfVisible = element.href || hasTabindex;\n\t} else {\n\t\tfocusableIfVisible = hasTabindex;\n\t}\n\n\treturn focusableIfVisible && $( element ).is( \":visible\" ) && visible( $( element ) );\n};\n\n// Support: IE 8 only\n// IE 8 doesn't resolve inherit to visible/hidden for computed values\nfunction visible( element ) {\n\tvar visibility = element.css( \"visibility\" );\n\twhile ( visibility === \"inherit\" ) {\n\t\telement = element.parent();\n\t\tvisibility = element.css( \"visibility\" );\n\t}\n\treturn visibility === \"visible\";\n}\n\n$.extend( $.expr.pseudos, {\n\tfocusable: function( element ) {\n\t\treturn $.ui.focusable( element, $.attr( element, \"tabindex\" ) != null );\n\t}\n} );\n\nvar focusable = $.ui.focusable;\n\n\n\n// Support: IE8 Only\n// IE8 does not support the form attribute and when it is supplied. It overwrites the form prop\n// with a string, so we need to find the proper form.\nvar form = $.fn._form = function() {\n\treturn typeof this[ 0 ].form === \"string\" ? this.closest( \"form\" ) : $( this[ 0 ].form );\n};\n\n\n/*!\n * jQuery UI Form Reset Mixin 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Form Reset Mixin\n//>>group: Core\n//>>description: Refresh input widgets when their form is reset\n//>>docs: http://api.jqueryui.com/form-reset-mixin/\n\n\nvar formResetMixin = $.ui.formResetMixin = {\n\t_formResetHandler: function() {\n\t\tvar form = $( this );\n\n\t\t// Wait for the form reset to actually happen before refreshing\n\t\tsetTimeout( function() {\n\t\t\tvar instances = form.data( \"ui-form-reset-instances\" );\n\t\t\t$.each( instances, function() {\n\t\t\t\tthis.refresh();\n\t\t\t} );\n\t\t} );\n\t},\n\n\t_bindFormResetHandler: function() {\n\t\tthis.form = this.element._form();\n\t\tif ( !this.form.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar instances = this.form.data( \"ui-form-reset-instances\" ) || [];\n\t\tif ( !instances.length ) {\n\n\t\t\t// We don't use _on() here because we use a single event handler per form\n\t\t\tthis.form.on( \"reset.ui-form-reset\", this._formResetHandler );\n\t\t}\n\t\tinstances.push( this );\n\t\tthis.form.data( \"ui-form-reset-instances\", instances );\n\t},\n\n\t_unbindFormResetHandler: function() {\n\t\tif ( !this.form.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar instances = this.form.data( \"ui-form-reset-instances\" );\n\t\tinstances.splice( $.inArray( this, instances ), 1 );\n\t\tif ( instances.length ) {\n\t\t\tthis.form.data( \"ui-form-reset-instances\", instances );\n\t\t} else {\n\t\t\tthis.form\n\t\t\t\t.removeData( \"ui-form-reset-instances\" )\n\t\t\t\t.off( \"reset.ui-form-reset\" );\n\t\t}\n\t}\n};\n\n\n/*!\n * jQuery UI Support for jQuery core 1.8.x and newer 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n */\n\n//>>label: jQuery 1.8+ Support\n//>>group: Core\n//>>description: Support version 1.8.x and newer of jQuery core\n\n\n// Support: jQuery 1.9.x or older\n// $.expr[ \":\" ] is deprecated.\nif ( !$.expr.pseudos ) {\n\t$.expr.pseudos = $.expr[ \":\" ];\n}\n\n// Support: jQuery 1.11.x or older\n// $.unique has been renamed to $.uniqueSort\nif ( !$.uniqueSort ) {\n\t$.uniqueSort = $.unique;\n}\n\n// Support: jQuery 2.2.x or older.\n// This method has been defined in jQuery 3.0.0.\n// Code from https://github.com/jquery/jquery/blob/e539bac79e666bba95bba86d690b4e609dca2286/src/selector/escapeSelector.js\nif ( !$.escapeSelector ) {\n\n\t// CSS string/identifier serialization\n\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\tvar rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;\n\n\tvar fcssescape = function( ch, asCodePoint ) {\n\t\tif ( asCodePoint ) {\n\n\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\treturn \"\\uFFFD\";\n\t\t\t}\n\n\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t}\n\n\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\treturn \"\\\\\" + ch;\n\t};\n\n\t$.escapeSelector = function( sel ) {\n\t\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\n\t};\n}\n\n// Support: jQuery 3.4.x or older\n// These methods have been defined in jQuery 3.5.0.\nif ( !$.fn.even || !$.fn.odd ) {\n\t$.fn.extend( {\n\t\teven: function() {\n\t\t\treturn this.filter( function( i ) {\n\t\t\t\treturn i % 2 === 0;\n\t\t\t} );\n\t\t},\n\t\todd: function() {\n\t\t\treturn this.filter( function( i ) {\n\t\t\t\treturn i % 2 === 1;\n\t\t\t} );\n\t\t}\n\t} );\n}\n\n;\n/*!\n * jQuery UI Keycode 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Keycode\n//>>group: Core\n//>>description: Provide keycodes as keynames\n//>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/\n\n\nvar keycode = $.ui.keyCode = {\n\tBACKSPACE: 8,\n\tCOMMA: 188,\n\tDELETE: 46,\n\tDOWN: 40,\n\tEND: 35,\n\tENTER: 13,\n\tESCAPE: 27,\n\tHOME: 36,\n\tLEFT: 37,\n\tPAGE_DOWN: 34,\n\tPAGE_UP: 33,\n\tPERIOD: 190,\n\tRIGHT: 39,\n\tSPACE: 32,\n\tTAB: 9,\n\tUP: 38\n};\n\n\n/*!\n * jQuery UI Labels 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: labels\n//>>group: Core\n//>>description: Find all the labels associated with a given input\n//>>docs: http://api.jqueryui.com/labels/\n\n\nvar labels = $.fn.labels = function() {\n\tvar ancestor, selector, id, labels, ancestors;\n\n\tif ( !this.length ) {\n\t\treturn this.pushStack( [] );\n\t}\n\n\t// Check control.labels first\n\tif ( this[ 0 ].labels && this[ 0 ].labels.length ) {\n\t\treturn this.pushStack( this[ 0 ].labels );\n\t}\n\n\t// Support: IE <= 11, FF <= 37, Android <= 2.3 only\n\t// Above browsers do not support control.labels. Everything below is to support them\n\t// as well as document fragments. control.labels does not work on document fragments\n\tlabels = this.eq( 0 ).parents( \"label\" );\n\n\t// Look for the label based on the id\n\tid = this.attr( \"id\" );\n\tif ( id ) {\n\n\t\t// We don't search against the document in case the element\n\t\t// is disconnected from the DOM\n\t\tancestor = this.eq( 0 ).parents().last();\n\n\t\t// Get a full set of top level ancestors\n\t\tancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() );\n\n\t\t// Create a selector for the label based on the id\n\t\tselector = \"label[for='\" + $.escapeSelector( id ) + \"']\";\n\n\t\tlabels = labels.add( ancestors.find( selector ).addBack( selector ) );\n\n\t}\n\n\t// Return whatever we have found for labels\n\treturn this.pushStack( labels );\n};\n\n\n/*!\n * jQuery UI Scroll Parent 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: scrollParent\n//>>group: Core\n//>>description: Get the closest ancestor element that is scrollable.\n//>>docs: http://api.jqueryui.com/scrollParent/\n\n\nvar scrollParent = $.fn.scrollParent = function( includeHidden ) {\n\tvar position = this.css( \"position\" ),\n\t\texcludeStaticParent = position === \"absolute\",\n\t\toverflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,\n\t\tscrollParent = this.parents().filter( function() {\n\t\t\tvar parent = $( this );\n\t\t\tif ( excludeStaticParent && parent.css( \"position\" ) === \"static\" ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn overflowRegex.test( parent.css( \"overflow\" ) + parent.css( \"overflow-y\" ) +\n\t\t\t\tparent.css( \"overflow-x\" ) );\n\t\t} ).eq( 0 );\n\n\treturn position === \"fixed\" || !scrollParent.length ?\n\t\t$( this[ 0 ].ownerDocument || document ) :\n\t\tscrollParent;\n};\n\n\n/*!\n * jQuery UI Tabbable 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: :tabbable Selector\n//>>group: Core\n//>>description: Selects elements which can be tabbed to.\n//>>docs: http://api.jqueryui.com/tabbable-selector/\n\n\nvar tabbable = $.extend( $.expr.pseudos, {\n\ttabbable: function( element ) {\n\t\tvar tabIndex = $.attr( element, \"tabindex\" ),\n\t\t\thasTabindex = tabIndex != null;\n\t\treturn ( !hasTabindex || tabIndex >= 0 ) && $.ui.focusable( element, hasTabindex );\n\t}\n} );\n\n\n/*!\n * jQuery UI Unique ID 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: uniqueId\n//>>group: Core\n//>>description: Functions to generate and remove uniqueId's\n//>>docs: http://api.jqueryui.com/uniqueId/\n\n\nvar uniqueId = $.fn.extend( {\n\tuniqueId: ( function() {\n\t\tvar uuid = 0;\n\n\t\treturn function() {\n\t\t\treturn this.each( function() {\n\t\t\t\tif ( !this.id ) {\n\t\t\t\t\tthis.id = \"ui-id-\" + ( ++uuid );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t} )(),\n\n\tremoveUniqueId: function() {\n\t\treturn this.each( function() {\n\t\t\tif ( /^ui-id-\\d+$/.test( this.id ) ) {\n\t\t\t\t$( this ).removeAttr( \"id\" );\n\t\t\t}\n\t\t} );\n\t}\n} );\n\n\n/*!\n * jQuery UI Accordion 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Accordion\n//>>group: Widgets\n/* eslint-disable max-len */\n//>>description: Displays collapsible content panels for presenting information in a limited amount of space.\n/* eslint-enable max-len */\n//>>docs: http://api.jqueryui.com/accordion/\n//>>demos: http://jqueryui.com/accordion/\n//>>css.structure: ../../themes/base/core.css\n//>>css.structure: ../../themes/base/accordion.css\n//>>css.theme: ../../themes/base/theme.css\n\n\nvar widgetsAccordion = $.widget( \"ui.accordion\", {\n\tversion: \"1.13.2\",\n\toptions: {\n\t\tactive: 0,\n\t\tanimate: {},\n\t\tclasses: {\n\t\t\t\"ui-accordion-header\": \"ui-corner-top\",\n\t\t\t\"ui-accordion-header-collapsed\": \"ui-corner-all\",\n\t\t\t\"ui-accordion-content\": \"ui-corner-bottom\"\n\t\t},\n\t\tcollapsible: false,\n\t\tevent: \"click\",\n\t\theader: function( elem ) {\n\t\t\treturn elem.find( \"> li > :first-child\" ).add( elem.find( \"> :not(li)\" ).even() );\n\t\t},\n\t\theightStyle: \"auto\",\n\t\ticons: {\n\t\t\tactiveHeader: \"ui-icon-triangle-1-s\",\n\t\t\theader: \"ui-icon-triangle-1-e\"\n\t\t},\n\n\t\t// Callbacks\n\t\tactivate: null,\n\t\tbeforeActivate: null\n\t},\n\n\thideProps: {\n\t\tborderTopWidth: \"hide\",\n\t\tborderBottomWidth: \"hide\",\n\t\tpaddingTop: \"hide\",\n\t\tpaddingBottom: \"hide\",\n\t\theight: \"hide\"\n\t},\n\n\tshowProps: {\n\t\tborderTopWidth: \"show\",\n\t\tborderBottomWidth: \"show\",\n\t\tpaddingTop: \"show\",\n\t\tpaddingBottom: \"show\",\n\t\theight: \"show\"\n\t},\n\n\t_create: function() {\n\t\tvar options = this.options;\n\n\t\tthis.prevShow = this.prevHide = $();\n\t\tthis._addClass( \"ui-accordion\", \"ui-widget ui-helper-reset\" );\n\t\tthis.element.attr( \"role\", \"tablist\" );\n\n\t\t// Don't allow collapsible: false and active: false / null\n\t\tif ( !options.collapsible && ( options.active === false || options.active == null ) ) {\n\t\t\toptions.active = 0;\n\t\t}\n\n\t\tthis._processPanels();\n\n\t\t// handle negative values\n\t\tif ( options.active < 0 ) {\n\t\t\toptions.active += this.headers.length;\n\t\t}\n\t\tthis._refresh();\n\t},\n\n\t_getCreateEventData: function() {\n\t\treturn {\n\t\t\theader: this.active,\n\t\t\tpanel: !this.active.length ? $() : this.active.next()\n\t\t};\n\t},\n\n\t_createIcons: function() {\n\t\tvar icon, children,\n\t\t\ticons = this.options.icons;\n\n\t\tif ( icons ) {\n\t\t\ticon = $( \"\" );\n\t\t\tthis._addClass( icon, \"ui-accordion-header-icon\", \"ui-icon \" + icons.header );\n\t\t\ticon.prependTo( this.headers );\n\t\t\tchildren = this.active.children( \".ui-accordion-header-icon\" );\n\t\t\tthis._removeClass( children, icons.header )\n\t\t\t\t._addClass( children, null, icons.activeHeader )\n\t\t\t\t._addClass( this.headers, \"ui-accordion-icons\" );\n\t\t}\n\t},\n\n\t_destroyIcons: function() {\n\t\tthis._removeClass( this.headers, \"ui-accordion-icons\" );\n\t\tthis.headers.children( \".ui-accordion-header-icon\" ).remove();\n\t},\n\n\t_destroy: function() {\n\t\tvar contents;\n\n\t\t// Clean up main element\n\t\tthis.element.removeAttr( \"role\" );\n\n\t\t// Clean up headers\n\t\tthis.headers\n\t\t\t.removeAttr( \"role aria-expanded aria-selected aria-controls tabIndex\" )\n\t\t\t.removeUniqueId();\n\n\t\tthis._destroyIcons();\n\n\t\t// Clean up content panels\n\t\tcontents = this.headers.next()\n\t\t\t.css( \"display\", \"\" )\n\t\t\t.removeAttr( \"role aria-hidden aria-labelledby\" )\n\t\t\t.removeUniqueId();\n\n\t\tif ( this.options.heightStyle !== \"content\" ) {\n\t\t\tcontents.css( \"height\", \"\" );\n\t\t}\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"active\" ) {\n\n\t\t\t// _activate() will handle invalid values and update this.options\n\t\t\tthis._activate( value );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === \"event\" ) {\n\t\t\tif ( this.options.event ) {\n\t\t\t\tthis._off( this.headers, this.options.event );\n\t\t\t}\n\t\t\tthis._setupEvents( value );\n\t\t}\n\n\t\tthis._super( key, value );\n\n\t\t// Setting collapsible: false while collapsed; open first panel\n\t\tif ( key === \"collapsible\" && !value && this.options.active === false ) {\n\t\t\tthis._activate( 0 );\n\t\t}\n\n\t\tif ( key === \"icons\" ) {\n\t\t\tthis._destroyIcons();\n\t\t\tif ( value ) {\n\t\t\t\tthis._createIcons();\n\t\t\t}\n\t\t}\n\t},\n\n\t_setOptionDisabled: function( value ) {\n\t\tthis._super( value );\n\n\t\tthis.element.attr( \"aria-disabled\", value );\n\n\t\t// Support: IE8 Only\n\t\t// #5332 / #6059 - opacity doesn't cascade to positioned elements in IE\n\t\t// so we need to add the disabled class to the headers and panels\n\t\tthis._toggleClass( null, \"ui-state-disabled\", !!value );\n\t\tthis._toggleClass( this.headers.add( this.headers.next() ), null, \"ui-state-disabled\",\n\t\t\t!!value );\n\t},\n\n\t_keydown: function( event ) {\n\t\tif ( event.altKey || event.ctrlKey ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar keyCode = $.ui.keyCode,\n\t\t\tlength = this.headers.length,\n\t\t\tcurrentIndex = this.headers.index( event.target ),\n\t\t\ttoFocus = false;\n\n\t\tswitch ( event.keyCode ) {\n\t\tcase keyCode.RIGHT:\n\t\tcase keyCode.DOWN:\n\t\t\ttoFocus = this.headers[ ( currentIndex + 1 ) % length ];\n\t\t\tbreak;\n\t\tcase keyCode.LEFT:\n\t\tcase keyCode.UP:\n\t\t\ttoFocus = this.headers[ ( currentIndex - 1 + length ) % length ];\n\t\t\tbreak;\n\t\tcase keyCode.SPACE:\n\t\tcase keyCode.ENTER:\n\t\t\tthis._eventHandler( event );\n\t\t\tbreak;\n\t\tcase keyCode.HOME:\n\t\t\ttoFocus = this.headers[ 0 ];\n\t\t\tbreak;\n\t\tcase keyCode.END:\n\t\t\ttoFocus = this.headers[ length - 1 ];\n\t\t\tbreak;\n\t\t}\n\n\t\tif ( toFocus ) {\n\t\t\t$( event.target ).attr( \"tabIndex\", -1 );\n\t\t\t$( toFocus ).attr( \"tabIndex\", 0 );\n\t\t\t$( toFocus ).trigger( \"focus\" );\n\t\t\tevent.preventDefault();\n\t\t}\n\t},\n\n\t_panelKeyDown: function( event ) {\n\t\tif ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {\n\t\t\t$( event.currentTarget ).prev().trigger( \"focus\" );\n\t\t}\n\t},\n\n\trefresh: function() {\n\t\tvar options = this.options;\n\t\tthis._processPanels();\n\n\t\t// Was collapsed or no panel\n\t\tif ( ( options.active === false && options.collapsible === true ) ||\n\t\t\t\t!this.headers.length ) {\n\t\t\toptions.active = false;\n\t\t\tthis.active = $();\n\n\t\t// active false only when collapsible is true\n\t\t} else if ( options.active === false ) {\n\t\t\tthis._activate( 0 );\n\n\t\t// was active, but active panel is gone\n\t\t} else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {\n\n\t\t\t// all remaining panel are disabled\n\t\t\tif ( this.headers.length === this.headers.find( \".ui-state-disabled\" ).length ) {\n\t\t\t\toptions.active = false;\n\t\t\t\tthis.active = $();\n\n\t\t\t// activate previous panel\n\t\t\t} else {\n\t\t\t\tthis._activate( Math.max( 0, options.active - 1 ) );\n\t\t\t}\n\n\t\t// was active, active panel still exists\n\t\t} else {\n\n\t\t\t// make sure active index is correct\n\t\t\toptions.active = this.headers.index( this.active );\n\t\t}\n\n\t\tthis._destroyIcons();\n\n\t\tthis._refresh();\n\t},\n\n\t_processPanels: function() {\n\t\tvar prevHeaders = this.headers,\n\t\t\tprevPanels = this.panels;\n\n\t\tif ( typeof this.options.header === \"function\" ) {\n\t\t\tthis.headers = this.options.header( this.element );\n\t\t} else {\n\t\t\tthis.headers = this.element.find( this.options.header );\n\t\t}\n\t\tthis._addClass( this.headers, \"ui-accordion-header ui-accordion-header-collapsed\",\n\t\t\t\"ui-state-default\" );\n\n\t\tthis.panels = this.headers.next().filter( \":not(.ui-accordion-content-active)\" ).hide();\n\t\tthis._addClass( this.panels, \"ui-accordion-content\", \"ui-helper-reset ui-widget-content\" );\n\n\t\t// Avoid memory leaks (#10056)\n\t\tif ( prevPanels ) {\n\t\t\tthis._off( prevHeaders.not( this.headers ) );\n\t\t\tthis._off( prevPanels.not( this.panels ) );\n\t\t}\n\t},\n\n\t_refresh: function() {\n\t\tvar maxHeight,\n\t\t\toptions = this.options,\n\t\t\theightStyle = options.heightStyle,\n\t\t\tparent = this.element.parent();\n\n\t\tthis.active = this._findActive( options.active );\n\t\tthis._addClass( this.active, \"ui-accordion-header-active\", \"ui-state-active\" )\n\t\t\t._removeClass( this.active, \"ui-accordion-header-collapsed\" );\n\t\tthis._addClass( this.active.next(), \"ui-accordion-content-active\" );\n\t\tthis.active.next().show();\n\n\t\tthis.headers\n\t\t\t.attr( \"role\", \"tab\" )\n\t\t\t.each( function() {\n\t\t\t\tvar header = $( this ),\n\t\t\t\t\theaderId = header.uniqueId().attr( \"id\" ),\n\t\t\t\t\tpanel = header.next(),\n\t\t\t\t\tpanelId = panel.uniqueId().attr( \"id\" );\n\t\t\t\theader.attr( \"aria-controls\", panelId );\n\t\t\t\tpanel.attr( \"aria-labelledby\", headerId );\n\t\t\t} )\n\t\t\t.next()\n\t\t\t\t.attr( \"role\", \"tabpanel\" );\n\n\t\tthis.headers\n\t\t\t.not( this.active )\n\t\t\t\t.attr( {\n\t\t\t\t\t\"aria-selected\": \"false\",\n\t\t\t\t\t\"aria-expanded\": \"false\",\n\t\t\t\t\ttabIndex: -1\n\t\t\t\t} )\n\t\t\t\t.next()\n\t\t\t\t\t.attr( {\n\t\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t\t} )\n\t\t\t\t\t.hide();\n\n\t\t// Make sure at least one header is in the tab order\n\t\tif ( !this.active.length ) {\n\t\t\tthis.headers.eq( 0 ).attr( \"tabIndex\", 0 );\n\t\t} else {\n\t\t\tthis.active.attr( {\n\t\t\t\t\"aria-selected\": \"true\",\n\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\ttabIndex: 0\n\t\t\t} )\n\t\t\t\t.next()\n\t\t\t\t\t.attr( {\n\t\t\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t\t\t} );\n\t\t}\n\n\t\tthis._createIcons();\n\n\t\tthis._setupEvents( options.event );\n\n\t\tif ( heightStyle === \"fill\" ) {\n\t\t\tmaxHeight = parent.height();\n\t\t\tthis.element.siblings( \":visible\" ).each( function() {\n\t\t\t\tvar elem = $( this ),\n\t\t\t\t\tposition = elem.css( \"position\" );\n\n\t\t\t\tif ( position === \"absolute\" || position === \"fixed\" ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tmaxHeight -= elem.outerHeight( true );\n\t\t\t} );\n\n\t\t\tthis.headers.each( function() {\n\t\t\t\tmaxHeight -= $( this ).outerHeight( true );\n\t\t\t} );\n\n\t\t\tthis.headers.next()\n\t\t\t\t.each( function() {\n\t\t\t\t\t$( this ).height( Math.max( 0, maxHeight -\n\t\t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\n\t\t\t\t} )\n\t\t\t\t.css( \"overflow\", \"auto\" );\n\t\t} else if ( heightStyle === \"auto\" ) {\n\t\t\tmaxHeight = 0;\n\t\t\tthis.headers.next()\n\t\t\t\t.each( function() {\n\t\t\t\t\tvar isVisible = $( this ).is( \":visible\" );\n\t\t\t\t\tif ( !isVisible ) {\n\t\t\t\t\t\t$( this ).show();\n\t\t\t\t\t}\n\t\t\t\t\tmaxHeight = Math.max( maxHeight, $( this ).css( \"height\", \"\" ).height() );\n\t\t\t\t\tif ( !isVisible ) {\n\t\t\t\t\t\t$( this ).hide();\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t.height( maxHeight );\n\t\t}\n\t},\n\n\t_activate: function( index ) {\n\t\tvar active = this._findActive( index )[ 0 ];\n\n\t\t// Trying to activate the already active panel\n\t\tif ( active === this.active[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Trying to collapse, simulate a click on the currently active header\n\t\tactive = active || this.active[ 0 ];\n\n\t\tthis._eventHandler( {\n\t\t\ttarget: active,\n\t\t\tcurrentTarget: active,\n\t\t\tpreventDefault: $.noop\n\t\t} );\n\t},\n\n\t_findActive: function( selector ) {\n\t\treturn typeof selector === \"number\" ? this.headers.eq( selector ) : $();\n\t},\n\n\t_setupEvents: function( event ) {\n\t\tvar events = {\n\t\t\tkeydown: \"_keydown\"\n\t\t};\n\t\tif ( event ) {\n\t\t\t$.each( event.split( \" \" ), function( index, eventName ) {\n\t\t\t\tevents[ eventName ] = \"_eventHandler\";\n\t\t\t} );\n\t\t}\n\n\t\tthis._off( this.headers.add( this.headers.next() ) );\n\t\tthis._on( this.headers, events );\n\t\tthis._on( this.headers.next(), { keydown: \"_panelKeyDown\" } );\n\t\tthis._hoverable( this.headers );\n\t\tthis._focusable( this.headers );\n\t},\n\n\t_eventHandler: function( event ) {\n\t\tvar activeChildren, clickedChildren,\n\t\t\toptions = this.options,\n\t\t\tactive = this.active,\n\t\t\tclicked = $( event.currentTarget ),\n\t\t\tclickedIsActive = clicked[ 0 ] === active[ 0 ],\n\t\t\tcollapsing = clickedIsActive && options.collapsible,\n\t\t\ttoShow = collapsing ? $() : clicked.next(),\n\t\t\ttoHide = active.next(),\n\t\t\teventData = {\n\t\t\t\toldHeader: active,\n\t\t\t\toldPanel: toHide,\n\t\t\t\tnewHeader: collapsing ? $() : clicked,\n\t\t\t\tnewPanel: toShow\n\t\t\t};\n\n\t\tevent.preventDefault();\n\n\t\tif (\n\n\t\t\t\t// click on active header, but not collapsible\n\t\t\t\t( clickedIsActive && !options.collapsible ) ||\n\n\t\t\t\t// allow canceling activation\n\t\t\t\t( this._trigger( \"beforeActivate\", event, eventData ) === false ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\toptions.active = collapsing ? false : this.headers.index( clicked );\n\n\t\t// When the call to ._toggle() comes after the class changes\n\t\t// it causes a very odd bug in IE 8 (see #6720)\n\t\tthis.active = clickedIsActive ? $() : clicked;\n\t\tthis._toggle( eventData );\n\n\t\t// Switch classes\n\t\t// corner classes on the previously active header stay after the animation\n\t\tthis._removeClass( active, \"ui-accordion-header-active\", \"ui-state-active\" );\n\t\tif ( options.icons ) {\n\t\t\tactiveChildren = active.children( \".ui-accordion-header-icon\" );\n\t\t\tthis._removeClass( activeChildren, null, options.icons.activeHeader )\n\t\t\t\t._addClass( activeChildren, null, options.icons.header );\n\t\t}\n\n\t\tif ( !clickedIsActive ) {\n\t\t\tthis._removeClass( clicked, \"ui-accordion-header-collapsed\" )\n\t\t\t\t._addClass( clicked, \"ui-accordion-header-active\", \"ui-state-active\" );\n\t\t\tif ( options.icons ) {\n\t\t\t\tclickedChildren = clicked.children( \".ui-accordion-header-icon\" );\n\t\t\t\tthis._removeClass( clickedChildren, null, options.icons.header )\n\t\t\t\t\t._addClass( clickedChildren, null, options.icons.activeHeader );\n\t\t\t}\n\n\t\t\tthis._addClass( clicked.next(), \"ui-accordion-content-active\" );\n\t\t}\n\t},\n\n\t_toggle: function( data ) {\n\t\tvar toShow = data.newPanel,\n\t\t\ttoHide = this.prevShow.length ? this.prevShow : data.oldPanel;\n\n\t\t// Handle activating a panel during the animation for another activation\n\t\tthis.prevShow.add( this.prevHide ).stop( true, true );\n\t\tthis.prevShow = toShow;\n\t\tthis.prevHide = toHide;\n\n\t\tif ( this.options.animate ) {\n\t\t\tthis._animate( toShow, toHide, data );\n\t\t} else {\n\t\t\ttoHide.hide();\n\t\t\ttoShow.show();\n\t\t\tthis._toggleComplete( data );\n\t\t}\n\n\t\ttoHide.attr( {\n\t\t\t\"aria-hidden\": \"true\"\n\t\t} );\n\t\ttoHide.prev().attr( {\n\t\t\t\"aria-selected\": \"false\",\n\t\t\t\"aria-expanded\": \"false\"\n\t\t} );\n\n\t\t// if we're switching panels, remove the old header from the tab order\n\t\t// if we're opening from collapsed state, remove the previous header from the tab order\n\t\t// if we're collapsing, then keep the collapsing header in the tab order\n\t\tif ( toShow.length && toHide.length ) {\n\t\t\ttoHide.prev().attr( {\n\t\t\t\t\"tabIndex\": -1,\n\t\t\t\t\"aria-expanded\": \"false\"\n\t\t\t} );\n\t\t} else if ( toShow.length ) {\n\t\t\tthis.headers.filter( function() {\n\t\t\t\treturn parseInt( $( this ).attr( \"tabIndex\" ), 10 ) === 0;\n\t\t\t} )\n\t\t\t\t.attr( \"tabIndex\", -1 );\n\t\t}\n\n\t\ttoShow\n\t\t\t.attr( \"aria-hidden\", \"false\" )\n\t\t\t.prev()\n\t\t\t\t.attr( {\n\t\t\t\t\t\"aria-selected\": \"true\",\n\t\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\t\ttabIndex: 0\n\t\t\t\t} );\n\t},\n\n\t_animate: function( toShow, toHide, data ) {\n\t\tvar total, easing, duration,\n\t\t\tthat = this,\n\t\t\tadjust = 0,\n\t\t\tboxSizing = toShow.css( \"box-sizing\" ),\n\t\t\tdown = toShow.length &&\n\t\t\t\t( !toHide.length || ( toShow.index() < toHide.index() ) ),\n\t\t\tanimate = this.options.animate || {},\n\t\t\toptions = down && animate.down || animate,\n\t\t\tcomplete = function() {\n\t\t\t\tthat._toggleComplete( data );\n\t\t\t};\n\n\t\tif ( typeof options === \"number\" ) {\n\t\t\tduration = options;\n\t\t}\n\t\tif ( typeof options === \"string\" ) {\n\t\t\teasing = options;\n\t\t}\n\n\t\t// fall back from options to animation in case of partial down settings\n\t\teasing = easing || options.easing || animate.easing;\n\t\tduration = duration || options.duration || animate.duration;\n\n\t\tif ( !toHide.length ) {\n\t\t\treturn toShow.animate( this.showProps, duration, easing, complete );\n\t\t}\n\t\tif ( !toShow.length ) {\n\t\t\treturn toHide.animate( this.hideProps, duration, easing, complete );\n\t\t}\n\n\t\ttotal = toShow.show().outerHeight();\n\t\ttoHide.animate( this.hideProps, {\n\t\t\tduration: duration,\n\t\t\teasing: easing,\n\t\t\tstep: function( now, fx ) {\n\t\t\t\tfx.now = Math.round( now );\n\t\t\t}\n\t\t} );\n\t\ttoShow\n\t\t\t.hide()\n\t\t\t.animate( this.showProps, {\n\t\t\t\tduration: duration,\n\t\t\t\teasing: easing,\n\t\t\t\tcomplete: complete,\n\t\t\t\tstep: function( now, fx ) {\n\t\t\t\t\tfx.now = Math.round( now );\n\t\t\t\t\tif ( fx.prop !== \"height\" ) {\n\t\t\t\t\t\tif ( boxSizing === \"content-box\" ) {\n\t\t\t\t\t\t\tadjust += fx.now;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( that.options.heightStyle !== \"content\" ) {\n\t\t\t\t\t\tfx.now = Math.round( total - toHide.outerHeight() - adjust );\n\t\t\t\t\t\tadjust = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t},\n\n\t_toggleComplete: function( data ) {\n\t\tvar toHide = data.oldPanel,\n\t\t\tprev = toHide.prev();\n\n\t\tthis._removeClass( toHide, \"ui-accordion-content-active\" );\n\t\tthis._removeClass( prev, \"ui-accordion-header-active\" )\n\t\t\t._addClass( prev, \"ui-accordion-header-collapsed\" );\n\n\t\t// Work around for rendering bug in IE (#5421)\n\t\tif ( toHide.length ) {\n\t\t\ttoHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className;\n\t\t}\n\t\tthis._trigger( \"activate\", null, data );\n\t}\n} );\n\n\n\nvar safeActiveElement = $.ui.safeActiveElement = function( document ) {\n\tvar activeElement;\n\n\t// Support: IE 9 only\n\t// IE9 throws an \"Unspecified error\" accessing document.activeElement from an